:root {
    --ava-primary: #083f35;
    --ava-primary-dark: #062e28;
    --ava-accent: #b9872d;
    --ava-cream: #f8f3e9;
    --ava-text: #10201d;
    --ava-muted: #64706d;
    --ava-surface: #fffdf9;
    --ava-line: rgba(8, 63, 53, .13);
    --ava-shadow: 0 24px 70px rgba(13, 46, 40, .10);
    --ava-shadow-soft: 0 12px 34px rgba(13, 46, 40, .08);
    --ava-radius: 28px;
    --ava-radius-sm: 18px;
    --ava-container: 1240px;
    --ava-font: "Inter", "Aptos", "Segoe UI Variable", "Segoe UI", Arial, sans-serif;
}

html { scroll-behavior: smooth; }
html.ava-no-scroll { overflow: hidden; }
body { color: var(--ava-text); font-family: var(--ava-font); }
.screen-reader-text { clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute !important; width: 1px; word-wrap: normal !important; }
.ava-container { box-sizing: border-box; margin: 0 auto; max-width: var(--ava-container); padding-left: 28px; padding-right: 28px; width: 100%; }
.ava-eyebrow { color: var(--ava-accent); display: inline-flex; font-size: 13px; font-weight: 780; letter-spacing: .08em; line-height: 1.2; margin-bottom: 14px; }
.ava-button { align-items: center; appearance: none; background: var(--ava-primary); border: 1px solid var(--ava-primary); border-radius: 999px; box-shadow: 0 10px 24px rgba(8,63,53,.14); color: #fff !important; cursor: pointer; display: inline-flex; font-family: inherit; font-size: 15px; font-weight: 750; gap: 9px; justify-content: center; line-height: 1; min-height: 52px; padding: 0 25px; text-decoration: none !important; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.ava-button:hover { background: var(--ava-primary-dark); box-shadow: 0 14px 30px rgba(8,63,53,.22); color: #fff; transform: translateY(-2px); }
.ava-button--ghost { background: transparent; box-shadow: none; color: var(--ava-primary) !important; }
.ava-button--ghost:hover { background: rgba(8,63,53,.06); color: var(--ava-primary-dark) !important; }
.ava-button--light { background: #fff; border-color: #fff; color: var(--ava-primary) !important; }
.ava-button--light:hover { background: var(--ava-cream); color: var(--ava-primary-dark) !important; }
.ava-button-row { display: flex; flex-wrap: wrap; gap: 12px; }

/* Header */
.ava-site-header { background: rgba(255,253,249,.95); border-bottom: 1px solid rgba(8,63,53,.08); position: sticky; top: 0; z-index: 1000; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.admin-bar .ava-site-header { top: 32px; }
.ava-header-inner { align-items: center; display: grid; gap: 28px; grid-template-columns: minmax(280px, 1fr) auto auto; min-height: 96px; }
.ava-brand { align-items: center; color: var(--ava-text) !important; display: inline-flex; gap: 15px; min-width: 0; text-decoration: none !important; }
.ava-brand img { background: transparent; border-radius: 50%; flex: 0 0 auto; height: 68px; object-fit: contain; width: 68px; }
.ava-brand-copy { display: grid; gap: 4px; min-width: 0; }
.ava-brand-copy strong { color: var(--ava-text); font-size: 20px; font-weight: 820; letter-spacing: -.025em; line-height: 1.1; }
.ava-brand-copy small { color: var(--ava-accent); font-size: 13px; font-weight: 750; line-height: 1.25; }
.ava-nav-list { align-items: center; display: flex; gap: 28px; list-style: none; margin: 0; padding: 0; }
.ava-nav-list > li { margin: 0; position: relative; }
.ava-nav-list a { color: var(--ava-text); font-size: 15px; font-weight: 720; text-decoration: none; transition: color .2s ease; white-space: nowrap; }
.ava-nav-list a:hover, .ava-nav-list .current-menu-item > a { color: var(--ava-accent); }
.ava-nav-list .sub-menu { background: #fff; border: 1px solid var(--ava-line); border-radius: 14px; box-shadow: var(--ava-shadow-soft); display: none; left: -18px; list-style: none; min-width: 210px; padding: 12px; position: absolute; top: calc(100% + 18px); }
.ava-nav-list li:hover > .sub-menu { display: grid; gap: 8px; }
.ava-nav-list .sub-menu a { display: block; padding: 8px 10px; }
.ava-button--header { min-height: 54px; padding: 0 25px; white-space: nowrap; }
.ava-menu-toggle { appearance: none; background: transparent; border: 0; cursor: pointer; display: none; height: 44px; padding: 10px; width: 44px; }
.ava-menu-toggle > span:not(.screen-reader-text) { background: var(--ava-primary); border-radius: 2px; display: block; height: 2px; margin: 5px 0; transition: transform .2s ease, opacity .2s ease; width: 24px; }

/* Hero */
.ava-hero { background: radial-gradient(circle at 8% 15%, rgba(185,135,45,.10), transparent 32%), linear-gradient(135deg, #fbf7ef 0%, #f4eee1 100%); overflow: hidden; padding: 60px 0 72px; position: relative; }
.ava-hero::before { border: 1px solid rgba(185,135,45,.13); border-radius: 50%; content: ""; height: 480px; left: -280px; position: absolute; top: -260px; width: 480px; }
.ava-hero-grid { align-items: center; display: grid; gap: clamp(40px, 6vw, 90px); grid-template-columns: minmax(0, .88fr) minmax(480px, 1.12fr); }
.ava-hero-copy { max-width: 610px; padding: 35px 0; position: relative; z-index: 2; }
.ava-hero-copy h1 { color: var(--ava-text); font-size: clamp(46px, 5.8vw, 82px); font-weight: 850; letter-spacing: -.055em; line-height: .99; margin: 0 0 26px; max-width: 760px; }
.ava-hero-copy > p { color: #52615e; font-size: clamp(18px, 1.5vw, 22px); line-height: 1.72; margin: 0 0 32px; max-width: 590px; }
.ava-hero-trust { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 36px; }
.ava-hero-trust span { border: 1px solid rgba(185,135,45,.42); border-radius: 999px; color: var(--ava-primary); font-size: 13px; font-weight: 750; padding: 9px 14px; }
.ava-slider { min-width: 0; position: relative; }
.ava-slider-stage { background: var(--ava-primary-dark); border-radius: 36px; box-shadow: 0 30px 90px rgba(6,46,40,.23); min-height: 620px; overflow: hidden; position: relative; }
.ava-slide { inset: 0; opacity: 0; position: absolute; transform: scale(1.025); transition: opacity .45s ease, transform .7s ease; visibility: hidden; }
.ava-slide.is-active { opacity: 1; transform: scale(1); visibility: visible; z-index: 2; }
.ava-slide > img, .ava-slide-placeholder { height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; }
.ava-slide-placeholder { align-items: center; background: linear-gradient(145deg, var(--ava-primary), var(--ava-primary-dark)); display: flex; justify-content: center; }
.ava-slide-placeholder img { height: 220px; opacity: .8; width: 220px; }
.ava-slide::after { background: linear-gradient(180deg, rgba(5,23,20,.02) 30%, rgba(5,23,20,.88) 100%); content: ""; inset: 0; position: absolute; }
.ava-slide-overlay { bottom: 0; color: #fff; left: 0; padding: clamp(30px, 5vw, 58px); position: absolute; right: 0; z-index: 2; }
.ava-slide-overlay > span { color: #e8c77d; font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.ava-slide-overlay h2 { color: #fff; font-size: clamp(28px, 3vw, 46px); font-weight: 800; letter-spacing: -.035em; line-height: 1.08; margin: 12px 0 13px; max-width: 650px; }
.ava-slide-overlay p { color: rgba(255,255,255,.79); font-size: 16px; line-height: 1.55; margin: 0 0 18px; max-width: 560px; }
.ava-slide-overlay a { color: #fff; font-size: 14px; font-weight: 750; text-decoration: none; }
.ava-slider-controls { align-items: center; bottom: 24px; display: flex; gap: 12px; position: absolute; right: 24px; z-index: 5; }
.ava-slider-controls > button { align-items: center; background: rgba(255,255,255,.92); border: 0; border-radius: 50%; color: var(--ava-primary); cursor: pointer; display: flex; font-size: 18px; height: 42px; justify-content: center; width: 42px; }
.ava-slider-dots { align-items: center; display: flex; gap: 6px; }
.ava-slider-dots button { background: rgba(255,255,255,.5); border: 0; border-radius: 999px; cursor: pointer; height: 7px; padding: 0; transition: width .25s ease, background .25s ease; width: 7px; }
.ava-slider-dots button.is-active { background: #fff; width: 24px; }

/* Feature strip and headings */
.ava-feature-strip { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0,1fr)); padding: 28px 0 8px; }
.ava-feature-item { align-items: flex-start; background: rgba(255,255,255,.7); border: 1px solid var(--ava-line); border-radius: 22px; box-shadow: 0 10px 34px rgba(8,63,53,.04); display: grid; gap: 8px; min-height: 118px; padding: 25px 28px; }
.ava-feature-item strong { color: var(--ava-primary); font-size: 19px; font-weight: 790; letter-spacing: -.02em; }
.ava-feature-item span { color: var(--ava-muted); font-size: 15px; line-height: 1.5; }
.ava-section-heading { margin: 0 auto clamp(34px, 5vw, 58px); max-width: 790px; }
.ava-section-heading--center { text-align: center; }
.ava-section-heading--left { margin-left: 0; text-align: left; }
.ava-section-heading h2 { color: var(--ava-text); font-size: clamp(34px, 4vw, 58px); font-weight: 830; letter-spacing: -.045em; line-height: 1.08; margin: 0; }
.ava-section-heading p { color: var(--ava-muted); font-size: 17px; line-height: 1.72; margin: 18px auto 0; max-width: 690px; }
.ava-section-heading--left p { margin-left: 0; }
.ava-section-row { padding: clamp(72px, 8vw, 118px) 0; }
.ava-section-soft { background: var(--ava-cream); }

/* Services */
.ava-service-grid { display: grid; gap: 20px; grid-template-columns: repeat(4, minmax(0,1fr)); }
.ava-service-card { background: var(--ava-surface); border: 1px solid var(--ava-line); border-radius: 24px; box-shadow: 0 12px 35px rgba(8,63,53,.05); min-height: 235px; padding: 30px; transition: transform .25s ease, box-shadow .25s ease; }
.ava-service-card:hover { box-shadow: var(--ava-shadow-soft); transform: translateY(-5px); }
.ava-service-icon { align-items: center; background: rgba(185,135,45,.13); border: 1px solid rgba(185,135,45,.24); border-radius: 16px; color: var(--ava-accent); display: inline-flex; font-size: 13px; font-weight: 820; height: 52px; justify-content: center; margin-bottom: 25px; min-width: 52px; padding: 0 11px; }
.ava-service-card h3 { color: var(--ava-text); font-size: 20px; font-weight: 790; letter-spacing: -.025em; line-height: 1.3; margin: 0 0 12px; }
.ava-service-card p { color: var(--ava-muted); font-size: 15px; line-height: 1.7; margin: 0; }

/* Categories */
.ava-category-grid { display: grid; gap: 22px; grid-template-columns: repeat(4, minmax(0,1fr)); }
.ava-category-card { background: var(--ava-surface); border: 1px solid var(--ava-line); border-radius: 26px; box-shadow: 0 12px 36px rgba(8,63,53,.055); color: var(--ava-text) !important; min-width: 0; overflow: hidden; text-decoration: none !important; transition: transform .25s ease, box-shadow .25s ease; }
.ava-category-card:hover { box-shadow: var(--ava-shadow-soft); transform: translateY(-6px); }
.ava-category-media { align-items: center; background: #f7f6f2; display: flex; height: 275px; justify-content: center; overflow: hidden; }
.ava-category-media img { height: 100%; object-fit: contain; padding: 18px; transition: transform .4s ease; width: 100%; }
.ava-category-card:hover .ava-category-media img { transform: scale(1.035); }
.ava-category-copy { display: grid; gap: 7px; padding: 24px 25px 27px; }
.ava-category-copy small { color: var(--ava-accent); font-size: 12px; font-weight: 760; }
.ava-category-copy strong { color: var(--ava-text); font-size: 22px; font-weight: 800; letter-spacing: -.03em; }
.ava-category-copy em { color: var(--ava-primary); font-size: 14px; font-style: normal; font-weight: 740; margin-top: 7px; }

/* Product catalog */
.ava-catalog-tools { align-items: center; display: flex; gap: 18px; justify-content: space-between; margin: 0 0 34px; }
.ava-search-field { align-items: center; background: #fff; border: 1px solid var(--ava-line); border-radius: 999px; display: flex; flex: 0 1 390px; overflow: hidden; }
.ava-search-field input { background: transparent; border: 0 !important; box-shadow: none !important; color: var(--ava-text); font-family: inherit; font-size: 15px; min-height: 52px; outline: 0; padding: 0 0 0 21px; width: 100%; }
.ava-search-field button { background: transparent; border: 0; color: var(--ava-primary); font-size: 23px; height: 52px; padding: 0 20px; }
.ava-filter-buttons { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.ava-filter-buttons button { background: rgba(8,63,53,.045); border: 1px solid transparent; border-radius: 999px; color: var(--ava-primary); cursor: pointer; font-family: inherit; font-size: 13px; font-weight: 720; min-height: 44px; padding: 0 17px; transition: background .2s ease, color .2s ease; }
.ava-filter-buttons button:hover, .ava-filter-buttons button.is-active { background: var(--ava-primary); color: #fff; }
.ava-product-grid { display: grid; gap: 24px; grid-template-columns: repeat(4, minmax(0,1fr)); }
.ava-product-card { background: var(--ava-surface); border: 1px solid var(--ava-line); border-radius: 26px; box-shadow: 0 10px 35px rgba(8,63,53,.05); display: flex; flex-direction: column; min-width: 0; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
.ava-product-card:hover { box-shadow: 0 22px 60px rgba(8,63,53,.12); transform: translateY(-6px); }
.ava-product-card-media { align-items: center; background: #f7f7f4; display: flex; height: 330px; justify-content: center; overflow: hidden; padding: 16px; }
.ava-product-card-media img { height: 100%; object-fit: contain; transition: transform .4s ease; width: 100%; }
.ava-product-card:hover .ava-product-card-media > img { transform: scale(1.035); }
.ava-product-card-copy { display: flex; flex: 1; flex-direction: column; padding: 24px 24px 26px; }
.ava-product-kicker { color: var(--ava-accent) !important; font-size: 11px; font-weight: 790; letter-spacing: .04em; margin-bottom: 11px; text-decoration: none !important; }
.ava-product-card h3 { font-size: 19px; font-weight: 790; letter-spacing: -.025em; line-height: 1.32; margin: 0 0 13px; }
.ava-product-card h3 a { color: var(--ava-text) !important; text-decoration: none !important; }
.ava-product-card p { color: var(--ava-muted); font-size: 14.5px; line-height: 1.68; margin: 0 0 20px; }
.ava-product-link { color: var(--ava-primary) !important; font-size: 14px; font-weight: 770; margin-top: auto; text-decoration: none !important; }
.ava-product-link span { display: inline-block; transition: transform .2s ease; }
.ava-product-link:hover span { transform: translateX(4px); }
.ava-empty-state { align-items: center; background: var(--ava-cream); border: 1px dashed rgba(8,63,53,.22); border-radius: 22px; color: var(--ava-muted); display: flex; flex-direction: column; gap: 8px; grid-column: 1/-1; justify-content: center; min-height: 180px; padding: 30px; text-align: center; }
.ava-empty-state strong { color: var(--ava-primary); font-size: 19px; }
.ava-products-loading { align-items: center; color: var(--ava-muted); display: flex; gap: 10px; justify-content: center; padding: 25px; }
.ava-products-loading span { animation: ava-spin .8s linear infinite; border: 2px solid rgba(8,63,53,.15); border-radius: 50%; border-top-color: var(--ava-primary); height: 18px; width: 18px; }
.ava-load-more-wrap { margin-top: 38px; text-align: center; }
.ava-load-more-wrap[hidden] { display: none; }
@keyframes ava-spin { to { transform: rotate(360deg); } }

/* Catalog CTA */
.ava-catalog-cta { background: linear-gradient(130deg, var(--ava-primary-dark), var(--ava-primary)); color: #fff; overflow: hidden; padding: 80px 0; position: relative; }
.ava-catalog-cta::after { border: 1px solid rgba(255,255,255,.11); border-radius: 50%; content: ""; height: 440px; position: absolute; right: -170px; top: -210px; width: 440px; }
.ava-catalog-cta-inner { align-items: center; display: grid; gap: 55px; grid-template-columns: 1fr auto; position: relative; z-index: 2; }
.ava-catalog-cta h2 { color: #fff; font-size: clamp(34px, 4.2vw, 60px); font-weight: 820; letter-spacing: -.045em; line-height: 1.08; margin: 0; max-width: 920px; }
.ava-catalog-cta p { color: rgba(255,255,255,.72); font-size: 17px; line-height: 1.7; margin: 19px 0 0; max-width: 760px; }

/* Instagram */
.ava-instagram-grid { display: grid; gap: 22px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.ava-instagram-card { background: #fff; border: 1px solid var(--ava-line); border-radius: 26px; box-shadow: var(--ava-shadow-soft); color: var(--ava-text) !important; overflow: hidden; text-decoration: none !important; }
.ava-instagram-card > img { aspect-ratio: 1 / 1; display: block; object-fit: cover; transition: transform .4s ease; width: 100%; }
.ava-instagram-card:hover > img { transform: scale(1.025); }
.ava-instagram-card > span { align-items: center; display: flex; gap: 15px; justify-content: space-between; padding: 20px 22px; }
.ava-instagram-card strong { font-size: 16px; font-weight: 780; }
.ava-instagram-card em { color: var(--ava-accent); font-size: 13px; font-style: normal; font-weight: 740; }
.ava-feed-note { color: var(--ava-muted); font-size: 12px; margin: 18px auto 0; max-width: 720px; text-align: center; }

/* Contact */
.ava-contact-panel { align-items: stretch; display: grid; gap: 50px; grid-template-columns: .82fr 1.18fr; }
.ava-contact-intro { background: linear-gradient(145deg, var(--ava-primary), var(--ava-primary-dark)); border-radius: 30px; color: #fff; padding: clamp(34px, 5vw, 62px); }
.ava-contact-intro h2 { color: #fff; font-size: clamp(34px, 4vw, 54px); font-weight: 820; letter-spacing: -.045em; line-height: 1.08; margin: 0 0 20px; }
.ava-contact-intro > p { color: rgba(255,255,255,.75); font-size: 17px; line-height: 1.7; }
.ava-contact-quick { border-top: 1px solid rgba(255,255,255,.18); display: grid; gap: 12px; margin-top: 32px; padding-top: 28px; }
.ava-contact-quick a, .ava-contact-quick span { color: #fff; font-size: 16px; font-weight: 650; text-decoration: none; }
.ava-contact-form { background: #fff; border: 1px solid var(--ava-line); border-radius: 30px; box-shadow: var(--ava-shadow-soft); padding: clamp(30px,4vw,52px); }
.ava-form-grid { display: grid; gap: 20px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.ava-form-grid label, .ava-consent { display: grid; gap: 8px; }
.ava-form-grid label > span { color: var(--ava-text); font-size: 13px; font-weight: 740; }
.ava-form-grid input, .ava-form-grid select, .ava-form-grid textarea { background: #fbfaf7; border: 1px solid var(--ava-line); border-radius: 13px; box-shadow: none; box-sizing: border-box; color: var(--ava-text); font-family: inherit; font-size: 15px; min-height: 52px; outline: none; padding: 12px 15px; width: 100%; }
.ava-form-grid textarea { min-height: 130px; resize: vertical; }
.ava-form-grid input:focus, .ava-form-grid select:focus, .ava-form-grid textarea:focus { border-color: var(--ava-accent); box-shadow: 0 0 0 3px rgba(185,135,45,.12); }
.ava-form-full { grid-column: 1/-1; }
.ava-consent { align-items: start; display: flex; font-size: 12.5px; line-height: 1.5; margin: 18px 0; }
.ava-consent input { margin-top: 3px; }
.ava-form-status { font-size: 14px; font-weight: 650; margin-top: 15px; }
.ava-form-status.is-success { color: #14744d; }
.ava-form-status.is-error { color: #b12e31; }
.ava-honeypot { left: -9999px !important; opacity: 0 !important; position: absolute !important; }

/* Footer */
.ava-site-footer { background: var(--ava-primary-dark); color: rgba(255,255,255,.72); }
.ava-footer-grid { display: grid; gap: 52px; grid-template-columns: 1.25fr 1fr .82fr .58fr; padding-bottom: 76px; padding-top: 76px; }
.ava-brand--footer { color: #fff !important; }
.ava-brand--footer .ava-brand-copy strong { color: #fff; }
.ava-footer-brand > p { font-size: 15px; line-height: 1.75; margin: 27px 0 18px; max-width: 360px; }
.ava-footer-note { color: #e8c77d; font-size: 13px; font-weight: 730; }
.ava-footer-column h3 { color: #fff; font-size: 18px; font-weight: 780; margin: 0 0 24px; }
.ava-footer-column ul { display: grid; gap: 12px; list-style: none; margin: 0; padding: 0; }
.ava-footer-column li, .ava-footer-column a, .ava-footer-column span { color: rgba(255,255,255,.70); font-size: 14px; line-height: 1.55; text-decoration: none; }
.ava-footer-contact { align-content: start; display: grid; gap: 12px; }
.ava-footer-contact h3 { margin-bottom: 12px; }
.ava-footer-contact a:hover { color: #fff; }
.ava-footer-qr img { background: #fff8e8; border: 8px solid #fff8e8; border-radius: 16px; display: block; height: auto; max-width: 145px; width: 100%; }
.ava-footer-bottom { border-top: 1px solid rgba(255,255,255,.10); }
.ava-footer-bottom .ava-container { align-items: center; display: flex; gap: 20px; justify-content: space-between; min-height: 74px; }
.ava-footer-bottom span, .ava-footer-bottom a { color: rgba(255,255,255,.58); font-size: 13px; text-decoration: none; }
.ava-footer-bottom a:hover { color: #fff; }

/* Single product */
.ava-single-product-hero { background: linear-gradient(145deg, #fbf8f0, #f3eddf); padding: clamp(52px, 7vw, 100px) 0; }
.ava-single-product-grid { align-items: start; display: grid; gap: clamp(45px, 6vw, 88px); grid-template-columns: minmax(0,1.02fr) minmax(0,.98fr); }
.ava-single-product-grid--summary-only { grid-template-columns: minmax(0, 920px); justify-content: center; }
.ava-single-product-grid--summary-only .ava-product-summary { background: rgba(255,255,255,.72); border: 1px solid var(--ava-line); border-radius: 30px; box-shadow: var(--ava-shadow-soft); padding: clamp(30px, 5vw, 60px); }
.ava-product-gallery { min-width: 0; position: sticky; top: 126px; }
.admin-bar .ava-product-gallery { top: 158px; }
.ava-product-gallery-main { align-items: center; background: #fff; border: 1px solid var(--ava-line); border-radius: 30px; box-shadow: var(--ava-shadow-soft); display: flex; justify-content: center; min-height: 620px; overflow: hidden; padding: 28px; }
.ava-gallery-main-button { appearance: none; background: transparent; border: 0; cursor: zoom-in; height: 100%; padding: 0; width: 100%; }
.ava-gallery-main-button img { height: 565px; object-fit: contain; width: 100%; }
.ava-product-thumbs { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 15px; }
.ava-product-thumbs button { align-items: center; background: #fff; border: 1px solid var(--ava-line); border-radius: 13px; cursor: pointer; display: flex; height: 82px; justify-content: center; padding: 7px; width: 82px; }
.ava-product-thumbs button.is-active { border-color: var(--ava-accent); box-shadow: 0 0 0 2px rgba(185,135,45,.13); }
.ava-product-thumbs img { height: 100%; object-fit: contain; width: 100%; }
.ava-product-summary { padding: 15px 0; }
.ava-product-category-pill { background: rgba(185,135,45,.14); border-radius: 999px; color: var(--ava-primary) !important; display: inline-flex; font-size: 12px; font-weight: 750; margin-bottom: 20px; padding: 8px 13px; text-decoration: none !important; }
.ava-product-summary h1 { color: var(--ava-text); font-size: clamp(42px, 5vw, 68px); font-weight: 835; letter-spacing: -.052em; line-height: 1.04; margin: 0 0 22px; text-transform: none; }
.ava-product-lead { color: #586561; font-size: 18px; line-height: 1.72; margin: 0 0 32px; }
.ava-product-option { border-top: 1px solid var(--ava-line); padding: 25px 0; }
.ava-option-heading { align-items: baseline; display: flex; gap: 12px; justify-content: space-between; margin-bottom: 16px; }
.ava-option-heading strong { color: var(--ava-text); font-size: 15px; font-weight: 770; }
.ava-option-heading span { color: var(--ava-muted); font-size: 11px; }
.ava-color-swatches { display: flex; flex-wrap: wrap; gap: 12px; }
.ava-color-swatch { align-items: center; cursor: help; display: inline-flex; position: relative; }
.ava-color-swatch i { background: var(--swatch); border: 2px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px rgba(16,32,29,.22), 0 4px 10px rgba(16,32,29,.10); display: block; height: 32px; width: 32px; }
.ava-color-swatch b { background: var(--ava-primary-dark); border-radius: 7px; bottom: calc(100% + 9px); color: #fff; font-size: 11px; font-weight: 600; left: 50%; opacity: 0; padding: 6px 8px; pointer-events: none; position: absolute; transform: translate(-50%, 4px); transition: opacity .18s ease, transform .18s ease; visibility: hidden; white-space: nowrap; z-index: 5; }
.ava-color-swatch:hover b, .ava-color-swatch:focus-within b { opacity: 1; transform: translate(-50%, 0); visibility: visible; }
.ava-size-chips { display: flex; flex-wrap: wrap; gap: 9px; }
.ava-size-chips span { align-items: center; background: #fff; border: 1px solid rgba(8,63,53,.18); border-radius: 9px; color: var(--ava-text); display: inline-flex; font-size: 13px; font-weight: 740; justify-content: center; min-height: 40px; min-width: 46px; padding: 0 12px; }
.ava-product-quick-specs { border-top: 1px solid var(--ava-line); display: grid; gap: 0; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; padding: 25px 0; }
.ava-product-quick-specs > div { padding-right: 18px; }
.ava-product-quick-specs dt { color: var(--ava-accent); font-size: 11px; font-weight: 770; margin-bottom: 6px; }
.ava-product-quick-specs dd { color: var(--ava-text); font-size: 14px; line-height: 1.55; margin: 0; }
.ava-product-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 7px; }
.ava-product-note { color: var(--ava-muted); font-size: 12px; line-height: 1.55; margin: 17px 0 0; }
.ava-product-details-section { background: #fff; padding: clamp(70px, 8vw, 110px) 0; }
.ava-product-details-card { align-items: start; display: grid; gap: 75px; grid-template-columns: 1.35fr .65fr; }
.ava-product-details-card--single { grid-template-columns: minmax(0, 920px); justify-content: center; }
.ava-product-description h2 { color: var(--ava-text); font-size: clamp(34px, 3.8vw, 52px); font-weight: 825; letter-spacing: -.04em; line-height: 1.08; margin: 0 0 25px; }
.ava-product-description p, .ava-product-description li { color: var(--ava-muted); font-size: 16px; line-height: 1.78; }
.ava-product-description ul { padding-left: 20px; }
.ava-product-spec-panel { background: var(--ava-cream); border: 1px solid var(--ava-line); border-radius: 25px; padding: 32px; }
.ava-product-spec-panel h3 { font-size: 20px; font-weight: 790; margin: 0 0 20px; }
.ava-product-spec-panel dl { display: grid; gap: 0; margin: 0; }
.ava-product-spec-panel dl > div { border-top: 1px solid var(--ava-line); display: grid; gap: 6px; padding: 16px 0; }
.ava-product-spec-panel dt { color: var(--ava-accent); font-size: 11px; font-weight: 770; }
.ava-product-spec-panel dd { color: var(--ava-text); font-size: 14px; line-height: 1.55; margin: 0; }
.ava-related-section { background: var(--ava-cream); padding: clamp(70px, 8vw, 110px) 0; }
.ava-lightbox { align-items: center; background: rgba(3,18,15,.93); display: flex; inset: 0; justify-content: center; padding: 40px; position: fixed; z-index: 99999; }
.ava-lightbox[hidden] { display: none; }
.ava-lightbox img { background: #fff; border-radius: 18px; box-shadow: 0 30px 100px rgba(0,0,0,.5); max-height: 90vh; max-width: 90vw; object-fit: contain; }
.ava-lightbox button { background: #fff; border: 0; border-radius: 50%; color: var(--ava-primary); cursor: pointer; font-size: 28px; height: 48px; line-height: 1; position: absolute; right: 24px; top: 24px; width: 48px; }

/* Premium flipbook */
.ava-flipbook-section { background: linear-gradient(180deg, #f8f3e9 0%, #fff 100%); padding: clamp(70px,8vw,110px) 0; }
.ava-flipbook { --ava-book-ratio: 1.584; background: #082f29; border: 1px solid rgba(255,255,255,.08); border-radius: 30px; box-shadow: 0 32px 100px rgba(6,46,40,.24); color: #fff; outline: none; overflow: hidden; padding: 16px; position: relative; }
.ava-flipbook:focus-visible { box-shadow: 0 0 0 4px rgba(194,145,55,.35), 0 32px 100px rgba(6,46,40,.24); }
.ava-flipbook:fullscreen { border: 0; border-radius: 0; display: flex; flex-direction: column; height: 100vh; padding: 12px; width: 100vw; }
.ava-flipbook:fullscreen .ava-flipbook-shell { flex: 1; min-height: 0; }
.ava-flipbook:fullscreen .ava-flipbook-viewport { min-height: 0; }
.ava-flipbook:fullscreen .ava-flipbook-book { width: min(1450px, 128vh, calc(100% - 150px)); }
.ava-flipbook:fullscreen .ava-flipbook-book.is-single { width: min(760px, 64vh, calc(100% - 100px)); }
.ava-flipbook-interface[hidden], .ava-flipbook-fallback[hidden] { display: none !important; }
.ava-flipbook-fallback { background: #f3efe7; border-radius: 18px; color: var(--ava-text); max-height: min(82vh, 920px); overflow: auto; padding: 18px; }
.ava-flipbook-fallback-note { align-items: center; background: #fff; border: 1px solid rgba(6,46,40,.10); border-radius: 14px; display: flex; gap: 14px; justify-content: space-between; margin-bottom: 16px; padding: 14px 16px; }
.ava-flipbook-fallback-note strong { color: var(--ava-primary); font-size: 15px; }
.ava-flipbook-fallback-note span { color: var(--ava-muted); font-size: 12px; line-height: 1.45; text-align: right; }
.ava-flipbook-fallback-pages { display: grid; gap: 18px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.ava-flipbook-fallback-page { background: #fff; border-radius: 10px; box-shadow: 0 12px 30px rgba(6,46,40,.12); margin: 0; overflow: hidden; position: relative; }
.ava-flipbook-fallback-page img { aspect-ratio: 1308/1651; display: block; object-fit: contain; width: 100%; }
.ava-flipbook-fallback-page figcaption { background: rgba(6,46,40,.88); border-radius: 999px; bottom: 10px; color: #fff; font-size: 10px; font-weight: 800; padding: 6px 9px; position: absolute; right: 10px; }
.ava-flipbook-error { background: rgba(116,28,28,.93); border-radius: 10px; bottom: 18px; color: #fff; font-size: 12px; left: 50%; max-width: calc(100% - 40px); padding: 9px 13px; position: absolute; text-align: center; transform: translateX(-50%); z-index: 30; }
.ava-flipbook-error[hidden] { display: none; }

.ava-flipbook-toolbar { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; min-height: 50px; padding: 0 2px 14px; }
.ava-flipbook-toolbar-group { align-items: center; display: flex; gap: 6px; }
.ava-flipbook-toolbar button { align-items: center; background: rgba(255,255,255,.085); border: 1px solid rgba(255,255,255,.14); border-radius: 10px; color: #fff; cursor: pointer; display: inline-flex; font-family: inherit; font-size: 13px; font-weight: 750; height: 38px; justify-content: center; min-width: 38px; padding: 0 10px; transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease, opacity .2s ease; }
.ava-flipbook-toolbar button svg, .ava-flipbook-edge svg, .ava-flipbook-thumbnails-header button svg { fill: none; height: 19px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.9; width: 19px; }
.ava-flipbook-toolbar button:hover, .ava-flipbook-toolbar button.is-active { background: var(--ava-accent); border-color: var(--ava-accent); color: #13231f; transform: translateY(-1px); }
.ava-flipbook-toolbar button:focus-visible, .ava-flipbook-page-jump input:focus-visible { outline: 3px solid rgba(194,145,55,.5); outline-offset: 2px; }
.ava-flipbook-toolbar button:disabled, .ava-flipbook-edge:disabled { cursor: default; opacity: .32; transform: none; }
.ava-flipbook-toolbar-spacer { flex: 1 1 auto; }
.ava-flipbook-toolbar-divider { background: rgba(255,255,255,.14); height: 26px; margin: 0 2px; width: 1px; }
.ava-flipbook-page-jump { align-items: center; background: rgba(0,0,0,.18); border: 1px solid rgba(255,255,255,.12); border-radius: 10px; color: rgba(255,255,255,.7); display: inline-flex; font-size: 12px; gap: 5px; height: 38px; padding: 0 10px; }
.ava-flipbook-page-jump input { appearance: textfield; background: transparent; border: 0; color: #fff; font: inherit; font-size: 13px; font-weight: 800; padding: 0; text-align: right; width: 38px; }
.ava-flipbook-page-jump input::-webkit-inner-spin-button, .ava-flipbook-page-jump input::-webkit-outer-spin-button { appearance: none; margin: 0; }
.ava-flipbook-zoom-value { color: rgba(255,255,255,.82); font-size: 12px; font-variant-numeric: tabular-nums; min-width: 47px; text-align: center; }
.ava-flipbook-mk-button { letter-spacing: .03em; }

.ava-flipbook-shell { display: grid; grid-template-columns: auto minmax(0,1fr); min-height: 0; position: relative; }
.ava-flipbook-thumbnails { background: #f8f4eb; border-radius: 17px 0 0 17px; color: var(--ava-text); max-height: min(78vh, 900px); overflow: hidden; width: 156px; z-index: 22; }
.ava-flipbook-thumbnails[hidden] { display: none; }
.ava-flipbook-thumbnails-header { align-items: center; border-bottom: 1px solid rgba(6,46,40,.12); display: flex; justify-content: space-between; padding: 13px 12px; }
.ava-flipbook-thumbnails-header strong { font-size: 13px; }
.ava-flipbook-thumbnails-header button { align-items: center; background: transparent; border: 0; color: var(--ava-primary); cursor: pointer; display: flex; height: 30px; justify-content: center; padding: 0; width: 30px; }
.ava-flipbook-thumbnails-list { display: grid; gap: 10px; max-height: calc(min(78vh, 900px) - 57px); overflow-x: hidden; overflow-y: auto; padding: 12px; scrollbar-color: rgba(6,46,40,.28) transparent; scrollbar-width: thin; }
.ava-flipbook-thumbnail { background: #fff; border: 2px solid transparent; border-radius: 8px; box-shadow: 0 5px 16px rgba(6,46,40,.10); color: var(--ava-primary); cursor: pointer; display: block; overflow: hidden; padding: 4px; position: relative; transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; width: 100%; }
.ava-flipbook-thumbnail:hover { transform: translateY(-2px); }
.ava-flipbook-thumbnail.is-active { border-color: var(--ava-accent); box-shadow: 0 8px 22px rgba(194,145,55,.24); }
.ava-flipbook-thumbnail img { aspect-ratio: 1308/1651; background: #fff; display: block; object-fit: contain; width: 100%; }
.ava-flipbook-thumbnail span { background: rgba(6,46,40,.88); border-radius: 999px; bottom: 7px; color: #fff; font-size: 10px; font-weight: 800; line-height: 1; min-width: 22px; padding: 5px 6px; position: absolute; right: 7px; text-align: center; }

.ava-flipbook-viewport { align-items: center; background: radial-gradient(circle at 50% 38%, #ece9e2 0%, #cfcac0 72%, #c4beb3 100%); border-radius: 18px; display: flex; justify-content: center; min-height: min(78vh, 900px); overflow: hidden; perspective: 2600px; position: relative; touch-action: pan-y; user-select: none; }
.ava-flipbook.has-thumbnails-open .ava-flipbook-viewport { border-radius: 0 18px 18px 0; }
.ava-flipbook-viewport.is-zoomed { cursor: grab; touch-action: none; }
.ava-flipbook-viewport.is-panning { cursor: grabbing; }
.ava-flipbook-canvas { align-items: center; display: flex; justify-content: center; transform: translate3d(0,0,0) scale(1); transform-origin: center center; transition: transform .22s ease; will-change: transform; }
.ava-flipbook-canvas.is-no-transition { transition: none; }
.ava-flipbook-book { aspect-ratio: var(--ava-book-ratio); filter: drop-shadow(0 24px 28px rgba(0,0,0,.24)); max-width: calc(100% - 130px); min-height: 520px; perspective: 2600px; position: relative; transform-style: preserve-3d; width: min(1120px, 116vh, calc(100% - 130px)); }
.ava-flipbook-book.is-single { aspect-ratio: 1308/1651; min-height: 560px; width: min(630px, 59vh, calc(100% - 120px)); }
@supports (aspect-ratio: 1 / 1) {
    .ava-flipbook-book, .ava-flipbook-book.is-single { min-height: 0; }
}
.ava-flipbook-page { backface-visibility: hidden; background: #fff; height: 100%; margin: 0; overflow: hidden; position: absolute; top: 0; width: 50%; }
.ava-flipbook-page--left { border-radius: 5px 0 0 5px; left: 0; transform-origin: right center; }
.ava-flipbook-page--right { border-radius: 0 5px 5px 0; right: 0; transform-origin: left center; }
.ava-flipbook-page--left::after, .ava-flipbook-page--right::after { bottom: 0; content: ''; pointer-events: none; position: absolute; top: 0; width: 12%; z-index: 2; }
.ava-flipbook-page--left::after { background: linear-gradient(90deg, transparent, rgba(0,0,0,.12)); right: 0; }
.ava-flipbook-page--right::after { background: linear-gradient(90deg, rgba(0,0,0,.12), transparent); left: 0; }
.ava-flipbook-page.is-empty { background: transparent; box-shadow: none; }
.ava-flipbook-page.is-empty::after, .ava-flipbook-page.is-empty figcaption { display: none; }
.ava-flipbook-page img { display: block; height: 100%; object-fit: contain; pointer-events: none; width: 100%; }
.ava-flipbook-page figcaption { background: rgba(255,255,255,.90); border: 1px solid rgba(6,46,40,.12); border-radius: 999px; bottom: 10px; color: var(--ava-primary); font-size: 10px; font-weight: 850; line-height: 1; min-width: 25px; padding: 6px 7px; position: absolute; text-align: center; z-index: 4; }
.ava-flipbook-page--left figcaption { left: 10px; }
.ava-flipbook-page--right figcaption { right: 10px; }
.ava-flipbook-book.is-single .ava-flipbook-page--left { display: none; }
.ava-flipbook-book.is-single .ava-flipbook-page--right { border-radius: 5px; left: 0; right: auto; width: 100%; }
.ava-flipbook-book.is-single .ava-flipbook-page--right::after { background: linear-gradient(90deg, rgba(0,0,0,.05), transparent 14%, transparent 86%, rgba(0,0,0,.07)); left: 0; width: 100%; }
.ava-flipbook-spine { background: linear-gradient(90deg, rgba(0,0,0,.13), rgba(255,255,255,.18) 38%, rgba(0,0,0,.18) 50%, rgba(255,255,255,.12) 64%, rgba(0,0,0,.11)); bottom: 0; left: calc(50% - 7px); pointer-events: none; position: absolute; top: 0; width: 14px; z-index: 8; }
.ava-flipbook-book.is-single .ava-flipbook-spine { display: none; }
.ava-flipbook-book.is-cover .ava-flipbook-page--right { box-shadow: -12px 0 28px rgba(0,0,0,.13); }

.ava-flipbook-turn-sheet { height: 100%; pointer-events: none; position: absolute; top: 0; transform-style: preserve-3d; width: 50%; z-index: 18; }
.ava-flipbook-turn-sheet.is-turning-right { left: 50%; }
.ava-flipbook-turn-sheet.is-turning-left { left: 0; }
.ava-flipbook-book.is-single .ava-flipbook-turn-sheet { left: 0; width: 100%; }
.ava-flipbook-turn-sheet-inner { height: 100%; position: relative; transform: rotateY(0deg); transform-style: preserve-3d; transition: transform .72s cubic-bezier(.64,.02,.28,1); width: 100%; }
.ava-flipbook-turn-sheet.is-turning-right .ava-flipbook-turn-sheet-inner { transform-origin: left center; }
.ava-flipbook-turn-sheet.is-turning-left .ava-flipbook-turn-sheet-inner { transform-origin: right center; }
.ava-flipbook-book.is-flipping-next .ava-flipbook-turn-sheet.is-turning-right .ava-flipbook-turn-sheet-inner { transform: rotateY(-180deg); }
.ava-flipbook-book.is-flipping-prev .ava-flipbook-turn-sheet.is-turning-left .ava-flipbook-turn-sheet-inner { transform: rotateY(180deg); }
.ava-flipbook-turn-face { backface-visibility: hidden; background: #fff; box-shadow: 0 0 26px rgba(0,0,0,.20); height: 100%; inset: 0; margin: 0; overflow: hidden; position: absolute; }
.ava-flipbook-turn-face--back { transform: rotateY(180deg); }
.ava-flipbook-turn-face.is-empty { background: #f8f8f6; }
.ava-flipbook-turn-face img { display: block; height: 100%; object-fit: contain; width: 100%; }
.ava-flipbook-turn-face::after { background: linear-gradient(90deg, rgba(0,0,0,.23), transparent 24%, transparent 76%, rgba(0,0,0,.15)); content: ''; inset: 0; opacity: .35; pointer-events: none; position: absolute; }
.ava-flipbook-turn-sheet.is-turning-right .ava-flipbook-turn-face { border-radius: 0 5px 5px 0; }
.ava-flipbook-turn-sheet.is-turning-left .ava-flipbook-turn-face { border-radius: 5px 0 0 5px; }

.ava-flipbook-edge { align-items: center; background: rgba(6,46,40,.84); border: 1px solid rgba(255,255,255,.22); border-radius: 50%; box-shadow: 0 8px 24px rgba(0,0,0,.20); color: #fff; cursor: pointer; display: flex; height: 48px; justify-content: center; opacity: .82; position: absolute; top: 50%; transform: translateY(-50%); transition: background .2s ease, opacity .2s ease, transform .2s ease; width: 48px; z-index: 20; }
.ava-flipbook-edge:hover { background: var(--ava-accent); color: #10251f; opacity: 1; transform: translateY(-50%) scale(1.05); }
.ava-flipbook-edge span { align-items: center; display: flex; }
.ava-flipbook-edge--prev { left: 18px; }
.ava-flipbook-edge--next { right: 18px; }
.ava-flipbook-viewport.is-zoomed .ava-flipbook-edge { opacity: 0; pointer-events: none; }

.ava-flipbook-loader { align-items: center; background: rgba(6,46,40,.82); border-radius: 999px; bottom: 18px; color: #fff; display: flex; font-size: 11px; gap: 8px; left: 50%; padding: 7px 12px; position: absolute; transform: translateX(-50%); z-index: 25; }
.ava-flipbook-loader[hidden] { display: none; }
.ava-flipbook-loader span { animation: ava-flip-spin .75s linear infinite; border: 2px solid rgba(255,255,255,.35); border-radius: 50%; border-top-color: #fff; height: 13px; width: 13px; }
.ava-flipbook-loader em { font-style: normal; }
@keyframes ava-flip-spin { to { transform: rotate(360deg); } }
.ava-flipbook-zoom-hint { background: rgba(6,46,40,.84); border-radius: 999px; bottom: 17px; color: rgba(255,255,255,.92); font-size: 10px; left: 50%; opacity: 0; padding: 7px 11px; pointer-events: none; position: absolute; transform: translate(-50%, 8px); transition: opacity .2s ease, transform .2s ease; z-index: 24; }
.ava-flipbook-zoom-hint.is-visible { opacity: 1; transform: translate(-50%, 0); }

.ava-flipbook-caption { align-items: center; color: rgba(255,255,255,.67); display: flex; font-size: 12px; gap: 20px; justify-content: space-between; padding: 15px 5px 0; }
.ava-flipbook-caption strong { color: #fff; font-size: 13px; font-variant-numeric: tabular-nums; }
.ava-flipbook-translation { background: #fff; border-radius: 18px; color: var(--ava-text); margin-top: 16px; max-height: 360px; overflow: auto; padding: clamp(24px,4vw,40px); }
.ava-flipbook-translation[hidden] { display: none; }
.ava-flipbook-translation h3 { font-size: 23px; margin: 7px 0 17px; }
.ava-flipbook-translation [data-flip-text] { color: var(--ava-muted); font-size: 14px; line-height: 1.72; white-space: pre-line; }

/* Floating UI */
.ava-floating-social { bottom: 24px; display: flex; gap: 7px; left: 22px; position: fixed; z-index: 990; }
.ava-floating-social a { align-items: center; border: 3px solid #fff; border-radius: 50%; box-shadow: 0 8px 24px rgba(0,0,0,.18); color: #fff !important; display: flex; font-size: 10px; font-weight: 850; height: 42px; justify-content: center; text-decoration: none !important; transition: transform .2s ease; width: 42px; }
.ava-floating-social a:hover { transform: translateY(-3px); }
.ava-float-wa { background: #24b66c; }
.ava-float-viber { background: #7360f2; }
.ava-float-ig { background: linear-gradient(145deg,#833ab4,#fd1d1d,#fcb045); }
.ava-scroll-top { background: var(--ava-primary); border: 0; border-radius: 50%; bottom: 24px; box-shadow: 0 10px 28px rgba(8,63,53,.26); color: #fff; cursor: pointer; font-size: 19px; height: 46px; opacity: 0; pointer-events: none; position: fixed; right: 22px; transform: translateY(12px); transition: opacity .2s ease, transform .2s ease; width: 46px; z-index: 990; }
.ava-scroll-top.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.ava-cookie-banner { align-items: center; background: rgba(255,255,255,.98); border: 1px solid var(--ava-line); bottom: 18px; box-shadow: 0 22px 70px rgba(6,46,40,.22); display: grid; gap: 24px; grid-template-columns: 1fr auto; left: 50%; max-width: 1120px; padding: 20px 22px; position: fixed; transform: translateX(-50%); transition: opacity .22s ease, transform .22s ease; width: calc(100% - 40px); z-index: 9999; }
.ava-cookie-banner[hidden] { display: none; }
.ava-cookie-banner.is-hiding { opacity: 0; transform: translate(-50%, 15px); }
.ava-cookie-banner strong { color: var(--ava-text); display: block; font-size: 15px; margin-bottom: 5px; }
.ava-cookie-banner p { color: var(--ava-muted); font-size: 12.5px; line-height: 1.55; margin: 0; }
.ava-cookie-actions { align-items: center; display: flex; gap: 13px; }
.ava-cookie-actions > a { color: var(--ava-primary); font-size: 12px; font-weight: 720; white-space: nowrap; }
.ava-cookie-actions .ava-button { min-height: 42px; padding: 0 18px; }

/* Builder fallback */
.ava-vc-row-fallback { box-sizing: border-box; width: 100%; }
.ava-vc-row-contained { margin: 0 auto; max-width: var(--ava-container); padding-left: 28px; padding-right: 28px; }
.ava-vc-column-fallback { width: 100%; }
.ava-vc-text-fallback { color: var(--ava-muted); line-height: 1.75; }
.ava-vc-image { margin: 0; }
.ava-align-center { text-align: center; }
.ava-image-placeholder { align-items: center; background: linear-gradient(145deg,#f2ede2,#fbf8f1); color: var(--ava-accent); display: flex; font-size: 52px; font-weight: 800; height: 100%; justify-content: center; width: 100%; }
.ava-image-placeholder img { height: 42% !important; object-fit: contain !important; opacity: .55; width: 42% !important; }
.ava-image-placeholder--single { min-height: 500px; }

@media (max-width: 1180px) {
    .ava-header-inner { grid-template-columns: 1fr auto auto; gap: 15px; }
    .ava-nav-list { gap: 18px; }
    .ava-button--header { padding: 0 18px; }
    .ava-hero-grid { grid-template-columns: minmax(0,.9fr) minmax(420px,1.1fr); }
    .ava-slider-stage { min-height: 560px; }
    .ava-service-grid, .ava-category-grid, .ava-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .ava-footer-grid { grid-template-columns: 1.3fr 1fr 1fr; }
    .ava-footer-qr { grid-column: 3; }
}

@media (max-width: 960px) {
    .admin-bar .ava-site-header { top: 46px; }
    .ava-header-inner { grid-template-columns: 1fr auto; min-height: 82px; }
    .ava-brand img { height: 58px; width: 58px; }
    .ava-brand-copy strong { font-size: 18px; }
    .ava-menu-toggle { display: block; grid-column: 2; grid-row: 1; }
    .ava-primary-nav { background: #fff; border: 1px solid var(--ava-line); border-radius: 18px; box-shadow: var(--ava-shadow); display: none; grid-column: 1/-1; padding: 14px; position: absolute; right: 24px; top: calc(100% + 8px); width: min(330px, calc(100vw - 40px)); }
    .ava-site-header.is-menu-open .ava-primary-nav { display: block; }
    .ava-nav-list { align-items: stretch; display: grid; gap: 0; }
    .ava-nav-list a { display: block; padding: 12px; }
    .ava-nav-list .sub-menu { border: 0; box-shadow: none; display: block; padding: 0 0 0 15px; position: static; }
    .ava-button--header { display: none; }
    .ava-hero { padding-top: 35px; }
    .ava-hero-grid { grid-template-columns: 1fr; }
    .ava-hero-copy { max-width: 760px; padding-bottom: 0; }
    .ava-slider-stage { min-height: 580px; }
    .ava-service-grid, .ava-category-grid, .ava-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ava-catalog-tools { align-items: stretch; flex-direction: column; }
    .ava-search-field { flex-basis: auto; max-width: 100%; }
    .ava-filter-buttons { justify-content: flex-start; }
    .ava-catalog-cta-inner { grid-template-columns: 1fr; }
    .ava-contact-panel { grid-template-columns: 1fr; }
    .ava-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ava-footer-qr { grid-column: auto; }
    .ava-single-product-grid { grid-template-columns: 1fr; }
    .ava-product-gallery { position: static; }
    .ava-product-details-card { gap: 45px; grid-template-columns: 1fr; }
    .ava-flipbook-book { max-width: calc(100% - 105px); width: min(960px, 106vh, calc(100% - 105px)); }
    .ava-flipbook-book.is-single { width: min(590px, 57vh, calc(100% - 100px)); }
}

@media (max-width: 640px) {
    .ava-container { padding-left: 18px; padding-right: 18px; }
    .ava-brand-copy small { display: none; }
    .ava-brand-copy strong { font-size: 16px; }
    .ava-brand { gap: 10px; }
    .ava-brand img { height: 51px; width: 51px; }
    .ava-header-inner { min-height: 72px; }
    .ava-primary-nav { right: 12px; }
    .ava-hero { padding: 28px 0 48px; }
    .ava-hero-copy h1 { font-size: clamp(40px,13vw,57px); }
    .ava-hero-copy > p { font-size: 17px; }
    .ava-button-row { align-items: stretch; flex-direction: column; }
    .ava-button-row .ava-button { width: 100%; }
    .ava-slider-stage { border-radius: 24px; min-height: 480px; }
    .ava-slide-overlay { padding: 28px 24px 78px; }
    .ava-slider-controls { bottom: 18px; right: 18px; }
    .ava-feature-strip { grid-template-columns: 1fr; }
    .ava-feature-item { min-height: auto; }
    .ava-section-row { padding: 68px 0; }
    .ava-service-grid, .ava-category-grid, .ava-product-grid, .ava-instagram-grid { grid-template-columns: 1fr; }
    .ava-service-card { min-height: auto; }
    .ava-category-media { height: 310px; }
    .ava-product-card-media { height: 365px; }
    .ava-filter-buttons { flex-wrap: nowrap; margin: 0 -18px; overflow-x: auto; padding: 0 18px 8px; }
    .ava-filter-buttons button { flex: 0 0 auto; }
    .ava-catalog-cta { padding: 65px 0; }
    .ava-form-grid { grid-template-columns: 1fr; }
    .ava-form-full { grid-column: auto; }
    .ava-footer-grid { grid-template-columns: 1fr; padding-bottom: 55px; padding-top: 55px; }
    .ava-footer-bottom .ava-container { align-items: flex-start; flex-direction: column; gap: 8px; justify-content: center; }
    .ava-product-gallery-main { min-height: 420px; padding: 16px; }
    .ava-gallery-main-button img { height: 390px; }
    .ava-product-summary h1 { font-size: clamp(37px,11vw,52px); }
    .ava-product-quick-specs { grid-template-columns: 1fr; }
    .ava-product-quick-specs > div + div { border-top: 1px solid var(--ava-line); margin-top: 14px; padding-top: 14px; }
    .ava-product-actions { align-items: stretch; flex-direction: column; }
    .ava-product-actions .ava-button { width: 100%; }
    .ava-flipbook { border-radius: 18px; padding: 9px; }
    .ava-flipbook-fallback { border-radius: 12px; padding: 10px; }
    .ava-flipbook-fallback-note { align-items: flex-start; flex-direction: column; gap: 5px; }
    .ava-flipbook-fallback-note span { text-align: left; }
    .ava-flipbook-fallback-pages { grid-template-columns: 1fr; }
    .ava-flipbook-toolbar { gap: 5px; padding-bottom: 9px; }
    .ava-flipbook-toolbar-group { gap: 4px; }
    .ava-flipbook-toolbar button { border-radius: 8px; height: 34px; min-width: 34px; padding: 0 7px; }
    .ava-flipbook-toolbar-divider, .ava-flipbook-toolbar-group--zoom .ava-flipbook-zoom-value { display: none; }
    .ava-flipbook-toolbar-spacer { display: none; }
    .ava-flipbook-page-jump { height: 34px; margin-right: auto; padding: 0 8px; }
    .ava-flipbook-shell { display: block; }
    .ava-flipbook-thumbnails { border-radius: 12px; bottom: 0; box-shadow: 0 0 50px rgba(0,0,0,.35); left: 0; max-height: 100%; position: absolute; top: 0; width: min(160px, 70vw); }
    .ava-flipbook-thumbnails-list { max-height: calc(100% - 57px); }
    .ava-flipbook-viewport, .ava-flipbook.has-thumbnails-open .ava-flipbook-viewport { border-radius: 12px; min-height: 68vh; }
    .ava-flipbook-book, .ava-flipbook-book.is-single { aspect-ratio: 1308/1651; max-width: calc(100% - 34px); width: min(100%, 58vh); }
    .ava-flipbook-edge { height: 38px; opacity: .9; width: 38px; }
    .ava-flipbook-edge--prev { left: 5px; }
    .ava-flipbook-edge--next { right: 5px; }
    .ava-flipbook-caption { align-items: flex-start; flex-direction: column; gap: 4px; padding-top: 10px; }
    .ava-flipbook-caption span { font-size: 10px; }
    .ava-flipbook-zoom-hint { display: none; }
    .ava-cookie-banner { align-items: stretch; bottom: 10px; gap: 14px; grid-template-columns: 1fr; padding: 17px; width: calc(100% - 20px); }
    .ava-cookie-actions { justify-content: space-between; }
    .ava-floating-social { bottom: 16px; left: 12px; }
    .ava-floating-social a { height: 38px; width: 38px; }
    .ava-scroll-top { bottom: 16px; right: 12px; }
}

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

/* Flipbook layout hardening — v1.0.5
 * Explicit canvas dimensions prevent the main book from collapsing inside
 * WPBakery/theme flex containers while thumbnails continue to render. */
.ava-flipbook-interface { display: block; min-width: 0; }
.ava-flipbook-shell { min-width: 0; width: 100%; }
.ava-flipbook-viewport { min-width: 0; width: 100%; }
.ava-flipbook-canvas {
    flex: 1 1 auto;
    height: 100%;
    min-height: inherit;
    min-width: 0;
    width: 100%;
}
.ava-flipbook-book {
    flex: 0 0 auto;
    max-height: calc(min(78vh, 900px) - 32px);
    opacity: 1;
    visibility: visible;
}
.ava-flipbook-page,
.ava-flipbook-page img {
    opacity: 1;
    visibility: visible;
}
.ava-flipbook.has-initialization-error .ava-flipbook-interface { display: none !important; }
.ava-flipbook.has-initialization-error .ava-flipbook-fallback { display: block !important; }


/* Flipbook stable closed/open layout — v1.0.6
 * The main viewport always occupies the complete catalogue width. The
 * thumbnail column becomes a grid column only while it is open. This avoids
 * the narrow left-aligned page caused by an empty desktop grid column during
 * WPBakery's first layout pass. */
.ava-flipbook-shell {
    display: block !important;
    min-width: 0;
    width: 100%;
}
.ava-flipbook.has-thumbnails-open .ava-flipbook-shell {
    display: grid !important;
    grid-template-columns: 156px minmax(0, 1fr);
}
.ava-flipbook-viewport,
.ava-flipbook.has-thumbnails-open .ava-flipbook-viewport {
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
}
.ava-flipbook:not(.has-thumbnails-open) .ava-flipbook-viewport {
    border-radius: 18px;
}
.ava-flipbook-canvas {
    box-sizing: border-box;
    max-width: 100%;
}

@media (max-width: 640px) {
    .ava-flipbook.has-thumbnails-open .ava-flipbook-shell {
        display: block !important;
    }
    .ava-flipbook-thumbnails {
        bottom: 0;
        left: 0;
        max-height: 100%;
        position: absolute;
        top: 0;
        width: min(160px, 70vw);
    }
}
