/*
 * Webasyst Default 3.0 theme family
 *
 * Core CSS file
 *
 * @link http://www.webasyst.com/
 * @author Webasyst LLC
 * @copyright 2015 Webasyst LLC
 * @package Webasyst
 */

/* Reset
-------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, /* ol, ul, li, */ fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, credentials, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; }
article, aside, credentials, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

/* Common HTML elements, fonts, and colors
------------------------------------------ */
html,
body { width: 100%; min-height: 100%; font-family: 'Helvetica Neue', Arial, sans-serif; font-size: 14px; background: #eee; line-height: 1.4em; }
a { color: #006bd8; outline:0 none; text-decoration: none; }
a:focus { outline: 2px solid currentColor; outline-offset: 2px; }
a:visited { color: #85c; }
a.not-visited:visited { color: #006bd8; }
a:hover { color: red; }
input[type="button"]::-moz-focus-inner { border: 0; }
input[type="submit"]::-moz-focus-inner { border: 0; }
a img { border: 0; }
p, dl, hr, h1, h2, h3, h4, h5, h6, ol, ul, pre, table, address, fieldset, blockquote, figure { margin-bottom: 20px; }
h1 { font-size: 2.6em; }
h1 a { text-decoration:none; }
h2 { font-size: 1.75em; }
h3 { font-size: 1.45em; }
h4 { font-size: 1.2em; }
h5 { font-size: 1.1em; }
h6 { font-size: 1em; }
h1, h2, h3 { line-height:1.2em; }
ul, ol { padding-top:0; }
ol { list-style: decimal; }
input, textarea, select { margin:0; }
input, textarea { font-size: 1em; color: #000; }
select { max-width: 100%; }
input[type="button"]:focus { outline: 2px solid currentColor; outline-offset: 2px; }
fieldset { border:1px solid #bbb; padding:10px; position:relative; background:#e9e9e9; margin-bottom:10px; }
fieldset p label { width:98%; }
fieldset p input[type="text"] { width:98%; }
fieldset p select { width:99%; }
pre {margin-top: 16px; font-size: 90%; line-height: 24px; color: rgba(0,0,0,.75); background: rgba(0,0,0,.03); padding: 16px 20px;word-wrap: normal;}
blockquote { color: rgba(0,0,0,.6); font-size:0.9em; font-style: italic; border-left: 1px solid rgba(0,0,0,.1);padding-left: 24px; background: #eee; }
blockquote cite { font-size: 0.9em; }
hr { background-color: rgba(0,0,0,0.15); height: 1px; border: 0; }
p { font-family: 'Lucida Grande', 'Lucida Sans Unicode', 'Helvetica Neue', Arial, sans-serif; line-height: 1.4em; }
p a { text-decoration: underline; }
input::-webkit-input-placeholder { color: #bbb; }
input:-moz-placeholder,
input::-moz-placeholder { color: #bbb; }
input:-ms-input-placeholder { color: #bbb; }
label, button { cursor: pointer; }

/* Misc elements
---------------- */

.block { padding: 25px 30px; }
.inline { display: inline !important; }
.inline-link { text-decoration: none !important; }
.inline-link b { border-bottom: 1px dotted; font-weight: normal; position: relative; top: -0.13em;}
.inline-link b i { font-style: normal; position: relative; top: 0.13em;}
.small { font-size: 0.9em; }
.large { font-size: 1.1em; }
.bold { font-weight: bold; }
.strike { text-decoration: line-through; }
.highlighted { background:  #ffc; }
.hint { color: #aaa; font-size: 0.9em; }
.hint a,
.hint:visited,
.hint a:visited { color: #888; }
.gray .dropdown ul
.gray a,
.gray:visited,
.gray a:visited { color: #888; }
.align-left { text-align: left; }
.align-center { text-align: center; }
.align-right { text-align: right; }
.clear-left { clear: left; }
.clear-right { clear: right; }
.clear-both { clear: both; }
.shadowed { -moz-box-shadow: 0 5px 15px #aaa; -webkit-box-shadow: 0 5px 15px #aaa; box-shadow: 0 5px 15px #aaa; }
.nowrap { white-space: nowrap; }
.hr { border-top: 1px solid #ccc; margin-bottom: 15px; }
.uppercase { text-transform: uppercase; }
.blurred { -webkit-filter: blur(5px); -moz-filter: blur(5px); -o-filter: blur(5px); -ms-filter: blur(5px); filter: blur(5px); }
.userpic { border-radius: 50%; background-size: auto; }

.container { min-width: 650px; max-width: 970px; margin: 0 auto; padding: 0; }
.container:before,
.container:after { content: " "; clear: both; }

.breadcrumbs { padding: 5px 0; font-size: 0.9em; }
.breadcrumbs a { color: #aaa; }
.breadcrumbs span.rarr { color: #ccc; margin: 0 3px; }

.tags { line-height: 1.6em; }
.tags a { color: green !important; display: inline !important; padding: 0 4px !important; }
.tags a:hover { color: red !important; }

.welcome { text-align: center; background: url('img/welcome.png') no-repeat; background-position: top center; padding-top: 300px; background-size: 256px 256px; margin-bottom: 30px; }
.welcome h1 { font-weight: normal; font-size: 2em; }

.staff { background: #eeb; padding: 1px 4px !important; color: #345; font-size: 0.9em; border: 1px solid rgba(0,0,0,0.1); border-radius: 3px; white-space: nowrap; }

.wa-flex-box { display: -webkit-box; display: -moz-box; display: -webkit-flex; display: -ms-flexbox; display: flex; }
.wa-flex-box.middle { -webkit-box-align: center; -moz-box-align: center; -o-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; }
.wa-flex-box.wrap { -webkit-box-lines: multiple; -moz-box-lines: multiple; -o-box-lines: multiple; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.wa-flex-box.full-line { -webkit-box-pack: justify; -moz-box-pack: justify; -o-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; }
.wa-flex-box.fixed { -webkit-box-pack: justify; -moz-box-pack: justify; -o-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; }
.wa-flex-box.fixed.fixed > * { -webkit-flex-basis: 100%; flex-basis: 100%; -webkit-box-flex: 0; -moz-box-flex: 0; -o-box-flex: 0; -ms-box-flex: 0; box-flex: 0; -webkit-flex-grow: 0; flex-grow: 0; }
.wa-flex-box > *.middle { -webkit-align-self: center; align-self: center; -ms-flex-item-align: center; }
.wa-flex-box.space-025 > *:not(:last-child) { margin-right: 0.25rem; }
.wa-flex-box.space-05 > *:not(:last-child) { margin-right: 0.5rem; }
.wa-flex-box.space-075 > *:not(:last-child) { margin-right: 0.75rem; }
.wa-flex-box.space-1 > *:not(:last-child) { margin-right: 1rem; }
.wa-flex-box.space-2 > *:not(:last-child) { margin-right: 2rem; }
.wa-flex-box.space-3 > *:not(:last-child) { margin-right: 3rem; }
.wa-flex-box.space-4 > *:not(:last-child) { margin-right: 4rem; }
.wa-flex-box.space-5 > *:not(:last-child) { margin-right: 0.5rem; }
@media screen and (max-width: 760px) {
    .wa-flex-box.adaptive { -webkit-box-orient: vertical; -moz-box-orient: vertical; -o-box-orient: vertical; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; }
    .wa-flex-box.adaptive.space-025 > *:not(:first-child) { margin-top: 0.25rem; }
    .wa-flex-box.adaptive.space-025 > *:not(:last-child) { margin-right: 0; }
    .wa-flex-box.adaptive.space-05 > *:not(:first-child) { margin-top: 0.5rem; }
    .wa-flex-box.adaptive.space-05 > *:not(:last-child) { margin-right: 0; }
    .wa-flex-box.adaptive.space-075 > *:not(:first-child) { margin-top: 0.75rem; }
    .wa-flex-box.adaptive.space-075 > *:not(:last-child) { margin-right: 0; }
    .wa-flex-box.adaptive.space-1 > *:not(:first-child) { margin-top: 1rem; }
    .wa-flex-box.adaptive.space-1 > *:not(:last-child) { margin-right: 0; }
    .wa-flex-box.adaptive.space-2 > *:not(:first-child) { margin-top: 2rem; }
    .wa-flex-box.adaptive.space-2 > *:not(:last-child) { margin-right: 0; }
    .wa-flex-box.adaptive.space-3 > *:not(:first-child) { margin-top: 3rem; }
    .wa-flex-box.adaptive.space-3 > *:not(:last-child) { margin-right: 0; }
    .wa-flex-box.adaptive.space-4 > *:not(:first-child) { margin-top: 4rem; }
    .wa-flex-box.adaptive.space-4 > *:not(:last-child) { margin-right: 0; }
    .wa-flex-box.adaptive.space-5 > *:not(:first-child) { margin-top: 0.5rem; }
    .wa-flex-box.adaptive.space-5 > *:not(:last-child) { margin-right: 0; }
}

/* Buttons
---------- */

button,
input[type=button],
input[type=submit] {
    color: #000;
    outline: 0;
    padding: 5px 10px 6px;
    font-size: 1.1em;
    -webkit-appearance: none;
    border-radius: 3px;
    text-shadow: 0 1px 0 rgba(255,255,255,0.5);
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(0,0,0,0.3);
    border-color: rgba(0,0,0,0.2) rgba(0,0,0,0.3) rgba(0,0,0,0.3) rgba(0,0,0,0.3);
    background: #fcd630;
    background: #fcd630 -moz-linear-gradient(top, rgba(255,255,255,0.5) 0%, rgba(255,255,255,0.0) 100%); /* FF3.6+ */
    background: #fcd630 -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0.5)), color-stop(100%,rgba(255,255,255,0.0))); /* Chrome,Safari4+ */
    background: #fcd630 -webkit-linear-gradient(top, rgba(255,255,255,0.5) 0%,rgba(255,255,255,0.0) 100%); /* Chrome10+,Safari5.1+ */
    background: #fcd630 -o-linear-gradient(top, rgba(255,255,255,0.5) 0%,rgba(255,255,255,0.0) 100%); /* Opera 11.10+ */
    background: #fcd630 -ms-linear-gradient(top, rgba(255,255,255,0.5) 0%,rgba(255,255,255,0.0) 100%); /* IE10+ */
    background: #fcd630 linear-gradient(to bottom, rgba(255,255,255,0.5) 0%,rgba(255,255,255,0.0) 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fde992', endColorstr='#fcd630',GradientType=0 ); /* IE6-9 */ }
button:hover,
input[type=button]:hover,
input[type=submit]:hover { cursor: pointer; background: #fcd630 linear-gradient(to bottom, rgba(255,255,255,0.5) 0%,rgba(255,255,255,0.3) 100%); }
button:active,
input[type=button]:active,
input[type=submit]:active { background: #f3cd27; text-shadow: none; box-shadow: none; }
button:disabled,
input[type=button]:disabled,
input[type=submit]:disabled { background: #eee; color: #999; text-shadow: 0 1px 1px #fff; cursor: pointer; }
input[type=button].small,
input[type=submit].small { font-size: 0.9em; padding: 3px 5px; }
button.large,
input[type=button].large,
input[type=submit].large { font-size: 1.6em; padding: 7px 10px; font-weight: bold; }
button.gray,
input[type=button].gray,
input[type=submit].gray { background: #ededed linear-gradient(to bottom, #ededed 0%,#d1d1d1 100%); }
button.gray:hover,
input[type=button].gray:hover,
input[type=submit].gray:hover { background: #eee; }
button.blue,
input[type=button].blue,
input[type=submit].blue { background: #73b9ff linear-gradient(to bottom, #73b9ff 0%,#0d86ff 100%); border-color: rgba(0,0,0,.2); color: #fff; text-shadow: none; }
button.blue:hover,
input[type=button].blue:hover,
input[type=submit].blue:hover { background: #73b9ff; }

/* Navigation menus
------------------- */

ul.menu-v { margin: 0; padding: 0; font-family: 'Helvetica Neue', 'Trebuchet MS', Arial, sans-serif; }
ul.menu-v li { list-style: none; padding: 0; line-height: 1.3em; border-bottom: 1px solid rgba(0,0,0,0.1); }
ul.menu-v li a { padding: 13px 30px 13px 16px; display: block; text-decoration: none; }
ul.menu-v li.collapsible { background: url('img/rarr.png') no-repeat; background-position: right center; background-size: 32px 16px; }
ul.menu-v.bottom-padded { margin-bottom: 20px; }
ul.menu-v li .count { float: right; color: #aaa; }
ul.menu-v li .count i.icon16 { margin: 0 -5px; }

ul.menu-h { margin: 0; padding: 0; }
ul.menu-h li { list-style: none; display: inline-block; padding: 0 10px 0 0; line-height: 1.3em; display:block\9; float:left\9; }
ul.menu-h li a { display: inline-block; padding: 13px 16px 13px 16px; display:block\9; float:left\9; text-decoration: none; }

ul.tree { list-style: none; padding-left: 0; }
ul.tree li { border: none; }
ul.tree li a { padding: 5px 16px; display: block; text-decoration: none;}
ul.tree li.selected a { background: transparent; }
ul.tree ul { padding-left: 20px; list-style: none; }
ul.tree ul a { padding: 3px 6px; font-size: 90%; }

.paging-nav { text-align: center; }
.paging-nav ul li { display: inline-block; list-style: none; margin-right: 10px; }
.paging-nav ul li a { padding: 8px 10px; }
.paging-nav ul li.selected a { background: #eee; }

/* Sign up & Login forms
------------------------ */

.wa-auth-adapters ul { padding: 0; min-height: 16px; }
.wa-auth-adapters ul li { list-style: none; float: left; padding: 0 15px 0 0; }
.wa-auth-adapters ul li a,
.wa-auth-adapters ul li span { display: block; padding: 0px 5px; }
.wa-auth-adapters ul li a img,
.wa-auth-adapters ul li span img { position: relative; top: 4px; margin-right: 3px; }
.wa-auth-adapters p { color: #888; font-size: 0.9em; width: 80%; }
.wa-auth-adapters.wa-connect { margin-top: 20px; }

.wa-form { float: left; margin: 10px 0; overflow: visible; }
.wa-form .wa-field { clear: left; margin: 0; padding-top: 3px; }
.wa-form .wa-field .wa-name { float: left; width: 155px; padding-top: 0.05em; padding-bottom: 10px; font-size: 0.95em; color: #888; }
.wa-form .wa-field.wa-separator { height: 10px; }
.wa-form .wa-field .wa-value { margin-left: 180px; margin-bottom: 5px; position: relative; }
.wa-form .wa-field .wa-value input.wa-error { border: 2px solid red; }
.wa-form .wa-field .wa-value .wa-error-msg { font-size: 0.9em; color: red; display: block; }
.wa-form .wa-field .wa-value input[type="text"],
.wa-form .wa-field .wa-value input[type="email"],
.wa-form .wa-field .wa-value input[type="password"] { width: 30%; min-width: 260px;  margin:0;}
.wa-form .wa-field .wa-value textarea { min-width: 300px; height: 70px; }
.wa-form .wa-field .wa-value input.wa-captcha-input { width: 100px; min-width: 0; }
.wa-form .wa-field .wa-value label { display: block; }
.wa-form .wa-field .wa-value .wa-captcha img { margin-left: 0; }
.wa-form .wa-field .wa-value .errormsg { margin-left: 0; }
.wa-form .wa-field .wa-value.wa-submit { margin-top: 10px; }
.wa-form .wa-field .wa-value p label { display: block; margin: 0; }
.wa-form .wa-field .wa-value p { line-height: 1.6em; margin-bottom: 23px; position: relative; }
.wa-form .wa-field .wa-value p span { color: #777; font-size: 0.9em; display: block; }
.wa-form .wa-field .wa-value p i.icon16 { float: left; left: -20px; margin-top: 2px; position: absolute; }
.wa-form .wa-field .wa-value p input { display: block; margin-bottom: 2px; }
.wa-form .wa-field .wa-value p input[type="radio"],
.wa-form .wa-field .wa-value p input[type="checkbox"] { display: inline; }
.wa-form .wa-field .wa-value p .field.wa-required span:after { content: " *"; color: #faa; }
.wa-form .wa-field.wa-required .wa-name:after { content: " *"; color: #faa; }
.wa-signup-form .wa-form .wa-field.wa-field-email .wa-value input { min-width: 300px; }
.wa-signup-form .wa-form .wa-field.wa-field-password .wa-value input,
.wa-signup-form .wa-form .wa-field.wa-field-password_confirm .wa-value input { min-width: 200px; width: 200px; }

.wa-captcha { padding: 7px 0 10px; }
.wa-captcha p { margin: 0; }
.wa-captcha strong { font-size: 1.2em; }
.wa-captcha p img { float: left !important; margin-right: 5px; margin-top: -8px; }
.wa-captcha .wa-captcha-refresh { font-size: 0.8em; text-decoration: underline; color: #aaa; }
.wa-captcha .wa-captcha-input { display: inline !important; }
.wa-captcha .errormsg { display: inline-block; margin-left: 10px; display:block\9; float:left\9; }

input.error, textarea.error { border: 2px solid red; }
.errormsg { color: red; margin-left: 170px; display: block; }

/* Multi-column layout
---------------------- */

.row { clear: both; border-top: 1px solid #eee; padding: 20px 0; }
.row.no-border { border: none; }
.col { float: left; }
.col.w1 { width: 6%; }
.col.w2 { width: 12%; }
.col.w3 { width: 18%; }
.col.w4 { width: 24%; }
.col.w5 { width: 30%; }
.col.w6 { width: 36%; }
.col.w7 { width: 42%; }
.col.w8 { width: 48%; }
.col.w9 { width: 54%; }
.col.w10 { width: 60%; }
.col.w11 { width: 66%; }
.col.w12 { width: 72%; }
.col.w13 { width: 78%; }
.col.w14 { width: 84%; }
.col.w15 { width: 90%; }
.col.w16 { width: 96%; }

/* Tables
--------- */

table { border-collapse: collapse; border-spacing: 0; }
table th { color: #aaa; padding: 0px 10px 7px; }
table td { padding: 10px; border: 1px solid rgba(0,0,0,0.1); }
table.not-bordered td { border: none; }

table.lined { margin-top: 25px; width: 100%; border-spacing:0; border-collapse:collapse; }
table.lined th { padding-left: 7px; padding-right: 7px; }
table.lined td { padding: 15px 7px; border-bottom: 1px solid #ddd; }
table.lined td.min-width { width: 1%; }
table.lined td p { margin: 0; }
table.lined td input.numerical { width: 50px; margin-right: 5px; text-align: right; }
table.lined tr.no-border td { border: none; }
table.lined tr.thin td { padding-top: 13px; padding-bottom: 0; }
table.lined tr.service td { padding-top: 5px; padding-bottom: 5px; padding-left: 25px; font-size: 0.8em; color: #555; }

/* Customized search input look
------------------------------- */

.search {  }
.search-wrapper { position: relative; width: 100%; height: 30px; padding: 0 10px 0 10px; float: left; border: 0; border-radius: 3px; -webkit-appearance: none; margin-right: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; background: #fff; }
.search input { width: 100%; float: left; height: 27px; padding-top: 0; margin-top: 1px; background: transparent; border: 0; -webkit-appearance: none; margin-right: 0; padding-left: 0; padding-right: 32px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
.search input:focus { outline: 0; }

.search input::-webkit-input-placeholder { color: #aaa; font-weight: normal; }
.search input:-moz-placeholder,
.search input::-moz-placeholder { color: #aaa; font-weight: normal; }
.search input:-ms-input-placeholder { color: #aaa; font-weight: normal; }

.search button { min-width: 32px; overflow: visible; position: absolute; right: 0px; float: left; border: none; outline: none; box-shadow: none; padding: 0; cursor: pointer; height: 32px; color: #fff; background-color: transparent; background-image: url(img/search16black.png); background-repeat: no-repeat; background-position: 8px 6px; background-size: 16px 16px; border-radius: 0 3px 3px 0; font-size: 1.0em; }
.search button::-moz-focus-inner { /* remove extra button spacing for Mozilla Firefox */ border: 0; padding: 0; }

/* Header: global navigation
---------------------------- */

header.globalheader { background: #c22; position: relative; }
header a { text-decoration: none; }

header #globalnav { background: #000; }
header h2 { padding: 10px 15px; margin: 0 20px 0 -15px; font-size: 1.3em; }
header h2 a { color: #eee !important; }
header h2 a span { display: none; }
header h2 a:hover { color: #eea !important; }

header .apps { padding: 6px 0; margin: 0; }
header .apps li { display: inline-block; vertical-align: top; margin: 1px 21px 1px 0; list-style: none; transform: translate(0,1px); }
header .apps li a { display: block; padding: 12px; margin: -12px; color: #999; font-size: 1.1em; }
header .apps li a:hover { color: #eea; }
header .apps li.selected a { color: #fff; background: #000; }

header .auth { display: inline-block; vertical-align: top; margin: 1px 0 0; padding: 0 0 0 10px; }
header .auth li { display: inline-block; vertical-align: top; list-style: none; }
header .auth li a { font-size: 0.9em; padding: 5px 6px; color: #777; }
header .auth li a:hover { color: #eea !important; }
header .auth li a:visited { color: #777; }

header .cart { display: inline-block; vertical-align: top; }
header .cart .cart-summary { white-space: nowrap; }
header .cart a { padding: 12px 16px 11px 13px; display: block; background: rgba(255,255,255,0.3); color: #fff; font-size: 1.5em; }
header .cart a strong { color: #ff7; }
header .cart a:hover { background: rgba(255,255,255,0.4) !important; }
header .cart .cart-just-added { position: absolute; top: 100%; left: 0; width: 100%; box-sizing: border-box; display: none; padding: 9px 18px; font-size: 0.9em; }
header .cart a.cart-to-checkout { display: none !important; text-align: center; font-weight: bold; padding: 11px 18px; color: #006bd8; font-size: 1.1em; }
header .cart a.cart-to-checkout:hover { background: #fff !important; }
header .cart i.cart-icon { background-repeat:no-repeat; height:24px; width:24px; display: block; float: left; text-indent:-9999px; text-decoration:none!important; background-image: url('img/icons.png'); background-size: 260px 160px; background-position: -216px -50px; margin: -3px 10px 0 0; }
header .cart a .ruble { line-height: 1em; }

header .cart.empty a { background: #333 !important; color: #006bd8; }
header .cart.empty a:hover { background: #444 !important; }
header .cart.empty a:visited,
header .cart.empty a strong { color: #aaa; }
header .cart.empty i.cart-icon { background-position: -192px -50px; }

header .cart.fixed { position: fixed; top: 0; right: 80px; min-width: 220px; max-width: 320px; z-index: 999; padding: 0; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
header .cart.fixed a { text-align: center; border-top: none; background: #c22; }
header .cart.fixed a:hover { background: #d33 !important; }
header .cart.fixed .cart-just-added { display: block; background: #fafaf1; }
header .cart.fixed a.cart-to-checkout { display: block; border: none; background: #fff; box-shadow: 0 5px 10px -6px rgba(0, 0, 0, 0.2); }
header .cart.fixed a.cart-to-checkout:hover { color: red !important; }

header #mobile-nav-toggle { /* mobile only */ display: none; background: url('img/mobile-nav-toggle.png') no-repeat center center; border: none; padding: 5px; background-size: 37px 31px; width: 37px; height: 31px; }

header #globalnav.light { background: #fff; }
header #globalnav.light h2 a { color: #000 !important; }
header #globalnav.light h2 a:hover { color: red !important; }
header #globalnav.light .apps li a { color: #888; }
header #globalnav.light .apps li a:hover { color: red !important; }
header #globalnav.light .apps li.selected a { color: #444; background: transparent; }
header #globalnav.light .auth li a:hover { color: red !important; }
header #globalnav.light .cart a { background: #ffc600; }
header #globalnav.light .cart a:hover { background: #ffba00 !important; }
header #globalnav.light .cart a strong { color: #fff; }
header #globalnav.light .cart.empty a { background: transparent !important; }
header #globalnav.light .cart.empty a:hover { background: #e7e7e7 !important; }
header #globalnav.light .cart.empty a strong { color: #aaa !important; }
header #globalnav.light.andgray { background: #eee; }

/* Header: app navigation
------------------------- */

header .appnav { padding-top: 5px; padding-bottom: 4px; min-height: 60px; }

header .search { float: right; padding: 14px 0; margin-left: 20px; }

header .pages { padding: 0; margin: 14px 0 16px -15px; }
header .pages li { display: inline-block; list-style: none; margin-right: 10px; margin-left: 10px; }
header .pages li a { display: block; color: #fff; text-transform: uppercase; padding: 5px 7px; margin-right: 0px; font-size: 1.1em; font-weight: bold; }
header .pages li a:hover { color: #ffa !important; }
header .pages li.selected a { font-weight: bold; color: #ff7; border-radius: 3px; background: transparent; }

header ul.flyout-nav li.collapsible { background: url('img/darr.png') no-repeat; background-position: right center; background-size: 16px 16px; }
header ul.flyout-nav li.collapsible a { padding-right: 20px; }
header ul.flyout-nav li .flyout { display: none; position: absolute; top: 100%; left: 0; right: 0; box-shadow: 0 5px 20px rgba(0,0,0,0.2); min-height: 150px; padding: 15px 30px; text-align: left; z-index: 101; background: #ffffff; }
header ul.flyout-nav li.submenu-is-shown .flyout { display: block }

header ul.flyout-nav li .flyout a { color: inherit; text-transform: none; }
header ul.flyout-nav li .flyout a:hover { color: red !important; }
header ul.flyout-nav li .flyout ul.menu-v li { border: none; vertical-align: top; text-align: left; margin: 0 20px 20px 0; }
header ul.flyout-nav li .flyout ul.menu-v li.collapsible { background: none; }
header ul.flyout-nav li .flyout ul.menu-v li a { font-weight: bold; padding-left: 0; font-size: 1.1em; }
header ul.flyout-nav li .flyout ul.menu-v li ul.menu-v li { display: block; margin: 0; font-size: 0.9em; }
header ul.flyout-nav li .flyout ul.menu-v li ul.menu-v li a { font-weight: normal; }
header ul.flyout-nav li .flyout ul.menu-v li ul.menu-v li ul { display: none; }
header ul.flyout-nav li .flyout .departments ul.menu-v li { width: 173px; }
header ul.flyout-nav li .flyout .tags { font-size: 120%; }
header ul.flyout-nav li .flyout ul.menu-v.brands { text-align: center; }
header ul.flyout-nav li .flyout ul.menu-v.brands a { font-size: 1.2em; font-weight: normal; }

body.is-shadow-shown { position: relative; }
body.is-shadow-shown:after { display: block; content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,.25); z-index: 99;}
body.is-shadow-shown .globalheader { position: relative; z-index: 100; }

/* Main
------- */

main.maincontent { display: block; clear: both; margin: 0; background: #fff; }
main.maincontent .container { padding-top: 20px; padding-bottom: 20px; }

.sidebar { float: right; width: 260px; }
.content { background: #fff; position: relative; min-height: 250px; }
.content.with-sidebar { margin-right: 290px; }

.sub-links { margin-bottom: 20px; padding-left: 0; }
.sub-links li { list-style: none; line-height: 1.5em; }
.sub-links li a { text-decoration: none; }

.likebox { margin-bottom: 25px; overflow: hidden; }
.connect.inline .likebox { width: 260px; display: inline-block; vertical-align: top; margin-right: 50px; }

.leadbox { background: #fafadf; border: 1px solid rgba(0,0,0,0.07); box-shadow: 0 3px 8px -4px rgba(0,0,0,0.1); }
.leadbox h4 { font-size: 1.5em; line-height: 1.2em; }

.olives { background: #f3f3f3; padding: 20px; margin-bottom: 40px; }
.olives-left { background: transparent url('img/olives-left.png') no-repeat center left; background-size: 50px 105px; min-height: 105px; }
.olives-right { background: transparent url('img/olives-right.png') no-repeat center right; background-size: 50px 105px; min-height: 105px; }
.olives-content { margin: 0 80px; font-family: 'Lucida Grande', 'Lucida Sans Unicode', 'Helvetica Neue', Arial, sans-serif; text-align: center; font-size: 1.1em; line-height: 1.4em; padding: 20px; }

/* Footer
--------- */

footer.globalfooter { clear: both; background: #eee; z-index: 0; padding-top: 25px; min-height: 40px; color: #888; }
footer a,
footer a:visited { color: #888 !important;  }
footer a:hover { color: red !important; }

.footer-block { display: inline-block; margin-right: 40px; vertical-align: top; margin-bottom: 20px; overflow-x: hidden; display:block\9; float:left\9; max-width: 170px; }
.footer-block.mailer-subscribe { max-width: 500px; width: auto; overflow-x: visible; }
.footer-block a,
.footer-block strong { display: block; padding: 1px 0; }
.footer-block a.top { font-weight: bold; margin-bottom: 10px; color: #888; }
.footer-block.contact-us { max-width: 270px; }
.footer-block.contact-us .social { margin-bottom: 4px; }
.footer-block.contact-us .social a { display: inline; margin-right: 5px; }

.appfooter { position: relative; text-align: center; padding: 20px; color: #aaa; border-top: 1px solid #ddd; min-height: 1.5em; margin-top: 20px; }
.appfooter .copyright { position: absolute; left: 0; }
.appfooter .poweredby { position: absolute; right: 0; }
.appfooter .dots { font-size: 0.8em; text-decoration: none; display: inline-block; width: 54px; height: 9px; background: url("img/dots/all-dots-default-order@2x.png") no-repeat 0 3px; padding-top: 3px; margin-right: 10px; background-size: 54px 9px; }

.s-subscribe-section { position: relative; }
.s-subscribe-section.is-extended .s-hidden { display: block; }
.s-subscribe-section .s-form-desc { margin: 0.5em 0 0; font-size: 13px; line-height: 1.2em; color: #888; }
.s-subscribe-section .s-hidden { display: none; position: absolute; top: 100%; left: 0; width: 340px; padding: 1em; background: #fff; z-index: 1; -webkit-box-shadow: 0 0 16px rgba(0,0,0,.2); box-shadow: 0 0 16px rgba(0,0,0,.15); border-radius: 3px; }
.s-subscribe-section .s-hidden .wa-captcha { margin: 0; padding: 0; }
.s-subscribe-section .s-hidden .wa-captcha p { margin: .5em 0 0; }
.s-subscribe-section .s-hidden .wa-captcha p:first-child { margin-top: 0; }
.s-subscribe-section .s-hidden .wa-captcha p > * { margin: 0 4px 0 0; vertical-align: middle; display: inline-block; float: none !important; }
.s-subscribe-section .s-hidden .wa-captcha p > *:last-child { margin-right: 0; }
.s-subscribe-section .s-hidden .wa-captcha p .wa-captcha-img { margin: 0; display: inline-block; }
.s-subscribe-section .s-hidden .wa-captcha p a { display: inline; }

.s-loading-section { position: fixed; top: 0; left: 0; display: flex; width: 100%; height: 100%; justify-content: center; align-items: center; background: rgba(255,255,255,.5); z-index: 100; }
.s-loading-section .s-loading-content { display: inline-block; }

/* 16x16 Icons
-------------- */

i.icon16 { background-repeat:no-repeat; height:16px; width:16px; display:inline-block; text-indent:-9999px; text-decoration:none!important; background-image: url("img/icons.png"); background-size: 260px 160px /* 50% of the original size for auto @2x optimization */; }
* i.icon16 { text-decoration:none!important; vertical-align:top; margin: 0.2em 0.25em 0 0; }
.icon16.rss { background-position: -16px 0; }
.icon16.facebook { background-position: -32px 0; }
.icon16.twitter { background-position: -48px 0; }
.icon16.vk { background-position: -64px 0; }
.icon16.gplus { background-position: -80px 0; }
.icon16.pinterest { background-position: -96px 0; }
.icon16.youtube { background-position: -112px 0; }
.icon16.instagram { background-position: -128px 0; }

.icon16.userpic20 { background-position: -2px -2px; border-radius: 50%; background-size: 20px 20px; }
.icon16.color { border-radius: 50%; border: 1px solid rgba(0,0,0,0.2); width: 12px; height: 12px; background-image: none; }

.icon16.like { background-position:0 -16px; margin-top: 0; }
.icon16.star,
.icon16.star-full { background-position:-16px -16px; }
.icon16.star-half { background-position:-32px -16px; }
.icon16.star-empty { background-position:-48px -16px; }
.icon16.star-hover { background-position:-64px -16px; }

.icon16.remove { background-position:-96px -16px; }
.icon16.saved { background-position:-112px -16px; }
.icon16.stock-red { background-position:-128px -16px; }
.icon16.stock-yellow { background-position:-144px -16px; }
.icon16.stock-green { background-position:-160px -16px; }
.icon16.stock-transparent { background-position:-176px -16px; }
.icon16.checkmark { background-position:-192px -16px; }
.icon16.compare { background-position:-208px -16px; }
.icon16.compare.active { background-position:-224px -16px; }

.icon16.uarr { background: url('img/uarr.png'); background-position: 0 0; background-size: 16px 16px; }

.icon16.loading { background-image: url('img/loading16.gif'); background-position: 0 0; background-size: 16px 16px; }
.icon24.loading { background-image: url('img/loading.gif'); background-size: 24px 24px; height:24px; width:24px; display:inline-block; }
.icon32.loading { background-image: url('img/loading.gif'); background-size: 32px 32px; height:32px; width:32px; display:inline-block; }

/* 10x10 Icons
-------------- */

i.icon10 { background-repeat:no-repeat; height:10px; width:10px; display:inline-block; text-indent:-9999px; text-decoration:none!important; background-image: url("img/icons.png"); background-size: 260px 160px; }
* i.icon10 { text-decoration:none!important; vertical-align:top; margin: 0.3em 0.1em 0 0; }
.icon10.darr { background-image: url('img/darr.png'); background-size: 16px 16px; }

.icon10.star,
.icon10.star-full { background-position:0 -100px; }
.icon10.star-half { background-position:-10px -100px; }
.icon10.star-empty { background-position:-20px -100px; }

/* 24x24 Icons
-------------- */

i.icon24 { background-repeat:no-repeat; height:24px; width:24px; display:inline-block; text-indent:-9999px; text-decoration:none!important; background-image: url("img/icons.png"); background-size: 260px 160px; }
* i.icon16 { text-decoration:none!important; vertical-align:top; margin: 0.2em 0.25em 0 0; }
.icon24.rss { background-position: 0 -50px; }
.icon24.facebook { background-position: -24px -50px; }
.icon24.twitter { background-position: -48px -50px; }
.icon24.vk { background-position: -72px -50px; }
.icon24.instagram { background-position: -96px -50px; }
.icon24.youtube { background-position: -120px -50px; }
.icon24.pinterest { background-position: -144px -50px; }
.icon24.gplus { background-position: -168px -50px; }

/* My account (hide core app nav elements)
------------------------------------------ */

html.my ul.menu-h li a { padding: 5px 7px; }
html.my ul.menu-h li.selected a { color: #fff; }

html.my .sidebar { display: none; }

/* Custom styling
----------------- */

.color_scheme_yellow header.globalheader { background: #fb0; }
.color_scheme_green header.globalheader { background: #6fb541; }
.color_scheme_blue header.globalheader { background: #4e81cc; }
.color_scheme_purple header.globalheader { background: #9a81b3; }
.color_scheme_gray header.globalheader { background: #9c9c9c; }
.color_scheme_pink header.globalheader { background: #e871b1; }
.color_scheme_cyan header.globalheader { background: #3ac1bf; }
.color_scheme_lime header.globalheader { background: #b5ce10; }
.color_scheme_brown header.globalheader { background: #a45e1a; }

.color_scheme_white header.globalheader { background: #fff; }
.color_scheme_white header.globalheader .appnav { border-top: 1px solid rgba(0,0,0,0.13); border-bottom: 1px solid rgba(0,0,0,0.13); margin-top: -1px; padding-bottom: 3px; }
.color_scheme_white header .pages li a { color: #777; }
.color_scheme_white header .pages li a:hover { color: red !important; }
.color_scheme_white header ul.flyout-nav li .flyout { box-shadow: none; }
.color_scheme_white .search-wrapper { border: 1px solid #ccc; }
.color_scheme_white .search input { margin-top: 0; }

html.font_size_12,
html.font_size_12 body { font-size: 12px; }
html.font_size_13,
html.font_size_13 body { font-size: 13px; }
html.font_size_14,
html.font_size_14 body { font-size: 14px; }
html.font_size_15,
html.font_size_15 body { font-size: 15px; }
html.font_size_16,
html.font_size_16 body { font-size: 16px; }

.font_family_trebuchet,
.font_family_trebuchet * { font-family: "Trebuchet MS", sans-serif; }
.font_family_verdana,
.font_family_verdana * { font-family: Verdana, sans-serif; }
.font_family_georgia,
.font_family_georgia * { font-family: Georgia, Times, serif; }
.font_family_google_opensans,
.font_family_google_opensans * { font-family: 'Open Sans', sans-serif; }
.font_family_google_ptsans,
.font_family_google_ptsans * { font-family: 'PT Sans', sans-serif; }
.font_family_google_ptserif,
.font_family_google_ptserif * { font-family: 'PT Serif', sans-serif; }
.font_family_google_roboto,
.font_family_google_roboto * { font-family: 'Roboto', sans-serif; }
.font_family_google_lora,
.font_family_google_lora * { font-family: 'Lora', sans-serif; }
.font_family_google_ubuntu,
.font_family_google_ubuntu * { font-family: 'Ubuntu', sans-serif; }

.font_family_google_fira,
.font_family_google_fira * { font-family: 'Fira Sans', sans-serif; }
.font_family_google_fira b,
.font_family_google_fira strong,
.font_family_google_fira .bold { font-weight: 500; }
.font_family_google_fira header .pages li a { font-weight: 500; padding-top: 9px; }
/*.font_family_google_fira header h2 { padding-top: 12px; }*/
.font_family_google_fira ul.thumbs li { font-size: 1.05em; }
.font_family_google_fira ul.thumbs li h5 { font-weight: 500; }
.font_family_google_fira input[type="button"],
.font_family_google_fira input[type="submit"] { padding-bottom: 3px; }
.font_family_google_fira .search input { padding-top: 3px; }
/*.font_family_google_fira header .auth { margin-top: 13px; }*/
.font_family_google_fira header .auth i.userpic20 { margin-top: 1px; }
.font_family_google_fira header .cart a strong { display: inline-block; margin-top: 1px;}
.font_family_google_fira .staff { position: relative; top: -2px; padding-bottom: 0 !important; }
.font_family_google_fira .add2cart input[type="submit"]  { padding-bottom: 4px; }
.font_family_google_fira .slider a h3 { font-size: 2.8em; }
.font_family_google_fira .stocks .icon16 { margin-top: 0; }
.font_family_google_fira .credentials a,
.font_family_google_fira .credentials span { vertical-align: top; }
.font_family_google_fira .credentials { padding-top: 2px; }
.font_family_google_fira .credentials .userpic,
.font_family_google_fira .comments .credentials .userpic { margin-top: -2px; }
.font_family_google_fira .comments .actions a { margin-right: 0; }

.font_family_google_ptsansandserif,
.font_family_google_ptsansandserif * { font-family: 'PT Sans Caption', sans-serif; }
.font_family_google_ptsansandserif p,
.font_family_google_ptsansandserif .olives-content,
.font_family_google_ptsansandserif ul.thumbs li span.summary,
.font_family_google_ptsansandserif table.features td { font-family: 'PT Serif', sans-serif; font-size: 110%; }
.font_family_google_ptsansandserif p a { font-family: 'PT Serif'; }
.font_family_google_ptsansandserif ul.thumbs li h5,
.font_family_google_ptsansandserif ul.thumbs.mini li h5 { font-size: 120%; }
/* Mobile
--------- */

.nav-negative { display: none; /* mobile-only slide-out navigation */ padding-left: 0; margin: -1px 0 0; border-bottom: 1px solid #777; background: #888; }
.nav-negative li { list-style: none; display: block; border-top: 1px solid #777; }
.nav-negative li a { font-size: 1.2em; text-decoration: none; color: #ddd !important; display: block; padding: 15px 26px 15px 16px; }
.nav-negative li.selected a { color: #fff !important; text-shadow: 0 1px 0 #000; background: transparent; font-weight: bold; }
.nav-negative.auth li { background: #666; }
.nav-negative.search { padding: 0; background: #fff; height: 52px; }
.nav-negative.search .search-wrapper { height: 52px; border-radius: 0; border: none; }
.nav-negative.search input { height: 52px; font-size: 1.3em; padding-left: 5px; margin-top: 4px; padding-right: 52px; }
.nav-negative.search button { background-size: 24px 24px; height: 52px; width: 52px; background-position: 3px 15px; }

/* TABLET
========= */

@media screen and (min-width: 760px) and (max-width: 1024px) {

    body { -webkit-text-size-adjust: 100%; }

    .container { padding: 0 25px; }
    .sidebar { width: 200px; }
    .content.with-sidebar { margin-right: 220px; }

    header h2 { margin-right: 10px; }
    header .apps li { margin: 2px 10px 2px 0; }
    .search-wrapper { max-width: 150px; }

    .color_scheme_white header.globalheader .appnav { padding-left: 0; padding-right: 0; margin-left: 25px; margin-right: 25px; }

    /* @media screen and (orientation : portrait) { */
    @media screen and (max-width: 850px) {


    }

}


/* MOBILE
========= */

@media screen and (max-width: 760px) {

    body { -webkit-text-size-adjust: 100%; padding-top: 52px /* fixed #globalnav */; }

    h1 { font-size: 2em; }
    h2 { font-size: 1.5em; }
    h3 { font-size: 1.3em; }

    .container { min-width: 0; padding: 0; }
    .breadcrumbs { font-size: 1.0em; line-height: 1.5em; margin-bottom: 10px; }

    .sidebar { float: none !important; width: auto !important; padding: 0 !important; }
    .content { padding: 0px 15px; overflow-x: hidden; }
    .content.with-sidebar { margin-left: 0 !important; margin-right: 0 !important; }

    .nav-negative { display: block; /* mobile-only slide-out navigation */ }

    header #globalnav { position: fixed; top: 0; left: 0; right: 0; z-index: 9999; height: 52px; padding-top: 0 !important; }
    header #globalnav.light { box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
    header #globalnav.light .cart.empty a { background: #f3f3f3 !important; }
    .color_scheme_white header #globalnav.light { box-shadow: none; border-bottom: 1px solid rgba(0,0,0,0.13); }
    .color_scheme_white header #globalnav.light.andgray { border-bottom: none; }

    header h2 { margin: 9px 50px 10px 0 !important; float: left; font-size: 1.2em !important; position: fixed; top: 7px; left: 15px; z-index: 9999; font-weight: normal !important; padding: 0 !important; display: block !important; }
    header h2 a img { display: none; }
    header h2 a span { display: inline; }
    header .appnav { padding: 0; }
    header #mobile-nav-toggle { display: block; float: right; margin-right: 10px; margin-top: 13px; outline: 0; margin-bottom: 9px; }
    header .apps { display: none; }
    header .pages { margin: 0; padding: 20px 0; }
    header .auth { display: none; }
    header .auth li a { font-size: 1em; }
    header .auth li a i.icon16 { margin-top: 0; }
    header .apps.unfolded { display: block; }
    header .cart,
    header .cart.fixed { position: absolute; top: 0; right: 58px !important; min-width: 0 !important; max-width: 64px; }
    header .cart a { height: 1em; padding: 16px 9px 15px 17px; background: #ffba00; }
    header .cart.fixed a { background: #ffba00; }
    header .cart a strong { display: none !important; }
    header .cart #cart-content { display: none; }

    header ul.flyout-nav li.submenu-is-shown > a { background: rgba(0,0,0,.33); border-radius: 3px; }

    .content img { max-width: 100%; }

    .search { display: none; }
    .search-wrapper { padding-right: 0; }

    footer.globalfooter { top: 0; padding-top: 10px; }
    .footer-block { width: 120px; margin: 10px 15px !important; }
    .footer-block#copyright { width: auto; display: block; }
    .footer-block a { margin-bottom: 3px; }
    .footer-note { margin: 10px 15px; }
    .appfooter { padding: 10px 15px; }
    .appfooter .copyright,
    .appfooter .poweredby { position: static; padding: 10px; }

    .wa-form .wa-field .wa-name { float: none; padding-bottom: 0; }
    .wa-form .wa-field .wa-value { margin-left: 0; }
    .wa-form .wa-field .wa-value p span { display: block; }
    .wa-form .wa-field .wa-value input[type="text"],
    .wa-form .wa-field .wa-value input[type="email"],
    .wa-form .wa-field .wa-value input[type="password"] { min-width: 200px; }
    .wa-auth-adapters p { width: 80%; }
    .wa-captcha input.wa-captcha-input { width: 100px; }
    .errormsg { margin-left: 0; }

    table td { padding: 5px; }
    html.my ul.menu-h li a { padding: 10px; }
    .comment-form-fields label { float: left; }
    .sub-links li { font-size: 110%; margin-bottom: 5px; }
    .sidebar .likebox { display: none; }
    .connect.inline .likebox { display: block; width: auto; }

    .wa-signup-form .wa-form .wa-field.wa-field-email .wa-value input { min-width: 240px; }
    .wa-signup-form .wa-form .wa-field.wa-field-password .wa-value input,
    .wa-signup-form .wa-form .wa-field.wa-field-password_confirm .wa-value input { min-width: 160px; width: 160px; }

    .olives { padding: 10px; }
    .olives-left,
    .olives-right { background-size: 25px auto; min-height: 55px; }
    .olives-content { margin: 0 20px; font-size: 0.9em; padding: 10px; }

    .footer-block.contact-us { max-width: 999px; display: block; width: auto; }

}

/* WIDE
========= */

@media screen and (min-width: 1300px) {

    .container { max-width: 1200px; }

}

/* FOOTER NOTICE */
.s-footer-notice { margin: 2.5em 0 1em; font-size: .9em; line-height: 1.3em; text-align: center; }
.s-footer-notice a { color: inherit; text-decoration: underline; }

/* OTHER */
.wa-login-form-actions button,
.wa-signup-form-actions button,
.wa-forgotpassword-form-actions button,
.wa-set-password-form-wrapper button,
.wa-login-form-actions input[type=button],
.wa-signup-form-actions input[type=button],
.wa-forgotpassword-form-actions input[type=button],
.wa-set-password-form-wrapper input[type=button],
.wa-login-form-actions input[type=submit],
.wa-signup-form-actions input[type=submit],
.wa-forgotpassword-form-actions input[type=submit],
.wa-confirm-signup-button,
.wa-set-password-form-wrapper input[type=submit] { font-size: 18px; font-weight: bold; padding-top: 8px; padding-right: 15px; padding-bottom: 8px; padding-left: 15px; }


/* ========================================================================== 
   AVETTI custom layer — mobile first
   ========================================================================== */
:root {
    --av-bg: #f4f1eb;
    --av-surface: #ffffff;
    --av-ink: #1d211f;
    --av-muted: #59615c;
    --av-line: #d9ddd8;
    --av-accent: #365f4b;
    --av-accent-dark: #274638;
    --av-warm: #806039;
    --av-soft: #e8eee9;
    --av-dark: #18241e;
    --av-radius: 22px;
    --av-shadow: 0 24px 60px rgba(28, 42, 34, .10);
}
html { scroll-behavior: smooth; overflow-x: hidden; }
body { background: var(--av-bg); color: var(--av-ink); font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; font-size: 16px; line-height: 1.55; overflow-x: hidden; }
body.submenu-is-shown:after { display: none !important; }
#globalnav { display: none !important; }
.globalheader { position: sticky; top: 0; z-index: 1000; background: rgba(244,241,235,.94) !important; border-bottom: 1px solid rgba(29,33,31,.08); backdrop-filter: blur(16px); }
.globalheader .appnav { width: 100%; max-width: none; padding: 0; }
.globalheader .container { max-width: 1280px; }
#header-container { border: 0 !important; }
.maincontent { padding: 0; background: var(--av-bg); }
.maincontent > .container { width: auto; max-width: 1280px; margin: 0 auto; padding: 0 18px; }
.globalfooter { background: var(--av-dark); color: #f4f1eb; padding: 0; }
.globalfooter .avetti-legacy-footer { display: none; }
.globalfooter .appfooter { padding: 0; }
.globalfooter .copyright, .globalfooter .poweredby, .globalfooter .s-footer-notice { display: none !important; }
.globalfooter > .container { max-width: 1280px; padding: 0 18px; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.avetti-header-shell { min-height: 78px; display: flex; align-items: center; gap: 26px; }
.avetti-brand { display: inline-flex; align-items: center; gap: 11px; color: var(--av-ink) !important; text-decoration: none; flex: 0 0 auto; }
.avetti-brand:visited { color: var(--av-ink) !important; }
.avetti-brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: var(--av-accent); color: #fff; font: 700 22px/1 Georgia, serif; }
.avetti-brand-copy { display: flex; flex-direction: column; line-height: 1.05; }
.avetti-brand-copy strong { font-size: 19px; letter-spacing: .16em; }
.avetti-brand-copy small { margin-top: 5px; color: var(--av-muted); font-size: 11px; letter-spacing: .04em; }
.avetti-brand-logo { display: block; max-width: 180px; max-height: 52px; }
.avetti-primary-nav { display: flex; align-items: center; gap: 20px; margin-left: auto; }
.avetti-primary-nav a { color: var(--av-ink) !important; text-decoration: none; font-size: 14px; font-weight: 600; padding: 28px 0 24px; border-bottom: 3px solid transparent; }
.avetti-primary-nav a:hover, .avetti-primary-nav a.is-active { color: var(--av-accent) !important; border-bottom-color: var(--av-accent); }
.avetti-header-actions { display: flex; align-items: center; gap: 16px; }
.avetti-header-contact { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.2; }
.avetti-header-contact a { color: var(--av-ink) !important; text-decoration: none; font-weight: 700; white-space: nowrap; }
.avetti-header-contact span { color: var(--av-muted); font-size: 11px; margin-top: 4px; }
.avetti-menu-toggle { display: none; width: 48px; height: 48px; border: 1px solid var(--av-line); border-radius: 14px; background: #fff; padding: 12px; cursor: pointer; }
.avetti-menu-toggle > span:not(.visually-hidden) { display: block; width: 100%; height: 2px; background: var(--av-ink); margin: 5px 0; transition: .2s; }
.avetti-menu-toggle[aria-expanded="true"] > span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.avetti-menu-toggle[aria-expanded="true"] > span:nth-child(2) { opacity: 0; }
.avetti-menu-toggle[aria-expanded="true"] > span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.avetti-button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 13px 22px; border: 1px solid var(--av-accent); border-radius: 999px; background: var(--av-accent); color: #fff !important; text-decoration: none !important; font-size: 15px; font-weight: 700; cursor: pointer; transition: transform .2s, background .2s, box-shadow .2s; box-sizing: border-box; }
.avetti-button:visited { color: #fff !important; }
.avetti-button:hover { background: var(--av-accent-dark); color: #fff !important; transform: translateY(-1px); box-shadow: 0 12px 30px rgba(54,95,75,.22); }
.avetti-button--ghost { background: transparent; color: var(--av-accent) !important; }
.avetti-button--ghost:visited { color: var(--av-accent) !important; }
.avetti-button--ghost:hover { color: #fff !important; }
.avetti-button--compact { min-height: 44px; padding: 11px 18px; font-size: 13px; }
.avetti-button--full { width: 100%; border: 0; }
.avetti-text-link, .avetti-card-link { color: var(--av-accent) !important; text-decoration: none; font-weight: 700; }

.avetti-home { padding: 28px 0 92px; }
.avetti-hero { min-height: 640px; display: grid; grid-template-columns: 1.03fr .97fr; gap: 42px; align-items: center; padding: 52px; border-radius: 32px; background: #e7e8df; overflow: hidden; position: relative; }
.avetti-hero:before { content: ""; position: absolute; width: 420px; height: 420px; border-radius: 50%; background: rgba(200,156,98,.18); left: -170px; top: -230px; }
.avetti-hero-copy, .avetti-hero-visual { position: relative; z-index: 1; }
.avetti-kicker { margin: 0 0 14px; color: var(--av-accent); text-transform: uppercase; letter-spacing: .15em; font-size: 12px; font-weight: 800; }
.avetti-hero h1 { max-width: 780px; margin: 0; font: 600 clamp(42px, 5.2vw, 76px)/.98 Georgia, "Times New Roman", serif; letter-spacing: -.04em; }
.avetti-hero-text { max-width: 650px; margin: 26px 0 0; color: #4c554f; font-size: 18px; }
.avetti-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.avetti-hero-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; list-style: none; padding: 0; margin: 38px 0 0; }
.avetti-hero-facts li { border-top: 1px solid rgba(29,33,31,.18); padding-top: 14px; }
.avetti-hero-facts strong, .avetti-hero-facts span { display: block; }
.avetti-hero-facts strong { font-size: 14px; }
.avetti-hero-facts span { color: var(--av-muted); font-size: 12px; margin-top: 5px; }
.avetti-hero-visual { min-height: 520px; display: flex; flex-direction: column; justify-content: flex-end; }
.avetti-photo-placeholder { min-height: 240px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; border-radius: 20px; border: 1px dashed rgba(255,255,255,.52); background: linear-gradient(135deg, #53665d, #26352e); color: rgba(255,255,255,.9); padding: 24px; box-sizing: border-box; }
.avetti-photo-placeholder span { font-weight: 700; }
.avetti-photo-placeholder small { margin-top: 8px; color: rgba(255,255,255,.65); }
.avetti-photo-placeholder--hero { min-height: 500px; box-shadow: var(--av-shadow); }
.avetti-hero-note { position: absolute; right: -14px; bottom: 28px; max-width: 250px; padding: 16px 18px; border-radius: 16px; background: #fff; color: var(--av-ink); font-size: 13px; box-shadow: var(--av-shadow); }

.avetti-section { padding: 100px 0 0; scroll-margin-top: 100px; }
.avetti-section-heading { max-width: 770px; margin-bottom: 38px; }
.avetti-section-heading h2, .avetti-quality-copy h2, .avetti-contact-copy h2 { margin: 0; font: 600 clamp(34px, 4vw, 56px)/1.05 Georgia, "Times New Roman", serif; letter-spacing: -.035em; }
.avetti-section-heading > p:last-child, .avetti-quality-copy > p, .avetti-contact-copy > p { color: var(--av-muted); font-size: 17px; }
.avetti-direction-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.avetti-direction-card { min-height: 300px; display: flex; flex-direction: column; padding: 26px; border-radius: var(--av-radius); background: var(--av-surface); color: var(--av-ink) !important; text-decoration: none; box-shadow: 0 1px 0 rgba(29,33,31,.05); transition: transform .2s, box-shadow .2s; box-sizing: border-box; }
.avetti-direction-card:hover { transform: translateY(-4px); box-shadow: var(--av-shadow); }
.avetti-direction-number { color: var(--av-warm); font-size: 13px; font-weight: 800; }
.avetti-direction-card h3 { margin: auto 0 10px; font-size: 27px; }
.avetti-direction-card p { color: var(--av-muted); }
.avetti-direction-card .avetti-card-link { margin-top: 16px; }

.avetti-section--dark { margin: 100px -18px 0; padding: 100px max(18px, calc((100vw - 1280px)/2)); background: var(--av-dark); color: #fff; }
.avetti-section-heading--light .avetti-kicker { color: #d5ad78; }
.avetti-section-heading--light > p:last-child { color: rgba(255,255,255,.65); }
.avetti-project-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.avetti-project-card { overflow: hidden; border-radius: var(--av-radius); background: #fff; color: var(--av-ink); }
.avetti-project-card .avetti-photo-placeholder { min-height: 250px; border-radius: 0; background: linear-gradient(135deg, #59665f, #9a8064); }
.avetti-project-body { padding: 22px; }
.avetti-project-body > span { color: var(--av-warm); font-size: 11px; text-transform: uppercase; letter-spacing: .14em; font-weight: 800; }
.avetti-project-body h3 { margin: 8px 0; font-size: 22px; }
.avetti-project-body p { color: var(--av-muted); }
.avetti-project-body a { color: var(--av-accent) !important; text-decoration: none; font-weight: 700; }

.avetti-price-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.avetti-price-card { min-height: 300px; padding: 30px; border: 1px solid var(--av-line); border-radius: var(--av-radius); background: rgba(255,255,255,.5); box-sizing: border-box; }
.avetti-price-card h3 { margin-top: 0; font-size: 22px; }
.avetti-price-card strong { display: block; margin: 44px 0 18px; font: 600 28px/1.1 Georgia, serif; }
.avetti-price-card p { color: var(--av-muted); }
.avetti-price-card--accent { background: var(--av-accent); color: #fff; border-color: var(--av-accent); }
.avetti-price-card--accent p { color: rgba(255,255,255,.76); }
.avetti-price-card--accent a { color: #fff !important; font-weight: 700; }
.avetti-price-note { margin-top: 16px; padding: 18px 22px; border-radius: 16px; background: #eee4d6; color: #6c5639; }

.avetti-process-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 38px; list-style: none; padding: 0; margin: 0; counter-reset: none; }
.avetti-process-list li { display: grid; grid-template-columns: 60px 1fr; gap: 18px; padding: 25px 0; border-top: 1px solid var(--av-line); }
.avetti-process-list li > span { color: var(--av-warm); font-weight: 800; }
.avetti-process-list h3 { margin: 0 0 6px; font-size: 21px; }
.avetti-process-list p { margin: 0; color: var(--av-muted); }

.avetti-quality { display: grid; grid-template-columns: .85fr 1.15fr; gap: 60px; align-items: start; }
.avetti-quality-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.avetti-quality-grid > div { min-height: 215px; padding: 24px; border-radius: 18px; background: #fff; }
.avetti-quality-grid strong { color: var(--av-warm); }
.avetti-quality-grid h3 { margin: 30px 0 8px; }
.avetti-quality-grid p { color: var(--av-muted); }

.avetti-faq-list { border-top: 1px solid var(--av-line); }
.avetti-faq-list details { border-bottom: 1px solid var(--av-line); }
.avetti-faq-list summary { position: relative; padding: 24px 50px 24px 0; font-size: 20px; font-weight: 700; cursor: pointer; list-style: none; }
.avetti-faq-list summary::-webkit-details-marker { display: none; }
.avetti-faq-list summary:after { content: "+"; position: absolute; right: 8px; top: 20px; width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--av-line); border-radius: 50%; }
.avetti-faq-list details[open] summary:after { content: "−"; }
.avetti-faq-list details p { max-width: 850px; margin: 0 0 24px; color: var(--av-muted); }

.avetti-contact-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; align-items: start; }
.avetti-direct-contacts { display: flex; flex-direction: column; gap: 8px; margin-top: 30px; }
.avetti-direct-contacts a { color: var(--av-ink) !important; text-decoration: none; font-size: 20px; font-weight: 700; }
.avetti-lead-form { padding: 30px; border-radius: var(--av-radius); background: #fff; box-shadow: var(--av-shadow); }
.avetti-admin-note { margin-bottom: 20px; padding: 12px 14px; border-radius: 12px; background: #fff3cd; color: #6d5700; font-size: 13px; }
.avetti-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 17px; }
.avetti-form-grid label { display: flex; flex-direction: column; gap: 7px; color: #454c47; font-size: 13px; font-weight: 700; }
.avetti-form-grid input, .avetti-form-grid select, .avetti-form-grid textarea { width: 100%; min-width: 0; min-height: 48px; margin: 0; padding: 12px 14px; border: 1px solid #cfd5d0; border-radius: 12px; background: #fff; color: var(--av-ink); font: inherit; font-size: 16px; box-sizing: border-box; }
.avetti-form-grid textarea { min-height: 112px; resize: vertical; }
.avetti-form-grid input:focus, .avetti-form-grid select:focus, .avetti-form-grid textarea:focus { outline: 3px solid rgba(54,95,75,.16); border-color: var(--av-accent); }
.avetti-form-grid .is-invalid { border-color: #ba3b3b; }
.avetti-form-wide { grid-column: 1 / -1; }
.avetti-consent { display: flex; align-items: flex-start; gap: 10px; margin: 20px 0; color: var(--av-muted); font-size: 13px; }
.avetti-consent input { width: 20px; height: 20px; flex: 0 0 auto; margin-top: 1px; }
.avetti-form-status { min-height: 24px; margin: 12px 0 0; font-size: 14px; }
.avetti-form-status.is-error { color: #a32727; }
.avetti-form-status.is-info { color: var(--av-accent); }

.avetti-page { max-width: 960px; margin: 0 auto; padding: 70px 0 100px; }
.avetti-breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 36px; color: var(--av-muted); font-size: 13px; }
.avetti-breadcrumbs a { color: var(--av-muted) !important; text-decoration: none; }
.avetti-page-header h1 { margin: 0 0 36px; font: 600 clamp(38px, 5vw, 68px)/1 Georgia, serif; letter-spacing: -.04em; }
.avetti-subnav { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 30px; }
.avetti-subnav a { padding: 10px 14px; border: 1px solid var(--av-line); border-radius: 999px; color: var(--av-ink) !important; text-decoration: none; }
.avetti-richtext { font-size: 18px; }
.avetti-richtext h2 { margin-top: 56px; font: 600 38px/1.1 Georgia, serif; }
.avetti-richtext h3 { margin-top: 36px; font-size: 25px; }
.avetti-richtext img { max-width: 100%; height: auto; border-radius: 18px; }
.avetti-richtext table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; }
.avetti-richtext th, .avetti-richtext td { padding: 12px; border: 1px solid var(--av-line); }
.avetti-error-page { max-width: 720px; margin: 0 auto; padding: 120px 0; text-align: center; }
.avetti-error-page h1 { font: 600 56px/1 Georgia, serif; }

.avetti-footer-inner { display: grid; grid-template-columns: 1.2fr .8fr .9fr .7fr; gap: 40px; padding: 70px 0 28px; color: #fff; }
.avetti-footer-inner a { color: #fff !important; text-decoration: none; }
.avetti-footer-inner p, .avetti-footer-inner span { color: rgba(255,255,255,.62); }
.avetti-brand--footer .avetti-brand-mark { background: #d5ad78; color: var(--av-dark); }
.avetti-brand--footer .avetti-brand-copy strong { color: #fff; }
.avetti-brand--footer .avetti-brand-copy small { color: rgba(255,255,255,.55); }
.avetti-footer-nav, .avetti-footer-contacts, .avetti-footer-actions { display: flex; flex-direction: column; gap: 10px; }
.avetti-footer-inner h2 { margin: 0 0 9px; color: rgba(255,255,255,.55); font-size: 12px; text-transform: uppercase; letter-spacing: .14em; }
.avetti-footer-bottom { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 20px; padding-top: 28px; margin-top: 22px; border-top: 1px solid rgba(255,255,255,.12); font-size: 12px; }

/* Generic Webasyst forms and account pages */
.wa-form { float: none; width: 100%; }
.wa-form .wa-field .wa-value input[type="text"], .wa-form .wa-field .wa-value input[type="email"], .wa-form .wa-field .wa-value input[type="password"], .wa-form textarea { min-height: 46px; font-size: 16px; border-radius: 10px; border: 1px solid var(--av-line); padding: 10px 12px; box-sizing: border-box; }
input[type="button"], input[type="submit"], button { min-height: 44px; }

@media (max-width: 1120px) {
    .avetti-header-contact { display: none; }
    .avetti-primary-nav { gap: 14px; }
    .avetti-primary-nav a { font-size: 13px; }
    .avetti-direction-grid { grid-template-columns: repeat(2, 1fr); }
    .avetti-project-grid { grid-template-columns: repeat(2, 1fr); }
    .avetti-price-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 880px) {
    .globalheader { position: sticky; }
    .avetti-header-shell { min-height: 70px; gap: 12px; }
    .avetti-menu-toggle { display: block; margin-left: auto; order: 2; }
    .avetti-header-actions { order: 3; }
    .avetti-header-actions .avetti-button { display: none; }
    .avetti-primary-nav { position: absolute; left: 18px; right: 18px; top: calc(100% + 1px); display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 12px; border-radius: 0 0 18px 18px; background: #fff; box-shadow: var(--av-shadow); }
    .avetti-primary-nav.is-open { display: flex; }
    .avetti-primary-nav a { padding: 13px 10px; border-bottom: 1px solid var(--av-line); }
    .avetti-primary-nav a:last-child { border-bottom: 0; }
    .avetti-hero { grid-template-columns: 1fr; padding: 38px 28px; }
    .avetti-hero-visual { min-height: 420px; }
    .avetti-photo-placeholder--hero { min-height: 420px; }
    .avetti-quality, .avetti-contact-section { grid-template-columns: 1fr; gap: 35px; }
    .avetti-footer-inner { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 620px) {
    .maincontent > .container, .globalfooter > .container { padding-left: 14px; padding-right: 14px; }
    .avetti-brand-copy small { display: none; }
    .avetti-brand-mark { width: 38px; height: 38px; }
    .avetti-home { padding-top: 14px; padding-bottom: 60px; }
    .avetti-hero { min-height: 0; padding: 30px 20px 20px; border-radius: 22px; gap: 28px; }
    .avetti-hero h1 { font-size: clamp(38px, 12vw, 54px); }
    .avetti-hero-text { font-size: 16px; }
    .avetti-hero-actions { flex-direction: column; }
    .avetti-hero-actions .avetti-button { width: 100%; }
    .avetti-hero-facts { grid-template-columns: 1fr; }
    .avetti-hero-visual, .avetti-photo-placeholder--hero { min-height: 320px; }
    .avetti-hero-note { position: static; max-width: none; margin-top: -35px; margin-left: 18px; margin-right: 18px; }
    .avetti-section { padding-top: 72px; }
    .avetti-section--dark { margin-top: 72px; padding-top: 72px; padding-bottom: 72px; }
    .avetti-section-heading h2, .avetti-quality-copy h2, .avetti-contact-copy h2 { font-size: 36px; }
    .avetti-direction-grid, .avetti-project-grid, .avetti-price-grid, .avetti-process-list, .avetti-quality-grid, .avetti-form-grid { grid-template-columns: 1fr; }
    .avetti-direction-card { min-height: 250px; }
    .avetti-process-list li { grid-template-columns: 44px 1fr; }
    .avetti-form-wide { grid-column: auto; }
    .avetti-lead-form { padding: 20px; }
    .avetti-footer-inner { grid-template-columns: 1fr; gap: 28px; padding-top: 54px; }
    .avetti-footer-bottom { flex-direction: column; }
    .avetti-page { padding-top: 48px; }
    .avetti-page-header h1 { font-size: 44px; }
    .wa-form .wa-field .wa-name { float: none; width: auto; }
    .wa-form .wa-field .wa-value { margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *:before, *:after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}


/* AVETTI v0.4 — managed portfolio */
body.avetti-lightbox-open { overflow: hidden; }
.avetti-hero-visual--photo { overflow: hidden; background: #d9e1dc; }
.avetti-hero-visual--photo > img { width: 100%; height: 100%; min-height: 590px; object-fit: cover; display: block; }
.avetti-hero-project-link { position: absolute; left: 22px; right: 22px; bottom: 22px; z-index: 2; display: grid; gap: 3px; padding: 17px 18px; border-radius: 16px; color: #fff !important; text-decoration: none; background: rgba(18,30,24,.83); backdrop-filter: blur(10px); }
.avetti-hero-project-link span { color: rgba(255,255,255,.66); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.avetti-hero-project-link strong { font-size: 17px; }
.avetti-hero-project-link em { margin-top: 5px; color: #d5ad78; font-style: normal; font-size: 13px; }
.avetti-section-heading--with-action { display: flex; align-items: end; justify-content: space-between; gap: 35px; }
.avetti-section-heading--with-action > div { max-width: 800px; }
.avetti-button--light,
.avetti-button--light:visited { background: #fff; color: var(--av-dark) !important; flex: 0 0 auto; }
.avetti-button--light:hover { background: #f1ede5; color: var(--av-dark) !important; }
.avetti-home-projects { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.avetti-home-project-card { overflow: hidden; border-radius: var(--av-radius); background: #fff; color: var(--av-ink); }
.avetti-home-project-media { position: relative; display: block; aspect-ratio: 16/10; overflow: hidden; background: #d9e1dc; }
.avetti-home-project-media img { width: 100%; height: 100%; object-fit: cover; transition: opacity .32s ease, transform .45s ease; }
.avetti-home-project-media:hover img { transform: scale(1.025); }
.avetti-home-project-media span { position: absolute; left: 16px; top: 16px; padding: 8px 11px; border-radius: 999px; background: rgba(18,30,24,.82); color: #fff; font-size: 12px; }
.avetti-home-project-copy { padding: 24px; }
.avetti-home-project-copy > p:first-child { margin: 0 0 10px; color: var(--av-warm); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.avetti-home-project-copy h3 { margin: 0 0 12px; font: 600 29px/1.08 Georgia, serif; }
.avetti-home-project-copy h3 a { color: var(--av-ink) !important; text-decoration: none; }
.avetti-home-project-copy > p { color: var(--av-muted); }
.avetti-home-project-copy > a { color: var(--av-accent) !important; font-weight: 700; text-decoration: none; }
.avetti-projects-honesty { margin: 22px 0 0; color: rgba(255,255,255,.55); font-size: 13px; }

.avetti-portfolio-page, .avetti-project-page { max-width: 1240px; margin: 0 auto; padding: 58px 0 100px; }
.avetti-portfolio-intro { display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: end; margin-bottom: 52px; }
.avetti-portfolio-intro h1, .avetti-project-hero h1 { margin: 0; font: 600 clamp(44px, 6vw, 78px)/.98 Georgia, serif; letter-spacing: -.045em; }
.avetti-portfolio-intro > p { margin: 0; color: var(--av-muted); font-size: 19px; line-height: 1.65; }
.avetti-portfolio-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.avetti-portfolio-card { overflow: hidden; border: 1px solid var(--av-line); border-radius: var(--av-radius); background: #fff; box-shadow: 0 18px 50px rgba(29,43,35,.06); }
.avetti-portfolio-card-media { position: relative; display: block; aspect-ratio: 16/10; overflow: hidden; background: #d9e1dc; }
.avetti-portfolio-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.avetti-portfolio-card-media:hover img { transform: scale(1.03); }
.avetti-portfolio-card-media span { position: absolute; left: 18px; top: 18px; padding: 8px 12px; border-radius: 999px; background: rgba(18,30,24,.84); color: #fff; font-size: 12px; }
.avetti-portfolio-card-body { padding: 28px; }
.avetti-portfolio-card-tags { margin: 0 0 11px !important; color: var(--av-warm) !important; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.avetti-portfolio-card-body h2 { margin: 0 0 14px; font: 600 34px/1.06 Georgia, serif; }
.avetti-portfolio-card-body h2 a { color: var(--av-ink) !important; text-decoration: none; }
.avetti-portfolio-card-body > p { color: var(--av-muted); }
.avetti-portfolio-note { display: flex; align-items: center; justify-content: space-between; gap: 35px; margin-top: 38px; padding: 26px 30px; border-radius: 18px; background: var(--av-soft); }
.avetti-portfolio-note p { max-width: 720px; margin: 0; color: var(--av-muted); }

.avetti-project-hero { display: grid; grid-template-columns: 1.13fr .87fr; gap: 54px; align-items: center; }
.avetti-project-hero-media { min-height: 600px; overflow: hidden; border-radius: 28px; background: #d9e1dc; }
.avetti-project-hero-media img { width: 100%; height: 100%; min-height: 600px; object-fit: cover; display: block; }
.avetti-project-hero-copy { padding-right: 18px; }
.avetti-project-lead { margin: 26px 0; color: var(--av-muted); font-size: 19px; line-height: 1.65; }
.avetti-project-tags { display: flex; flex-wrap: wrap; gap: 9px; margin: 0 0 30px; }
.avetti-project-tags span { padding: 9px 12px; border: 1px solid var(--av-line); border-radius: 999px; color: #455049; font-size: 13px; }
.avetti-project-section { padding: 92px 0 0; }
.avetti-comparison-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.avetti-comparison-card { margin: 0; overflow: hidden; border: 1px solid var(--av-line); border-radius: var(--av-radius); background: #fff; }
.avetti-comparison-media { position: relative; display: grid; place-items: center; aspect-ratio: 4/3; overflow: hidden; background: #f4f6f4; }
.avetti-comparison-media img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; display: block; }
.avetti-comparison-card:first-child .avetti-comparison-media img { object-fit: contain; background: #fff; }
.avetti-image-fallback { position: absolute; color: var(--av-muted); font-size: 14px; }
.avetti-comparison-card figcaption { display: flex; justify-content: space-between; gap: 20px; padding: 19px 21px; }
.avetti-comparison-card figcaption strong { font-size: 17px; }
.avetti-comparison-card figcaption span { color: var(--av-muted); font-size: 13px; text-align: right; }
.avetti-project-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-flow: dense; gap: 12px; }
.avetti-gallery-button { position: relative; min-height: 220px; padding: 0; border: 0; border-radius: 15px; overflow: hidden; background: #d9e1dc; cursor: zoom-in; }
.avetti-gallery-button--featured { grid-column: span 2; grid-row: span 2; min-height: 452px; }
.avetti-gallery-button img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease, filter .35s ease; }
.avetti-gallery-button:hover img, .avetti-gallery-button:focus-visible img { transform: scale(1.035); filter: brightness(.88); }
.avetti-gallery-button:focus-visible { outline: 4px solid rgba(54,95,75,.25); outline-offset: 3px; }
.avetti-project-story { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; padding: 92px 0; margin-top: 92px; border-top: 1px solid var(--av-line); border-bottom: 1px solid var(--av-line); }
.avetti-project-story h2 { margin: 0; font: 600 44px/1.08 Georgia, serif; }
.avetti-project-story > p { margin: 0; color: var(--av-muted); font-size: 20px; line-height: 1.75; }
.avetti-project-specs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 34px; margin: 0; border-top: 1px solid var(--av-line); }
.avetti-project-specs > div { display: grid; grid-template-columns: .8fr 1.2fr; gap: 18px; padding: 17px 0; border-bottom: 1px solid var(--av-line); }
.avetti-project-specs dt { color: var(--av-muted); }
.avetti-project-specs dd { margin: 0; font-weight: 700; }
.avetti-project-solutions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.avetti-project-solutions article { min-height: 230px; padding: 26px; border-radius: 18px; background: var(--av-soft); }
.avetti-project-solutions span { color: var(--av-warm); font-weight: 800; }
.avetti-project-solutions h3 { margin: 42px 0 9px; font-size: 23px; }
.avetti-project-solutions p { margin: 0; color: var(--av-muted); }
.avetti-project-cta { display: flex; align-items: end; justify-content: space-between; gap: 45px; margin-top: 92px; padding: 44px; border-radius: 25px; background: var(--av-dark); color: #fff; }
.avetti-project-cta h2 { max-width: 780px; margin: 0; color: #fff; font: 600 clamp(32px, 4vw, 50px)/1.08 Georgia, serif; }
.avetti-project-cta-actions { display: flex; flex-direction: column; gap: 11px; flex: 0 0 auto; }
.avetti-button--ghost-light { border: 1px solid rgba(255,255,255,.5); background: transparent; color: #fff !important; }

.avetti-lightbox[hidden] { display: none !important; }
.avetti-lightbox { position: fixed; inset: 0; z-index: 10000; display: grid; grid-template-columns: 70px minmax(0, 1fr) 70px; align-items: center; gap: 14px; padding: 45px 25px 24px; background: rgba(8,12,10,.94); }
.avetti-lightbox figure { display: grid; grid-template-rows: minmax(0, 1fr) auto; max-width: 1400px; max-height: calc(100vh - 75px); margin: 0 auto; }
.avetti-lightbox figure img { max-width: 100%; max-height: calc(100vh - 120px); margin: auto; object-fit: contain; }
.avetti-lightbox figcaption { padding: 13px 0 0; color: rgba(255,255,255,.72); text-align: center; }
.avetti-lightbox button { width: 52px; height: 52px; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; font-size: 36px; cursor: pointer; }
.avetti-lightbox-close { position: absolute; right: 22px; top: 18px; }
.avetti-lightbox-prev, .avetti-lightbox-next { justify-self: center; }

@media (max-width: 1024px) {
    .avetti-home-projects, .avetti-portfolio-grid { grid-template-columns: 1fr; }
    .avetti-project-hero { grid-template-columns: 1fr; }
    .avetti-project-hero-media, .avetti-project-hero-media img { min-height: 500px; }
    .avetti-project-specs { grid-template-columns: 1fr; }
    .avetti-project-cta { align-items: flex-start; flex-direction: column; }
    .avetti-project-cta-actions { flex-direction: row; }
}
@media (max-width: 760px) {
    .avetti-hero-visual--photo > img { min-height: 420px; }
    .avetti-section-heading--with-action { align-items: flex-start; flex-direction: column; }
    .avetti-portfolio-page, .avetti-project-page { padding: 34px 0 70px; }
    .avetti-portfolio-intro { grid-template-columns: 1fr; gap: 18px; margin-bottom: 34px; }
    .avetti-portfolio-intro > p { font-size: 17px; }
    .avetti-portfolio-note { align-items: flex-start; flex-direction: column; }
    .avetti-project-hero { gap: 28px; }
    .avetti-project-hero-media, .avetti-project-hero-media img { min-height: 390px; border-radius: 20px; }
    .avetti-project-section { padding-top: 64px; }
    .avetti-comparison-grid { grid-template-columns: 1fr; }
    .avetti-project-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .avetti-gallery-button, .avetti-gallery-button--featured { grid-column: span 1; grid-row: span 1; min-height: 180px; }
    .avetti-gallery-button--featured { grid-column: 1 / -1; min-height: 320px; }
    .avetti-project-story { grid-template-columns: 1fr; gap: 24px; margin-top: 64px; padding: 64px 0; }
    .avetti-project-story h2 { font-size: 36px; }
    .avetti-project-story > p { font-size: 17px; }
    .avetti-project-solutions { grid-template-columns: 1fr; }
    .avetti-project-solutions article { min-height: 0; }
    .avetti-project-specs > div { grid-template-columns: 1fr; gap: 5px; }
    .avetti-project-cta { margin-top: 64px; padding: 28px 22px; }
    .avetti-project-cta-actions { width: 100%; flex-direction: column; }
    .avetti-project-cta-actions .avetti-button { width: 100%; box-sizing: border-box; text-align: center; }
    .avetti-lightbox { grid-template-columns: 44px minmax(0, 1fr) 44px; gap: 4px; padding: 52px 8px 16px; }
    .avetti-lightbox button { width: 42px; height: 42px; font-size: 29px; }
    .avetti-lightbox-close { right: 9px; top: 7px; }
}
@media (max-width: 420px) {
    .avetti-project-gallery { grid-template-columns: 1fr; }
    .avetti-gallery-button, .avetti-gallery-button--featured { grid-column: auto; min-height: 240px; }
    .avetti-comparison-card figcaption { flex-direction: column; gap: 4px; }
    .avetti-comparison-card figcaption span { text-align: left; }
}


/* AVETTI v0.5: persistent configuration and scalable portfolio */
.avetti-hero-region { margin: 1rem 0 0; color: #4b5563; font-size: .95rem; }
.avetti-hero-region strong { color: #111827; }
.avetti-portfolio-filters { display: flex; flex-wrap: wrap; gap: .65rem; margin: 0 0 2rem; }
.avetti-portfolio-filters button { min-height: 44px; border: 1px solid rgba(17,24,39,.16); border-radius: 999px; padding: .65rem 1rem; background: #fff; color: #111827; cursor: pointer; font: inherit; }
.avetti-portfolio-filters button:hover, .avetti-portfolio-filters button:focus-visible, .avetti-portfolio-filters button.is-active { border-color: #111827; background: #111827; color: #fff; }
.avetti-portfolio-filters button[hidden] { display: none; }
.avetti-portfolio-card.is-filtered-out, .avetti-portfolio-card.is-page-hidden { display: none; }
.avetti-portfolio-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin: 2rem 0 0; }
.avetti-portfolio-pagination button { min-width: 44px; min-height: 44px; border: 1px solid rgba(17,24,39,.16); border-radius: 10px; background: #fff; cursor: pointer; font: inherit; }
.avetti-portfolio-pagination button.is-active { background: #111827; color: #fff; border-color: #111827; }
.avetti-portfolio-pagination:empty { display: none; }
.avetti-portfolio-empty { padding: 2rem; border: 1px dashed rgba(17,24,39,.22); border-radius: 18px; text-align: center; }
.avetti-comparison-media img.is-missing { display: none; }
@media (max-width: 760px) {
    .avetti-hero-region { display: block; }
    .avetti-portfolio-filters { gap: .45rem; overflow-x: auto; flex-wrap: nowrap; padding-bottom: .35rem; }
    .avetti-portfolio-filters button { flex: 0 0 auto; }
}

/* Avetti v0.5.2: embedded Webasyst CRM form */
.avetti-crm-form { overflow: hidden; }
.avetti-crm-form > * { max-width: 100%; box-sizing: border-box; }
.avetti-crm-form form,
.avetti-crm-form .wa-form,
.avetti-crm-form .crm-form { float: none !important; width: 100% !important; max-width: none !important; margin: 0 !important; box-sizing: border-box; }
.avetti-crm-form .wa-field { clear: both; margin: 0 0 14px; padding: 0; }
.avetti-crm-form .wa-field .wa-name { float: none; width: auto; padding: 0 0 7px; color: #454c47; font-size: 13px; font-weight: 700; }
.avetti-crm-form .wa-field .wa-value { margin: 0; }
.avetti-crm-form input[type="text"],
.avetti-crm-form input[type="email"],
.avetti-crm-form input[type="tel"],
.avetti-crm-form input[type="number"],
.avetti-crm-form input[type="file"],
.avetti-crm-form select,
.avetti-crm-form textarea { width: 100% !important; min-width: 0 !important; max-width: 100%; min-height: 48px; margin: 0; padding: 12px 14px; border: 1px solid #cfd5d0; border-radius: 12px; background: #fff; color: var(--av-ink); font: inherit; font-size: 16px; box-sizing: border-box; }
.avetti-crm-form textarea { min-height: 112px; resize: vertical; }
.avetti-crm-form input:focus,
.avetti-crm-form select:focus,
.avetti-crm-form textarea:focus { outline: 3px solid rgba(54,95,75,.16); border-color: var(--av-accent); }
.avetti-crm-form input[type="radio"],
.avetti-crm-form input[type="checkbox"] { width: auto !important; min-height: 0; margin-right: 6px; accent-color: var(--av-accent); }
.avetti-crm-form label { line-height: 1.45; }
.avetti-crm-form .wa-value label { display: inline-flex; align-items: flex-start; margin: 0 14px 7px 0; }
.avetti-crm-form input[type="submit"],
.avetti-crm-form button[type="submit"] { min-height: 48px; padding: 12px 22px; border: 0; border-radius: 999px; background: var(--av-accent); color: #fff; font: inherit; font-weight: 800; cursor: pointer; box-shadow: none; }
.avetti-crm-form input[type="submit"]:hover,
.avetti-crm-form button[type="submit"]:hover { filter: brightness(.94); }
.avetti-crm-form .wa-error-msg,
.avetti-crm-form .errormsg,
.avetti-crm-form .error { color: #a32727; font-size: 13px; }
.avetti-crm-form .wa-success,
.avetti-crm-form .success { padding: 14px 16px; border-radius: 12px; background: #edf6f0; color: #24543d; }
.avetti-crm-form .c-agreement-checkbox-link { color: var(--av-accent); text-decoration: underline; text-underline-offset: 2px; }

/* Filled by default.js and stored as a CRM deal field, never shown to visitors. */
.crm-form-field[data-id="utm_data"],
.crm-form-field[data-uid="utm_data"],
.wa-field[data-id="utm_data"] { display: none !important; }

@media (max-width: 640px) {
    .avetti-crm-form { padding: 20px; }
    .avetti-crm-form .wa-value label { display: flex; margin-right: 0; }
}

/* AVETTI v0.5.4: project state and narrow-screen CRM form fixes */
.avetti-comparison-grid--single { grid-template-columns: minmax(0, 1fr); max-width: 880px; }
.avetti-contact-section,
.avetti-contact-section > *,
.avetti-lead-form,
.avetti-crm-form { min-width: 0; max-width: 100%; box-sizing: border-box; }
.avetti-crm-form { width: 100%; overflow-x: hidden; }
.avetti-crm-form form,
.avetti-crm-form .wa-form,
.avetti-crm-form .crm-form,
.avetti-crm-form .crm-form-wrapper,
.avetti-crm-form .c-form,
.avetti-crm-form .c-form-wrapper { min-width: 0 !important; width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; }
.avetti-crm-form .wa-field,
.avetti-crm-form .wa-field .wa-value,
.avetti-crm-form .field,
.avetti-crm-form .value { min-width: 0 !important; max-width: 100% !important; box-sizing: border-box !important; }
.avetti-crm-form table { width: 100% !important; max-width: 100% !important; table-layout: fixed; }
.avetti-crm-form img { max-width: 100%; height: auto; }
.avetti-crm-form input[type="file"] { overflow: hidden; }

@media (max-width: 640px) {
    .avetti-contact-section { display: block; width: 100%; }
    .avetti-contact-copy { margin-bottom: 30px; }
    .avetti-lead-form.avetti-crm-form { width: 100%; max-width: 100%; padding: 18px 14px; overflow-x: hidden; }
    .avetti-crm-form .wa-field,
    .avetti-crm-form .wa-field .wa-name,
    .avetti-crm-form .wa-field .wa-value { float: none !important; clear: both !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; margin-left: 0 !important; margin-right: 0 !important; box-sizing: border-box !important; }
    .avetti-crm-form input[type="text"],
    .avetti-crm-form input[type="email"],
    .avetti-crm-form input[type="tel"],
    .avetti-crm-form input[type="number"],
    .avetti-crm-form input[type="file"],
    .avetti-crm-form select,
    .avetti-crm-form textarea,
    .avetti-crm-form input[type="submit"],
    .avetti-crm-form button[type="submit"] { display: block; width: 100% !important; max-width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; }
    .avetti-crm-form input[type="radio"],
    .avetti-crm-form input[type="checkbox"] { display: inline-block; width: auto !important; }
}

/* AVETTI v0.5.5: responsive CRM form and readable footer */

/* The CRM app injects its own form.css after the theme stylesheet.
   These high-specificity rules intentionally override the app's fixed
   table layout when the Avetti contact section becomes too narrow. */
.avetti-crm-form .crm-form-block,
.avetti-crm-form .crm-form-fields-block,
.avetti-crm-form .crm-form-fields,
.avetti-crm-form .crm-form-fields form {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.avetti-crm-form .crm-form-field > .value,
.avetti-crm-form .crm-form-field > .name {
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.avetti-crm-form .crm-form-field input[type="text"],
.avetti-crm-form .crm-form-field input[type="email"],
.avetti-crm-form .crm-form-field input[type="tel"],
.avetti-crm-form .crm-form-field input[type="password"],
.avetti-crm-form .crm-form-field input[type="number"],
.avetti-crm-form .crm-form-field input[type="file"],
.avetti-crm-form .crm-form-field select,
.avetti-crm-form .crm-form-field textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

/* At notebook and tablet widths the contact copy and the long CRM form
   are stacked. This prevents the form from becoming a narrow overflowing
   right-hand column while the rest of the page is already adapting. */
@media screen and (max-width: 1120px) {
    .avetti-contact-section {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 34px !important;
    }

    .avetti-contact-copy {
        max-width: 760px;
    }

    .avetti-lead-form.avetti-crm-form {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* Force labels above controls on narrow screens. CRM's own stylesheet
   uses table cells above 760px and a container query that is not reliable
   in every browser/theme combination, so the theme handles it explicitly. */
@media screen and (max-width: 820px) {
    .avetti-crm-form .crm-form-block .crm-form-fields-block .crm-form-fields .crm-form-field:not(.crm-caption-style-none) {
        display: block !important;
        width: 100% !important;
        table-layout: auto !important;
    }

    .avetti-crm-form .crm-form-block .crm-form-fields-block .crm-form-fields .crm-form-field:not(.crm-caption-style-none) > .name,
    .avetti-crm-form .crm-form-block .crm-form-fields-block .crm-form-fields .crm-form-field:not(.crm-caption-style-none) > .value {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    .avetti-crm-form .crm-form-block .crm-form-fields-block .crm-form-fields .crm-form-field:not(.crm-caption-style-none) > .name {
        margin-bottom: 8px !important;
    }

    .avetti-crm-form .crm-composite-field.fields:not(.vertical) .field,
    .avetti-crm-form .crm-composite-field.fields:not(.vertical) .field > * {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }
}

@media screen and (max-width: 620px) {
    .avetti-lead-form.avetti-crm-form {
        padding: 18px 14px !important;
        border-radius: 18px;
    }

    .avetti-crm-form .crm-form-submit-button,
    .avetti-crm-form input[type="submit"],
    .avetti-crm-form button[type="submit"] {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
}

/* Footer contrast: secondary text stays visually subordinate but remains
   comfortably readable on the dark background. */
.avetti-footer-inner {
    color: #f8f6f1;
}

.avetti-footer-inner a,
.avetti-footer-inner a:visited {
    color: #ffffff !important;
    opacity: 1;
}

.avetti-footer-inner a:hover,
.avetti-footer-inner a:focus-visible {
    color: #e5c49a !important;
}

.avetti-footer-inner p,
.avetti-footer-inner span,
.avetti-brand--footer .avetti-brand-copy small {
    color: rgba(255, 255, 255, .82);
}

.avetti-footer-inner h2 {
    color: rgba(255, 255, 255, .78);
    font-size: 13px;
}

.avetti-footer-bottom {
    color: rgba(255, 255, 255, .76);
    font-size: 13px;
    border-top-color: rgba(255, 255, 255, .22);
}


/* AVETTI v0.5.6: definitive CRM containment and pale-green footer */
.avetti-contact-section {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}
.avetti-contact-copy {
    max-width: 760px;
}
.avetti-lead-form.avetti-crm-form {
    width: 100% !important;
    max-width: 920px !important;
    min-width: 0 !important;
    margin: 36px auto 0 !important;
    box-sizing: border-box !important;
}

.avetti-footer-inner,
.avetti-footer-inner p,
.avetti-footer-inner span,
.avetti-footer-inner h2,
.avetti-footer-inner a,
.avetti-footer-inner a:visited,
.avetti-brand--footer .avetti-brand-copy strong,
.avetti-brand--footer .avetti-brand-copy small {
    color: #b9d4c1 !important;
    opacity: 1 !important;
}
.avetti-footer-inner a:hover,
.avetti-footer-inner a:focus-visible {
    color: #d8eadc !important;
}
.avetti-footer-bottom {
    color: #b9d4c1 !important;
    border-top-color: rgba(185, 212, 193, .34) !important;
}


/* AVETTI v0.5.7: service navigation and earlier compact header */
@media (max-width: 1180px) and (min-width: 881px) {
    .globalheader { position: sticky; }
    .avetti-header-shell { min-height: 70px; gap: 12px; }
    .avetti-menu-toggle { display: block; margin-left: auto; order: 2; }
    .avetti-header-actions { order: 3; }
    .avetti-header-actions .avetti-button { display: none; }
    .avetti-primary-nav {
        position: absolute;
        left: 18px;
        right: 18px;
        top: calc(100% + 1px);
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 12px;
        border-radius: 0 0 18px 18px;
        background: #fff;
        box-shadow: var(--av-shadow);
    }
    .avetti-primary-nav.is-open { display: flex; }
    .avetti-primary-nav a { padding: 13px 10px; border-bottom: 1px solid var(--av-line); }
    .avetti-primary-nav a:last-child { border-bottom: 0; }
}

/* AVETTI v0.5.8: keep composite date fields inside CRM forms */
.avetti-crm-form .crm-form-field .crm-composite-field.fields:not(.vertical) {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)) !important;
    align-items: start !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.avetti-crm-form .crm-form-field .crm-composite-field.fields:not(.vertical) > .field {
    display: block !important;
    float: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.avetti-crm-form .crm-form-field .crm-composite-field.fields:not(.vertical) > .field > *,
.avetti-crm-form .crm-form-field .crm-composite-field.fields:not(.vertical) select,
.avetti-crm-form .crm-form-field .crm-composite-field.fields:not(.vertical) input {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

@media screen and (max-width: 620px) {
    .avetti-crm-form .crm-form-field .crm-composite-field.fields:not(.vertical) {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* AVETTI v0.5.9: exact fix for Webasyst three-part date controls.
   waContactBirthdayField renders day, month and year as three direct sibling
   controls without a composite wrapper. Earlier rules targeted a wrapper
   that is not present in the public CRM form. */
.avetti-crm-form .crm-form-field select[name*="[day]"],
.avetti-crm-form .crm-form-field select[name*="[month]"],
.avetti-crm-form .crm-form-field input[name*="[year]"],
.avetti-crm-form .crm-form-field select[name*="[year]"] {
    display: inline-block !important;
    float: none !important;
    vertical-align: top !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
}

.avetti-crm-form .crm-form-field select[name*="[day]"] {
    width: 18% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.avetti-crm-form .crm-form-field select[name*="[month]"] {
    width: 45% !important;
    margin-left: 2% !important;
    margin-right: 0 !important;
}

.avetti-crm-form .crm-form-field input[name*="[year]"],
.avetti-crm-form .crm-form-field select[name*="[year]"] {
    width: 27% !important;
    margin-left: 2% !important;
    margin-right: 0 !important;
}

/* On very narrow phones keep day and month together and move year below. */
@media screen and (max-width: 480px) {
    .avetti-crm-form .crm-form-field select[name*="[day]"] {
        width: 28% !important;
    }

    .avetti-crm-form .crm-form-field select[name*="[month]"] {
        width: 70% !important;
        margin-left: 2% !important;
    }

    .avetti-crm-form .crm-form-field input[name*="[year]"],
    .avetti-crm-form .crm-form-field select[name*="[year]"] {
        display: block !important;
        width: 100% !important;
        margin: 10px 0 0 !important;
    }
}


/* AVETTI v0.6.0: Contacts page */
.avetti-contact-intro {
    max-width: 860px;
    margin-bottom: 32px;
    color: var(--av-muted);
    font-size: 20px;
}
.avetti-contact-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.avetti-contact-card {
    min-width: 0;
    padding: 26px;
    border: 1px solid var(--av-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(36, 55, 45, .06);
}
.avetti-contact-card > span {
    display: block;
    margin-bottom: 10px;
    color: var(--av-warm);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.avetti-contact-card strong,
.avetti-contact-card a {
    display: block;
    overflow-wrap: anywhere;
    color: var(--av-ink) !important;
    text-decoration: none;
    font-size: clamp(19px, 2.2vw, 25px);
    line-height: 1.25;
}
.avetti-contact-card p {
    margin: 10px 0 0;
    color: var(--av-muted);
}
.avetti-contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 26px;
}
.avetti-contact-map {
    overflow: hidden;
    border: 1px solid var(--av-line);
    border-radius: 24px;
    background: #eef2ed;
    box-shadow: var(--av-shadow);
}
.avetti-contact-map iframe {
    display: block;
    width: 100%;
    height: 460px;
    border: 0;
}
.avetti-contact-visit-note {
    margin-top: 18px;
    padding: 18px 20px;
    border-radius: 16px;
    background: #edf4ef;
    color: #315440;
    font-weight: 700;
}
.avetti-contact-form-wrap {
    max-width: 920px;
    margin: 0 auto;
}
@media screen and (max-width: 720px) {
    .avetti-contact-cards { grid-template-columns: minmax(0, 1fr); }
    .avetti-contact-card { padding: 21px; }
    .avetti-contact-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
    .avetti-contact-actions .avetti-button { width: 100%; box-sizing: border-box; text-align: center; }
    .avetti-contact-map iframe { height: 360px; }
}

/* AVETTI v0.7.0: final home page */
.avetti-home-trust {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    margin-top: 22px;
    overflow: hidden;
    border: 1px solid var(--av-line);
    border-radius: 22px;
    background: var(--av-line);
}
.avetti-home-trust > div {
    min-width: 0;
    padding: 23px 22px;
    background: #fff;
}
.avetti-home-trust span,
.avetti-home-contact-grid span,
.avetti-home-scope-card > span,
.avetti-home-service-strip span {
    display: block;
    margin-bottom: 9px;
    color: var(--av-warm);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.avetti-home-trust strong {
    display: block;
    color: var(--av-ink);
    font-size: clamp(18px, 2vw, 25px);
    line-height: 1.18;
}
.avetti-home-trust p {
    margin: 9px 0 0;
    color: var(--av-muted);
    font-size: 13px;
    line-height: 1.5;
}

.avetti-price-card > a {
    display: inline-block;
    margin-top: 12px;
    color: var(--av-accent) !important;
    text-decoration: none;
    font-weight: 700;
}

.avetti-home-scope-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}
.avetti-home-scope-card {
    min-width: 0;
    padding: 32px;
    border: 1px solid var(--av-line);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 16px 44px rgba(36, 55, 45, .05);
}
.avetti-home-scope-card--included {
    background: #eaf1ec;
    border-color: #cddfd3;
}
.avetti-home-scope-card h3 {
    margin: 0 0 20px;
    font: 600 clamp(27px, 3vw, 38px)/1.05 Georgia, serif;
}
.avetti-home-scope-card ul {
    margin: 0;
    padding-left: 21px;
}
.avetti-home-scope-card li {
    margin: 9px 0;
    color: var(--av-muted);
}
.avetti-home-scope-note {
    max-width: 900px;
    margin: 20px 0 0;
    color: var(--av-muted);
}
.avetti-process-action {
    margin: 26px 0 0;
}

.avetti-home-contact-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.avetti-home-contact-grid > div {
    min-width: 0;
    padding: 25px;
    border: 1px solid var(--av-line);
    border-radius: 19px;
    background: #fff;
}
.avetti-home-contact-grid strong,
.avetti-home-contact-grid strong a {
    display: block;
    overflow-wrap: anywhere;
    color: var(--av-ink) !important;
    text-decoration: none;
    font-size: clamp(18px, 2.2vw, 25px);
    line-height: 1.3;
}
.avetti-home-contact-grid p {
    margin: 9px 0 0;
    color: var(--av-muted);
}

.avetti-form-legal-note {
    margin: 22px 0 0;
    padding-top: 18px;
    border-top: 1px solid var(--av-line);
    color: var(--av-muted);
    font-size: 12px;
    line-height: 1.6;
}
.avetti-form-legal-note a,
.avetti-form-legal-note a:visited {
    color: var(--av-accent) !important;
}

.avetti-home-service-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    margin-top: 70px;
    padding: 28px 30px;
    border: 1px solid var(--av-line);
    border-radius: 22px;
    background: #fff;
}
.avetti-home-service-strip > div {
    min-width: 0;
}
.avetti-home-service-strip strong {
    display: block;
    max-width: 760px;
    font-size: clamp(18px, 2.2vw, 26px);
    line-height: 1.3;
}
.avetti-home-service-strip .avetti-button {
    flex: 0 0 auto;
}

@media screen and (max-width: 980px) {
    .avetti-home-trust {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 720px) {
    .avetti-home-scope-grid,
    .avetti-home-contact-grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .avetti-home-scope-card {
        padding: 24px;
    }
    .avetti-home-service-strip {
        align-items: stretch;
        flex-direction: column;
        margin-top: 54px;
        padding: 24px;
    }
    .avetti-home-service-strip .avetti-button {
        width: 100%;
    }
}

@media screen and (max-width: 520px) {
    .avetti-home-trust {
        grid-template-columns: minmax(0, 1fr);
    }
    .avetti-home-trust > div {
        padding: 20px;
    }
}
.avetti-home-scope-summary {
    margin: -8px 0 20px;
    color: var(--av-ink);
    font-weight: 700;
}


/* AVETTI v0.7.4: portfolio project lead modal and success state */
.avetti-style-open-button {
    appearance: none;
    font-family: inherit;
}
.avetti-style-request-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 42px;
    margin: 72px 0 0;
    padding: 34px 38px;
    border: 1px solid rgba(54,95,75,.18);
    border-radius: 24px;
    background:
        radial-gradient(circle at 90% 10%, rgba(199,157,90,.18), transparent 35%),
        var(--av-soft);
}
.avetti-style-request-copy { max-width: 780px; }
.avetti-style-request-copy h2 {
    margin: 0 0 10px;
    font: 600 clamp(30px, 4vw, 46px)/1.08 Georgia, serif;
}
.avetti-style-request-copy > p:last-child {
    max-width: 720px;
    margin: 0;
    color: var(--av-muted);
    font-size: 18px;
    line-height: 1.65;
}
body.avetti-style-modal-open { overflow: hidden; }
.avetti-style-modal[hidden] { display: none !important; }
.avetti-style-modal {
    position: fixed;
    inset: 0;
    z-index: 12000;
    display: grid;
    place-items: center;
    overflow-y: auto;
    padding: 24px;
    background: rgba(10,15,12,.78);
    backdrop-filter: blur(5px);
}
.avetti-style-modal-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(250px, .72fr) minmax(420px, 1.28fr);
    width: min(1050px, 100%);
    max-height: calc(100vh - 48px);
    overflow: auto;
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 35px 100px rgba(0,0,0,.32);
}
.avetti-style-modal-close {
    position: absolute;
    z-index: 2;
    top: 14px;
    right: 14px;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(17,24,39,.13);
    border-radius: 50%;
    background: rgba(255,255,255,.94);
    color: var(--av-ink);
    font: 300 32px/1 Arial, sans-serif;
    cursor: pointer;
}
.avetti-style-modal-close:hover,
.avetti-style-modal-close:focus-visible {
    background: var(--av-dark);
    color: #fff;
    outline: none;
}
.avetti-style-modal-project {
    display: flex;
    flex-direction: column;
    gap: 22px;
    padding: 30px;
    background: var(--av-soft);
}
.avetti-style-modal-image {
    aspect-ratio: 4/3;
    overflow: hidden;
    border-radius: 18px;
    background: #dfe5e1;
}
.avetti-style-modal-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.avetti-style-modal-project strong {
    display: block;
    margin: 0 0 10px;
    font: 600 25px/1.15 Georgia, serif;
}
.avetti-style-modal-project p:last-child {
    margin: 0;
    color: var(--av-muted);
    line-height: 1.6;
}
.avetti-style-modal-content {
    min-width: 0;
    padding: 44px 46px 38px;
}
.avetti-style-modal-content h2 {
    margin: 0 48px 12px 0;
    font: 600 clamp(32px, 4vw, 48px)/1.05 Georgia, serif;
}
.avetti-style-modal-intro {
    max-width: 700px;
    margin: 0 0 24px;
    color: var(--av-muted);
    font-size: 17px;
    line-height: 1.6;
}
.avetti-style-crm-form {
    width: 100%;
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}
.avetti-style-crm-form .crm-form-block,
.avetti-style-crm-form .crm-form-fields-block,
.avetti-style-crm-form .crm-form-fields,
.avetti-style-crm-form .crm-form-fields form {
    width: 100% !important;
    max-width: 100% !important;
}
.avetti-style-crm-form input[type="submit"],
.avetti-style-crm-form button[type="submit"],
.avetti-style-crm-form .crm-form-submit-button {
    width: 100% !important;
    min-height: 52px !important;
}
.avetti-style-legal-note {
    margin: 18px 0 0;
    color: #68726c;
    font-size: 12px;
    line-height: 1.55;
}
.avetti-style-legal-note a {
    color: var(--av-accent);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.avetti-style-mobile-sticky {
    display: none;
}
.avetti-style-success[hidden] { display: none !important; }
.avetti-style-success {
    display: flex;
    min-height: 360px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    outline: none;
}
.avetti-style-success-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin-bottom: 24px;
    border-radius: 50%;
    background: #edf6f0;
    color: var(--av-accent);
    font-size: 32px;
    font-weight: 800;
    line-height: 1;
}
.avetti-style-success h2 {
    max-width: 660px;
    margin: 12px 0 18px;
    font: 600 clamp(34px, 4.3vw, 58px)/.98 Georgia, serif;
    letter-spacing: -.035em;
}
.avetti-style-success-text {
    max-width: 670px;
    margin: 0 0 30px;
    color: var(--av-muted);
    font-size: 18px;
    line-height: 1.6;
}
.avetti-style-success-close { min-width: 210px; }
.avetti-style-modal.is-success .avetti-style-modal-content { align-self: stretch; }

@media (max-width: 900px) {
    .avetti-style-modal-card {
        grid-template-columns: 1fr;
        max-width: 680px;
    }
    .avetti-style-modal-project {
        display: grid;
        grid-template-columns: 180px minmax(0,1fr);
        align-items: center;
        padding: 22px;
    }
    .avetti-style-modal-image { aspect-ratio: 1/1; }
}
@media (max-width: 760px) {
    .avetti-style-request-panel {
        align-items: flex-start;
        flex-direction: column;
        gap: 22px;
        margin-top: 50px;
        padding: 26px 22px;
    }
    .avetti-style-request-panel .avetti-button { width: 100%; }
    .avetti-style-modal {
        align-items: end;
        padding: 0;
        background: rgba(10,15,12,.72);
    }
    .avetti-style-modal-card {
        width: 100%;
        max-height: 94vh;
        border-radius: 24px 24px 0 0;
    }
    .avetti-style-modal-project {
        grid-template-columns: 96px minmax(0,1fr);
        gap: 15px;
        padding: 18px 58px 18px 18px;
    }
    .avetti-style-modal-project strong {
        margin-bottom: 5px;
        font-size: 19px;
    }
    .avetti-style-modal-project p:last-child { display: none; }
    .avetti-style-modal-content { padding: 26px 18px calc(24px + env(safe-area-inset-bottom)); }
    .avetti-style-modal-content h2 {
        margin-right: 38px;
        font-size: 32px;
    }
    .avetti-style-modal-intro { font-size: 15px; }
    .avetti-style-success { min-height: 300px; align-items: stretch; }
    .avetti-style-success-icon { width: 56px; height: 56px; margin-bottom: 20px; font-size: 28px; }
    .avetti-style-success h2 { margin-right: 34px; font-size: 34px; }
    .avetti-style-success-text { font-size: 16px; }
    .avetti-style-success-close { width: 100%; }
    .avetti-style-modal-close {
        top: 12px;
        right: 12px;
        width: 40px;
        height: 40px;
    }
    .avetti-style-mobile-sticky {
        position: fixed;
        z-index: 9000;
        left: 12px;
        right: 12px;
        bottom: calc(12px + env(safe-area-inset-bottom));
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 52px;
        padding: 12px 18px;
        border: 0;
        border-radius: 999px;
        background: var(--av-accent);
        color: #fff;
        font: inherit;
        font-size: 15px;
        font-weight: 800;
        box-shadow: 0 14px 35px rgba(18,49,34,.3);
        cursor: pointer;
        opacity: 0;
        visibility: hidden;
        transform: translateY(18px);
        transition: opacity .22s, transform .22s, visibility .22s;
    }
    .avetti-style-mobile-sticky.is-visible {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
    body.avetti-style-modal-open .avetti-style-mobile-sticky {
        opacity: 0;
        visibility: hidden;
    }
}
@media (max-width: 420px) {
    .avetti-style-modal-project { grid-template-columns: 78px minmax(0,1fr); }
    .avetti-style-modal-content h2 { font-size: 29px; }
}

/* Visible keyboard focus for all interactive Avetti controls. The two-colour
   ring remains distinct on both light cards and dark sections. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid #ffbf47 !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 2px var(--av-ink);
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

/* AVETTI v0.7.15: compact CRM success state and final phone containment. */
.avetti-crm-form .crm-form-block {
    min-height: 0 !important;
}
.avetti-crm-form .crm-after-submit-block {
    height: auto !important;
    min-height: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}
.avetti-crm-form.is-submitted .avetti-form-legal-note,
.avetti-crm-form.is-submitted + .avetti-form-legal-note,
.avetti-style-crm-form.is-submitted + .avetti-style-legal-note {
    display: none !important;
}

@media screen and (max-width: 640px) {
    .maincontent,
    .maincontent > .container,
    .avetti-home,
    .avetti-section,
    .avetti-contact-section,
    .avetti-contact-section > *,
    .avetti-style-modal-card,
    .avetti-style-modal-content,
    .avetti-style-modal-content > *,
    .avetti-crm-form,
    .avetti-crm-form .crm-form-block,
    .avetti-crm-form .crm-form-fields-block,
    .avetti-crm-form .crm-form-fields,
    .avetti-crm-form form {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .avetti-crm-form,
    .avetti-crm-form .crm-form-block,
    .avetti-crm-form .crm-form-fields-block,
    .avetti-crm-form .crm-form-fields {
        overflow-x: hidden !important;
        overflow-x: clip !important;
    }

    .avetti-crm-form .crm-form-field,
    .avetti-crm-form .crm-form-field > .name,
    .avetti-crm-form .crm-form-field > .value,
    .avetti-crm-form .crm-composite-field,
    .avetti-crm-form .crm-composite-field > .field,
    .avetti-crm-form .crm-composite-field > .field > .name,
    .avetti-crm-form .crm-composite-field > .field > .value,
    .avetti-crm-form .crm-attachments-wrapper,
    .avetti-crm-form .crm-attachments,
    .avetti-crm-form .crm-attachment,
    .avetti-crm-form .c-captcha-wrapper,
    .avetti-crm-form .wa-captcha {
        float: none !important;
        clear: both !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    .avetti-crm-form .crm-form-field > .name,
    .avetti-crm-form .crm-form-field > .value,
    .avetti-crm-form .crm-composite-field > .field > .name,
    .avetti-crm-form .crm-composite-field > .field > .value {
        display: block !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .avetti-crm-form .crm-composite-field.fields,
    .avetti-crm-form .crm-composite-field.fields.horizontal,
    .avetti-crm-form .crm-composite-field.fields:not(.vertical) {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .avetti-crm-form input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
    .avetti-crm-form select,
    .avetti-crm-form textarea,
    .avetti-crm-form button[type="submit"] {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        font-size: 16px !important;
    }

    .avetti-crm-form input[type="file"] {
        padding: 8px 0 !important;
        font-size: 14px !important;
    }
    .avetti-crm-form input[type="file"]::file-selector-button {
        max-width: 100%;
        margin-right: 8px;
    }
    .avetti-crm-form .c-remove-attachment {
        display: inline-block;
        margin-top: 6px;
        overflow-wrap: anywhere;
    }

    .avetti-crm-form .wa-captcha p,
    .avetti-crm-form .crm-input-radio,
    .avetti-crm-form .crm-input-checkbox,
    .avetti-crm-form .c-agreement-checkbox-wrapper {
        display: flex !important;
        flex-wrap: wrap !important;
        max-width: 100% !important;
        min-width: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        box-sizing: border-box !important;
    }
    .avetti-crm-form .wa-captcha img,
    .avetti-crm-form .wa-captcha input {
        max-width: 100% !important;
    }
}

/* AVETTI v0.7.16: keep CRM attribution and anti-bot controls functional but invisible. */
.avetti-crm-form .avetti-crm-tracking-field,
.avetti-crm-form .avetti-crm-honeypot-field,
.avetti-crm-form .crm-form-field[data-id="utm_data"],
.avetti-crm-form .crm-form-field[data-uid="utm_data"] {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.avetti-crm-form .crm-form-field[data-id="!button"] > .name,
.avetti-crm-form .crm-form-field[data-uid="!button"] > .name,
.avetti-crm-form .crm-error-msg-block:empty,
.avetti-crm-form .crm-error-common:empty {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* AVETTI v0.7.18: readable CTA, full-width project showcase and two-stage fades. */
.avetti-section--dark .avetti-button.avetti-button--light,
.avetti-section--dark .avetti-button.avetti-button--light:link,
.avetti-section--dark .avetti-button.avetti-button--light:visited,
.avetti-section--dark .avetti-button.avetti-button--light:hover,
.avetti-section--dark .avetti-button.avetti-button--light:active {
    color: #13251d !important;
}

.avetti-home-projects.is-single-project,
.avetti-home-projects.is-slider-ready {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    max-width: none;
}

.avetti-home-projects.is-single-project .avetti-home-project-card,
.avetti-home-projects.is-slider-ready .avetti-home-project-card {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(300px, .75fr);
    width: 100%;
    min-height: 440px;
}

.avetti-home-projects.is-single-project .avetti-home-project-media,
.avetti-home-projects.is-slider-ready .avetti-home-project-media {
    height: 100%;
    min-height: 440px;
    aspect-ratio: auto;
}

.avetti-home-projects.is-single-project .avetti-home-project-copy,
.avetti-home-projects.is-slider-ready .avetti-home-project-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 34px;
}

.avetti-home-projects.is-single-project .avetti-home-project-copy > a,
.avetti-home-projects.is-slider-ready .avetti-home-project-copy > a {
    margin-top: 12px;
}

.avetti-home-projects.is-slider-ready .avetti-home-project-card {
    grid-area: 1 / 1;
    opacity: 0;
    visibility: hidden;
    transform: scale(.988);
    pointer-events: none;
    transition: opacity .56s ease, transform .7s ease, visibility 0s linear .56s;
}

.avetti-home-projects.is-slider-ready .avetti-home-project-card.is-active {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    pointer-events: auto;
    transition: opacity .56s ease, transform .7s ease, visibility 0s;
}

.avetti-home-projects.is-slider-ready .avetti-home-project-card.is-active.is-leaving {
    opacity: 0;
    transform: scale(.988);
    pointer-events: none;
}

.avetti-home-projects.is-slider-ready .avetti-home-project-card.is-active.is-entering {
    opacity: 0;
    transform: scale(1.012);
}

.avetti-home-project-media img {
    transition: opacity .56s ease, transform .72s ease;
}

.avetti-home-project-media img.is-changing {
    opacity: 0;
    transform: scale(.988);
}

@media (max-width: 1024px) {
    .avetti-home-projects.is-single-project .avetti-home-project-card,
    .avetti-home-projects.is-slider-ready .avetti-home-project-card {
        grid-template-columns: minmax(0, 1.3fr) minmax(270px, .75fr);
        min-height: 390px;
    }

    .avetti-home-projects.is-single-project .avetti-home-project-media,
    .avetti-home-projects.is-slider-ready .avetti-home-project-media {
        min-height: 390px;
    }
}

@media (max-width: 760px) {
    .avetti-home-projects.is-single-project .avetti-home-project-card,
    .avetti-home-projects.is-slider-ready .avetti-home-project-card {
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
    }

    .avetti-home-projects.is-single-project .avetti-home-project-media,
    .avetti-home-projects.is-slider-ready .avetti-home-project-media {
        min-height: 0;
        height: auto;
        aspect-ratio: 16 / 10;
    }

    .avetti-home-projects.is-single-project .avetti-home-project-copy,
    .avetti-home-projects.is-slider-ready .avetti-home-project-copy {
        padding: 24px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .avetti-home-projects.is-slider-ready .avetti-home-project-card,
    .avetti-home-project-media img {
        transition: none;
    }
}

/* AVETTI v0.7.20: remove Webasyst's random !f... honey-pot row and keep the real CAPTCHA input inline. */
.avetti-crm-form .crm-form-field[data-id="!captcha"] ~ .crm-form-field[data-id^="!f"]:has(> input[type="text"]:only-child),
.avetti-crm-form .crm-form-field[data-id="!captcha"] ~ .crm-form-field[data-id^="!f"]:has(> .value:only-child > input[type="text"]:only-child),
.avetti-crm-form .crm-form-field[data-id="!captcha"] ~ .crm-form-field:not([data-id^="!"]):has(> input[type="text"]:only-child),
.avetti-crm-form .crm-form-field[data-id="!captcha"] ~ .crm-form-field:not([data-id^="!"]):has(> .value:only-child > input[type="text"]:only-child) {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

@media screen and (max-width: 640px) {
    .avetti-crm-form .crm-form-field[data-id="!captcha"] .wa-captcha > p:first-child {
        display: grid !important;
        grid-template-columns: max-content max-content minmax(84px, 1fr) !important;
        align-items: center !important;
        gap: 6px !important;
        width: 100% !important;
        max-width: 100% !important;
        flex-wrap: nowrap !important;
        box-sizing: border-box !important;
    }

    .avetti-crm-form .crm-form-field[data-id="!captcha"] .wa-captcha-img {
        display: block !important;
        float: none !important;
        width: auto !important;
        max-width: 130px !important;
        height: auto !important;
        margin: 0 !important;
    }

    .avetti-crm-form .crm-form-field[data-id="!captcha"] input.wa-captcha-input {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 48px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .avetti-crm-form .crm-form-field[data-id="!captcha"] .wa-captcha > p:last-child {
        margin-top: 8px !important;
    }
}
