/* ================================================================
   COZY PUBLIC RESPONSIVE LAYER — V8.25 · CATEGORY MODE / STICKY FOOTER / CONTACT FIX
   Loaded after styles.css on public/customer pages only.
   Desktop (>980px) is intentionally untouched.
   ================================================================ */

@media (min-width:769px) and (max-width:980px){
  #pageContent .container{padding-inline:22px!important;}
  #pageContent .section{padding-block:34px!important;}
  #pageContent .page-head h2{font-size:clamp(28px,3.4vw,34px)!important;}
  #pageContent .about-hero{gap:28px!important;padding-block:34px!important;}
  #pageContent .quick-search{max-width:calc(100% - 32px)!important;}
  #pageContent .team-grid .team-card{flex-basis:190px!important;}
}

@media (max-width:768px){
  html,body{max-width:100%;overflow-x:hidden;}
  body.public-page{min-height:100dvh;display:flex;flex-direction:column;}
  body.public-page #siteHeader{flex:0 0 auto;}
  body.public-page #pageContent{flex:1 0 auto;width:100%;overflow-x:clip;}
  body.public-page #siteFooter{flex:0 0 auto;margin-top:auto;}
  #pageContent *, .site-header *, .site-footer *{box-sizing:border-box;min-width:0;}
  #pageContent .container{width:100%!important;max-width:100%!important;padding-inline:14px!important;}
  #pageContent .section{padding-block:22px!important;}
  #pageContent .page-head{margin:0 0 16px!important;}
  #pageContent .page-head h2{font-size:clamp(22px,6vw,26px)!important;line-height:1.25!important;margin:0 0 5px!important;}
  #pageContent .page-head p{font-size:13px!important;line-height:1.55!important;margin:0!important;}
  #pageContent .section-head{align-items:center!important;gap:10px!important;margin-bottom:12px!important;}
  #pageContent .section-head h2{font-size:clamp(20px,5.4vw,24px)!important;line-height:1.25!important;margin-bottom:3px!important;}
  #pageContent .section-head p{font-size:12.5px!important;line-height:1.45!important;margin:0!important;}

  /* ---------- Shared mobile Header ---------- */
  .site-header{position:sticky!important;top:0!important;z-index:1200!important;overflow:visible!important;}
  .site-header .site-header-inner{height:60px!important;min-height:60px!important;padding-inline:14px!important;gap:10px!important;flex-wrap:nowrap!important;overflow:visible!important;}
  .site-brand-cluster{display:flex!important;align-items:center!important;gap:9px!important;flex:0 0 auto!important;}
  .site-brand-link{display:flex!important;align-items:center!important;gap:7px!important;min-width:0!important;}
  .site-brand-logo{width:34px!important;height:34px!important;flex:none!important;}
  .site-brand-name{font-size:14px!important;white-space:nowrap!important;}
  .site-header .nav-links{display:none!important;}
  .site-header-actions{display:flex!important;align-items:center!important;gap:6px!important;flex:0 1 auto!important;margin-inline-start:auto!important;min-width:0!important;}
  html[dir="rtl"] .site-header-actions{margin-inline-start:0!important;margin-inline-end:auto!important;}
  .site-header .mobile-nav-btn{display:inline-flex!important;width:40px!important;height:40px!important;min-width:40px!important;border-radius:11px!important;padding:0!important;}
  .site-header .theme-toggle-btn{width:40px!important;height:40px!important;min-width:40px!important;border-radius:11px!important;padding:0!important;}
  .site-header .mobile-nav-btn svg,.site-header .theme-toggle-btn svg{width:18px!important;height:18px!important;}
  .site-header .lang-toggle{height:40px!important;border-radius:11px!important;flex:none!important;}
  .site-header .lang-toggle button{height:37px!important;min-width:35px!important;padding-inline:7px!important;font-size:11px!important;}
  .site-header .site-login-trigger{height:40px!important;min-height:40px!important;padding-inline:10px!important;gap:5px!important;border-radius:11px!important;font-size:11.5px!important;white-space:nowrap!important;}
  .site-header .site-login-trigger svg{width:15px!important;height:15px!important;}
  .site-header .owner-header-area{min-width:0!important;gap:5px!important;}
  .site-header .owner-header-area .btn{max-width:92px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
  .portal-menu{z-index:1300!important;}

  .mobile-nav-panel{display:block!important;position:absolute!important;top:60px!important;inset-inline:0!important;z-index:1250!important;background:var(--surface)!important;color:var(--ink)!important;border-top:1px solid var(--line)!important;box-shadow:0 18px 32px rgba(0,0,0,.18)!important;padding:0 14px!important;max-height:0!important;overflow:hidden!important;opacity:0!important;visibility:hidden!important;transform:translateY(-5px)!important;transition:max-height .22s ease,opacity .18s ease,transform .18s ease,padding .22s ease,visibility .18s!important;}
  .mobile-nav-panel.open{padding-block:12px 14px!important;max-height:calc(100dvh - 60px)!important;overflow-y:auto!important;opacity:1!important;visibility:visible!important;transform:none!important;overscroll-behavior:contain!important;}
  .mobile-nav-links,.mobile-nav-portals{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;padding:0!important;}
  .mobile-nav-portals{margin-top:8px!important;padding-top:8px!important;border-top:1px solid var(--line)!important;}
  .mobile-nav-links a,.mobile-nav-portals a{display:flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;padding:8px 10px!important;border-radius:10px!important;background:var(--surface-2)!important;border:1px solid var(--line)!important;color:var(--ink)!important;font-size:12.5px!important;font-weight:750!important;line-height:1.25!important;text-align:center!important;text-decoration:none!important;overflow-wrap:anywhere!important;}
  .mobile-nav-links a.active{background:var(--primary)!important;color:var(--on-primary)!important;border-color:var(--primary)!important;}
  body.mobile-nav-open{overflow:hidden!important;}

  /* ---------- Home banner + no-banner rhythm ---------- */
  body.public-page-home #pageContent .hero-banner{min-height:300px!important;height:clamp(300px,78vw,350px)!important;max-height:350px!important;padding:0!important;align-items:flex-end!important;overflow:hidden!important;}
  body.public-page-home #pageContent .hero-banner .bg img{width:100%!important;height:100%!important;object-fit:cover!important;}
  body.public-page-home #pageContent .hero-banner .content{padding:28px 16px 26px!important;text-align:start!important;}
  body.public-page-home #pageContent .hero-banner h1{font-size:clamp(25px,7vw,30px)!important;line-height:1.15!important;margin:8px 0 7px!important;max-width:18ch!important;}
  body.public-page-home #pageContent .hero-banner p.lead{font-size:13px!important;line-height:1.55!important;max-width:34em!important;margin:0!important;}
  body.public-page-home #pageContent .hero-banner .eyebrow{font-size:10.5px!important;padding:5px 9px!important;}
  body.public-page-home #pageContent .hero-banner .cta-row{margin-top:13px!important;gap:8px!important;justify-content:flex-start!important;}
  body.public-page-home #pageContent .hero-banner .cta-row .btn{min-height:40px!important;padding:8px 13px!important;font-size:12px!important;flex:0 1 auto!important;}

  /* No banner must mean no reserved hero space. */
  body.public-page-home.banner-hidden #pageContent .hero-banner,
  body.public-page-home.no-banner #pageContent .hero-banner{display:none!important;}
  body.public-page-home.no-banner #pageContent{padding-top:0!important;}
  body.public-page-home.no-banner #pageContent>section:first-child{padding-top:0!important;margin-top:0!important;}

  /* Home quick search: compact card, same fields/logic and Admin colors. */
  body.public-page-home #pageContent .quick-search-wrapper{width:calc(100% - 24px)!important;max-width:520px!important;padding:12px!important;margin:12px auto 10px!important;background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:16px!important;box-shadow:var(--shadow-sm)!important;}
  body.public-page-home.has-banner.has-quick-search #pageContent .quick-search-wrapper{margin-top:12px!important;}
  body.public-page-home.no-banner.has-quick-search #pageContent .quick-search-wrapper{margin-top:10px!important;}
  #pageContent .qs-mobile-heading{display:block!important;text-align:center!important;font-weight:800!important;font-size:15px!important;color:var(--ink)!important;margin:1px 0 10px!important;}
  #pageContent .quick-search{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;max-width:none!important;margin:0!important;border-radius:11px!important;overflow:hidden!important;box-shadow:none!important;}
  #pageContent .quick-search .qs-field{padding:8px 9px!important;min-height:52px!important;}
  #pageContent .quick-search .qs-field--dates{grid-column:1/-1!important;border-top:1px solid var(--qs-border-color)!important;border-bottom:1px solid var(--qs-border-color)!important;}
  #pageContent .quick-search .qs-sep{display:none!important;}
  #pageContent .quick-search .qs-label,#pageContent .quick-search .qs-date-lbl{font-size:9.5px!important;line-height:1.2!important;}
  #pageContent .quick-search .qs-select,#pageContent .quick-search .qs-date{font-size:11.5px!important;min-width:0!important;width:100%!important;}
  #pageContent .quick-search .qs-date-row{gap:5px!important;}
  #pageContent .quick-search .qs-arrow{font-size:12px!important;}
  #pageContent .quick-search .qs-submit{grid-column:1/-1!important;min-height:42px!important;padding:8px 12px!important;font-size:13px!important;border-radius:0!important;}
  #pageContent .qs-results{font-size:12.5px!important;}

  /* Counters stay one compact panel rather than giant standalone blocks. */
  #pageContent .stats-strip{width:calc(100% - 24px)!important;max-width:520px!important;margin:10px auto 4px!important;padding:0!important;}
  #pageContent .stats-strip>.container{padding:0!important;}
  #pageContent .stats-card{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;border-radius:14px!important;overflow:hidden!important;}
  #pageContent .stats-card .stat{min-height:72px!important;padding:8px 5px!important;border-bottom:0!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;}
  #pageContent .stats-card .stat .num{font-size:22px!important;}
  #pageContent .stats-card .stat .lbl{font-size:10.5px!important;margin-top:4px!important;}

  /* Home/category headings stay close to compact cards. */
  body.public-page-home #pageContent .section:has(.home-category-card){padding-block:14px!important;}
  body.public-page-home #pageContent .section:has(.home-category-card) .section-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:end!important;gap:8px!important;margin-bottom:8px!important;}
  body.public-page-home #pageContent .section:has(.home-category-card) .section-head>div{min-width:0!important;}
  body.public-page-home #pageContent .section:has(.home-category-card) .section-head .screen-action-control{min-height:32px!important;padding:5px 8px!important;font-size:11px!important;}
  #pageContent .home-category-count{display:block!important;font-size:9.75px!important;line-height:1.2!important;color:var(--ink-soft)!important;margin-top:1px!important;}

  /* Admin Horizontal = compact side-by-side swipe row. */
  body.category-mode-horizontal.public-page-home #pageContent .cat-grid-horizontal,
  body.category-mode-horizontal.public-page-categories #pageContent #catGrid.cat-grid-horizontal{display:flex!important;flex-direction:row!important;gap:8px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;overscroll-behavior-inline:contain!important;padding:1px 1px 5px!important;scrollbar-width:none!important;-ms-overflow-style:none!important;}
  body.category-mode-horizontal.public-page-home #pageContent .cat-grid-horizontal::-webkit-scrollbar,
  body.category-mode-horizontal.public-page-categories #pageContent #catGrid.cat-grid-horizontal::-webkit-scrollbar{display:none!important;}
  body.category-mode-horizontal.public-page-home #pageContent .cat-grid-horizontal .cat-card-h,
  body.category-mode-horizontal.public-page-categories #pageContent #catGrid.cat-grid-horizontal .cat-card-h{flex:0 0 clamp(112px,31vw,126px)!important;width:clamp(112px,31vw,126px)!important;min-width:112px!important;max-width:126px!important;min-height:126px!important;height:auto!important;padding:0 0 7px!important;border-radius:12px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:5px!important;text-align:center!important;overflow:hidden!important;scroll-snap-align:start!important;}
  body.category-mode-horizontal.public-page-home #pageContent .cat-grid-horizontal .cat-ico-h,
  body.category-mode-horizontal.public-page-categories #pageContent #catGrid.cat-grid-horizontal .cat-ico-h{width:100%!important;height:74px!important;min-height:74px!important;margin:0!important;border:0!important;border-radius:11px 11px 7px 7px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;}
  body.category-mode-horizontal.public-page-home #pageContent .cat-grid-horizontal .cat-ico-h img,
  body.category-mode-horizontal.public-page-categories #pageContent #catGrid.cat-grid-horizontal .cat-ico-h img{width:100%!important;height:100%!important;object-fit:cover!important;}
  body.category-mode-horizontal.public-page-home #pageContent .cat-grid-horizontal .cat-ico-h svg,
  body.category-mode-horizontal.public-page-categories #pageContent #catGrid.cat-grid-horizontal .cat-ico-h svg{width:28px!important;height:28px!important;}
  body.category-mode-horizontal.public-page-home #pageContent .cat-grid-horizontal .cat-card-h-text,
  body.category-mode-horizontal.public-page-categories #pageContent #catGrid.cat-grid-horizontal .cat-card-h-text{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:1px!important;padding-inline:6px!important;min-height:38px!important;}
  body.category-mode-horizontal.public-page-home #pageContent .cat-grid-horizontal .cat-name,
  body.category-mode-horizontal.public-page-categories #pageContent #catGrid.cat-grid-horizontal .cat-name{font-size:11.5px!important;line-height:1.2!important;text-align:center!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
  body.category-mode-horizontal.public-page-categories #pageContent #catGrid.cat-grid-horizontal .cat-count{font-size:9.5px!important;line-height:1.15!important;text-align:center!important;margin-top:1px!important;}

  /* Premium mobile category carousel navigation. Only horizontal Admin mode uses arrows. */
  body.category-mode-horizontal.public-page-home #pageContent .category-mobile-carousel,
  body.category-mode-horizontal.public-page-categories #pageContent .category-mobile-carousel{position:relative!important;display:block!important;padding-inline:27px!important;}
  body.category-mode-horizontal #pageContent .category-mobile-carousel .category-nav{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;z-index:8!important;width:32px!important;height:32px!important;min-width:32px!important;padding:0!important;border-radius:50%!important;border:2px solid #fff!important;background:#090d14!important;color:#fff!important;display:grid!important;place-items:center!important;font-family:Arial,sans-serif!important;font-size:25px!important;font-weight:400!important;line-height:1!important;box-shadow:0 5px 14px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.18) inset!important;cursor:pointer!important;-webkit-tap-highlight-color:transparent!important;transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;}
  body.category-mode-horizontal #pageContent .category-mobile-carousel .category-nav--prev{inset-inline-start:-1px!important;}
  body.category-mode-horizontal #pageContent .category-mobile-carousel .category-nav--next{inset-inline-end:-1px!important;}
  body.category-mode-horizontal #pageContent .category-mobile-carousel .category-nav:active{transform:translateY(-50%) scale(.91)!important;background:#151b24!important;box-shadow:0 2px 8px rgba(0,0,0,.24)!important;}
  body.category-mode-horizontal #pageContent .category-mobile-carousel:not(:has(.cat-grid-horizontal .cat-card-h:nth-child(2))) .category-nav{display:none!important;}
  body.category-mode-vertical #pageContent .category-mobile-carousel .category-nav{display:none!important;}
  body.category-mode-vertical #pageContent .category-mobile-carousel{padding:0!important;}

  /* Admin Vertical = genuinely stacked compact rows. */
  body.category-mode-vertical.public-page-home #pageContent .cat-grid-vertical,
  body.category-mode-vertical.public-page-categories #pageContent #catGrid.cat-grid-vertical{display:flex!important;flex-direction:column!important;gap:6px!important;width:100%!important;overflow:visible!important;}
  body.category-mode-vertical.public-page-home #pageContent .cat-grid-vertical .cat-card,
  body.category-mode-vertical.public-page-categories #pageContent #catGrid.cat-grid-vertical .cat-card{display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;align-items:center!important;gap:9px!important;width:100%!important;min-height:68px!important;height:auto!important;padding:5px 8px!important;border-radius:11px!important;text-align:start!important;}
  body.category-mode-vertical.public-page-home #pageContent .cat-grid-vertical .cat-ico,
  body.category-mode-vertical.public-page-categories #pageContent #catGrid.cat-grid-vertical .cat-ico{width:56px!important;height:56px!important;margin:0!important;border-radius:9px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;}
  body.category-mode-vertical.public-page-home #pageContent .cat-grid-vertical .cat-ico img,
  body.category-mode-vertical.public-page-categories #pageContent #catGrid.cat-grid-vertical .cat-ico img{width:100%!important;height:100%!important;object-fit:cover!important;}
  body.category-mode-vertical.public-page-home #pageContent .cat-grid-vertical .cat-ico svg,
  body.category-mode-vertical.public-page-categories #pageContent #catGrid.cat-grid-vertical .cat-ico svg{width:25px!important;height:25px!important;}
  body.category-mode-vertical.public-page-home #pageContent .cat-grid-vertical .cat-card-h-text{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:1px!important;}
  body.category-mode-vertical.public-page-home #pageContent .cat-grid-vertical .cat-name,
  body.category-mode-vertical.public-page-categories #pageContent #catGrid.cat-grid-vertical .cat-name{font-size:12.5px!important;line-height:1.25!important;text-align:start!important;}
  body.category-mode-vertical.public-page-categories #pageContent #catGrid.cat-grid-vertical .cat-card>.cat-name,
  body.category-mode-vertical.public-page-categories #pageContent #catGrid.cat-grid-vertical .cat-card>.cat-count{grid-column:2!important;}
  body.category-mode-vertical.public-page-categories #pageContent #catGrid.cat-grid-vertical .cat-card>.cat-name{align-self:end!important;}
  body.category-mode-vertical.public-page-categories #pageContent #catGrid.cat-grid-vertical .cat-card>.cat-count{align-self:start!important;margin-top:-2px!important;font-size:10px!important;line-height:1.2!important;}

  /* Dedicated Categories page: same component, tighter page rhythm. */
  body.public-page-categories #pageContent .section{padding-top:14px!important;padding-bottom:14px!important;}
  body.public-page-categories #pageContent .page-head{margin-bottom:9px!important;}

  /* Mobile-only home property sections use existing live property data/cards. */
  body.public-page-home #pageContent .home-mobile-only{display:block!important;}
  body.public-page-home #pageContent .home-mobile-property-section{padding-block:18px!important;}
  body.public-page-home #pageContent .home-mobile-section-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;}
  body.public-page-home #pageContent .home-mobile-section-head .screen-action-control{min-height:34px!important;padding:6px 9px!important;font-size:11.5px!important;}
  body.public-page-home #pageContent .home-mobile-property-strip{display:flex!important;gap:10px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;padding:1px 1px 7px!important;scrollbar-width:none!important;overscroll-behavior-inline:contain!important;}
  body.public-page-home #pageContent .home-mobile-property-strip::-webkit-scrollbar{display:none!important;}
  body.public-page-home #pageContent .home-mobile-property-strip .chalet-card{flex:0 0 min(58vw,218px)!important;width:min(58vw,218px)!important;max-width:218px!important;scroll-snap-align:start!important;border-radius:14px!important;}
  body.public-page-home #pageContent .home-mobile-property-strip .chalet-card .cover{aspect-ratio:4/3!important;}
  body.public-page-home #pageContent .home-mobile-property-strip .chalet-card .cover .price-tag{inset-inline-end:8px!important;bottom:8px!important;padding:5px 8px!important;font-size:10.5px!important;}
  body.public-page-home #pageContent .home-mobile-property-strip .chalet-card .body{padding:9px 9px 10px!important;gap:4px!important;}
  body.public-page-home #pageContent .home-mobile-property-strip .chalet-card .title{font-size:13.5px!important;line-height:1.3!important;}
  body.public-page-home #pageContent .home-mobile-property-strip .chalet-card .tease{font-size:10.5px!important;line-height:1.35!important;min-height:28px!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
  body.public-page-home #pageContent .home-mobile-property-strip .chalet-card .specs{font-size:10px!important;gap:7px!important;}

  /* ---------- Contact page ---------- */
  #pageContent .contact-page{padding-top:14px!important;padding-bottom:14px!important;}
  #pageContent .contact-page .page-head{margin-bottom:10px!important;}
  #pageContent .contact-layout{display:flex!important;flex-direction:column!important;gap:0!important;}
  #pageContent .contact-primary-column,
  #pageContent .contact-secondary-column{display:contents!important;}
  /* Required mobile order: office/location -> WhatsApp -> socials -> phones. */
  #pageContent .contact-office-title{order:1!important;}
  #pageContent .contact-office-card{order:2!important;}
  #pageContent .contact-whatsapp-title{order:3!important;}
  #pageContent .contact-whatsapp-cta{order:4!important;}
  #pageContent .contact-social-title{order:5!important;}
  #pageContent .contact-social-grid{order:6!important;}
  #pageContent .contact-phones-title{order:7!important;}
  #pageContent .contact-phones-list{order:8!important;}
  #pageContent .contact-secondary-column>br{display:none!important;}
  #pageContent .contact-section-title{font-size:16px!important;line-height:1.3!important;margin:11px 0 6px!important;}
  #pageContent .contact-office-title{margin-top:0!important;}
  #pageContent .contact-office-card{display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px!important;margin-bottom:2px!important;padding:10px 11px!important;min-height:64px!important;border-radius:12px!important;}
  #pageContent .contact-whatsapp-cta{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:7px!important;padding:10px!important;border-radius:12px!important;align-items:center!important;margin:0!important;}
  #pageContent .contact-whatsapp-cta .ico{width:38px!important;height:38px!important;}
  #pageContent .contact-whatsapp-cta .btn{grid-column:1/-1!important;width:100%!important;min-height:38px!important;font-size:12px!important;margin:0!important;}
  #pageContent .contact-card{padding:9px 10px!important;min-height:56px!important;border-radius:11px!important;gap:8px!important;align-items:center!important;}
  #pageContent .contact-icon{width:36px!important;height:36px!important;min-width:36px!important;border-radius:9px!important;}
  #pageContent .contact-icon svg{width:18px!important;height:18px!important;}
  #pageContent .contact-label{font-size:10px!important;line-height:1.2!important;}
  #pageContent .contact-value{font-size:12.5px!important;line-height:1.35!important;overflow-wrap:anywhere!important;}
  #pageContent .contact-map-btn{min-height:34px!important;padding:6px 8px!important;font-size:11px!important;margin-top:6px!important;}
  /* Social links are intentionally one under another on phones. */
  #pageContent .contact-social-grid{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;}
  #pageContent .contact-social-grid .contact-card{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;text-align:start!important;min-height:56px!important;padding:9px 10px!important;}
  #pageContent .contact-phones-list{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;}
  #pageContent .contact-phone-card{display:flex!important;flex-direction:row!important;min-height:56px!important;}

  /* ---------- About page: mobile-first composition ---------- */
  body.public-page-about #pageContent .section:first-child{padding:18px 0 22px!important;}
  body.public-page-about #pageContent .about-hero{display:flex!important;flex-direction:column!important;gap:16px!important;padding:0!important;}
  body.public-page-about #pageContent .about-carousel{order:1!important;width:100%!important;aspect-ratio:16/10!important;min-height:0!important;max-height:300px!important;border-radius:16px!important;overflow:hidden!important;box-shadow:var(--shadow)!important;}
  body.public-page-about #pageContent .about-carousel img{width:100%!important;height:100%!important;object-fit:cover!important;}
  body.public-page-about #pageContent .about-hero-text{order:2!important;text-align:start!important;}
  body.public-page-about #pageContent .about-hero-text .badge{font-size:11px!important;margin-bottom:8px!important;}
  body.public-page-about #pageContent .about-hero-text h2{font-size:clamp(22px,6vw,26px)!important;line-height:1.25!important;margin:0 0 8px!important;color:var(--screen-large-text,var(--ink))!important;}
  body.public-page-about #pageContent .about-hero-text>p{font-size:14px!important;line-height:1.7!important;margin:0!important;color:var(--screen-small-text,var(--ink-soft))!important;}
  body.public-page-about #pageContent .vm-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:16px!important;}
  body.public-page-about #pageContent .vm-card{padding:12px!important;gap:8px!important;border-radius:13px!important;align-items:flex-start!important;background:var(--surface-2)!important;border-color:var(--line)!important;}
  body.public-page-about #pageContent .vm-icon{width:36px!important;height:36px!important;min-width:36px!important;border-radius:10px!important;}
  body.public-page-about #pageContent .vm-title{font-size:13.5px!important;line-height:1.3!important;color:var(--ink)!important;}
  body.public-page-about #pageContent .vm-text{font-size:11.75px!important;line-height:1.55!important;color:var(--ink-soft)!important;}

  body.public-page-about #pageContent .who-section,
  body.public-page-about #pageContent .journey-section,
  body.public-page-about #pageContent .team-section,
  body.public-page-about #pageContent .clients-section{padding:30px 0!important;margin:0!important;}
  body.public-page-about #pageContent .who-section h2,
  body.public-page-about #pageContent .journey-section h2,
  body.public-page-about #pageContent .team-section h2,
  body.public-page-about #pageContent .clients-section h2{font-size:clamp(20px,5.4vw,24px)!important;line-height:1.3!important;margin:0 0 16px!important;color:var(--screen-large-text,var(--ink))!important;text-align:center!important;}
  body.public-page-about #pageContent .who-section .container,
  body.public-page-about #pageContent .journey-section .container,
  body.public-page-about #pageContent .team-section .container,
  body.public-page-about #pageContent .clients-section .container{padding-inline:14px!important;}

  body.public-page-about #pageContent .who-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;align-items:stretch!important;}
  body.public-page-about #pageContent .who-card{width:100%!important;min-width:0!important;min-height:104px!important;padding:11px 7px!important;border-radius:13px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;text-align:center!important;background:var(--surface-2)!important;}
  body.public-page-about #pageContent .who-num{width:32px!important;height:32px!important;min-width:32px!important;font-size:13px!important;margin:0!important;}
  body.public-page-about #pageContent .who-text{font-size:11px!important;line-height:1.45!important;color:var(--ink-soft)!important;overflow-wrap:anywhere!important;}

  body.public-page-about #pageContent .journey-track{position:relative!important;width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-inline:contain!important;scroll-snap-type:x mandatory!important;padding:6px 0 4px!important;scrollbar-width:none!important;-ms-overflow-style:none!important;}
  body.public-page-about #pageContent .journey-track::-webkit-scrollbar{display:none!important;}
  body.public-page-about #pageContent .journey-track::before{inset-inline:14px!important;top:50%!important;}
  body.public-page-about #pageContent .journey-items{justify-content:flex-start!important;gap:10px!important;padding:8px 2px 12px!important;min-width:max-content!important;}
  body.public-page-about #pageContent .journey-item{flex:0 0 clamp(156px,43vw,190px)!important;min-height:118px!important;padding:12px!important;border-radius:13px!important;scroll-snap-align:center!important;scroll-snap-stop:always!important;}
  body.public-page-about #pageContent .journey-year{font-size:18px!important;margin-bottom:7px!important;}
  body.public-page-about #pageContent .journey-text{font-size:11.5px!important;line-height:1.5!important;}

  body.public-page-about #pageContent .team-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:100%!important;align-items:stretch!important;}
  body.public-page-about #pageContent .team-grid .team-card{width:100%!important;max-width:none!important;min-width:0!important;min-height:158px!important;padding:13px 8px!important;border-radius:14px!important;}
  body.public-page-about #pageContent .team-grid .team-card:last-child:nth-child(odd){grid-column:1/-1!important;width:min(50%,190px)!important;justify-self:center!important;}
  body.public-page-about #pageContent .team-avatar{width:62px!important;height:62px!important;margin-bottom:9px!important;}
  body.public-page-about #pageContent .team-name{font-size:13px!important;line-height:1.3!important;color:var(--ink)!important;}
  body.public-page-about #pageContent .team-role{font-size:11px!important;line-height:1.35!important;color:var(--ink-faint)!important;}

  body.public-page-about #pageContent .clients-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;justify-content:center!important;}
  body.public-page-about #pageContent .client-logo{width:100%!important;height:76px!important;padding:9px!important;border-radius:12px!important;}
  body.public-page-about #pageContent .client-logo:last-child:nth-child(odd){grid-column:1/-1!important;width:min(50%,180px)!important;justify-self:center!important;}
  body.public-page-about #pageContent .client-logo img{width:100%!important;height:100%!important;object-fit:contain!important;}

  /* ---------- Listings ---------- */
  #pageContent .toolbar{gap:8px!important;margin-bottom:12px!important;}
  #pageContent .toolbar>.row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;width:100%!important;}
  #pageContent .toolbar>.row>.input-group{grid-column:1/-1!important;width:100%!important;}
  #pageContent .toolbar .input,#pageContent .toolbar .select{width:100%!important;min-width:0!important;height:40px!important;font-size:12px!important;}
  #pageContent .toolbar>.row>.row:last-child{grid-column:1/-1!important;display:flex!important;gap:7px!important;justify-content:flex-start!important;}
  #pageContent .toolbar .screen-action-control{width:40px!important;height:40px!important;min-width:40px!important;padding:0!important;}
  #pageContent .chalet-grid{grid-template-columns:1fr!important;gap:10px!important;}
  #pageContent .prop-card{width:100%!important;max-width:520px!important;margin-inline:auto!important;border-radius:13px!important;overflow:hidden!important;}
  #pageContent .prop-card .prop-thumb,#pageContent .prop-card .prop-img{aspect-ratio:16/10!important;height:auto!important;max-height:240px!important;}
  #pageContent .prop-card .prop-info{padding:9px 10px!important;}
  #pageContent .chalet-list{display:flex!important;flex-direction:column!important;gap:8px!important;}
  #pageContent .chalet-list-row{display:grid!important;grid-template-columns:92px minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;padding:7px!important;min-height:84px!important;width:100%!important;border-radius:12px!important;}
  #pageContent .chalet-list-thumb{width:92px!important;height:70px!important;border-radius:9px!important;overflow:hidden!important;}
  #pageContent .chalet-list-thumb img{width:100%!important;height:100%!important;object-fit:cover!important;}
  #pageContent .chalet-list-body{overflow:hidden!important;}
  #pageContent .chalet-list-body>div:first-child{font-size:13.5px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  #pageContent .chalet-list-body>div:nth-child(2){font-size:10.5px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  #pageContent .chalet-list-body .specs{font-size:10px!important;gap:5px!important;}
  #pageContent .chalet-list-row>.price-tag{font-size:11px!important;padding:5px 6px!important;white-space:nowrap!important;}

  /* ---------- Property detail ---------- */
  #pageContent .screen-action-control{min-height:38px!important;padding:7px 10px!important;font-size:12px!important;}
  #pageContent .gallery-main{width:100%!important;aspect-ratio:16/10!important;max-height:280px!important;margin:0 0 8px!important;border-radius:13px!important;cursor:zoom-in!important;}
  #pageContent .gallery-main img{width:100%!important;height:100%!important;object-fit:cover!important;}
  #pageContent .gallery-thumbs{display:flex!important;gap:6px!important;overflow-x:auto!important;padding:0 0 5px!important;scroll-snap-type:x proximity!important;}
  #pageContent .gallery-thumbs .thumb{flex:0 0 58px!important;width:58px!important;height:48px!important;border-radius:8px!important;scroll-snap-align:start!important;}
  #pageContent .property-detail-grid{grid-template-columns:1fr!important;gap:12px!important;margin-top:14px!important;}
  #pageContent .property-info-pane>h1,#pageContent .property-info-pane>h2{font-size:19px!important;line-height:1.3!important;}
  #pageContent .property-info-pane h3{font-size:16px!important;margin-block:15px 8px!important;}
  #pageContent .stat-row{gap:6px!important;}
  #pageContent .stat-tile{min-height:62px!important;padding:7px 4px!important;}
  #pageContent .stat-tile .num{font-size:16px!important;}
  #pageContent .stat-tile .cap{font-size:10px!important;}
  #pageContent .amenity-tag{font-size:11px!important;padding:6px 8px!important;}
  #pageContent .property-booking-pane .card,#pageContent .price-card,#pageContent .wa-cta,#pageContent .availability-card{padding:11px!important;border-radius:12px!important;}
  #pageContent .price-row{font-size:12px!important;padding-block:7px!important;}
  #pageContent .availability-months{grid-template-columns:1fr!important;gap:0!important;}
  #pageContent .availability-months>div{width:100%!important;max-width:390px!important;margin-inline:auto!important;}

  /* ---------- Shared compact Footer ---------- */
  body.public-page #siteFooter{padding-top:18px!important;}
  .site-footer{margin-top:0!important;margin-bottom:0!important;padding:20px 0 12px!important;}
  .site-footer .container{width:100%!important;max-width:100%!important;padding-inline:14px!important;}
  .footer-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;align-items:start!important;text-align:start!important;}
  .footer-col{min-width:0!important;display:flex!important;flex-direction:column!important;gap:3px!important;}
  .footer-brand-col>div.row,.footer-brand-col>div[style*="display:flex"]{margin-bottom:6px!important;gap:6px!important;align-items:center!important;}
  .footer-brand-col p{max-width:100%!important;margin:0!important;font-size:11.5px!important;line-height:1.45!important;overflow-wrap:anywhere!important;}
  .footer-grid h4{font-size:11.5px!important;line-height:1.25!important;margin:0 0 6px!important;letter-spacing:.02em!important;}
  .site-footer .item{display:flex!important;align-items:flex-start!important;gap:6px!important;margin-bottom:5px!important;font-size:11.5px!important;line-height:1.4!important;overflow-wrap:anywhere!important;}
  .site-footer .item svg{width:14px!important;height:14px!important;flex:none!important;margin-top:1px!important;}
  .footer-grid .brand{font-size:clamp(13px,3.7vw,16px)!important;line-height:1.2!important;}
  .footer-grid img{max-width:34px!important;max-height:34px!important;}
  html[dir="rtl"] .footer-brand-col{text-align:start!important;align-items:flex-start!important;}
  html[dir="rtl"] .footer-address-col{text-align:center!important;align-items:center!important;}
  html[dir="rtl"] .footer-address-col .item{justify-content:center!important;text-align:center!important;}
  html[dir="rtl"] .footer-phones-col{text-align:end!important;align-items:flex-end!important;}
  html[dir="rtl"] .footer-phones-col .item{justify-content:flex-end!important;text-align:end!important;direction:ltr!important;}
  html[dir="ltr"] .footer-brand-col{text-align:start!important;align-items:flex-start!important;}
  html[dir="ltr"] .footer-address-col{text-align:center!important;align-items:center!important;}
  html[dir="ltr"] .footer-address-col .item{justify-content:center!important;text-align:center!important;}
  html[dir="ltr"] .footer-phones-col{text-align:end!important;align-items:flex-end!important;}
  html[dir="ltr"] .footer-phones-col .item{justify-content:flex-end!important;text-align:end!important;direction:ltr!important;}
  .footer-social-center{margin:12px 0 8px!important;}
  .footer-social-links{gap:var(--footer-social-gap,14px)!important;flex-wrap:wrap!important;}
  .footer-social-link{width:var(--footer-social-size,40px)!important;height:var(--footer-social-size,40px)!important;}
  .footer-social-link svg{width:50%!important;height:50%!important;max-width:21px!important;max-height:21px!important;}
  .footer-bottom{display:flex!important;justify-content:center!important;gap:10px 18px!important;flex-wrap:wrap!important;font-size:11px!important;line-height:1.4!important;margin-top:8px!important;padding-top:9px!important;text-align:center!important;}
}

@media (max-width:430px){
  #pageContent .container{padding-inline:12px!important;}
  #pageContent .section{padding-block:17px!important;}

  .site-header .site-header-inner{height:58px!important;min-height:58px!important;padding-inline:12px!important;gap:7px!important;}
  .site-brand-cluster{gap:7px!important;}
  .site-brand-logo{width:32px!important;height:32px!important;}
  .site-brand-name{display:none!important;}
  .site-header-actions{gap:5px!important;}
  .site-header .mobile-nav-btn,.site-header .theme-toggle-btn{width:38px!important;height:38px!important;min-width:38px!important;}
  .site-header .lang-toggle{height:38px!important;}
  .site-header .lang-toggle button{height:35px!important;min-width:32px!important;padding-inline:5px!important;font-size:10.5px!important;}
  .site-header .site-login-trigger{height:38px!important;min-height:38px!important;padding-inline:8px!important;font-size:11px!important;}
  .mobile-nav-panel{top:58px!important;}
  .mobile-nav-panel.open{max-height:calc(100dvh - 58px)!important;}

  body.public-page-home #pageContent .hero-banner{min-height:280px!important;height:clamp(280px,80vw,325px)!important;max-height:325px!important;}
  body.public-page-home #pageContent .hero-banner .content{padding:28px 12px 24px!important;}
  body.public-page-home #pageContent .hero-banner h1{font-size:24px!important;}
  body.public-page-home #pageContent .quick-search-wrapper{width:calc(100% - 20px)!important;padding:11px!important;}
  body.category-mode-horizontal.public-page-home #pageContent .cat-grid-horizontal .cat-card-h,
  body.category-mode-horizontal.public-page-categories #pageContent #catGrid.cat-grid-horizontal .cat-card-h{flex-basis:116px!important;width:116px!important;min-width:116px!important;min-height:126px!important;}
  body.category-mode-horizontal.public-page-home #pageContent .cat-grid-horizontal .cat-ico-h,
  body.category-mode-horizontal.public-page-categories #pageContent #catGrid.cat-grid-horizontal .cat-ico-h{height:72px!important;min-height:72px!important;}
  #pageContent .contact-social-grid{grid-template-columns:1fr!important;}
  body.public-page-home #pageContent .home-mobile-property-strip .chalet-card{flex-basis:204px!important;width:204px!important;}

  body.public-page-about #pageContent .vm-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.public-page-about #pageContent .who-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  body.public-page-about #pageContent .clients-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}

  /* Keep existing non-target responsive behavior intact. */
  #pageContent .contact-social-grid{grid-template-columns:1fr!important;}
  #pageContent .chalet-list-row{grid-template-columns:80px minmax(0,1fr) auto!important;gap:6px!important;}
  #pageContent .chalet-list-thumb{width:80px!important;height:64px!important;}
}

@media (max-width:360px){
  .site-header .site-header-inner{padding-inline:8px!important;gap:5px!important;}
  .site-brand-cluster{gap:5px!important;}
  .site-brand-logo{width:30px!important;height:30px!important;}
  .site-header-actions{gap:4px!important;}
  .site-header .mobile-nav-btn,.site-header .theme-toggle-btn{width:36px!important;height:36px!important;min-width:36px!important;}
  .site-header .lang-toggle{height:36px!important;}
  .site-header .lang-toggle button{height:33px!important;min-width:29px!important;padding-inline:4px!important;font-size:9.75px!important;}
  .site-header .site-login-trigger{width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;justify-content:center!important;}
  .site-header .site-login-label{display:none!important;}
  .mobile-nav-links,.mobile-nav-portals{grid-template-columns:1fr!important;}

  body.public-page-about #pageContent .vm-row{grid-template-columns:1fr!important;}
  body.public-page-about #pageContent .who-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.public-page-about #pageContent .who-card:last-child:nth-child(odd){grid-column:1/-1!important;width:min(50%,170px)!important;justify-self:center!important;}
  body.public-page-about #pageContent .team-grid{grid-template-columns:1fr!important;}
  body.public-page-about #pageContent .team-grid .team-card,
  body.public-page-about #pageContent .team-grid .team-card:last-child:nth-child(odd){grid-column:1!important;width:min(100%,230px)!important;justify-self:center!important;}

  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-areas:"brand phones" "address address"!important;gap:12px 10px!important;}
  .footer-brand-col{grid-area:brand!important;}
  .footer-address-col{grid-area:address!important;text-align:center!important;align-items:center!important;}
  .footer-phones-col{grid-area:phones!important;}
  .footer-address-col .item{justify-content:center!important;}
  .footer-bottom{font-size:10.5px!important;gap:6px 12px!important;}

  body.category-mode-horizontal.public-page-home #pageContent .cat-grid-horizontal .cat-card-h,
  body.category-mode-horizontal.public-page-categories #pageContent #catGrid.cat-grid-horizontal .cat-card-h{flex-basis:104px!important;width:104px!important;min-width:104px!important;min-height:116px!important;}
  body.category-mode-horizontal.public-page-home #pageContent .cat-grid-horizontal .cat-ico-h,
  body.category-mode-horizontal.public-page-categories #pageContent #catGrid.cat-grid-horizontal .cat-ico-h{height:64px!important;min-height:64px!important;}
  body.public-page-home #pageContent .home-mobile-property-strip .chalet-card{flex-basis:184px!important;width:184px!important;}

  /* Keep existing non-target narrow-list behavior intact. */
  #pageContent .quick-search{grid-template-columns:1fr!important;}
  #pageContent .quick-search .qs-field,#pageContent .quick-search .qs-field--dates,#pageContent .quick-search .qs-submit{grid-column:1!important;}
  #pageContent .chalet-list-row{grid-template-columns:72px minmax(0,1fr)!important;}
  #pageContent .chalet-list-thumb{width:72px!important;height:58px!important;}
  #pageContent .chalet-list-row>.price-tag{grid-column:2!important;justify-self:start!important;margin-top:2px!important;}
}

/* ================================================================
   Full-screen property gallery/lightbox — all screen sizes
   ================================================================ */
body.gallery-open{overflow:hidden!important;touch-action:none;}
.cozy-gallery-overlay{position:fixed;inset:0;z-index:100000;display:grid;grid-template-rows:auto 1fr auto;background:rgba(4,8,14,.96);color:#fff;opacity:0;pointer-events:none;transition:opacity .16s ease;}
.cozy-gallery-overlay.is-open{opacity:1;pointer-events:auto;}
.cozy-gallery-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(10px,env(safe-area-inset-top)) 12px 8px;}
.cozy-gallery-counter{font-size:13px;font-weight:800;letter-spacing:.02em;}
.cozy-gallery-close,.cozy-gallery-nav{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(0,0,0,.36);color:#fff;cursor:pointer;touch-action:manipulation;}
.cozy-gallery-close{font-size:30px;line-height:1;font-family:Arial,sans-serif;}
.cozy-gallery-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;padding:6px 58px;overflow:hidden;}
.cozy-gallery-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none;}
.cozy-gallery-nav{position:absolute;top:50%;transform:translateY(-50%);font-size:28px;z-index:2;}
.cozy-gallery-prev{inset-inline-start:8px;}
.cozy-gallery-next{inset-inline-end:8px;}
.cozy-gallery-bottom{min-height:34px;padding:6px 12px max(10px,env(safe-area-inset-bottom));text-align:center;font-size:11px;color:rgba(255,255,255,.72);}
.cozy-gallery-overlay.single .cozy-gallery-nav{display:none;}
@media(max-width:768px){
  .cozy-gallery-stage{padding-inline:48px;}
  .cozy-gallery-nav{width:42px;height:42px;min-width:42px;font-size:25px;}
  .cozy-gallery-prev{inset-inline-start:4px;}.cozy-gallery-next{inset-inline-end:4px;}
}
@media(orientation:landscape) and (max-height:520px){
  .cozy-gallery-top{padding-block:5px;}.cozy-gallery-bottom{padding-block:4px;min-height:24px;}.cozy-gallery-close{width:38px;height:38px;min-width:38px;}
}

/* V8.29 annual quick-search: checkout is calculated by the system. */
@media(max-width:768px){
  #quickSearch .qs-date.is-annual-locked{opacity:.78;cursor:not-allowed;}
}

@media (max-width:768px){.cozy-gallery-stage{touch-action:none;overscroll-behavior:contain}.cozy-gallery-image{will-change:transform,opacity;backface-visibility:hidden;-webkit-user-select:none;user-select:none}}
