/* =====================================================================
   Ajara Agro Tourism — additional styles for the new features
   (loaded after style.css, so the original design tokens still apply)
   ===================================================================== */

/* ---------- notice bar ---------- */
.notice-bar{background:var(--turmeric); color:#2b1f06; text-align:center; font-size:.92rem; font-weight:600; padding:8px 18px;}
.skip-link{position:absolute; left:-9999px; top:0; background:var(--forest-dark); color:#fff; padding:10px 16px; z-index:200;}
.skip-link:focus{left:8px; top:8px;}

/* ---------- header tweaks (more menu items + lang switch) ---------- */
.nav-links{gap:22px;}
.nav-links a{font-size:.95rem;}
.lang-switch{display:flex; align-items:center; gap:6px; font-size:.88rem; font-weight:600; color:#7d856e;}
.lang-switch a{text-decoration:none; color:#7d856e; padding:4px 6px; border-radius:3px;}
.lang-switch a.on{color:var(--rust); background:rgba(122,59,46,.09);}
.btn-wa{background:#1FA855; color:#fff; display:inline-flex; align-items:center; gap:8px;}
.btn-wa:hover{background:#178a45;}
.header-cta{gap:14px;}
@media (max-width:1180px){ .nav-links{gap:14px;} .nav-links a{font-size:.9rem;} .header-cta .btn span{display:none;} }
@media (max-width:1024px){
  .nav-links{position:absolute; top:100%; left:0; right:0; background:var(--ivory); flex-direction:column; gap:0; max-height:0; overflow:hidden; border-bottom:1px solid rgba(38,48,31,.12); transition:max-height .25s ease; z-index:60;}
  .nav-links.open{max-height:620px; overflow:auto;}
  .nav-links li{width:100%;}
  .nav-links a{display:block; padding:14px 28px; font-size:1rem;}
  .nav-links a.active::after{display:none;}
  .nav-toggle{display:block;}
  .header-cta .btn-primary{display:none;}
}
@media (max-width:560px){ .lang-switch{font-size:.8rem;} .btn-wa span{display:none;} }

/* ---------- video hero ---------- */
.video-hero{position:relative; overflow:hidden; background:var(--forest-dark); color:#fff; padding:0;}
.video-hero .vh-media{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.55;}
.video-hero .vh-media iframe{width:100%; height:100%; border:0; object-fit:cover;}
.video-hero .vh-inner{position:relative; z-index:2; padding:110px 0 96px; max-width:760px;}
.video-hero h1{color:#fff; text-shadow:0 2px 18px rgba(0,0,0,.45);}
.video-hero p{color:#eae4d6; text-shadow:0 1px 10px rgba(0,0,0,.4);}
.video-hero .hero-eyebrow{color:#f0c477;}
.vh-play{position:absolute; right:34px; bottom:34px; z-index:3;}
.vh-play button{background:rgba(255,255,255,.92); border:0; border-radius:40px; padding:12px 22px; font-weight:700; cursor:pointer; display:flex; align-items:center; gap:10px; color:var(--forest-dark); font-family:inherit; font-size:.95rem;}
.vh-play button:hover{background:#fff;}
@media (max-width:700px){ .video-hero .vh-inner{padding:70px 0 60px;} .vh-play{right:14px; bottom:14px;} .vh-play button span{display:none;} }

/* ---------- placeholder badge ---------- */
.ph-badge{display:inline-block; background:#fff3cd; color:#8a6d00; border:1px dashed #d8b400; font-size:.72rem; font-weight:700; padding:2px 8px; border-radius:20px; margin-left:8px; vertical-align:middle;}

/* ---------- room cards ---------- */
.room-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:30px;}
@media (max-width:1000px){.room-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:680px){.room-grid{grid-template-columns:1fr;}}
.room-card{background:var(--paper); border:1px solid rgba(38,48,31,.12); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column;}
.room-card .rc-media{position:relative; aspect-ratio:4/3; background:repeating-linear-gradient(135deg,#dcd2b4 0 14px,#d0c5a2 14px 28px);}
.room-card .rc-media img{width:100%; height:100%; object-fit:cover;}
.room-card .rc-media .ph{display:flex; align-items:flex-end; height:100%;}
.room-card .rc-media .ph span{background:rgba(38,48,31,.82); color:var(--ivory); font-size:.82rem; padding:7px 11px; margin:12px; border-radius:2px;}
.room-card .rc-body{padding:22px 22px 24px; display:flex; flex-direction:column; flex:1;}
.room-card h3{margin-bottom:6px;}
.rc-meta{color:#5a6350; font-size:.9rem; margin-bottom:12px;}
.rc-price{font-family:'Fraunces',serif; font-size:1.5rem; color:var(--rust); margin-bottom:14px;}
.rc-price small{font-family:'Work Sans',sans-serif; font-size:.8rem; color:#6b7359; font-weight:500;}
.rc-amen{list-style:none; margin:0 0 18px; padding:0; display:flex; flex-wrap:wrap; gap:8px;}
.rc-amen li{background:var(--ivory-deep); border-radius:20px; padding:4px 12px; font-size:.82rem;}
.room-card .btn{margin-top:auto; text-align:center;}
.rc-thumbs{display:flex; gap:8px; margin-top:12px;}
.rc-thumbs img{width:64px; height:48px; object-fit:cover; border-radius:3px; cursor:pointer;}

/* ---------- gallery + lightbox ---------- */
.gal-filters{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:26px;}
.gal-filters button{background:transparent; border:1px solid rgba(38,48,31,.25); border-radius:30px; padding:8px 18px; cursor:pointer; font-family:inherit; font-size:.9rem; font-weight:600; color:var(--forest-dark);}
.gal-filters button.on{background:var(--forest-dark); color:var(--ivory); border-color:var(--forest-dark);}
.gal-item{position:relative; overflow:hidden; border-radius:var(--radius); cursor:zoom-in; background:#e4dcc4; aspect-ratio:4/3;}
.gal-item.tall{grid-row:span 2; aspect-ratio:auto;}
.gal-item img{width:100%; height:100%; object-fit:cover; transition:transform .4s ease;}
.gal-item:hover img{transform:scale(1.05);}
.gal-item .ph{height:100%; display:flex; align-items:flex-end; background-image:repeating-linear-gradient(135deg,var(--tile-a,#e4dcc4) 0 14px,var(--tile-b,#dcd2b4) 14px 28px);}
.gal-item .ph span{background:rgba(38,48,31,.82); color:var(--ivory); font-size:.85rem; padding:8px 12px; margin:12px; border-radius:2px;}
.gal-item .zoom-ic{position:absolute; right:10px; top:10px; width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.9); display:flex; align-items:center; justify-content:center; font-size:1rem; color:var(--forest-dark); opacity:0; transition:opacity .2s;}
.gal-item:hover .zoom-ic{opacity:1;}

.lightbox{position:fixed; inset:0; background:rgba(18,24,14,.94); z-index:300; display:none; align-items:center; justify-content:center; padding:24px;}
.lightbox.open{display:flex;}
.lightbox img{max-width:min(1200px,94vw); max-height:84vh; border-radius:4px; box-shadow:0 24px 60px rgba(0,0,0,.6);}
.lightbox .lb-cap{position:absolute; bottom:22px; left:0; right:0; text-align:center; color:#e7e0cf; font-size:.95rem;}
.lightbox .lb-btn{position:absolute; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.35); color:#fff; width:48px; height:48px; border-radius:50%; font-size:1.4rem; cursor:pointer; display:flex; align-items:center; justify-content:center;}
.lightbox .lb-btn:hover{background:rgba(255,255,255,.28);}
.lb-close{top:22px; right:22px;}
.lb-prev{left:20px; top:50%; transform:translateY(-50%);}
.lb-next{right:20px; top:50%; transform:translateY(-50%);}
.lb-count{position:absolute; top:26px; left:26px; color:#cfd6c4; font-size:.9rem;}

/* ---------- video cards ---------- */
.video-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
@media (max-width:900px){.video-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:620px){.video-grid{grid-template-columns:1fr;}}
.video-card{background:var(--paper); border:1px solid rgba(38,48,31,.12); border-radius:var(--radius); overflow:hidden;}
.video-card .vc-media{position:relative; aspect-ratio:16/9; background:#1d2418; cursor:pointer;}
.video-card .vc-media img, .video-card .vc-media video{width:100%; height:100%; object-fit:cover;}
.video-card .vc-play{position:absolute; inset:0; display:flex; align-items:center; justify-content:center;}
.video-card .vc-play span{width:58px; height:58px; border-radius:50%; background:rgba(255,255,255,.9); display:flex; align-items:center; justify-content:center; font-size:1.3rem; color:var(--forest-dark);}
.video-card .vc-body{padding:16px 18px 20px;}
.video-card h3{font-size:1.08rem; margin:0 0 4px;}
.video-card p{font-size:.9rem; color:#5a6350; margin:0;}

/* ---------- offers ---------- */
.offer-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
@media (max-width:960px){.offer-grid{grid-template-columns:1fr;}}
.offer-card{background:var(--paper); border-radius:var(--radius); overflow:hidden; border:1px solid rgba(38,48,31,.12); display:flex; flex-direction:column;}
.offer-card .oc-top{background:var(--forest); color:var(--ivory); padding:20px 22px;}
.offer-card .oc-top h3{color:var(--ivory); margin:0 0 4px;}
.offer-card .oc-season{font-size:.82rem; letter-spacing:.04em; text-transform:uppercase; color:#f0c477; font-weight:700;}
.offer-card .oc-body{padding:22px; flex:1; display:flex; flex-direction:column;}
.offer-card .oc-badge{align-self:flex-start; background:var(--turmeric); color:#2b1f06; font-weight:700; font-size:.85rem; padding:5px 14px; border-radius:20px; margin-bottom:14px;}
.offer-card .oc-valid{font-size:.85rem; color:#6b7359; margin-top:auto;}

/* ---------- FAQ accordion ---------- */
.faq-list{max-width:820px;}
.faq-item{border-bottom:1px solid rgba(38,48,31,.15);}
.faq-q{width:100%; background:none; border:0; text-align:left; padding:22px 44px 22px 0; font-family:'Fraunces',serif; font-size:1.12rem; color:var(--forest-dark); cursor:pointer; position:relative; font-weight:500;}
.faq-q::after{content:"+"; position:absolute; right:8px; top:50%; transform:translateY(-50%); font-size:1.5rem; color:var(--rust); font-family:'Work Sans',sans-serif;}
.faq-item.open .faq-q::after{content:"–";}
.faq-a{max-height:0; overflow:hidden; transition:max-height .28s ease;}
.faq-a-inner{padding:0 40px 24px 0; color:#414a33;}
.faq-item.open .faq-a{max-height:900px;}

/* ---------- calendar ---------- */
.cal-wrap{display:grid; grid-template-columns:1.35fr 1fr; gap:44px; align-items:start;}
@media (max-width:900px){.cal-wrap{grid-template-columns:1fr; gap:30px;}}
.cal-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; gap:12px;}
.cal-head h3{margin:0; font-size:1.35rem;}
.cal-nav{display:flex; gap:8px;}
.cal-nav a{width:40px; height:40px; border-radius:50%; border:1px solid rgba(38,48,31,.25); display:flex; align-items:center; justify-content:center; text-decoration:none; font-size:1.1rem; color:var(--forest-dark);}
.cal-nav a:hover{background:var(--forest-dark); color:var(--ivory);}
.cal-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:6px;}
.cal-dow{text-align:center; font-size:.78rem; font-weight:700; color:#6b7359; text-transform:uppercase; padding-bottom:4px;}
.cal-day{aspect-ratio:1; border-radius:3px; display:flex; align-items:center; justify-content:center; font-size:.95rem; border:1px solid rgba(38,48,31,.12); background:var(--paper);}
.cal-day.free{background:#eaf3e3; border-color:#c3dcb2; color:#2c4a22;}
.cal-day.booked{background:#f6ded9; border-color:#e3bdb4; color:#8a3a2a; text-decoration:line-through;}
.cal-day.hold{background:#fdf0d3; border-color:#e8d29b; color:#8a6a12;}
.cal-day.past{background:transparent; color:#b3b8a8; border-color:rgba(38,48,31,.07);}
.cal-day.empty{background:transparent; border:0;}
.cal-day.today{outline:2px solid var(--turmeric);}
.cal-legend{display:flex; flex-wrap:wrap; gap:16px; margin-top:18px; font-size:.88rem; color:#5a6350;}
.cal-legend i{display:inline-block; width:14px; height:14px; border-radius:3px; margin-right:6px; vertical-align:-2px;}
.avail-panel{background:var(--ivory-deep); border-radius:var(--radius); padding:26px;}
.avail-panel h3{margin-top:0;}
.avail-panel ul{list-style:none; margin:0 0 18px; padding:0; display:flex; flex-direction:column; gap:10px; font-size:.95rem;}
.avail-panel li strong{color:var(--rust);}

/* ---------- reviews ---------- */
.review-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
@media (max-width:900px){.review-grid{grid-template-columns:1fr;}}
.review-card{background:var(--paper); border:1px solid rgba(38,48,31,.12); border-radius:var(--radius); padding:24px;}
.review-card .stars{color:var(--turmeric); font-size:1rem; letter-spacing:2px;}
.review-card p{font-size:.98rem; color:#414a33;}
.review-card cite{font-style:normal; font-weight:600; font-size:.88rem; color:var(--rust); display:block; margin-top:10px;}
.review-card .rv-src{font-size:.78rem; color:#7d856e;}
.gbadge{display:flex; align-items:center; gap:14px; background:var(--paper); border:1px solid rgba(38,48,31,.14); border-radius:var(--radius); padding:16px 20px; margin-bottom:26px;}
.gbadge .gb-score{font-family:'Fraunces',serif; font-size:2rem; color:var(--forest-dark); line-height:1;}
.gbadge small{display:block; color:#6b7359;}

/* ---------- contact page extras ---------- */
.contact-quick{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:30px;}
@media (max-width:760px){.contact-quick{grid-template-columns:1fr;}}
.quick-card{background:var(--paper); border:1px solid rgba(38,48,31,.14); border-radius:var(--radius); padding:18px; text-decoration:none; color:var(--ink);}
.quick-card strong{display:block; color:var(--forest-dark); margin-bottom:4px;}
.quick-card span{font-size:.9rem; color:#5a6350;}
.quick-card:hover{border-color:var(--rust);}
.form-note{font-size:.85rem; color:#6b7359;}
.hp-field{position:absolute !important; left:-9999px !important;}
.alert{border-radius:var(--radius); padding:14px 18px; margin-bottom:22px; font-size:.95rem;}
.alert-ok{background:#e6f2df; border:1px solid #bcd9a8; color:#2c4a22;}
.alert-err{background:#fbe6e2; border:1px solid #e6bdb5; color:#8a3a2a;}

/* ---------- sticky mobile bar + floating whatsapp ---------- */
.wa-float{position:fixed; right:20px; bottom:22px; z-index:120; background:#25D366; color:#fff; border-radius:40px; padding:13px 20px; display:flex; align-items:center; gap:10px; text-decoration:none; font-weight:700; box-shadow:0 10px 26px rgba(0,0,0,.25); font-size:.95rem;}
.wa-float svg{width:22px; height:22px;}
.wa-float:hover{background:#1eb455;}
.mobile-bar{display:none;}
@media (max-width:760px){
  .mobile-bar{display:grid; grid-template-columns:repeat(3,1fr); position:fixed; left:0; right:0; bottom:0; z-index:130; background:var(--forest-dark); border-top:1px solid rgba(255,255,255,.14);}
  .mobile-bar a{color:#e6ecdd; text-decoration:none; font-size:.72rem; font-weight:600; text-align:center; padding:9px 4px 8px; display:flex; flex-direction:column; align-items:center; gap:3px;}
  .mobile-bar a svg{width:20px; height:20px;}
  .wa-float{bottom:74px; right:14px; padding:12px;}
  .wa-float .wa-float-label{display:none;}
  body{padding-bottom:58px;}
}

/* ---------- misc blocks ---------- */
.breadcrumb{font-size:.85rem; color:#6b7359; padding:18px 0 0;}
.breadcrumb a{color:#6b7359; text-decoration:none;}
.breadcrumb a:hover{color:var(--rust);}
.section-head p.center, .center{text-align:center;}
.note-box{background:var(--ivory-deep); border-left:3px solid var(--turmeric); padding:16px 20px; font-size:.93rem; border-radius:3px;}
.badge-row{display:flex; flex-wrap:wrap; gap:10px; margin:18px 0;}
.badge-row span{background:var(--paper); border:1px solid rgba(38,48,31,.16); border-radius:20px; padding:6px 14px; font-size:.86rem;}
.stat-strip{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center;}
@media (max-width:760px){.stat-strip{grid-template-columns:repeat(2,1fr);}}
.stat-strip strong{display:block; font-family:'Fraunces',serif; font-size:1.9rem; color:var(--forest-dark);}
.stat-strip span{font-size:.9rem; color:#5a6350;}
.two-col{display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:start;}
@media (max-width:820px){.two-col{grid-template-columns:1fr;}}
.cta-band .cta-sub{color:#f0e2d8; margin:6px 0 0; font-size:.95rem;}
.cta-band .cta-actions{display:flex; gap:12px; flex-wrap:wrap;}
.cta-band .btn-wa{background:#25D366;}
@media print{ .wa-float,.mobile-bar,.site-header,.cta-band{display:none !important;} }
