/* ---------- WordPress integration ---------- */
.frame>img.fimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.vbg{position:absolute;inset:0;overflow:hidden;container-type:size;z-index:0}
.vbg iframe{position:absolute;top:50%;left:50%;width:max(100cqw,calc(100cqh * 16 / 9));height:max(100cqh,calc(100cqw * 9 / 16));transform:translate(-50%,-50%);border:0;pointer-events:none}
.vbg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vplayer{cursor:pointer}
.vplayer iframe,.vplayer video{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:6;background:#000}
.vplayer.playing .play,.vplayer.playing .vplay{display:none}
.svc .frame,.cap .frame,.case .frame,.pcard .frame{pointer-events:none}

.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:46px}}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.skip-link:focus{clip:auto;clip-path:none;height:auto;width:auto;z-index:100;top:8px;left:8px;background:var(--gold);color:var(--green);padding:10px 16px}

/* menus from Appearance > Menus */
.nav ul.menu{display:flex;gap:clamp(16px,2.4vw,40px);list-style:none;margin:0;padding:0;align-items:center}
.nav ul.right.menu,.nav .right ul.menu{justify-content:flex-end}
.nav .menu-item-has-children{position:relative;padding-block:14px}
.nav .menu-item-has-children>a::after{content:"";width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin:-4px 0 0 4px}
.nav .sub-menu{position:absolute;top:100%;left:-20px;min-width:230px;background:var(--green);border:1px solid var(--gold-faint);padding:12px 0;display:grid;list-style:none;margin:0;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .3s,transform .3s,visibility .3s;z-index:5}
.nav .menu-item-has-children:hover>.sub-menu,.nav .menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.nav .sub-menu a{display:block;padding:9px 20px;font-size:10.5px;letter-spacing:.24em;white-space:nowrap}
.nav .sub-menu a:hover{background:rgba(220,185,97,.08)}
.nav .sub-menu a::after{display:none}
.mobile-menu ul{list-style:none;margin:0;padding:0;display:grid;gap:22px}
.mobile-menu .sub-menu{display:none}

/* generic pages (Elementor or editor) */
.page-shell{padding-top:calc(96px + env(safe-area-inset-top,0px));min-height:60vh}
.page-shell.boxed .entry{max-width:880px;margin:0 auto;padding:clamp(48px,6vw,90px) var(--gutter)}
.entry h1.entry-title{font-family:var(--f-display);text-transform:uppercase;font-size:clamp(44px,6vw,90px);line-height:.92;margin-bottom:28px;text-align:center}
.entry p,.entry li{font-size:15.5px;line-height:1.8}
.entry h2,.entry h3{font-family:var(--f-display);text-transform:uppercase;margin:1.6em 0 .5em}
.entry h2{font-size:32px}.entry h3{font-size:24px}
.entry a{border-bottom:1px solid var(--gold-line)}
.entry img{height:auto}
.entry .wp-block-image,.entry figure{margin:1.6em 0}
.elementor-page .page-shell{padding-top:0}

.pagination{display:flex;justify-content:center;gap:10px;margin-top:56px;flex-wrap:wrap}
.pagination .page-numbers{border:1px solid var(--gold-line);padding:.6em 1em;font-family:var(--f-caps);font-size:12px;letter-spacing:.2em}
.pagination .current{background:var(--gold);color:var(--green)}
.form-msg{border:1px solid var(--gold-line);padding:12px 16px;font-size:13px;margin-top:8px}
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.jpost h3 a:hover,.jpost .more:hover{opacity:.8}
.empty-note{text-align:center;padding:48px var(--gutter);font-size:14px;opacity:.85}
.duo.rev>.frame{order:2}
.mission-hero>.frame{position:absolute;inset:0;z-index:0}
.mission-hero>.frame::before{content:"";position:absolute;inset:0;background:rgba(40,10,10,.55);z-index:1}
.frame-link{display:contents}
.cap .vplayer.playing,.reel .vplayer.playing{z-index:7;pointer-events:auto}
.flabel{display:block;font-size:11px;letter-spacing:.06em;margin-bottom:2px}
.tslide[hidden]{display:none!important}
.quote .tslides .frame{aspect-ratio:16/9;width:100%}
.posts .jpost>a{display:block}
.posts .jpost .frame{aspect-ratio:4/3}
@media (max-width:760px){.duo.rev>.frame{order:-1}}
@media (max-width:1080px){.nav ul.menu{display:none}}
.caps-sec h2{font-size:clamp(36px,3.8vw,58px);overflow-wrap:normal}
.vplayer .play,.vplayer .vplay{position:absolute;z-index:3;inset:0;margin:auto;width:76px;height:76px;padding:0;border-radius:50%;border:1px solid var(--gold-line);display:grid;place-items:center;background:rgba(0,0,0,.3);color:var(--gold);cursor:pointer;transition:background .3s,transform .3s}
.vplayer .vplay{width:48px;height:48px}
.vplayer .play svg{width:22px;height:22px;margin-left:4px}.vplayer .vplay svg{width:14px;height:14px;margin-left:2px}
.vplayer:hover .play,.vplayer:hover .vplay{background:rgba(0,0,0,.5);transform:scale(1.05)}
.elementor-zone{background:var(--green)}
.elementor-zone:empty{display:none}
.nav .logo .logo-img{height:92px;width:auto;max-width:none;margin-block:-8px}
.site-footer .logo .logo-img{height:120px;width:auto;margin-left:-14px}
@media (max-width:1080px){.nav .logo .logo-img{height:72px;margin-block:-4px}}

/* ---------- Areia (sand) sections: Epic Green text ---------- */
.mission,.why,.t-wine,.contact .form-side{color:var(--egreen)}
.mission-hero::after{opacity:.18}
.why .btn,.t-wine .btn,.contact .form-side .btn{color:var(--egreen);border-color:var(--egreen-line)}
.why .btn:hover,.t-wine .btn:hover,.contact .form-side .btn:hover{background:var(--egreen);color:var(--sand);border-color:var(--egreen)}
.why .text::before{background:var(--egreen-line)}
.why .media h2{text-shadow:0 1px 20px rgba(230,218,195,.55)}
.contact .form-side input[type=email],.contact .form-side input[type=text]{border-bottom-color:var(--egreen-line);color:var(--egreen)}
.contact .form-side input::placeholder{color:rgba(1,30,26,.45)}
.why .check input,.t-wine .check input,.contact .form-side .check input{border-color:var(--egreen-line)}
.contact .form-side .check input:checked{background:var(--egreen)}
.t-wine .list-lines,.t-wine .list-lines li{border-color:rgba(1,30,26,.2)}
.t-wine .form-msg,.contact .form-side .form-msg{border-color:var(--egreen-line)}
.mission-hero>.frame::before{background:rgba(230,218,195,.6)}
.mission-hero h2{text-shadow:none;filter:drop-shadow(0 1px 0 rgba(255,255,255,.6))}
