
/* My Afytos production additions */
.cookie-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:99999;max-width:980px;margin:auto;background:#fffdf9;color:#17324b;border:1px solid #e8dfd2;border-radius:14px;box-shadow:0 18px 55px rgba(3,25,41,.22);padding:18px 20px;display:none;font-family:Inter,"Segoe UI",Arial,sans-serif}
.cookie-banner.is-open{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}.cookie-banner h3{margin:0 0 6px;color:#0d3558;font-size:17px}.cookie-banner p{margin:0;color:#52697c;font-size:13px;line-height:1.45}.cookie-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.cookie-btn{border:0;border-radius:8px;padding:10px 13px;font-weight:800;cursor:pointer}.cookie-btn.primary{background:#b88b35;color:#fff}.cookie-btn.secondary{background:#eef1f3;color:#0d3558}.cookie-link{font-size:12px;color:#0d3558;text-decoration:underline}.cookie-settings-fab{position:fixed;left:14px;bottom:14px;z-index:9998;border:1px solid #ddd3c4;background:#fffdf9;color:#0d3558;border-radius:999px;padding:8px 11px;font:700 11px/1 Inter,"Segoe UI",Arial,sans-serif;box-shadow:0 8px 24px rgba(3,25,41,.12);cursor:pointer;display:none}.cookie-settings-fab.show{display:block}.map-consent-placeholder{min-height:330px;display:flex;align-items:center;justify-content:center;text-align:center;background:#f3efe7;color:#17324b;padding:28px;border-radius:14px}.map-consent-placeholder button{margin-top:12px;border:0;border-radius:8px;background:#b88b35;color:white;padding:11px 15px;font-weight:800;cursor:pointer}.final-price-note{font-size:13px;color:#52697c;margin-top:14px}.final-price-note strong{color:#0d3558}
@media(max-width:700px){.cookie-banner.is-open{grid-template-columns:1fr}.cookie-actions{justify-content:flex-start}.cookie-banner{left:10px;right:10px;bottom:10px}}

/* SEO intro v9 */
.seo-intro{padding:46px 0 50px;background:#fffdfa;border-bottom:1px solid #e9e2d8}
.seo-intro-inner{max-width:920px;text-align:center}
.seo-intro .eyebrow{margin-bottom:10px}
.seo-intro h2{margin:0 0 14px;color:#0d3558;font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.03em}
.seo-intro p{max-width:850px;margin:0 auto;color:#52616e;font-size:1.05rem;line-height:1.72}
@media(max-width:580px){.seo-intro{padding:36px 0 40px}.seo-intro p{font-size:1rem}}


/* My Afytos v11 mobile UX, branding, reviews */
.mobile-menu{display:none;border:1px solid rgba(13,53,88,.18);background:#fffdf9;color:#0d3558;border-radius:9px;width:42px;height:42px;align-items:center;justify-content:center;font-size:25px;line-height:1;cursor:pointer;flex:0 0 auto}
.header-logo-vine{display:block;width:126px;max-height:54px;object-fit:contain;object-position:left center;border-radius:4px}
.brand-site-sub{display:block;font-size:9px;letter-spacing:.16em;color:#b88b35;font-weight:900;text-align:center;margin-top:1px;white-space:nowrap}
.myafytos-social{display:flex;gap:10px;align-items:center;margin-top:15px;flex-wrap:wrap}
.myafytos-social a{display:inline-flex!important;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.25);color:#fff!important;margin:0!important;transition:.2s}
.myafytos-social a:hover{transform:translateY(-1px);border-color:#d6b878}
.myafytos-social svg{width:18px;height:18px;fill:currentColor}
.btn.direct-book{background:#c96f32!important;color:#fff!important;border-color:#c96f32!important;box-shadow:0 10px 26px rgba(201,111,50,.28)}
.btn.direct-book:hover{background:#ae5924!important;border-color:#ae5924!important}
.review-section{padding:64px 0;background:#f7f3ea}
.review-head{text-align:center;max-width:820px;margin:0 auto 28px}
.review-head h2{margin-bottom:10px}
.review-head p{color:#667787}
.rating-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0}
.rating-source{background:#fff;border:1px solid #e8e0d5;border-radius:15px;padding:20px;text-align:center}
.rating-source b{display:block;color:#0d3558;font-size:1.25rem}
.rating-source strong{display:block;color:#0d3558;font-size:2rem;line-height:1.1;margin:7px 0}
.rating-source span{color:#667787;font-size:.88rem}
.review-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.review-card{background:#fff;border:1px solid #e8e0d5;border-radius:15px;padding:22px;box-shadow:0 10px 30px rgba(17,43,66,.05)}
.review-card .quote{font-size:1.02rem;line-height:1.65;color:#263f55;margin-bottom:16px}
.review-card .source{font-size:.82rem;color:#667787}
.review-actions{text-align:center;margin-top:24px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.contact-card.email .contact-icon{background:#e9edf7;color:#0d3558}
.room-photo-link{display:block;color:inherit}
.room-photo-link:focus-visible{outline:3px solid #b88b35;outline-offset:3px;border-radius:18px}
@media(max-width:950px){
  .mobile-menu{display:inline-flex!important;order:99}
  header nav.mobile-open,.header nav.mobile-open,.site-header nav.mobile-open{display:flex!important;position:absolute!important;top:100%;left:3vw;right:3vw;z-index:9999;background:#fffdf9;border:1px solid #e3dacd;border-radius:14px;box-shadow:0 18px 45px rgba(17,43,66,.18);padding:12px 18px;flex-direction:column!important;gap:0!important;align-items:stretch!important;max-height:75vh;overflow:auto}
  header nav.mobile-open>a,.header nav.mobile-open>a{display:block!important;padding:12px 4px;border-bottom:1px solid #eee7dc}
  header nav.mobile-open .nav-list{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;width:100%}
  header nav.mobile-open .nav-list>li{width:100%}
  header nav.mobile-open .nav-link{display:block!important;padding:12px 4px!important}
  header nav.mobile-open .dropdown{display:none!important}
  .header-logo-vine{width:103px;max-height:45px}
  .brand-site-sub{font-size:7px;letter-spacing:.12em}
  .rating-strip,.review-cards{grid-template-columns:1fr}
}
@media(max-width:580px){
  .header-logo-vine{width:91px;max-height:41px}
  .brand-site-sub{font-size:6.5px}
}


@media(min-width:951px){.contact-grid{grid-template-columns:repeat(4,1fr)!important}}
.gallery-grid.location-expanded{grid-template-columns:repeat(3,1fr)!important;grid-template-rows:none!important;grid-auto-rows:220px}
.gallery-grid.location-expanded img{height:100%!important;object-fit:cover}
.gallery-grid.location-expanded .main{grid-column:span 2;grid-row:span 2}
@media(max-width:760px){
  .gallery-grid.location-expanded{grid-template-columns:1fr!important;grid-template-rows:none!important;grid-auto-rows:230px}
  .gallery-grid.location-expanded .main{grid-column:auto;grid-row:auto}
}


/* === My Afytos V12: unified brand + reliable mobile navigation === */
footer .brand, .footer .brand, .footer-brand .brand{
  display:inline-flex;flex-direction:column;align-items:flex-start;gap:5px;
}
.footer-logo-vine{
  display:block;width:164px;max-width:100%;height:auto;object-fit:contain;
  object-position:left center;border-radius:5px;background:#f7f2e5;
}
.footer-logo-sub{
  display:block;width:164px;text-align:center;font-size:8.5px;line-height:1.2;
  letter-spacing:.16em;color:#d7b766;font-weight:900;white-space:nowrap;
}
@media(max-width:980px){
  header.mobile-nav-open{overflow:visible!important;z-index:10000!important}
  header.mobile-nav-open nav{
    display:block!important;position:absolute!important;top:100%!important;left:0!important;right:0!important;
    width:100%!important;margin:0!important;padding:14px 20px 18px!important;
    background:#fff!important;color:#0d3154!important;z-index:99999!important;
    box-shadow:0 14px 28px rgba(6,31,53,.18)!important;border-top:1px solid rgba(13,49,84,.08)!important;
  }
  header.mobile-nav-open nav .nav-list{
    display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;width:100%!important;
  }
  header.mobile-nav-open nav>a,
  header.mobile-nav-open nav .nav-link,
  header.mobile-nav-open nav .nav-list>li>a{
    display:block!important;padding:11px 6px!important;margin:0!important;color:#0d3154!important;
    border-bottom:1px solid rgba(13,49,84,.08)!important;text-align:left!important;
  }
  header.mobile-nav-open nav .dropdown{display:none!important}
  header.mobile-nav-open .mobile-menu{position:relative!important;z-index:100001!important}
}
@media(max-width:580px){
  .footer-logo-vine{width:148px}.footer-logo-sub{width:148px;font-size:8px}
}

.legal-footer-brand{margin-bottom:14px}.foot .footer-logo-vine{width:140px}

/* === My Afytos V12 Mobile Preview Fixes — 2026-10-14 ===
   Compact brand, stable mobile header, clickable layered menu, restrained social icons. */
.mobile-nav-booking-link{display:none!important}
@media(max-width:980px){
  html,body{max-width:100%;overflow-x:hidden}
  header.site-header,header.header{height:66px!important;min-height:66px!important;overflow:visible!important;z-index:10000!important}
  header.site-header.section{padding-top:0!important;padding-bottom:0!important}
  header .wrap,header .header-in,header .header-inner{
    height:66px!important;min-height:66px!important;box-sizing:border-box!important;
    align-items:center!important;gap:8px!important;overflow:visible!important
  }
  header .header-inner{grid-template-columns:minmax(0,1fr) auto!important}
  header .brand{
    min-width:0!important;max-width:118px!important;width:auto!important;flex:0 1 118px!important;
    gap:0!important;overflow:hidden!important;position:relative!important;z-index:100001!important
  }
  header .header-logo-vine{
    display:block!important;width:88px!important;max-width:88px!important;height:auto!important;max-height:36px!important;
    object-fit:contain!important;object-position:left center!important;pointer-events:none!important
  }
  header .brand-site-sub{
    width:88px!important;max-width:88px!important;font-size:5.8px!important;line-height:1.15!important;
    letter-spacing:.10em!important;margin-top:1px!important;overflow:hidden!important;text-overflow:clip!important
  }
  header .lang-picker{
    position:absolute!important;top:50%!important;right:55px!important;transform:translateY(-50%)!important;
    margin:0!important;padding:0!important;z-index:100004!important;display:flex!important;align-items:center!important
  }
  header .lang-picker select{
    width:68px!important;max-width:68px!important;height:34px!important;box-sizing:border-box!important;
    padding:0 4px!important;font-size:9px!important;line-height:1!important;border-radius:8px!important
  }
  header .mobile-menu{
    display:inline-flex!important;position:relative!important;z-index:100005!important;width:38px!important;height:38px!important;
    min-width:38px!important;min-height:38px!important;padding:0!important;margin:0!important;align-items:center!important;
    justify-content:center!important;font-size:23px!important;line-height:1!important;pointer-events:auto!important
  }
  header .header-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:0!important;position:relative!important;z-index:100005!important}
  header .header-actions .btn,
  header .wrap>a.btn.gold,
  header .wrap>a.mobile-book,
  header .header-in>a.book,
  header .header-in>a.book-top{display:none!important}
  header nav{z-index:100003!important}
  header.mobile-nav-open nav{
    display:flex!important;position:absolute!important;top:66px!important;left:8px!important;right:8px!important;width:auto!important;
    margin:0!important;padding:8px 14px 14px!important;box-sizing:border-box!important;flex-direction:column!important;
    gap:0!important;align-items:stretch!important;max-height:calc(100vh - 78px)!important;overflow:auto!important;
    background:#fffdf9!important;color:#0d3154!important;border:1px solid rgba(13,49,84,.12)!important;
    border-radius:0 0 14px 14px!important;box-shadow:0 18px 42px rgba(6,31,53,.22)!important;
    pointer-events:auto!important;z-index:100003!important
  }
  header.mobile-nav-open nav .nav-list{display:flex!important;flex-direction:column!important;gap:0!important;width:100%!important;align-items:stretch!important}
  header.mobile-nav-open nav>a,
  header.mobile-nav-open nav .nav-link,
  header.mobile-nav-open nav .nav-list>li>a{
    display:block!important;width:100%!important;box-sizing:border-box!important;padding:11px 6px!important;margin:0!important;
    color:#0d3154!important;text-align:left!important;border-bottom:1px solid rgba(13,49,84,.08)!important
  }
  header.mobile-nav-open nav .dropdown{display:none!important}
  header.mobile-nav-open nav .mobile-nav-booking-link{
    display:block!important;margin-top:10px!important;padding:12px 14px!important;border:0!important;border-radius:9px!important;
    background:#b88b35!important;color:#fff!important;text-align:center!important;font-weight:800!important
  }
  .footer-logo-vine{width:128px!important;max-width:128px!important;height:auto!important}
  .footer-logo-sub{width:128px!important;font-size:7px!important;letter-spacing:.12em!important}
  .myafytos-social{gap:8px!important;margin-top:12px!important;flex-wrap:nowrap!important}
  .myafytos-social a{
    width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;flex:0 0 32px!important;
    padding:0!important;margin:0!important;border-radius:50%!important
  }
  .myafytos-social svg{width:15px!important;height:15px!important;max-width:15px!important;max-height:15px!important}
}
@media(max-width:380px){
  header .brand{max-width:100px!important;flex-basis:100px!important}
  header .header-logo-vine{width:78px!important;max-width:78px!important;max-height:32px!important}
  header .brand-site-sub{width:78px!important;max-width:78px!important;font-size:5.2px!important}
  header .lang-picker{right:50px!important}
  header .lang-picker select{width:60px!important;max-width:60px!important;font-size:8.5px!important}
  header .mobile-menu{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}
  .footer-logo-vine{width:118px!important;max-width:118px!important}
  .footer-logo-sub{width:118px!important}
}

/* === My Afytos V12 Mobile Preview: room hero CTA balance + exact map focus === */
@media(max-width:580px){
  .hero-panel .btns{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
    align-items:stretch!important;
  }
  .hero-panel .btns .btn{
    width:100%!important;
    min-width:0!important;
    min-height:52px!important;
    box-sizing:border-box!important;
    padding:0 14px!important;
    margin:0!important;
    text-align:center!important;
    justify-content:center!important;
    line-height:1.18!important;
  }
}

