/* Farm tourism visual layer over the home template assets. */
:root { --leaf:#275d38; --deep:#12321f; --field:#d7a947; --sun:#f3c95c; --soil:#51351f; --cream:#fffaf0; --mist:#eef4ec; }
body { font-family: "Segoe UI", Arial, sans-serif; color:#263126; background:#fff; }
.farm-hero { min-height:92vh; position:relative; color:#fff; overflow:hidden; display:flex; flex-direction:column; background:url('/template_home/assets/images/banner1.jpeg') center/cover no-repeat; }
.farm-hero:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(16,45,28,.82), rgba(16,45,28,.35)); }
.farm-nav { position:relative; z-index:2; flex:0 0 auto; padding:14px 5vw; background:linear-gradient(90deg, rgba(11,41,24,.92), rgba(39,93,56,.76)); box-shadow:0 16px 42px rgba(12,35,21,.2); }
.farm-brand { display:flex; align-items:center; padding:0; }
.farm-brand img { display:block; width:auto; height:58px; max-width:190px; object-fit:contain; filter:drop-shadow(0 6px 14px rgba(0,0,0,.24)); }
.farm-nav .navbar-nav { align-items:center; gap:6px; }
.farm-nav .nav-link { color:#fff !important; font-weight:800; border-radius:4px; padding:10px 14px !important; position:relative; transition:background .2s ease, color .2s ease, transform .2s ease; }
.farm-nav .nav-link:hover, .farm-nav .nav-link.active { background:rgba(255,255,255,.16); color:var(--sun) !important; transform:translateY(-1px); text-decoration:none; }
.farm-nav .nav-feedback { background:var(--field); color:#1c241b !important; box-shadow:0 8px 20px rgba(215,169,71,.28); }
.farm-nav .nav-feedback:hover, .farm-nav .nav-feedback.active { background:#fff; color:var(--leaf) !important; }
.navbar-dark .navbar-toggler { border-color:rgba(255,255,255,.55); padding:8px 10px; }
.farm-nav.nav-fixed { position:fixed; top:0; left:0; right:0; z-index:1030; animation:farmNavSlideDown .25s ease; }
@keyframes farmNavSlideDown { from { transform:translateY(-100%); } to { transform:translateY(0); } }
.hero-copy { position:relative; z-index:2; flex:1 1 auto; display:flex; flex-direction:column; justify-content:center; max-width:780px; margin-left:6vw; padding:6vh 0; }
.hero-copy h1 { font-size:clamp(2.4rem, 6vw, 5.4rem); line-height:1.05; font-weight:800; letter-spacing:-.01em; margin-bottom:20px; }
.hero-copy p { font-size:1.2rem; max-width:620px; margin-bottom:28px; }
.eyebrow { display:inline-block; margin-bottom:14px; text-transform:uppercase; color:var(--field); font-weight:800; letter-spacing:.08em; }
.btn-farm { background:var(--field); border-color:var(--field); color:#1c241b; font-weight:800; border-radius:4px; padding:12px 22px; }
.section-band { padding:78px 0; }
.section-band.muted { background:var(--mist); }
.section-band h2, .farm-footer h2 { color:var(--leaf); font-weight:800; margin-bottom:24px; }
.mini-card { background:#fff; border:1px solid #dfe7dc; border-radius:8px; padding:24px; min-height:190px; margin-bottom:16px; box-shadow:0 10px 24px rgba(39,93,56,.08); }
.mini-card h3 { color:var(--soil); font-size:1.25rem; font-weight:800; }
.service-tile { text-align:center; padding:22px 10px; color:var(--leaf); font-weight:800; }
.service-tile i { display:block; font-size:2.2rem; margin-bottom:10px; color:var(--field); }
.youtube-box { border-radius:8px; overflow:hidden; box-shadow:0 16px 34px rgba(39,93,56,.18); }
.gallery-carousel { margin-bottom:26px; border-radius:8px; overflow:hidden; box-shadow:0 18px 40px rgba(39,93,56,.16); background:#12321f; }
.gallery-slide { display:block; position:relative; width:100%; height:440px; border:0; padding:0; overflow:hidden; background:#12321f; color:#fff; cursor:pointer; text-align:left; }
.gallery-slide img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.gallery-slide:hover img { transform:scale(1.03); }
.gallery-slide span { position:absolute; left:0; right:0; bottom:0; padding:34px 38px; background:linear-gradient(0deg, rgba(11,41,24,.9), rgba(11,41,24,0)); font-size:1rem; }
.gallery-slide strong { display:block; font-size:1.55rem; margin-bottom:4px; color:#fff; }
.gallery-carousel .carousel-indicators li { width:10px; height:10px; border-radius:50%; }
.image-popup-modal .modal-content { border:0; border-radius:8px; overflow:hidden; }
.image-popup-modal .modal-header { background:var(--deep); color:#fff; align-items:center; }
.image-popup-modal .modal-title { font-weight:900; }
.image-popup-modal .close { color:#fff; opacity:1; text-shadow:none; }
.image-popup-modal .modal-body { padding:0; background:#111; }
.image-popup-modal img { display:block; width:100%; max-height:74vh; object-fit:contain; }
.map-embed { width:100%; aspect-ratio:4 / 3; border-radius:8px; overflow:hidden; box-shadow:0 16px 34px rgba(39,93,56,.16); }
.map-embed iframe { width:100%; height:100%; border:0; display:block; }
.farm-footer { background:linear-gradient(135deg, var(--deep), var(--leaf)); color:#fff; padding:54px 0 32px; }
.farm-footer h2, .farm-footer h3 { color:#fff; }
.farm-footer h3 { font-size:1rem; font-weight:900; text-transform:uppercase; margin-bottom:16px; color:var(--sun); }
.consent-copy { color:#edf7e9; font-size:.95rem; margin-top:12px; }
.consent-copy.dark { color:#566352; }
.footer-top { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:28px; margin-bottom:30px; border-bottom:1px solid rgba(255,255,255,.16); }
.footer-brand img { height:66px; max-width:220px; object-fit:contain; filter:drop-shadow(0 8px 18px rgba(0,0,0,.25)); }
.footer-signup { background:#fff; border-radius:8px; padding:18px 24px; flex:1 1 auto; max-width:640px; margin:0 24px; box-shadow:0 10px 24px rgba(0,0,0,.16); }
.footer-signup-title { color:var(--soil); font-weight:800; text-align:center; margin-bottom:12px; }
.footer-signup-message { text-align:center; font-weight:700; margin-bottom:12px; }
.footer-signup-message-success { color:var(--leaf); }
.footer-signup-message-warning, .footer-signup-message-danger { color:#b3261e; }
.footer-signup-fields { gap:10px; }
.footer-signup-fields .form-control { border-radius:4px; border:1px solid #cdd9c9; background:var(--mist); color:#263126; min-height:46px; padding:10px 14px; transition:border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.footer-signup-fields .form-control::placeholder { color:#7c8b78; }
.footer-signup-fields .form-control:focus { border-color:var(--leaf); box-shadow:0 0 0 3px rgba(39,93,56,.15); background:#fff; outline:none; }
.btn-footer-signup { background:var(--field); border:0; color:#1c241b; font-weight:900; letter-spacing:.04em; border-radius:4px; padding:10px 22px; white-space:nowrap; box-shadow:0 8px 20px rgba(215,169,71,.28); }
.btn-footer-signup:hover { background:#fff; color:var(--leaf); text-decoration:none; }
.footer-menu-row { row-gap:28px; }
.footer-menu a { display:block; color:#f6fff0; margin-bottom:10px; font-weight:650; }
.footer-menu a:hover { color:var(--sun); text-decoration:none; }
.social-icons { display:flex; flex-wrap:wrap; gap:10px; }
.social-icons a { width:42px; height:42px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:#fff; background:rgba(255,255,255,.12); font-size:1.35rem; margin:0; }
.social-icons a:hover { background:var(--field); color:#1c241b; }
.footer-note { color:#dbeada; margin:30px 0 0; font-size:.95rem; }
.feedback-hero { min-height:56vh; position:relative; color:#fff; overflow:hidden; 
  background:url('/template_home/assets/images/EDJG_FBShare3.png') center/cover no-repeat; }
.feedback-hero:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(11,41,24,.83), rgba(11,41,24,.18)); }
.feedback-hero .farm-nav, .feedback-hero-copy { position:relative; z-index:2; }
.feedback-hero-copy { padding-top:12vh; max-width:760px; }
.feedback-hero-copy h1 { font-size:clamp(2.35rem, 5vw, 4.8rem); font-weight:900; line-height:1; letter-spacing:0; }
.feedback-hero-copy p { max-width:650px; font-size:1.18rem; }
.simple-page-hero { min-height:38vh; position:relative; color:#fff; overflow:hidden; background:linear-gradient(135deg, var(--deep), var(--leaf)); }
.simple-page-copy { padding-top:8vh; }
.simple-page-copy h1 { font-size:clamp(2.35rem, 5vw, 4.5rem); font-weight:900; line-height:1; letter-spacing:0; }
.privacy-hero { min-height:48vh; position:relative; color:#fff; overflow:hidden; background:url('/template_home/assets/images/feedback_banner.png') center/cover no-repeat; }
.privacy-hero:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(11,41,24,.84), rgba(11,41,24,.24)); }
.privacy-hero .farm-nav, .privacy-hero-copy { position:relative; z-index:2; }
.privacy-hero-copy { padding-top:10vh; max-width:780px; }
.privacy-hero-copy h1 { font-size:clamp(2.35rem, 5vw, 4.8rem); font-weight:900; line-height:1; letter-spacing:0; }
.privacy-hero-copy p { max-width:650px; font-size:1.16rem; }
.awards-hero { min-height:52vh; position:relative; color:#fff; overflow:hidden; background:url('/template_home/assets/images/feedback_banner.png') center/cover no-repeat; }
.awards-hero:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(11,41,24,.84), rgba(11,41,24,.2)); }
.awards-hero .farm-nav, .awards-hero-copy { position:relative; z-index:2; }
.awards-hero-copy { padding-top:11vh; max-width:790px; }
.awards-hero-copy h1 { font-size:clamp(2.35rem, 5vw, 4.8rem); font-weight:900; line-height:1; letter-spacing:0; }
.awards-hero-copy p { max-width:650px; font-size:1.16rem; }
.feedback-page { background:linear-gradient(180deg, #fff, var(--mist)); }
.awards-page { background:linear-gradient(180deg, #fff, var(--mist)); }
.booking-hero { min-height:52vh; position:relative; color:#fff; overflow:hidden; background:url('/template_home/assets/images/hero-area.jpg') center/cover no-repeat; }
.booking-hero:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(11,41,24,.84), rgba(11,41,24,.2)); }
.booking-hero .farm-nav { position:relative; z-index:2; }
.room-info-card { background:#fff; border:1px solid #dfe7dc; border-radius:8px; padding:24px; height:100%; box-shadow:0 10px 24px rgba(39,93,56,.08); }
.room-info-card h3 { color:var(--soil); font-size:1.2rem; font-weight:800; margin-bottom:2px; }
.room-info-type { color:var(--leaf); font-weight:700; font-size:.85rem; text-transform:uppercase; letter-spacing:.04em; margin-bottom:10px; }
.room-info-meta { list-style:none; padding:0; margin:12px 0 0; }
.room-info-meta li { color:#314231; font-weight:700; margin-bottom:6px; }
.room-info-meta i { color:var(--field); margin-right:6px; }
.room-scale { display:flex; flex-wrap:wrap; gap:10px; margin-top:6px; }
.room-option { position:relative; cursor:pointer; margin:0; flex:1 1 200px; }
.room-option input { position:absolute; opacity:0; width:1px; height:1px; }
.room-option span { display:block; padding:12px 16px; border-radius:8px; border:2px solid #cdd9c9; background:var(--mist); font-weight:800; color:#314231; transition:border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.room-option span small { display:block; font-weight:600; color:#5c6b58; margin-top:2px; }
.room-option:hover span { border-color:var(--leaf); }
.room-option input:checked + span { border-color:var(--leaf); background:#fff; box-shadow:0 8px 18px rgba(39,93,56,.16); }
.room-scale.is-invalid .room-option span { border-color:#c1622d; }
.terms-box { max-height:260px; overflow-y:auto; border:1px solid #cdd9c9; border-radius:6px; padding:16px 18px; background:var(--mist); font-size:.92rem; color:#3e4d3d; margin-bottom:14px; }
.terms-box h4 { color:var(--leaf); font-weight:800; font-size:1rem; margin:14px 0 6px; }
.terms-box h4:first-child { margin-top:0; }
.terms-box p { margin-bottom:10px; line-height:1.6; }
.terms-box ul { padding-left:20px; margin-bottom:10px; }
.terms-box li { margin-bottom:8px; line-height:1.55; }
.award-tile { display:block; width:100%; min-height:255px; padding:0; border:1px solid #dfe7dc; border-radius:8px; overflow:hidden; background:#fff; text-align:left; box-shadow:0 14px 30px rgba(39,93,56,.12); cursor:pointer; transition:transform .2s ease, box-shadow .2s ease; }
.award-tile:hover { transform:translateY(-4px); box-shadow:0 22px 42px rgba(39,93,56,.18); }
.award-tile img { width:100%; height:178px; object-fit:cover; display:block; }
.award-tile h4 { margin:0; padding:18px; min-height:76px; color:var(--leaf); font-size:1.1rem; font-weight:900; line-height:1.25; }
.policy-page { background:var(--mist); }
.policy-content { background:#fff; border:1px solid #dfe7dc; border-radius:8px; padding:32px; box-shadow:0 16px 36px rgba(39,93,56,.12); }
.policy-content h2 { color:var(--leaf); font-weight:900; }
.policy-content p { color:#3e4d3d; font-size:1.05rem; line-height:1.75; }
.feedback-intro h2 { color:var(--leaf); font-weight:900; }
.feedback-contact-box { margin-top:24px; padding:20px; border-left:5px solid var(--field); background:#fff; box-shadow:0 14px 30px rgba(39,93,56,.1); border-radius:6px; }
.feedback-contact-box strong, .feedback-contact-box a { display:block; }
.feedback-contact-box a { margin-top:8px; color:var(--leaf); font-weight:900; }
.feedback-contact-box a .lni-whatsapp { margin-right:6px; color:#25d366; }
.feedback-form-panel { background:#fff; border:1px solid #dfe7dc; border-radius:8px; padding:28px; box-shadow:0 18px 42px rgba(39,93,56,.14); }
.feedback-form-panel label { font-weight:800; color:#314231; margin:0 0 7px; }
.feedback-form-panel .form-control { margin-bottom:18px; border-radius:4px; border-color:#cdd9c9; min-height:46px; }
.feedback-form-panel textarea.form-control { min-height:128px; }
.choice-line { display:block; margin:4px 0 8px; font-weight:700; color:#314231; }
.choice-line input { margin-right:8px; }
.rating-scale { display:flex; flex-wrap:wrap; gap:10px; margin:-4px 0 18px; }
.rating-option { position:relative; cursor:pointer; margin:0; }
.rating-option input { position:absolute; opacity:0; width:1px; height:1px; }
.rating-option span { display:inline-block; padding:10px 20px; border-radius:30px; font-weight:800; font-size:.92rem; border:2px solid transparent; opacity:.55; transition:transform .15s ease, box-shadow .15s ease, opacity .15s ease; }
.rating-option:hover span { opacity:.85; transform:translateY(-1px); }
.rating-option input:focus-visible + span { outline:2px solid var(--leaf); outline-offset:2px; }
.rating-option input:checked + span { opacity:1; box-shadow:0 8px 18px rgba(0,0,0,.18); transform:translateY(-1px); border-color:rgba(0,0,0,.1); }
.rating-low span { background:#e8573f; color:#fff; }
.rating-good span { background:var(--field); color:#1c241b; }
.rating-very-good span { background:#7ba989; color:#0d2216; }
.rating-excellent span { background:var(--leaf); color:#fff; }
.feedback-form-panel .form-control.is-invalid { border-color:#c1622d; border-left:4px solid #c1622d; background:#fdf4ee; }
.choice-line.is-invalid { border-left:4px solid #c1622d; background:#fdf4ee; color:#8a3f1c; border-radius:0 4px 4px 0; padding:8px 10px; margin:4px 0 8px; }
@media (max-width: 767px) {
  .farm-nav { padding:10px 16px; background:rgba(11,41,24,.95); }
  .farm-brand img { height:46px; max-width:150px; }
  .farm-nav .navbar-collapse { background:#12321f; border-radius:8px; margin-top:12px; padding:10px; box-shadow:0 14px 30px rgba(0,0,0,.24); }
  .farm-nav .navbar-nav { align-items:stretch; gap:4px; }
  .farm-nav .nav-link { padding:12px 14px !important; }
  .hero-copy { margin-left:0; padding:8vh 20px; }
  .farm-hero { min-height:86vh; }
  .section-band { padding:52px 0; }
  .gallery-slide { height:300px; }
  .gallery-slide span { padding:48px 20px 24px; }
  .gallery-slide strong { font-size:1.25rem; }
  .footer-top { align-items:flex-start; flex-direction:column; }
  .footer-brand img { height:58px; max-width:190px; }
  .footer-signup { margin:16px 0; max-width:none; width:100%; }
  .feedback-hero { min-height:62vh; }
  .feedback-hero-copy { padding-top:12vh; }
  .simple-page-copy { padding-top:7vh; }
  .privacy-hero { min-height:58vh; }
  .privacy-hero-copy { padding-top:10vh; }
  .awards-hero { min-height:60vh; }
  .awards-hero-copy { padding-top:10vh; }
  .feedback-form-panel { padding:20px; }
  .policy-content { padding:22px; }
}
