
:root{
  --ink:#2f2a27;--muted:#77706b;--paper:#fbfaf8;--line:#e8e4df;--soft:#f4f1ed;--white:#fff;
  --radius:18px;--shadow:0 10px 28px rgba(47,42,39,.07);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 40px));margin:auto}
.site-header{padding:18px 0;position:sticky;top:0;z-index:30;background:rgba(251,250,248,.92);backdrop-filter:blur(14px)}
.nav-shell{background:var(--ink);color:white;border-radius:0 0 18px 18px;display:flex;align-items:center;justify-content:space-between;padding:14px 20px;box-shadow:var(--shadow)}
.brand{display:flex;gap:11px;align-items:center;font-weight:800;letter-spacing:.2px}.brand-mark{width:30px;height:30px;border:1.5px solid #fff;border-radius:9px;display:grid;place-items:center;transform:rotate(45deg)}.brand-mark span{transform:rotate(-45deg);font-size:11px}
.nav-links{display:flex;gap:30px;align-items:center;font-size:13px}.nav-links a{opacity:.82}.nav-links a:hover{opacity:1}.nav-actions{display:flex;gap:10px;align-items:center}.pill,.btn{border:0;border-radius:999px;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:700}.pill{background:#403936;color:#fff}.btn-dark{background:var(--ink);color:#fff}.btn-light{background:white;color:var(--ink);border:1px solid var(--line)}.btn-soft{background:var(--soft);color:var(--ink)}.btn-sm{padding:9px 13px;font-size:13px}
.hero{min-height:430px;border-radius:20px;overflow:hidden;position:relative;background:linear-gradient(90deg,rgba(38,32,28,.62),rgba(38,32,28,.18)),url('../img/property-1.svg') center/cover no-repeat;display:flex;align-items:center;justify-content:center;color:white;text-align:center;margin-top:6px}
.hero-inner{width:100%;padding:58px 24px 30px}.eyebrow{font-family:Georgia,serif;font-size:16px;opacity:.92}.hero h1{font:700 clamp(38px,6vw,68px)/1 Georgia,serif;margin:10px 0 26px}.hero p{max-width:720px;margin:0 auto 24px;opacity:.92}
.searchbar{background:#fff;color:var(--ink);display:grid;grid-template-columns:1.2fr 1fr 1fr .7fr auto;gap:8px;padding:11px;border-radius:16px;width:min(920px,100%);margin:0 auto;box-shadow:0 14px 45px rgba(0,0,0,.16);text-align:left}
.field{background:#f7f6f4;border-radius:11px;padding:8px 12px}.field label{display:block;font-size:11px;font-weight:800;margin-bottom:5px}.field input,.field select{width:100%;border:0;background:transparent;outline:none;color:var(--ink)}.search-button{width:48px;height:48px;border-radius:50%;border:0;background:var(--ink);color:white;font-size:18px;align-self:center}
.category-strip{display:flex;align-items:center;gap:14px;margin:34px 0 46px;overflow:auto;padding-bottom:6px}.category{min-width:90px;text-align:center;color:var(--muted);font-size:12px}.category .ico{width:50px;height:50px;border-radius:14px;border:1px solid var(--line);display:grid;place-items:center;margin:0 auto 7px;background:#fff}.category.active .ico{background:var(--ink);color:#fff}.category.active{color:var(--ink);font-weight:700}.category-spacer{flex:1}.section{margin:0 0 44px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.section h2{font:700 25px/1.2 Georgia,serif;margin:0}.section-sub{color:var(--muted);font-size:14px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 4px 15px rgba(50,45,40,.035)}.card-image{aspect-ratio:1.18/1;overflow:hidden;background:var(--soft)}.card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:.35s}.card:hover .card-image img{transform:scale(1.03)}.card-body{padding:13px}.card-title{font-weight:800;font-size:15px}.card-location{color:var(--muted);font-size:12px;margin:4px 0 10px}.card-bottom{display:flex;justify-content:space-between;align-items:end}.price{font-weight:800}.price small{font-weight:500;color:var(--muted)}.arrow{width:34px;height:34px;border-radius:50%;background:var(--ink);color:white;display:grid;place-items:center}
.filters-panel{padding:20px;background:#fff;border:1px solid var(--line);border-radius:16px;margin:18px 0}.alert{padding:13px 16px;border-radius:12px;margin:14px 0}.alert-success{background:#edf7ef;color:#236333}.alert-error{background:#fff0f0;color:#8b2d2d}.auth-wrap{min-height:70vh;display:grid;place-items:center}.auth-card{width:min(480px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:var(--shadow)}.auth-card h1{font-family:Georgia,serif}.form-grid{display:grid;gap:14px}.form-control label{font-weight:700;font-size:13px;display:block;margin-bottom:6px}.form-control input,.form-control select,.form-control textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:12px;background:#fff}.property-page{display:grid;grid-template-columns:1.45fr .75fr;gap:28px;margin-top:28px}.gallery-main{border-radius:18px;overflow:hidden}.gallery-main img{width:100%;display:block}.booking-box{background:white;border:1px solid var(--line);border-radius:16px;padding:20px;position:sticky;top:100px;height:max-content}.booking-box h3{margin-top:0}.amenities{display:flex;gap:8px;flex-wrap:wrap}.tag{padding:8px 11px;background:var(--soft);border-radius:999px;font-size:12px}.footer{border-top:1px solid var(--line);padding:36px 0;margin-top:50px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}.muted{color:var(--muted)}.account-grid{display:grid;grid-template-columns:240px 1fr;gap:24px;margin:30px 0}.account-menu{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;height:max-content}.account-menu a{display:block;padding:11px;border-radius:9px}.account-menu a:hover{background:var(--soft)}table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}th{background:#f7f5f2}
@media(max-width:900px){.nav-links{display:none}.searchbar{grid-template-columns:1fr 1fr}.searchbar .field:first-child{grid-column:1/-1}.search-button{width:100%;border-radius:10px}.cards{grid-template-columns:repeat(2,1fr)}.property-page,.account-grid{grid-template-columns:1fr}.booking-box{position:static}.footer-grid{grid-template-columns:1fr}}
@media(max-width:560px){.container{width:min(100% - 22px,1180px)}.cards{grid-template-columns:1fr}.hero{min-height:540px}.searchbar{grid-template-columns:1fr}.searchbar .field:first-child{grid-column:auto}.nav-actions .hide-mobile{display:none}}


/* Dynamic transparent branding */
.site-brand{
  display:flex;
  align-items:center;
  min-width:150px;
  background:transparent;
  padding:0;
  line-height:0;
}
.site-logo{
  display:block;
  width:auto;
  height:auto;
  object-fit:contain;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
}
.site-logo-header{
  max-width:210px;
  max-height:72px;
  object-position:left center;
}
.brand-fallback{
  color:#fff;
  font-weight:800;
  font-size:17px;
  line-height:1.1;
}
.footer-logo-link{
  display:inline-block;
  background:transparent;
  line-height:0;
  margin-bottom:8px;
}
.site-logo-footer{
  max-width:260px;
  max-height:105px;
  object-position:left center;
}
.footer-brand-fallback{
  display:inline-block;
  font-weight:800;
  font-size:21px;
  line-height:1.2;
  color:var(--ink);
}
.nav-shell{
  min-height:84px;
}
@media(max-width:900px){
  .site-logo-header{max-width:165px;max-height:58px}
  .site-logo-footer{max-width:220px;max-height:88px}
  .nav-shell{min-height:74px}
}
@media(max-width:560px){
  .site-logo-header{max-width:135px;max-height:50px}
  .site-brand{min-width:120px}
}

.property-thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:10px}
.property-thumb{padding:0;border:2px solid transparent;border-radius:9px;overflow:hidden;background:transparent;cursor:pointer;aspect-ratio:1.25/1}
.property-thumb.active{border-color:var(--ink)}
.property-thumb img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:700px){.property-thumbs{grid-template-columns:repeat(4,1fr)}}


/* Public pricing & availability V7 */
.availability-public{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800;margin:3px 0 9px}
.available-public{background:#edf7ef;color:#2e6a3d}
.unavailable-public{background:#fff0f0;color:#933a34}
.neutral-public{background:#f2efeb;color:#6d655f}
.stay-total{font-size:10px;color:var(--muted);margin-top:3px}
.no-availability{padding:30px;background:#fff;border:1px solid var(--line);border-radius:14px;text-align:center}
.no-availability strong,.no-availability span{display:block}.no-availability span{color:var(--muted);font-size:12px;margin-top:5px}
.booking-box h3 small{font:500 11px Inter,system-ui,sans-serif;color:var(--muted)}
.booking-main-cta{width:100%;margin-top:12px}
.price-breakdown{display:flex;flex-direction:column;gap:7px;margin:13px 0}
.price-breakdown>div{display:flex;justify-content:space-between;gap:10px;font-size:12px}
.price-breakdown small{font-size:9px;color:#6f665f;margin-top:-4px}
.price-breakdown .discount-line{color:#2e6a3d}
.price-breakdown .total-line{border-top:1px solid var(--line);padding-top:9px;margin-top:3px;font-size:14px}
.property-policy-box{margin-top:24px;padding:17px;background:#fff;border:1px solid var(--line);border-radius:14px}
.property-policy-box h3{font:700 18px Georgia,serif;margin:0 0 10px}
.property-policy-box details{border-top:1px solid var(--line);padding:9px 0}
.property-policy-box details:first-of-type{border-top:0}
.property-policy-box summary{font-size:12px;font-weight:800;cursor:pointer}
.property-policy-box details p{font-size:12px;color:var(--muted);line-height:1.6}


/* Payment and non-refundable rate presentation */
.public-rate-flags,.card-rate-flags{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px}
.public-rate-flags span,.card-rate-flags span{
  display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;background:#f0ede8;
  font-size:9px;font-weight:800;color:#5c544e
}
.public-rate-flags .nonrefund-flag,.card-rate-flags .nr{background:#2f2a27;color:#fff}
.payment-flag{background:#eeedff!important;color:#4b46a8!important}
.nonrefund-note{padding:9px 11px;border-radius:9px;background:#f7f0ea;color:#765344;font-size:10px;line-height:1.45;margin-bottom:10px}
.increase-line{color:#8a4a36}
.rate-payment-summary{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 14px;border-radius:11px;margin:0 0 14px;border:1px solid var(--line)
}
.rate-payment-summary strong,.rate-payment-summary span{display:block}
.rate-payment-summary strong{font-size:12px}
.rate-payment-summary span{font-size:10px;color:var(--muted);margin-top:3px;line-height:1.4}
.rate-nonrefundable{background:#f8f2ed;border-color:#ead9cd}
.rate-payment-summary>b{font-size:11px;padding:6px 8px;border-radius:999px;white-space:nowrap}
.rate-discount{background:#eaf6ed;color:#27643a}
.rate-increase{background:#fff0ed;color:#93483b}


/* Booking-style rate choices */
.rate-option-list{display:flex;flex-direction:column;gap:8px;margin:10px 0 12px}
.public-rate-card{display:block;border:1px solid var(--line);border-radius:12px;padding:11px;cursor:pointer;background:#fff;transition:.15s}
.public-rate-card:hover{border-color:#bcb3ab}.public-rate-card.selected{border-color:#2f2a27;box-shadow:inset 0 0 0 1px #2f2a27;background:#fbfaf8}
.public-rate-card>input{position:absolute;opacity:0;pointer-events:none}
.rate-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.rate-card-top>div strong,.rate-card-top>div span{display:block}.rate-card-top>div strong{font-size:12px}.rate-card-top>div span{font-size:9px;color:var(--muted);margin-top:3px}
.rate-card-top>b{font-size:13px;white-space:nowrap}.rate-card-top>b small{font-size:8px;font-weight:500;color:var(--muted)}
.public-rate-card p{font-size:9px;line-height:1.45;color:#716861;margin:8px 0}
.rate-card-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:8px;margin-top:7px;font-size:10px}
.rate-card-bottom strong{font-size:12px}
.public-rate-card em{display:inline-flex;margin-top:7px;padding:4px 6px;border-radius:999px;font-size:8px;font-weight:800;font-style:normal}
.rate-saving{background:#eaf6ed;color:#27643a}.rate-extra{background:#fff0ed;color:#8d493c}
.property-date-form{margin-top:15px;padding-top:14px;border-top:1px solid var(--line)}
.checkout-rate-choice{padding:10px 11px;background:#f4f1ed;border-radius:10px;margin-bottom:12px}
.checkout-rate-choice strong,.checkout-rate-choice span,.checkout-rate-choice small{display:block}
.checkout-rate-choice strong{font-size:12px}.checkout-rate-choice span{font-size:9px;color:#625a54;margin-top:3px}.checkout-rate-choice small{font-size:9px;color:#887f77;line-height:1.4;margin-top:5px}
.change-rate-link{display:inline-block;margin-top:10px;font-size:10px;font-weight:700;color:#665e58}
.stay-rate-count{font-size:9px;font-weight:800;color:#514944;margin-top:3px}

.rate-important-note{margin:7px 0;padding:7px 8px;border-radius:8px;background:#f8eee8;color:#7a4f3f;font-size:8px;line-height:1.45;font-weight:700}

.rate-guest-pricing{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0}
.rate-guest-pricing span{display:flex;justify-content:space-between;gap:6px;padding:6px 7px;background:#f5f2ee;border-radius:7px;font-size:8px;color:#6d655f}
.rate-guest-pricing strong{color:#2f2a27}

.free-cancel-public{margin:7px 0 3px;padding:7px 8px;border-radius:8px;background:#eaf6ed;color:#27643a;font-size:9px;font-weight:800}
.late-cancel-public{font-size:8px;line-height:1.4;color:#7b6f66;margin-bottom:6px}
.free-cancel-highlight{color:#27643a!important;font-weight:800!important}
.booking-account-list{display:flex;flex-direction:column;gap:12px}
.account-booking-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}
.account-booking-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}
.account-booking-head h3{margin:3px 0;font-size:16px}.account-booking-head p{margin:0;color:var(--muted);font-size:11px}
.booking-code{font-size:9px;font-weight:900;color:#8a8179;text-transform:uppercase}
.booking-status{padding:5px 8px;border-radius:999px;background:#f1eee9;font-size:9px;font-weight:900;text-transform:capitalize}
.status-paid,.status-confirmed{background:#eaf6ed;color:#27643a}.status-cancelled{background:#f4ecea;color:#8b4a3e}
.account-booking-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:13px 0}
.account-booking-meta>div{padding:9px;background:#f8f6f3;border-radius:9px}
.account-booking-meta span,.account-booking-meta strong{display:block}.account-booking-meta span{font-size:8px;color:var(--muted);margin-bottom:3px}.account-booking-meta strong{font-size:10px}
.cancel-policy-info{padding:10px 11px;border-radius:10px;margin-top:10px}
.cancel-policy-info strong,.cancel-policy-info span{display:block}.cancel-policy-info strong{font-size:10px}.cancel-policy-info span{font-size:9px;line-height:1.45;margin-top:3px}
.cancel-free{background:#eaf6ed;color:#27643a}.cancel-expired{background:#fff0ed;color:#84493d}
.cancel-booking-form{margin-top:8px}.late-cancel-confirm{display:flex;gap:7px;align-items:flex-start;font-size:9px;color:#6d625a;margin-bottom:8px}.late-cancel-confirm input{margin-top:1px}
.cancelled-summary{margin-top:10px;font-size:9px;color:#7f756d}
@media(max-width:750px){.account-booking-meta{grid-template-columns:1fr 1fr}}


/* Booking account popup */
.booking-auth-open{overflow:hidden}
.booking-auth-overlay{
  position:fixed;inset:0;z-index:9999;background:rgba(31,27,24,.62);
  backdrop-filter:blur(7px);display:none;align-items:center;justify-content:center;padding:20px
}
.booking-auth-overlay.is-open{display:flex}
.booking-auth-modal{
  position:relative;width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;
  background:#fff;border:1px solid rgba(255,255,255,.55);border-radius:24px;padding:28px;
  box-shadow:0 30px 90px rgba(20,17,15,.28)
}
.booking-auth-close{
  position:absolute;right:16px;top:16px;width:34px;height:34px;border:0;border-radius:50%;
  background:#f3f0ec;color:#4e4742;font-size:20px;cursor:pointer
}
.booking-auth-brand{padding-right:38px;margin-bottom:20px}
.booking-auth-kicker{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.16em;font-weight:900;color:#91877f;margin-bottom:7px}
.booking-auth-brand h2{font:700 27px/1.06 Georgia,serif;margin:0 0 9px;color:var(--ink)}
.booking-auth-brand p{margin:0;color:var(--muted);font-size:11px;line-height:1.55;max-width:430px}
.booking-auth-tabs{
  display:grid;grid-template-columns:1fr 1fr;background:#f4f1ed;border-radius:12px;padding:4px;margin-bottom:18px
}
.booking-auth-tab{
  border:0;background:transparent;border-radius:9px;padding:10px 12px;font-size:11px;font-weight:800;
  color:#746b64;cursor:pointer
}
.booking-auth-tab.active{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(41,36,32,.07)}
.booking-auth-pane{display:none}.booking-auth-pane.active{display:block}
.booking-auth-form{display:grid;gap:11px}
.booking-auth-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.booking-auth-field label{display:block;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#776e67;margin-bottom:5px}
.booking-auth-field input{
  width:100%;border:1px solid #e3ded8;border-radius:11px;padding:12px 13px;background:#fbfaf8;
  color:var(--ink);outline:none;font:inherit;font-size:12px
}
.booking-auth-field input:focus{border-color:#786f68;background:#fff;box-shadow:0 0 0 3px rgba(47,42,39,.05)}
.booking-auth-submit{
  width:100%;border:0;border-radius:999px;background:var(--ink);color:#fff;padding:13px 18px;
  font-size:12px;font-weight:800;cursor:pointer;margin-top:3px
}
.booking-auth-footnote{text-align:center;font-size:9px;color:#91877f;line-height:1.45}
.booking-auth-inline-note{text-align:center;font-size:9px;color:#82786f;margin-top:7px}
.auth-booking-background{
  min-height:65vh;display:grid;place-items:center;padding:50px 0;filter:blur(0)
}
.auth-booking-summary{
  width:min(620px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;
  box-shadow:var(--shadow);text-align:center
}
.auth-booking-summary>span{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#91877f;font-weight:900}
.auth-booking-summary h1{font:700 30px Georgia,serif;margin:8px 0}
.auth-booking-summary p{font-size:12px;color:#5f5751}
.auth-booking-summary div{font-size:11px;color:var(--muted);margin-top:12px}
@media(max-width:620px){
  .booking-auth-overlay{padding:10px;align-items:flex-end}
  .booking-auth-modal{width:100%;border-radius:22px 22px 12px 12px;padding:22px 18px;max-height:92vh}
  .booking-auth-two{grid-template-columns:1fr}
  .booking-auth-brand h2{font-size:24px}
}


/* V17 guests, pets and extra fees */
.searchbar-expanded{grid-template-columns:1.2fr 1fr 1fr .65fr .65fr auto!important}
.pet-search-panel{margin-top:10px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px}
.pet-search-head,.property-pets-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pet-search-head strong,.pet-search-head span,.property-pets-head strong,.property-pets-head span{display:block}
.pet-search-head strong,.property-pets-head strong{font-size:11px}.pet-search-head span,.property-pets-head span{font-size:9px;color:var(--muted);margin-top:2px}
.pet-rows{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.pet-row{display:grid;grid-template-columns:1fr 1fr 28px;gap:6px;align-items:center}
.pet-row select{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px;font-size:10px}
.pet-remove{width:28px;height:28px;border:0;border-radius:50%;background:#f3efeb;color:#7e4b44;font-size:17px;cursor:pointer}
.pet-apply-btn{margin-top:8px}
.property-pets-box{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fbfaf8}
.guest-count-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.guest-capacity-note{font-size:8px;color:var(--muted)}
.rate-extra-fees-mini{display:flex;flex-direction:column;gap:2px;margin:7px 0;font-size:8px;color:#756b63}
.stay-fee-note{font-size:8px;color:#756b63;margin-top:2px}
@media(max-width:900px){.searchbar-expanded{grid-template-columns:1fr 1fr!important}}
@media(max-width:560px){.searchbar-expanded{grid-template-columns:1fr!important}.pet-row{grid-template-columns:1fr 1fr 26px}}

.automatic-promo-public{margin:7px 0;padding:6px 8px;border-radius:8px;background:#eef3ff;color:#425c91;font-size:8px;font-weight:800}
.voucher-entry small{display:block;color:var(--muted);font-size:9px;margin-top:4px;line-height:1.4}


/* V18.1 — availability form before rate options */
.booking-search-first{
  padding-bottom:16px;
  margin-bottom:16px;
  border-bottom:1px solid var(--line);
}
.booking-search-title{
  font:700 18px Georgia,serif;
  margin-bottom:4px;
}
.booking-search-subtitle{
  font-size:9px;
  line-height:1.45;
  color:var(--muted);
  margin-bottom:12px;
}
.booking-search-first .property-date-form{
  margin-top:0;
  padding-top:0;
  border-top:0;
}


/* V18.2 live rate refresh */
.live-price-status{
  min-height:16px;
  font-size:8px;
  font-weight:700;
  color:#7b726b;
  margin:-5px 0 8px;
}
.booking-box{
  position:relative;
  transition:opacity .15s ease;
}
.booking-box.is-refreshing{
  opacity:.62;
  pointer-events:none;
}
.booking-box.is-refreshing::after{
  content:"";
  position:absolute;
  top:18px;
  right:18px;
  width:18px;
  height:18px;
  border-radius:50%;
  border:2px solid #ddd7d0;
  border-top-color:#2f2a27;
  animation:bookingSpin .7s linear infinite;
  z-index:20;
}
@keyframes bookingSpin{to{transform:rotate(360deg)}}


/* V18.3 alternative available properties */
.unavailable-recommendation-copy{
  margin:10px 0 12px;
}
.unavailable-recommendation-copy strong,
.unavailable-recommendation-copy span{
  display:block;
}
.unavailable-recommendation-copy strong{
  font-size:11px;
  line-height:1.4;
  color:#423b36;
}
.unavailable-recommendation-copy span{
  margin-top:4px;
  font-size:9px;
  line-height:1.45;
  color:var(--muted);
}

.alternative-property-list{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-top:9px;
}
.alternative-property-card{
  display:grid;
  grid-template-columns:68px 1fr 22px;
  gap:9px;
  align-items:center;
  text-decoration:none;
  color:inherit;
  padding:7px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
  transition:.15s ease;
}
.alternative-property-card:hover{
  border-color:#bfb6ae;
  transform:translateY(-1px);
  box-shadow:0 5px 14px rgba(40,35,31,.06);
}
.alternative-property-image{
  width:68px;
  height:58px;
  border-radius:8px;
  overflow:hidden;
  background:#eeeae5;
}
.alternative-property-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.alternative-property-copy{
  min-width:0;
}
.alternative-property-copy>strong,
.alternative-property-copy>span,
.alternative-property-copy>em{
  display:block;
}
.alternative-property-copy>strong{
  font-size:10px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.alternative-property-copy>span{
  font-size:8px;
  color:var(--muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  margin-top:2px;
}
.alternative-property-price{
  display:flex;
  align-items:baseline;
  gap:3px;
  margin-top:5px;
}
.alternative-property-price b{
  font-size:11px;
}
.alternative-property-price small{
  font-size:7px;
  color:var(--muted);
}
.alternative-property-copy>em{
  margin-top:2px;
  font-style:normal;
  font-size:8px;
  font-weight:700;
  color:#6a615a;
}
.alternative-property-arrow{
  font-size:15px;
  color:#8a8179;
  text-align:center;
}
.no-alternative-property{
  padding:10px;
  border-radius:9px;
  background:#f5f2ee;
  color:#756c65;
  font-size:9px;
  line-height:1.45;
}


/* V18.4 property layout + live pricing fix */
.property-page{
  align-items:start;
}
.booking-box{
  top:122px!important;
  max-height:calc(100vh - 142px);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:#d6d0ca transparent;
  z-index:8;
}
.booking-box::-webkit-scrollbar{width:6px}
.booking-box::-webkit-scrollbar-thumb{background:#d6d0ca;border-radius:999px}
.booking-box::-webkit-scrollbar-track{background:transparent}

.booking-search-first{
  background:#fff;
  position:relative;
  z-index:2;
}
.rate-option-list{
  gap:10px!important;
}
.public-rate-card{
  overflow:hidden;
}
.public-rate-card.selected{
  box-shadow:inset 0 0 0 2px #2f2a27!important;
}
.rate-card-top{
  align-items:flex-start;
}
.rate-card-top>b{
  text-align:right;
}
.rate-card-top>b small{
  display:block;
  margin-top:2px;
  white-space:normal;
}
.rate-guest-pricing{
  grid-template-columns:1fr 1fr;
}
.rate-extra-fees-mini{
  background:#faf8f5;
  border-radius:8px;
  padding:6px 7px;
}
.booking-main-cta{
  width:100%;
  margin-top:12px;
}
@media(max-width:900px){
  .booking-box{
    position:static!important;
    top:auto!important;
    max-height:none;
    overflow:visible;
  }
}


/* V18.5 — sidebar starts level with gallery and grows naturally */
@media(min-width:901px){
  .property-page{
    align-items:start!important;
  }

  .property-page > .booking-box{
    position:sticky!important;
    top:122px!important;
    align-self:start!important;

    /* No internal scroll. The entire rate section remains part of page flow. */
    max-height:none!important;
    height:auto!important;
    overflow:visible!important;
    overscroll-behavior:auto!important;

    /* Important: previous position:relative + top offset shifted the box down. */
    transform:none!important;
    margin-top:0!important;
  }
}

/* Keep the form and all rate cards in one clean vertical panel. */
.booking-box .booking-search-first{
  margin-top:0!important;
}
.booking-box .rate-option-list{
  overflow:visible!important;
  max-height:none!important;
}
.booking-box .public-rate-card{
  height:auto!important;
  max-height:none!important;
}


/* V18.6 property search redesign + promotion badges */
.hero-property-search{
  width:min(980px,calc(100% - 40px))!important;
  grid-template-columns:1.25fr 1fr 1fr .7fr .55fr!important;
  gap:10px!important;
  padding:16px!important;
  border-radius:22px!important;
  box-shadow:0 22px 60px rgba(22,18,15,.22)!important;
  position:relative;
  align-items:stretch;
}
.hero-property-search .field,
.results-property-search .field{
  background:#f6f4f1!important;
  border:1px solid transparent;
  border-radius:14px!important;
  padding:11px 13px!important;
  transition:.15s ease;
}
.hero-property-search .field:focus-within,
.results-property-search .field:focus-within{
  background:#fff!important;
  border-color:#cfc8c1;
  box-shadow:0 0 0 3px rgba(47,42,39,.045);
}
.hero-property-search .field label,
.results-property-search .field label{
  font-size:10px!important;
  letter-spacing:.01em;
}
.hero-property-search .field input,
.hero-property-search .field select,
.results-property-search .field input,
.results-property-search .field select{
  font-size:13px;
  min-height:24px;
}
.hero-property-search .property-search-submit{
  grid-column:1/-1;
  justify-self:start;
  width:auto!important;
  height:44px!important;
  padding:0 18px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  font-size:11px!important;
}
.property-search-submit b{font-size:10px}
.property-search-submit span{font-size:16px}

.results-property-search{
  grid-template-columns:1.25fr 1fr 1fr .7fr .55fr auto!important;
  gap:8px!important;
  padding:10px!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.results-property-search .property-search-submit{
  width:52px!important;
  height:52px!important;
  padding:0!important;
}
.results-property-search .property-search-submit b{display:none}

.property-result-card .card-image{position:relative}
.property-promo-badges{
  position:absolute;
  top:10px;
  left:10px;
  z-index:4;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
  max-width:calc(100% - 20px);
}
.property-promo-badges span{
  display:inline-flex;
  max-width:100%;
  padding:6px 9px;
  border-radius:999px;
  background:#2f2a27;
  color:#fff;
  font-size:8px;
  line-height:1;
  font-weight:900;
  box-shadow:0 5px 15px rgba(24,20,17,.17);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.property-promo-badges span:first-child{
  background:#eaf6ed;
  color:#27643a;
}
.property-selection-badge{
  position:absolute;
  left:10px;
  bottom:10px;
  z-index:4;
  padding:6px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(6px);
  color:#2f2a27;
  font-size:8px;
  font-weight:900;
  box-shadow:0 4px 12px rgba(20,17,15,.10);
}
.search-selection-chips{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:9px;
}
.search-selection-chips span{
  display:inline-flex;
  align-items:center;
  padding:6px 9px;
  border-radius:999px;
  background:#f0ede9;
  color:#5e554f;
  font-size:9px;
  font-weight:800;
}
.property-result-card{
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.property-result-card:hover{
  transform:translateY(-2px);
  border-color:#d4ccc4;
  box-shadow:0 10px 25px rgba(43,37,33,.07);
}
@media(max-width:900px){
  .hero-property-search,
  .results-property-search{
    grid-template-columns:1fr 1fr!important;
  }
  .hero-property-search .property-search-submit,
  .results-property-search .property-search-submit{
    grid-column:1/-1;
    width:100%!important;
    border-radius:12px!important;
  }
  .results-property-search .property-search-submit b{display:inline}
}
@media(max-width:560px){
  .hero-property-search,
  .results-property-search{
    grid-template-columns:1fr!important;
    width:100%!important;
  }
}


/* V18.7 booking summary VAT */
.promotion-summary-line span{font-weight:700}
.promotion-total-line{
  padding-top:5px;
  border-top:1px dashed #dcd5ce;
}
.vat-separator{
  height:1px;
  background:var(--line);
  margin:7px 0 2px;
}
.price-breakdown .vat-net-line,
.price-breakdown .vat-line{
  font-size:11px;
}
.price-breakdown .vat-line strong{
  color:#5f5751;
}
.tourist-tax-vat-note{
  display:block;
  margin:1px 0 4px!important;
  padding:6px 7px;
  border-radius:7px;
  background:#f5f2ee;
  color:#746a62!important;
  line-height:1.4;
}
.price-breakdown .final-total-line{
  font-size:15px!important;
  font-weight:900;
  border-top:2px solid #2f2a27!important;
  padding-top:11px!important;
}
.price-breakdown .final-total-line strong{
  font-size:16px;
}


/* V18.8 summary policy + promotion details */
.summary-cancellation-policy{
  margin-top:8px;
  padding:10px 11px;
  border-radius:10px;
  background:#eaf6ed;
  color:#27643a;
}
.summary-cancellation-policy strong{
  display:block;
  font-size:10px;
  margin-bottom:5px;
}
.summary-cancellation-policy p{
  margin:0!important;
  font-size:9px!important;
  line-height:1.55!important;
  color:#3e6549!important;
}
.summary-cancellation-policy.non-refundable-summary{
  background:#f8eee8;
  color:#7a4f3f;
}
.summary-cancellation-policy.non-refundable-summary p{
  color:#765448!important;
}

.summary-promotion-box{
  margin:8px 0;
  padding:10px;
  border:1px solid #dbe6d9;
  border-radius:10px;
  background:#f6fbf6;
}
.summary-promotion-head{
  margin-bottom:8px;
}
.summary-promotion-head strong,
.summary-promotion-head span{
  display:block;
}
.summary-promotion-head strong{
  font-size:10px;
  color:#27643a;
}
.summary-promotion-head span{
  margin-top:2px;
  font-size:8px;
  color:#66806c;
}
.summary-promotion-item{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  padding-top:8px;
  border-top:1px solid #e1ebe0;
}
.summary-promotion-item>div{
  padding:6px 7px;
  border-radius:7px;
  background:#fff;
}
.summary-promotion-item span,
.summary-promotion-item strong{
  display:block;
}
.summary-promotion-item span{
  font-size:7px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#7b8a7d;
}
.summary-promotion-item strong{
  margin-top:2px;
  font-size:9px;
  color:#2f2a27;
}
.summary-promotion-item .promotion-discount-value strong{
  color:#27643a;
  font-size:11px;
}
.summary-promotion-total{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding-top:8px;
  margin-top:8px;
  border-top:1px solid #d7e4d5;
  font-size:10px;
  font-weight:900;
  color:#27643a;
}
.night-promo-note{
  color:#4d7657!important;
}
@media(max-width:560px){
  .summary-promotion-item{grid-template-columns:1fr}
}


/* V18.9 live voucher + explicit discounts */
.booking-summary-image{
  width:100%;
  border-radius:12px;
  display:block;
}
.summary-voucher-box{
  margin:8px 0;
  padding:10px;
  border-radius:10px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
.summary-voucher-box>div{
  padding:6px 7px;
  border-radius:7px;
  background:rgba(255,255,255,.75);
}
.summary-voucher-box span,
.summary-voucher-box strong{
  display:block;
}
.summary-voucher-box span{
  font-size:7px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.summary-voucher-box strong{
  margin-top:2px;
  font-size:10px;
}
.voucher-applied{
  background:#eaf6ed;
  color:#27643a;
}
.voucher-rejected{
  background:#fff0ed;
  color:#8b4a3e;
}
.voucher-discount-value strong{
  font-size:12px;
}
.voucher-error-text{
  grid-column:1/-1;
  font-size:9px;
  line-height:1.4;
}
.summary-no-promotion{
  margin:7px 0;
  padding:8px 9px;
  border-radius:8px;
  background:#f5f2ee;
}
.summary-no-promotion span,
.summary-no-promotion strong{
  display:block;
}
.summary-no-promotion span{
  font-size:7px;
  text-transform:uppercase;
  color:#8a8179;
}
.summary-no-promotion strong{
  margin-top:2px;
  font-size:9px;
  color:#655d56;
}
#voucherStatusText.voucher-valid{color:#27643a;font-weight:800}
#voucherStatusText.voucher-invalid{color:#8b4a3e;font-weight:800}
#bookingSummaryContainer{
  transition:opacity .15s ease;
}
#bookingSummaryContainer.is-refreshing-summary{
  opacity:.55;
  pointer-events:none;
}
@media(max-width:560px){
  .summary-voucher-box{grid-template-columns:1fr}
}


/* V18.10 — checkout layout: summary never overlaps footer/header */
.booking-checkout-page{
  align-items:start!important;
  margin-bottom:40px;
}
.booking-checkout-page > #bookingSummaryContainer{
  align-self:start;
  min-width:0;
}
.booking-checkout-page > #bookingSummaryContainer > .booking-box,
.booking-checkout-page .booking-summary-box{
  position:static!important;
  top:auto!important;
  transform:none!important;
  margin:0!important;
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
  z-index:auto!important;
}

/* Let the grid row grow to the full summary height, so footer comes only afterwards. */
.booking-checkout-page > div:first-child,
.booking-checkout-page > #bookingSummaryContainer{
  min-height:0;
  height:auto;
}
.booking-checkout-page + .footer,
.booking-checkout-page ~ .footer{
  clear:both;
}

.checkout-top-promo{
  margin-top:5px!important;
  display:inline-flex!important;
  width:max-content;
  max-width:100%;
  padding:5px 7px;
  border-radius:999px;
  background:#eaf6ed;
  color:#27643a!important;
  font-size:9px!important;
  font-weight:800;
}

.summary-discounts-total{
  display:flex!important;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin:8px 0;
  padding:8px 9px!important;
  border-radius:8px;
  background:#eaf6ed!important;
  color:#27643a;
}
.summary-discounts-total span,
.summary-discounts-total strong{
  font-size:10px;
  font-weight:900;
}


/* V18.11 — hard fix: checkout summary reserves space before footer */
.booking-checkout-page{
  display:grid!important;
  grid-template-columns:minmax(0,1.45fr) minmax(360px,.75fr)!important;
  align-items:start!important;
  column-gap:28px!important;
  position:relative!important;
  overflow:visible!important;
  padding-bottom:0!important;
  margin-bottom:56px!important;
}

.booking-checkout-page > #bookingSummaryContainer{
  display:block!important;
  position:relative!important;
  align-self:start!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  overflow:visible!important;
}

.booking-checkout-page .booking-summary-box{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  transform:none!important;
  margin:0!important;
  z-index:1!important;
}

.booking-checkout-page + script + .footer,
.booking-checkout-page ~ .footer,
main + .footer{
  position:relative!important;
  z-index:0!important;
  clear:both!important;
}

@media(max-width:900px){
  .booking-checkout-page{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
}


/* V18.12 — distinguish real promotions from manual rate adjustments */
.automatic-promo-public{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:7px 0;
  padding:7px 9px;
  border-radius:8px;
  background:#eaf6ed!important;
  color:#27643a!important;
  font-size:8px;
  font-weight:800;
}
.automatic-promo-public span,
.automatic-promo-public strong{
  display:block;
}
.automatic-promo-public strong{
  white-space:nowrap;
  font-size:10px;
}
.rate-adjustment-public{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:8px;
  padding:6px 8px;
  border-radius:8px;
  font-size:8px;
  font-weight:800;
}
.rate-adjustment-public strong{
  font-size:10px;
  white-space:nowrap;
}
.rate-adjustment-minus{
  background:#f3f0ec;
  color:#5f5751;
}
.rate-adjustment-plus{
  background:#fff0ed;
  color:#8b4a3e;
}
/* Old generic rate badges should no longer appear as promotion discounts. */
.public-rate-card > .rate-saving,
.public-rate-card > .rate-extra{
  display:none!important;
}


/* V18.13 — manual rate adjustment is no longer shown to guests */
.rate-adjustment-public,
.public-rate-card > .rate-saving,
.public-rate-card > .rate-extra{
  display:none!important;
}


/* V18.14 — hide guest comparison row from public rate cards */
.public-rate-card .rate-guest-pricing{
  display:none!important;
}


/* V18.16 — mobile-first client website */
.mobile-menu-button{
  display:none;
  width:42px;
  height:42px;
  padding:0;
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  background:rgba(255,255,255,.06);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:4px;
  cursor:pointer;
}
.mobile-menu-button span{
  width:17px;
  height:1.5px;
  border-radius:999px;
  background:#fff;
  transition:.18s ease;
}
.mobile-menu-button.is-open span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.mobile-menu-button.is-open span:nth-child(2){opacity:0}
.mobile-menu-button.is-open span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
.mobile-menu{
  margin-top:8px;
  padding:8px;
  border-radius:14px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 14px 35px rgba(31,27,24,.12);
}
.mobile-menu a{
  display:flex;
  min-height:44px;
  align-items:center;
  padding:0 12px;
  border-radius:10px;
  font-size:14px;
  font-weight:700;
}
.mobile-menu a:hover{background:var(--soft)}
.mobile-menu-primary{
  margin-top:4px;
  background:var(--ink)!important;
  color:#fff!important;
}
.mobile-menu-open{overflow:hidden}

.property-mobile-heading h1{
  font:700 32px/1.08 Georgia,serif;
  margin:22px 0 5px;
}
.property-location{margin:0 0 14px}
.property-description{
  font-size:14px;
  line-height:1.7;
  color:#4e4742;
}
.property-section-label{
  margin:20px 0 9px;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#857b73;
}

/* Inputs stay comfortable on touch devices. */
.property-date-form input,
.property-date-form select,
.results-property-search input,
.results-property-search select,
.hero-property-search input,
.hero-property-search select{
  min-height:44px;
}

/* Mobile */
@media(max-width:900px){
  body{overflow-x:hidden}
  .container{width:min(100% - 28px,1180px)}

  .site-header{
    padding:8px 0;
  }
  .nav-shell{
    min-height:64px!important;
    padding:9px 12px;
    border-radius:0 0 14px 14px;
  }
  .site-brand{min-width:0;max-width:58%}
  .site-logo-header{max-width:150px!important;max-height:48px!important}
  .nav-actions{gap:7px}
  .nav-links{display:none!important}
  .desktop-account-action{display:none!important}
  .mobile-menu-button{display:flex}
  .mobile-menu[hidden]{display:none!important}

  .hero{
    min-height:auto!important;
    margin-top:4px;
    border-radius:16px;
  }
  .hero-inner{
    padding:48px 16px 22px;
  }
  .hero h1{
    font-size:clamp(34px,10vw,50px);
    margin-bottom:20px;
  }
  .hero p{
    font-size:14px;
    line-height:1.55;
  }

  .hero-property-search,
  .results-property-search{
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
    padding:10px!important;
    border-radius:16px!important;
    gap:7px!important;
  }
  .hero-property-search .field:first-child,
  .results-property-search .field:first-child{
    grid-column:1/-1;
  }
  .hero-property-search .property-search-submit,
  .results-property-search .property-search-submit{
    grid-column:1/-1;
    width:100%!important;
    min-height:46px!important;
    border-radius:12px!important;
    justify-self:stretch!important;
  }
  .results-property-search .property-search-submit b{display:inline!important}

  .filters-panel{
    padding:10px;
    margin:10px 0 16px;
    border-radius:14px;
  }
  .pet-search-panel{
    padding:10px;
  }

  .cards{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px;
  }
  .card{
    border-radius:13px;
  }
  .card-body{padding:11px}
  .card-title{font-size:14px}
  .card-location{font-size:11px}
  .price{font-size:14px}

  .property-client-page{
    display:flex!important;
    flex-direction:column;
    gap:14px!important;
    margin-top:12px!important;
  }
  .property-content-column{
    display:contents;
  }
  .gallery-main{
    order:1;
    border-radius:14px;
    aspect-ratio:1.2/1;
    background:#eeeae6;
  }
  .gallery-main img{
    width:100%;
    height:100%;
    object-fit:cover;
  }
  .property-thumbs{
    order:2;
    display:flex!important;
    gap:7px;
    overflow-x:auto;
    padding:1px 0 4px;
    scrollbar-width:none;
  }
  .property-thumbs::-webkit-scrollbar{display:none}
  .property-thumb{
    flex:0 0 76px;
    width:76px;
    aspect-ratio:1.2/1;
  }

  /* Booking box comes immediately after the gallery on mobile. */
  .property-client-page > .property-booking-box{
    order:3;
    position:static!important;
    top:auto!important;
    width:100%;
    margin:0!important;
    padding:15px;
    border-radius:14px;
    max-height:none!important;
    overflow:visible!important;
  }
  .property-mobile-heading{order:4}
  .property-description{order:5}
  .property-section-label{order:6}
  .amenities{order:7}
  .property-policy-box{order:8}

  .booking-search-first{
    margin-bottom:13px!important;
    padding-bottom:13px!important;
  }
  .booking-search-title{
    font-size:19px!important;
  }
  .booking-search-subtitle{
    font-size:11px!important;
  }
  .property-date-form{
    gap:10px!important;
  }
  .property-date-form .form-control label{
    font-size:11px;
  }
  .guest-count-grid{
    grid-template-columns:1fr 1fr!important;
  }
  .property-pets-box{
    padding:10px;
  }
  .property-pets-head{
    align-items:flex-start;
  }
  .property-pets-head .btn{
    padding:8px 10px;
    min-height:38px;
  }

  .rate-option-list{gap:9px!important}
  .public-rate-card{
    padding:12px;
    border-radius:11px;
  }
  .rate-card-top{
    display:grid!important;
    grid-template-columns:1fr auto;
    gap:8px;
  }
  .rate-card-top>div span{
    font-size:9px!important;
    line-height:1.35;
  }
  .rate-card-top>b{
    font-size:13px;
  }
  .rate-card-bottom{
    margin-top:8px;
  }
  .booking-main-cta{
    min-height:48px;
    font-size:13px;
  }

  .amenities{
    display:flex;
    gap:6px;
    overflow-x:auto;
    flex-wrap:nowrap!important;
    padding-bottom:4px;
    scrollbar-width:none;
  }
  .amenities::-webkit-scrollbar{display:none}
  .amenities .tag{
    flex:0 0 auto;
    padding:8px 10px;
    font-size:11px;
  }

  .property-policy-box{
    margin-top:4px!important;
    padding:14px;
  }

  .alternative-property-card{
    grid-template-columns:62px minmax(0,1fr) 20px!important;
  }
  .alternative-property-image{
    width:62px!important;
    height:54px!important;
  }

  .booking-layout,
  .booking-checkout-page{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .booking-checkout-page > #bookingSummaryContainer{
    order:2;
  }
  .booking-checkout-page .booking-summary-box{
    width:100%!important;
  }

  .account-grid{
    grid-template-columns:1fr!important;
    margin:15px 0;
  }
  .account-menu{
    display:flex;
    gap:5px;
    overflow-x:auto;
    padding:6px;
  }
  .account-menu a{
    flex:0 0 auto;
    white-space:nowrap;
  }

  .footer{
    margin-top:32px;
    padding:26px 0;
  }
  .footer-grid{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .site-logo-footer{
    max-width:200px!important;
    max-height:75px!important;
  }
}

@media(max-width:560px){
  .container{width:min(100% - 20px,1180px)}

  .site-header{padding:5px 0}
  .nav-shell{padding:8px 10px}
  .site-logo-header{max-width:128px!important;max-height:42px!important}

  .hero-inner{padding:38px 12px 16px}
  .hero h1{font-size:36px}
  .hero p{font-size:13px}

  .hero-property-search,
  .results-property-search{
    grid-template-columns:1fr!important;
  }
  .hero-property-search .field,
  .results-property-search .field{
    grid-column:auto!important;
    padding:8px 10px!important;
  }

  .cards{
    grid-template-columns:1fr!important;
    gap:11px!important;
  }
  .card-image{
    aspect-ratio:1.45/1;
  }
  .property-promo-badges{
    top:8px;
    left:8px;
  }

  .section{margin-bottom:30px}
  .section-head{
    align-items:flex-start;
    gap:8px;
    flex-direction:column;
  }
  .section h2{font-size:22px}
  .section-sub{font-size:12px}

  .property-mobile-heading h1{
    font-size:27px;
    margin-top:9px;
  }
  .property-description{
    font-size:13px;
    line-height:1.65;
  }

  .gallery-main{
    aspect-ratio:1.05/1;
  }
  .property-thumb{
    flex-basis:68px;
    width:68px;
  }

  .property-client-page > .property-booking-box{
    padding:12px;
  }
  .booking-search-title{font-size:17px!important}
  .guest-count-grid{grid-template-columns:1fr 1fr!important}
  .pet-row{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) 30px!important;
  }

  .rate-card-top{
    grid-template-columns:1fr!important;
  }
  .rate-card-top>b{
    text-align:left!important;
    margin-top:3px;
  }

  .search-selection-chips{
    gap:4px!important;
  }
  .search-selection-chips span{
    font-size:8px!important;
    padding:5px 7px!important;
  }

  .booking-auth-overlay{
    padding:8px!important;
  }
  .booking-auth-modal{
    border-radius:18px 18px 10px 10px!important;
  }

  .account-booking-meta{
    grid-template-columns:1fr 1fr!important;
  }
}


/* =========================================================
   V18.17 — FINAL RESPONSIVE LAYER FOR THE PUBLIC WEBSITE
   This block intentionally comes last and overrides all older mobile rules.
   ========================================================= */

html,body{
  max-width:100%;
  overflow-x:hidden;
}
img,svg,video{
  max-width:100%;
}
main{
  min-width:0;
}
main>.container,
.site-header>.container,
.footer>.container{
  min-width:0;
}
.form-grid,
.form-control,
.field,
.card,
.booking-box,
.account-booking-card,
.auth-card,
.property-content-column,
#bookingSummaryContainer{
  min-width:0;
}

/* Touch-friendly form controls without iOS zoom. */
@media(max-width:900px){
  input,
  select,
  textarea,
  button{
    font-size:16px;
  }

  .form-control input,
  .form-control select,
  .form-control textarea,
  .field input,
  .field select,
  .booking-auth-field input,
  .property-date-form input,
  .property-date-form select,
  .pet-row select{
    min-height:46px;
    font-size:16px!important;
  }

  .btn,
  .pill,
  .search-button{
    min-height:44px;
  }
}

/* ---------- TABLET / SMALL DESKTOP ---------- */
@media(max-width:1024px){
  .container{
    width:min(100% - 28px,1180px)!important;
  }

  .property-page{
    grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);
    gap:20px;
  }

  .booking-checkout-page{
    grid-template-columns:minmax(0,1fr) minmax(330px,.72fr)!important;
    gap:20px!important;
  }

  .cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* ---------- MOBILE NAV / GLOBAL ---------- */
@media(max-width:900px){
  .container{
    width:min(100% - 22px,1180px)!important;
  }

  body{
    background:var(--paper);
  }

  .site-header{
    position:sticky!important;
    top:0;
    z-index:1000!important;
    padding:6px 0!important;
    background:rgba(251,250,248,.97)!important;
    backdrop-filter:blur(14px);
  }

  .nav-shell{
    min-height:58px!important;
    padding:8px 10px!important;
    border-radius:0 0 13px 13px!important;
    gap:8px;
  }

  .site-brand{
    min-width:0!important;
    max-width:calc(100% - 54px)!important;
    flex:1 1 auto;
  }

  .site-logo-header{
    max-width:142px!important;
    max-height:42px!important;
  }

  .brand-fallback{
    font-size:15px!important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .nav-links,
  .desktop-account-action,
  .hide-mobile{
    display:none!important;
  }

  .nav-actions{
    flex:0 0 auto;
  }

  .mobile-menu-button{
    display:flex!important;
    flex:0 0 44px;
    width:44px!important;
    height:44px!important;
  }

  .mobile-menu{
    position:absolute;
    top:calc(100% - 3px);
    left:11px;
    right:11px;
    z-index:1001;
    margin:0!important;
    padding:8px!important;
    border-radius:14px!important;
    max-height:calc(100vh - 80px);
    overflow:auto;
  }

  .mobile-menu a{
    min-height:46px!important;
    font-size:15px!important;
  }

  main>.container{
    padding-top:0;
  }

  /* ---------- HOMEPAGE ---------- */
  .hero{
    min-height:auto!important;
    margin-top:6px!important;
    border-radius:15px!important;
    overflow:visible!important;
    background-position:center!important;
  }

  .hero-inner{
    padding:38px 12px 14px!important;
  }

  .eyebrow{
    font-size:14px!important;
  }

  .hero h1{
    font-size:clamp(34px,10vw,48px)!important;
    line-height:1.02!important;
    margin:8px 0 14px!important;
  }

  .hero p{
    font-size:14px!important;
    line-height:1.55!important;
    margin-bottom:18px!important;
  }

  .hero-property-search,
  .results-property-search,
  .searchbar{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
    max-width:none!important;
    gap:7px!important;
    padding:9px!important;
    border-radius:15px!important;
  }

  .hero-property-search .field:first-child,
  .results-property-search .field:first-child,
  .searchbar .field:first-child{
    grid-column:1/-1!important;
  }

  .hero-property-search .field,
  .results-property-search .field,
  .searchbar .field{
    min-width:0!important;
    padding:8px 10px!important;
    border-radius:10px!important;
  }

  .hero-property-search .property-search-submit,
  .results-property-search .property-search-submit,
  .searchbar .search-button{
    grid-column:1/-1!important;
    width:100%!important;
    border-radius:11px!important;
    justify-self:stretch!important;
    min-height:48px!important;
  }

  .hero-property-search .property-search-submit b,
  .results-property-search .property-search-submit b{
    display:inline!important;
  }

  .category-strip{
    margin:22px 0 28px!important;
    gap:8px!important;
    padding:0 2px 8px!important;
    scroll-snap-type:x proximity;
  }

  .category{
    flex:0 0 82px;
    min-width:82px!important;
    scroll-snap-align:start;
  }

  .category .ico{
    width:46px!important;
    height:46px!important;
  }

  .section{
    margin-bottom:30px!important;
  }

  .section-head{
    align-items:flex-start!important;
    gap:6px!important;
    flex-direction:column!important;
    margin-bottom:12px!important;
  }

  .section h2{
    font-size:22px!important;
  }

  .section-sub{
    font-size:12px!important;
    line-height:1.45;
  }

  /* ---------- SEARCH RESULTS ---------- */
  .filters-panel{
    margin:10px 0 14px!important;
    padding:9px!important;
    border-radius:13px!important;
  }

  .pet-search-panel{
    padding:10px!important;
    border-radius:11px!important;
  }

  .pet-search-head,
  .property-pets-head{
    align-items:flex-start!important;
    gap:8px!important;
  }

  .pet-search-head>div,
  .property-pets-head>div{
    min-width:0;
  }

  .pet-search-head strong,
  .property-pets-head strong{
    font-size:12px!important;
  }

  .pet-search-head span,
  .property-pets-head span{
    font-size:10px!important;
    line-height:1.35;
  }

  .pet-row{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) 38px!important;
    gap:5px!important;
  }

  .pet-remove{
    width:38px!important;
    height:46px!important;
    border-radius:10px!important;
  }

  .search-selection-chips{
    display:flex!important;
    gap:5px!important;
    flex-wrap:wrap!important;
  }

  .search-selection-chips span{
    font-size:10px!important;
    padding:6px 8px!important;
  }

  .cards{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:11px!important;
  }

  .card{
    min-width:0!important;
    border-radius:13px!important;
  }

  .card-image{
    aspect-ratio:1.25/1!important;
  }

  .card-body{
    padding:10px!important;
  }

  .card-title{
    font-size:14px!important;
    line-height:1.25;
  }

  .card-location{
    font-size:11px!important;
    margin:3px 0 8px!important;
    line-height:1.3;
  }

  .card-bottom{
    gap:7px;
    align-items:center!important;
  }

  .price{
    font-size:14px!important;
  }

  .arrow{
    width:32px!important;
    height:32px!important;
    flex:0 0 32px;
  }

  .property-promo-badges{
    max-width:calc(100% - 16px)!important;
  }

  .property-promo-badges span{
    font-size:8px!important;
    white-space:normal!important;
    line-height:1.2!important;
  }

  /* ---------- PROPERTY PAGE ---------- */
  .property-client-page{
    display:flex!important;
    flex-direction:column!important;
    gap:12px!important;
    margin-top:10px!important;
  }

  .property-content-column{
    display:contents!important;
  }

  .gallery-main{
    order:1!important;
    width:100%!important;
    aspect-ratio:1.12/1!important;
    border-radius:14px!important;
    overflow:hidden!important;
  }

  .gallery-main img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }

  .property-thumbs{
    order:2!important;
    display:flex!important;
    grid-template-columns:none!important;
    gap:6px!important;
    overflow-x:auto!important;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    padding:1px 0 5px!important;
  }

  .property-thumb{
    flex:0 0 72px!important;
    width:72px!important;
    scroll-snap-align:start;
  }

  .property-client-page>.property-booking-box{
    order:3!important;
    position:static!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    margin:0!important;
    padding:14px!important;
    border-radius:14px!important;
  }

  .property-mobile-heading{
    order:4!important;
  }

  .property-mobile-heading h1{
    font-size:28px!important;
    margin:6px 0 4px!important;
    line-height:1.08!important;
  }

  .property-location{
    font-size:12px!important;
    line-height:1.4!important;
    margin-bottom:8px!important;
  }

  .property-description{
    order:5!important;
    font-size:14px!important;
    line-height:1.65!important;
    margin:0!important;
  }

  .property-section-label{
    order:6!important;
    margin:10px 0 0!important;
  }

  .amenities{
    order:7!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:6px!important;
    overflow-x:auto!important;
    scrollbar-width:none;
    padding:0 0 3px!important;
  }

  .amenities::-webkit-scrollbar{display:none}

  .amenities .tag{
    flex:0 0 auto!important;
    font-size:11px!important;
    padding:8px 10px!important;
    white-space:nowrap;
  }

  .property-policy-box{
    order:8!important;
    margin:3px 0 0!important;
    padding:13px!important;
    border-radius:12px!important;
  }

  .property-policy-box h3{
    font-size:17px!important;
  }

  .property-policy-box summary,
  .property-policy-box details p{
    font-size:13px!important;
  }

  .booking-search-first{
    margin-bottom:12px!important;
    padding-bottom:12px!important;
  }

  .booking-search-title{
    font-size:19px!important;
    line-height:1.15!important;
  }

  .booking-search-subtitle{
    font-size:11px!important;
    line-height:1.4!important;
  }

  .property-date-form{
    gap:9px!important;
  }

  .guest-count-grid{
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
  }

  .guest-capacity-note{
    font-size:10px!important;
    line-height:1.4!important;
  }

  .availability-public{
    font-size:10px!important;
    margin:2px 0 8px!important;
  }

  .property-booking-box h3{
    font-size:18px!important;
    margin-bottom:8px!important;
  }

  .rate-option-list{
    gap:8px!important;
  }

  .public-rate-card{
    padding:11px!important;
    border-radius:11px!important;
  }

  .rate-card-top{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
  }

  .rate-card-top>div{
    min-width:0;
  }

  .rate-card-top>div strong{
    font-size:13px!important;
  }

  .rate-card-top>div span{
    font-size:10px!important;
    line-height:1.35!important;
    overflow-wrap:anywhere;
  }

  .rate-card-top>b{
    font-size:14px!important;
    text-align:right!important;
    white-space:nowrap;
  }

  .rate-card-top>b small{
    font-size:8px!important;
    white-space:normal!important;
  }

  .automatic-promo-public{
    gap:6px!important;
    padding:7px 8px!important;
  }

  .free-cancel-public,
  .late-cancel-public,
  .rate-important-note,
  .rate-extra-fees-mini{
    font-size:10px!important;
    line-height:1.45!important;
  }

  .rate-card-bottom{
    margin-top:8px!important;
    font-size:12px!important;
  }

  .booking-main-cta{
    width:100%!important;
    min-height:49px!important;
    font-size:14px!important;
  }

  .alternative-property-card{
    grid-template-columns:62px minmax(0,1fr) 22px!important;
    gap:8px!important;
  }

  .alternative-property-copy strong{
    font-size:11px!important;
  }

  /* ---------- BOOKING / CHECKOUT ---------- */
  .booking-checkout-page,
  .booking-layout{
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
    min-height:0!important;
    margin-top:12px!important;
    margin-bottom:30px!important;
  }

  .booking-checkout-page>div:first-child{
    order:1;
    width:100%;
  }

  .booking-checkout-page>#bookingSummaryContainer{
    order:2!important;
    width:100%!important;
    min-height:0!important;
  }

  .booking-checkout-page .booking-summary-box{
    position:static!important;
    inset:auto!important;
    width:100%!important;
    max-height:none!important;
    overflow:visible!important;
    padding:14px!important;
    border-radius:14px!important;
  }

  .booking-summary-image{
    max-height:210px;
    object-fit:cover;
  }

  .rate-payment-summary{
    align-items:flex-start!important;
    flex-direction:column!important;
    padding:11px!important;
  }

  .checkout-top-promo{
    white-space:normal!important;
    width:100%!important;
    line-height:1.4!important;
  }

  .summary-promotion-item{
    grid-template-columns:1fr!important;
  }

  .summary-voucher-box{
    grid-template-columns:1fr!important;
  }

  .price-breakdown>div{
    font-size:12px!important;
    align-items:flex-start;
  }

  .price-breakdown>div>span{
    min-width:0;
  }

  .price-breakdown>div>strong{
    flex:0 0 auto;
    text-align:right;
  }

  .final-total-line strong{
    font-size:17px!important;
  }

  /* ---------- AUTH ---------- */
  .auth-wrap{
    min-height:auto!important;
    padding:18px 0 30px!important;
    display:block!important;
  }

  .auth-card{
    width:100%!important;
    max-width:none!important;
    padding:18px!important;
    border-radius:15px!important;
  }

  .auth-card h1{
    font-size:27px!important;
    margin-top:0!important;
  }

  .auth-card .btn{
    width:100%;
    min-height:48px;
  }

  .booking-auth-overlay{
    align-items:flex-end!important;
    padding:8px!important;
  }

  .booking-auth-modal{
    width:100%!important;
    max-width:none!important;
    max-height:92vh!important;
    border-radius:20px 20px 10px 10px!important;
    padding:19px 15px!important;
  }

  .booking-auth-two{
    grid-template-columns:1fr!important;
  }

  .booking-auth-brand h2{
    font-size:24px!important;
  }

  /* ---------- CLIENT ACCOUNT ---------- */
  .account-grid{
    display:flex!important;
    flex-direction:column!important;
    gap:12px!important;
    margin:12px 0 28px!important;
  }

  .account-menu{
    display:flex!important;
    gap:5px!important;
    width:100%!important;
    overflow-x:auto!important;
    padding:5px!important;
    border-radius:11px!important;
    scrollbar-width:none;
  }

  .account-menu::-webkit-scrollbar{display:none}

  .account-menu a{
    flex:0 0 auto!important;
    min-height:42px;
    display:flex!important;
    align-items:center;
    padding:0 11px!important;
    white-space:nowrap;
    font-size:12px;
  }

  .account-grid section h1{
    font-size:27px!important;
    margin:6px 0 12px!important;
  }

  .account-booking-card{
    padding:13px!important;
    border-radius:13px!important;
  }

  .account-booking-head{
    gap:8px!important;
  }

  .account-booking-head h3{
    font-size:15px!important;
  }

  .account-booking-head p{
    font-size:10px!important;
  }

  .booking-status{
    flex:0 0 auto;
    max-width:42%;
    white-space:normal;
    text-align:center;
  }

  .account-booking-meta{
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
  }

  .account-booking-meta>div{
    min-width:0;
    padding:8px!important;
  }

  .account-booking-meta strong{
    font-size:10px!important;
    overflow-wrap:anywhere;
  }

  .cancel-policy-info{
    padding:9px!important;
  }

  .cancel-policy-info strong{
    font-size:11px!important;
  }

  .cancel-policy-info span,
  .late-cancel-confirm{
    font-size:10px!important;
  }

  .cancel-booking-form .btn{
    width:100%;
    min-height:44px;
  }

  /* ---------- POLICIES / GENERIC PANELS ---------- */
  .filters-panel h3{
    font-size:17px;
  }

  .filters-panel p{
    font-size:13px!important;
    line-height:1.65!important;
  }

  .alert{
    padding:11px 12px!important;
    font-size:13px!important;
    line-height:1.45;
  }

  /* ---------- FOOTER ---------- */
  .footer{
    margin-top:28px!important;
    padding:24px 0!important;
  }

  .footer-grid{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }

  .footer-grid>div{
    min-width:0;
  }

  .footer-grid p{
    margin:7px 0;
    font-size:13px;
    line-height:1.5;
    overflow-wrap:anywhere;
  }

  .site-logo-footer{
    max-width:190px!important;
    max-height:72px!important;
  }
}

/* ---------- PHONE ---------- */
@media(max-width:560px){
  .container{
    width:min(100% - 16px,1180px)!important;
  }

  .hero-property-search,
  .results-property-search,
  .searchbar{
    grid-template-columns:1fr!important;
  }

  .hero-property-search .field,
  .results-property-search .field,
  .searchbar .field{
    grid-column:1!important;
  }

  .cards{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .card-image{
    aspect-ratio:1.48/1!important;
  }

  .property-promo-badges{
    top:7px!important;
    left:7px!important;
  }

  .property-selection-badge{
    left:7px!important;
    bottom:7px!important;
    max-width:calc(100% - 14px);
    white-space:normal!important;
  }

  .property-client-page{
    gap:10px!important;
  }

  .gallery-main{
    aspect-ratio:1.05/1!important;
  }

  .property-thumb{
    flex-basis:66px!important;
    width:66px!important;
  }

  .property-client-page>.property-booking-box{
    padding:11px!important;
  }

  .guest-count-grid{
    grid-template-columns:1fr 1fr!important;
  }

  .property-pets-head{
    flex-direction:column!important;
  }

  .property-pets-head .btn{
    width:100%;
  }

  .pet-row{
    grid-template-columns:1fr!important;
    position:relative;
    padding-right:0;
  }

  .pet-row .pet-remove{
    width:100%!important;
    height:38px!important;
  }

  .rate-card-top{
    grid-template-columns:1fr!important;
  }

  .rate-card-top>b{
    text-align:left!important;
    white-space:normal!important;
  }

  .automatic-promo-public{
    align-items:flex-start!important;
    flex-direction:column!important;
  }

  .automatic-promo-public strong{
    font-size:11px!important;
  }

  .account-booking-head{
    flex-direction:column!important;
  }

  .booking-status{
    max-width:100%!important;
  }

  .account-booking-meta{
    grid-template-columns:1fr!important;
  }

  .summary-cancellation-policy p{
    font-size:10px!important;
  }

  .booking-auth-brand{
    padding-right:28px!important;
  }

  .booking-auth-brand h2{
    font-size:22px!important;
  }

  .booking-auth-tabs{
    gap:3px;
  }

  .booking-auth-tab{
    padding:10px 7px!important;
    font-size:10px!important;
  }
}

@media(max-width:900px){
  .public-policies-page{
    margin-top:14px!important;
  }
  .public-policies-page>h1{
    font-size:28px!important;
    margin:8px 0 14px!important;
  }
  .public-policies-page .filters-panel{
    margin:8px 0!important;
    padding:13px!important;
  }
}


/* V18.18 — expanded legal footer + trust badges */
.footer{
  background:#f5f2ee;
  border-top:1px solid var(--line);
}
.footer-grid-expanded{
  display:grid;
  grid-template-columns:minmax(220px,1.45fr) repeat(3,minmax(150px,.8fr));
  gap:34px;
  align-items:start;
}
.footer-column{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
}
.footer-column>strong{
  margin-bottom:4px;
  font-size:12px;
}
.footer-column>a{
  color:#6e655f;
  font-size:12px;
  line-height:1.4;
  width:max-content;
  max-width:100%;
}
.footer-column>a:hover{
  color:var(--ink);
}
.footer-brand-column .muted{
  max-width:300px;
  font-size:12px;
  line-height:1.6;
}
.footer-trust-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  padding:20px 0;
  margin-top:26px;
  border-top:1px solid #ddd8d2;
  border-bottom:1px solid #ddd8d2;
}
.footer-trust-copy strong,
.footer-trust-copy span{
  display:block;
}
.footer-trust-copy strong{
  font-size:12px;
}
.footer-trust-copy span{
  margin-top:3px;
  font-size:10px;
  line-height:1.45;
  color:var(--muted);
}
.footer-trust-badges{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.footer-trust-badge{
  display:flex;
  height:39px;
  align-items:center;
}
.footer-trust-badge img{
  display:block;
  width:auto;
  height:39px;
}
.stripe-trust-badge img{
  height:39px;
}
.footer-bottom-line{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding-top:17px;
  color:#8c837c;
  font-size:9px;
}

/* Legal pages */
.legal-public-page,
.contact-public-page{
  width:min(900px,100%);
  margin:34px auto 60px;
}
.legal-public-card,
.contact-public-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:34px;
  box-shadow:0 8px 28px rgba(47,42,39,.04);
}
.legal-public-eyebrow{
  margin-bottom:9px;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#928981;
}
.legal-public-card h1,
.contact-public-card h1{
  font:700 35px/1.08 Georgia,serif;
  margin:0 0 24px;
}
.legal-public-content,
.contact-public-content{
  font-size:14px;
  line-height:1.8;
  color:#504944;
  overflow-wrap:anywhere;
}
.legal-empty-state{
  padding:18px;
  border-radius:12px;
  background:#f5f2ee;
  color:var(--muted);
  font-size:12px;
}
.contact-public-lead{
  max-width:620px;
  color:var(--muted);
  line-height:1.6;
}
.contact-public-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:22px 0;
}
.contact-public-method{
  padding:15px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#faf9f7;
}
.contact-public-method span,
.contact-public-method strong{
  display:block;
}
.contact-public-method span{
  font-size:9px;
  text-transform:uppercase;
  color:#8b8179;
}
.contact-public-method strong{
  margin-top:5px;
  font-size:13px;
  overflow-wrap:anywhere;
}
.contact-public-content{
  margin-top:22px;
  padding-top:22px;
  border-top:1px solid var(--line);
}

@media(max-width:900px){
  .footer-grid-expanded{
    grid-template-columns:1fr 1fr!important;
    gap:24px!important;
  }
  .footer-brand-column{
    grid-column:1/-1;
  }
  .footer-trust-row{
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
  }
  .footer-trust-badges{
    justify-content:flex-start;
  }
  .footer-bottom-line{
    flex-direction:column;
    gap:5px;
  }
  .legal-public-page,
  .contact-public-page{
    margin:15px auto 34px;
  }
  .legal-public-card,
  .contact-public-card{
    padding:20px;
    border-radius:15px;
  }
  .legal-public-card h1,
  .contact-public-card h1{
    font-size:29px;
  }
}

@media(max-width:560px){
  .footer-grid-expanded{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
  .footer-brand-column{
    grid-column:auto;
  }
  .footer-column>a{
    width:100%;
    padding:3px 0;
    font-size:13px;
  }
  .footer-trust-badges{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .footer-trust-badge{
    height:auto;
    min-width:0;
  }
  .footer-trust-badge img{
    width:100%;
    height:auto;
    max-height:44px;
  }
  .stripe-trust-badge{
    grid-column:1/-1;
  }
  .stripe-trust-badge img{
    width:auto;
    height:42px;
  }
  .contact-public-grid{
    grid-template-columns:1fr;
  }
}


/* V18.19 — official consumer links + holiday voucher payments */
.footer-consumer-row,
.footer-payment-section{
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid #ddd8d2;
}

.footer-subsection-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:12px;
}
.footer-subsection-head strong,
.footer-subsection-head span{
  display:block;
}
.footer-subsection-head strong{
  font-size:12px;
}
.footer-subsection-head span{
  margin-top:3px;
  color:var(--muted);
  font-size:10px;
  line-height:1.45;
}

.footer-anpc-links{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.official-anpc-card{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:56px;
  padding:7px 12px;
  border:1px solid #ddd7d0;
  border-radius:12px;
  background:#fff;
  transition:.15s ease;
}
.official-anpc-card:hover{
  border-color:#bdb5ae;
  transform:translateY(-1px);
}
.official-anpc-card>img{
  width:86px;
  height:40px;
  object-fit:contain;
  object-position:center;
}
.official-anpc-card>span{
  display:block;
  font-size:10px;
  line-height:1.25;
  color:#3b3936;
}
.official-anpc-card>span>b{
  display:block;
  color:#143f7c;
  font-size:13px;
}
.official-anpc-card:not(.official-anpc-sal)>span{
  font-weight:900;
  color:#143f7c;
}
.anpc-current-note{
  display:block;
  margin-top:8px;
  max-width:720px;
  color:#938980;
  font-size:9px;
  line-height:1.5;
}

.footer-payment-groups{
  display:grid;
  grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);
  gap:22px;
  align-items:start;
}
.footer-payment-group{
  min-width:0;
}
.footer-payment-label{
  display:block;
  margin-bottom:8px;
  color:#827971;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.payment-brand-card{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:92px;
  height:52px;
  padding:6px 10px;
  border:1px solid #ddd8d2;
  border-radius:11px;
  background:#fff;
  overflow:hidden;
  transition:.15s ease;
}
.payment-brand-card:hover{
  border-color:#bdb6ae;
  transform:translateY(-1px);
}
.payment-brand-card img{
  display:block;
  max-width:100%;
  max-height:38px;
  width:auto;
  height:auto;
  object-fit:contain;
}
.holiday-brand-list{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.holiday-brand-list .payment-brand-card{
  width:112px;
}
.holiday-brand-list .payment-brand-card:nth-child(1) img{
  max-height:42px;
}
.holiday-brand-list .payment-brand-card:nth-child(2) img{
  max-height:32px;
}
.holiday-brand-list .payment-brand-card:nth-child(3) img{
  max-height:34px;
}
.holiday-brand-list .payment-brand-card:nth-child(4) img{
  max-height:36px;
}

.stripe-brand-card{
  width:135px;
}
.stripe-wordmark{
  color:#635bff;
  font-size:23px;
  font-weight:900;
  letter-spacing:-1.2px;
}

.footer-bottom-line{
  margin-top:22px;
  padding-top:16px;
  border-top:1px solid #ddd8d2;
}

@media(max-width:900px){
  .footer-payment-groups{
    grid-template-columns:1fr;
    gap:16px;
  }
  .official-anpc-card{
    flex:1 1 260px;
  }
}

@media(max-width:560px){
  .footer-anpc-links{
    display:grid;
    grid-template-columns:1fr;
  }
  .official-anpc-card{
    width:100%;
    min-height:58px;
  }
  .official-anpc-card>img{
    width:82px;
  }

  .holiday-brand-list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
  }
  .holiday-brand-list .payment-brand-card{
    width:100%;
    min-width:0;
  }
  .stripe-brand-card{
    width:100%;
  }

  .footer-bottom-line{
    font-size:9px!important;
    line-height:1.45;
  }
}


/* V18.20 — ministry classification + tourism logos */
.footer-classification-row{
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid #ddd8d2;
}
.classification-stars{
  display:flex;
  align-items:center;
  gap:4px;
  flex:0 0 auto;
}
.classification-stars span{
  color:#d4a11e;
  font-size:22px;
  line-height:1;
  text-shadow:0 1px 0 rgba(255,255,255,.55);
}
.footer-classification-cards{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.classification-card{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:88px;
  padding:10px 14px;
  border:1px solid #ddd7d0;
  border-radius:14px;
  background:#fff;
  transition:.15s ease;
}
.classification-card:hover{
  border-color:#bdb5ae;
  transform:translateY(-1px);
}
.classification-card img{
  display:block;
  max-width:100%;
  max-height:82px;
  width:auto;
  height:auto;
  object-fit:contain;
}
.classification-card-gov{
  width:170px;
}
.classification-card-romania{
  min-width:240px;
}
.classification-card-romania img{
  max-height:72px;
}

@media(max-width:900px){
  .footer-classification-cards{
    gap:10px;
  }
  .classification-card-gov{
    width:150px;
  }
  .classification-card-romania{
    min-width:210px;
    flex:1 1 260px;
  }
}
@media(max-width:560px){
  .footer-subsection-head{
    flex-direction:column;
    align-items:flex-start;
  }
  .classification-stars{
    margin-top:2px;
  }
  .footer-classification-cards{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
  .classification-card,
  .classification-card-gov,
  .classification-card-romania{
    width:100%;
    min-width:0;
  }
  .classification-card{
    min-height:74px;
    padding:10px;
  }
  .classification-card img{
    max-height:60px;
  }
}


/* V18.21 — payment providers: logos only, no white cards */
.footer-payment-section .payment-brand-card,
.footer-payment-section .stripe-brand-card,
.footer-payment-section .holiday-brand-list .payment-brand-card{
  display:inline-flex!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  transform:none!important;
}
.footer-payment-section .payment-brand-card:hover{
  border:0!important;
  background:transparent!important;
  transform:none!important;
  opacity:.78;
}
.footer-payment-section .holiday-brand-list{
  display:flex!important;
  align-items:center!important;
  gap:24px!important;
  flex-wrap:wrap!important;
}
.footer-payment-section .payment-brand-card img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:120px!important;
  max-height:44px!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
}
.footer-payment-section .holiday-brand-list .payment-brand-card:nth-child(1) img{
  max-width:72px!important;
  max-height:48px!important;
}
.footer-payment-section .holiday-brand-list .payment-brand-card:nth-child(2) img{
  max-width:125px!important;
  max-height:44px!important;
}
.footer-payment-section .holiday-brand-list .payment-brand-card:nth-child(3) img{
  max-width:118px!important;
  max-height:42px!important;
}
.footer-payment-section .holiday-brand-list .payment-brand-card:nth-child(4) img{
  max-width:92px!important;
  max-height:44px!important;
}
.footer-payment-section .stripe-brand-card{
  width:auto!important;
}
.footer-payment-section .stripe-wordmark{
  display:inline-block;
  color:#635bff;
  font-size:34px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:-1.8px!important;
}
@media(max-width:560px){
  .footer-payment-section .holiday-brand-list{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px 16px!important;
    align-items:center!important;
  }
  .footer-payment-section .holiday-brand-list .payment-brand-card{
    justify-content:flex-start!important;
  }
  .footer-payment-section .holiday-brand-list .payment-brand-card img{
    max-width:110px!important;
  }
  .footer-payment-section .stripe-wordmark{
    font-size:31px!important;
  }
}


/* V18.22 — elegant grouped footer */
.footer{
  background:#f7f3ef;
  border-top:1px solid #e0dad3;
}
.footer-grid-expanded{
  display:grid;
  grid-template-columns:minmax(240px,1.3fr) repeat(3,minmax(140px,.75fr));
  gap:30px;
  align-items:start;
}
.footer-showcase-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  margin-top:26px;
}
.footer-feature-card{
  background:#fffdfb;
  border:1px solid #e6dfd7;
  border-radius:22px;
  padding:20px 22px;
  box-shadow:0 12px 30px rgba(47,42,39,.04);
}
.footer-feature-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.footer-feature-kicker{
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#9a8f86;
}
.footer-feature-head h4{
  margin:5px 0 0;
  font-size:20px;
  line-height:1.2;
  color:#2f2a27;
  max-width:720px;
}
.classification-stars{
  display:flex;
  gap:5px;
  align-items:center;
  flex:0 0 auto;
}
.classification-stars span{
  color:#d2a11f;
  font-size:26px;
  line-height:1;
}
.footer-logo-group{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.footer-logo-item,
.footer-inline-brand{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid #ede6df;
  border-radius:18px;
  min-height:82px;
  padding:12px 16px;
  transition:.15s ease;
}
.footer-logo-item:hover,
.footer-inline-brand:hover{
  transform:translateY(-1px);
  border-color:#d2c9c0;
  box-shadow:0 8px 16px rgba(47,42,39,.05);
}
.footer-classification-item{
  min-width:220px;
}
.footer-classification-item img{
  max-width:100%;
  max-height:76px;
  object-fit:contain;
}
.footer-consumer-item{
  gap:12px;
  min-width:230px;
  justify-content:flex-start;
}
.footer-consumer-item img{
  width:auto;
  height:42px;
  object-fit:contain;
}
.footer-consumer-item span{
  font-size:12px;
  font-weight:700;
  color:#4b433d;
  line-height:1.35;
}
.footer-payment-clusters{
  display:grid;
  grid-template-columns:minmax(190px,.4fr) minmax(0,1fr);
  gap:20px;
}
.footer-payment-cluster{
  min-width:0;
}
.footer-cluster-label{
  display:block;
  margin-bottom:10px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#94887f;
}
.stripe-inline-brand{
  width:max-content;
  min-width:160px;
}
.stripe-wordmark{
  display:inline-block;
  color:#635bff;
  font-size:38px;
  font-weight:900;
  line-height:1;
  letter-spacing:-1.9px;
}
.footer-vacation-group{
  gap:16px;
}
.footer-vacation-group .footer-inline-brand{
  min-height:68px;
  padding:10px 14px;
  background:#fff;
}
.footer-vacation-group .footer-inline-brand img{
  max-width:100%;
  max-height:40px;
  width:auto;
  height:auto;
  object-fit:contain;
}
.footer-vacation-group .footer-inline-brand:nth-child(1){min-width:120px}
.footer-vacation-group .footer-inline-brand:nth-child(2){min-width:140px}
.footer-vacation-group .footer-inline-brand:nth-child(3){min-width:132px}
.footer-vacation-group .footer-inline-brand:nth-child(4){min-width:116px}

.footer-bottom-line{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid #ddd7d0;
  color:#887d76;
  font-size:10px;
  line-height:1.45;
}

@media(max-width:980px){
  .footer-grid-expanded{
    grid-template-columns:1fr 1fr!important;
  }
  .footer-brand-column{
    grid-column:1/-1;
  }
  .footer-payment-clusters{
    grid-template-columns:1fr;
    gap:16px;
  }
}
@media(max-width:700px){
  .footer-feature-card{
    padding:16px;
    border-radius:18px;
  }
  .footer-feature-head{
    flex-direction:column;
    gap:8px;
  }
  .footer-feature-head h4{
    font-size:18px;
  }
  .footer-logo-group{
    gap:10px;
  }
  .footer-classification-item,
  .footer-consumer-item,
  .footer-vacation-group .footer-inline-brand{
    min-width:0;
    width:100%;
  }
  .footer-grid-expanded{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .footer-payment-clusters{
    grid-template-columns:1fr!important;
  }
  .stripe-inline-brand{
    width:100%;
    justify-content:flex-start;
  }
  .footer-vacation-group{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .footer-vacation-group .footer-inline-brand{
    justify-content:center;
    min-height:62px;
  }
  .footer-bottom-line{
    flex-direction:column;
    align-items:flex-start;
  }
}
@media(max-width:480px){
  .footer-vacation-group{
    grid-template-columns:1fr;
  }
}


/* V18.23 — dynamic partners section */
.footer-partners-section{
  margin-top:26px;
  padding:22px 24px 24px;
  border:1px solid #e5ded7;
  border-radius:24px;
  background:
    radial-gradient(circle at top right,rgba(212,161,30,.07),transparent 34%),
    #fffdfb;
  box-shadow:0 12px 30px rgba(47,42,39,.035);
}
.footer-partners-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.footer-partners-kicker{
  display:block;
  margin-bottom:4px;
  color:#a19082;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.footer-partners-head h3{
  margin:0;
  font:700 24px/1.15 Georgia,serif;
  color:#2f2a27;
}
.footer-partners-head p{
  max-width:640px;
  margin:6px 0 0;
  color:#7d736c;
  font-size:11px;
  line-height:1.55;
}
.footer-partners-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:10px;
}
.footer-partner-logo{
  min-width:0;
  height:92px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px 18px;
  border:1px solid #ebe4dd;
  border-radius:17px;
  background:#fff;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
a.footer-partner-logo:hover{
  transform:translateY(-2px);
  border-color:#d2c8be;
  box-shadow:0 10px 20px rgba(47,42,39,.06);
}
.footer-partner-logo img{
  display:block;
  max-width:100%;
  max-height:58px;
  width:auto;
  height:auto;
  object-fit:contain;
}
@media(max-width:700px){
  .footer-partners-section{
    padding:17px;
    border-radius:19px;
  }
  .footer-partners-head{
    align-items:flex-start;
    flex-direction:column;
    margin-bottom:14px;
  }
  .footer-partners-head h3{
    font-size:21px;
  }
  .footer-partners-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .footer-partner-logo{
    height:76px;
    padding:10px;
    border-radius:14px;
  }
  .footer-partner-logo img{
    max-height:48px;
  }
}
@media(max-width:420px){
  .footer-partners-grid{
    grid-template-columns:1fr 1fr;
  }
}


/* V18.24 — compact partners section */
.footer-partners-section{
  margin-top:18px!important;
  padding:14px 16px 15px!important;
  border-radius:16px!important;
  box-shadow:none!important;
}
.footer-partners-head{
  margin-bottom:10px!important;
  gap:10px!important;
}
.footer-partners-kicker{
  font-size:7px!important;
  margin-bottom:2px!important;
  letter-spacing:.12em!important;
}
.footer-partners-head h3{
  font-size:17px!important;
  line-height:1.1!important;
}
.footer-partners-head p{
  margin-top:3px!important;
  font-size:9px!important;
  line-height:1.4!important;
  max-width:520px!important;
}
.footer-partners-grid{
  grid-template-columns:repeat(auto-fit,minmax(95px,1fr))!important;
  gap:7px!important;
}
.footer-partner-logo{
  height:58px!important;
  min-height:58px!important;
  padding:7px 10px!important;
  border-radius:11px!important;
}
.footer-partner-logo img{
  max-height:34px!important;
  max-width:92px!important;
}
a.footer-partner-logo:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 4px 10px rgba(47,42,39,.04)!important;
}

@media(max-width:700px){
  .footer-partners-section{
    padding:12px!important;
    margin-top:14px!important;
    border-radius:14px!important;
  }
  .footer-partners-head{
    margin-bottom:8px!important;
  }
  .footer-partners-head h3{
    font-size:16px!important;
  }
  .footer-partners-head p{
    font-size:8px!important;
  }
  .footer-partners-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .footer-partner-logo{
    height:52px!important;
    min-height:52px!important;
    padding:6px!important;
    border-radius:10px!important;
  }
  .footer-partner-logo img{
    max-height:29px!important;
    max-width:78px!important;
  }
}

@media(max-width:420px){
  .footer-partners-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* ==========================================================
   V18.25 — compact, elegant footer / logos without boxes
   ========================================================== */
.footer-v18-25{
  margin-top:34px!important;
  padding:30px 0 18px!important;
  background:#f6f2ee!important;
  border-top:1px solid #ddd6cf!important;
}
.footer-v18-25 .footer-main-grid{
  display:grid;
  grid-template-columns:minmax(220px,1.25fr) repeat(3,minmax(135px,.75fr));
  gap:28px;
  align-items:start;
}
.footer-v18-25 .footer-brand-column p{
  max-width:290px;
  margin:8px 0 0;
  color:#7a716a;
  font-size:11px;
  line-height:1.55;
}
.footer-v18-25 .site-logo-footer{
  max-width:180px!important;
  max-height:68px!important;
}
.footer-v18-25 .footer-links-column{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.footer-v18-25 .footer-links-column>strong{
  margin-bottom:3px;
  font-size:11px;
  color:#342f2c;
}
.footer-v18-25 .footer-links-column>a{
  width:max-content;
  max-width:100%;
  color:#756c65;
  font-size:10px;
  line-height:1.4;
}
.footer-v18-25 .footer-links-column>a:hover{
  color:#2f2a27;
}

.footer-v18-25 .footer-compact-section{
  min-width:0;
  padding:14px 0;
  border-top:1px solid #ddd6cf;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
}
.footer-v18-25 .footer-partners-compact{
  margin-top:22px;
}
.footer-v18-25 .footer-compact-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.footer-v18-25 .footer-compact-heading span{
  display:block;
  margin-bottom:2px;
  color:#9a8f87;
  font-size:7px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.footer-v18-25 .footer-compact-heading strong{
  display:block;
  color:#38322f;
  font-size:11px;
  line-height:1.3;
}
.footer-v18-25 .classification-stars{
  display:flex;
  gap:3px;
  align-items:center;
}
.footer-v18-25 .classification-stars span{
  color:#d2a11f;
  font-size:16px!important;
  line-height:1!important;
}

/* Partners — tiny and clean */
.footer-v18-25 .footer-partners-strip{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}
.footer-v18-25 .footer-partners-strip a,
.footer-v18-25 .footer-partners-strip span{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  height:auto!important;
  min-height:0!important;
  width:auto!important;
}
.footer-v18-25 .footer-partners-strip img{
  display:block;
  width:auto!important;
  height:auto!important;
  max-width:82px!important;
  max-height:30px!important;
  object-fit:contain!important;
  background:transparent!important;
}

/* Three information blocks in one elegant row */
.footer-v18-25 .footer-info-grid{
  display:grid;
  grid-template-columns:.8fr .8fr 1.4fr;
  gap:26px;
  align-items:start;
}
.footer-v18-25 .footer-info-grid>.footer-compact-section{
  margin:0!important;
}

/* All logos: no cards, no borders, no white boxes */
.footer-v18-25 .footer-logo-strip,
.footer-v18-25 .footer-vacation-mini-strip{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}
.footer-v18-25 .footer-logo-strip a,
.footer-v18-25 .footer-vacation-mini-strip a{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  transform:none!important;
}
.footer-v18-25 .footer-logo-strip a:hover,
.footer-v18-25 .footer-vacation-mini-strip a:hover{
  opacity:.78;
  transform:none!important;
}

/* Classification logos */
.footer-v18-25 .footer-classification-strip img{
  display:block;
  width:auto!important;
  height:auto!important;
  max-width:100px!important;
  max-height:40px!important;
  object-fit:contain!important;
  background:transparent!important;
}

/* ANPC logos */
.footer-v18-25 .footer-anpc-strip a{
  align-items:center;
}
.footer-v18-25 .footer-anpc-strip img{
  display:block;
  width:auto!important;
  height:auto!important;
  max-width:88px!important;
  max-height:32px!important;
  object-fit:contain!important;
}
.footer-v18-25 .footer-anpc-strip small{
  color:#18477f;
  font-size:8px;
  font-weight:900;
}

/* Payments */
.footer-v18-25 .footer-payment-row{
  display:flex;
  align-items:flex-start;
  gap:28px;
  flex-wrap:wrap;
}
.footer-v18-25 .footer-payment-mini-group{
  min-width:0;
}
.footer-v18-25 .footer-payment-mini-group>small{
  display:block;
  margin-bottom:7px;
  color:#978b82;
  font-size:7px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.footer-v18-25 .stripe-mini-logo{
  display:inline-flex!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.footer-v18-25 .stripe-mini-logo span{
  color:#635bff;
  font-size:24px!important;
  font-weight:900!important;
  letter-spacing:-1.2px!important;
  line-height:1!important;
}
.footer-v18-25 .footer-vacation-mini-strip{
  gap:16px;
}
.footer-v18-25 .footer-vacation-mini-strip img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:74px!important;
  max-height:30px!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
}
.footer-v18-25 .footer-vacation-mini-strip a:nth-child(1) img{max-width:54px!important;max-height:30px!important}
.footer-v18-25 .footer-vacation-mini-strip a:nth-child(2) img{max-width:82px!important;max-height:28px!important}
.footer-v18-25 .footer-vacation-mini-strip a:nth-child(3) img{max-width:70px!important;max-height:28px!important}
.footer-v18-25 .footer-vacation-mini-strip a:nth-child(4) img{max-width:58px!important;max-height:30px!important}

.footer-v18-25 .footer-bottom-v18-25{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:8px!important;
  padding-top:13px!important;
  border-top:1px solid #ddd6cf!important;
  color:#91867d!important;
  font-size:8px!important;
  line-height:1.4!important;
}

@media(max-width:980px){
  .footer-v18-25 .footer-main-grid{
    grid-template-columns:1fr 1fr!important;
    gap:20px!important;
  }
  .footer-v18-25 .footer-brand-column{
    grid-column:1/-1;
  }
  .footer-v18-25 .footer-info-grid{
    grid-template-columns:1fr 1fr!important;
    gap:18px!important;
  }
  .footer-v18-25 .footer-payment-compact{
    grid-column:1/-1;
  }
}

@media(max-width:700px){
  .footer-v18-25{
    padding:24px 0 15px!important;
  }
  .footer-v18-25 .footer-main-grid{
    grid-template-columns:1fr!important;
    gap:15px!important;
  }
  .footer-v18-25 .footer-brand-column{
    grid-column:auto;
  }
  .footer-v18-25 .footer-info-grid{
    grid-template-columns:1fr!important;
    gap:0!important;
  }
  .footer-v18-25 .footer-payment-compact{
    grid-column:auto;
  }
  .footer-v18-25 .footer-partners-strip{
    gap:14px;
  }
  .footer-v18-25 .footer-partners-strip img{
    max-width:70px!important;
    max-height:27px!important;
  }
  .footer-v18-25 .footer-payment-row{
    gap:20px;
  }
  .footer-v18-25 .footer-vacation-mini-strip{
    gap:13px;
  }
  .footer-v18-25 .footer-bottom-v18-25{
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
  }
}

@media(max-width:420px){
  .footer-v18-25 .footer-vacation-mini-strip{
    gap:11px;
  }
  .footer-v18-25 .footer-vacation-mini-strip img{
    max-width:64px!important;
  }
}


/* ============================================================
   V18.26 — REAL MOBILE COMPACT MODE
   Purpose: everything must look small, tidy and usable on phone.
   This is deliberately the last CSS block to beat legacy rules.
   ============================================================ */
@media(max-width:700px){

  html,body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  body{
    font-size:13px!important;
  }

  .container{
    width:calc(100% - 16px)!important;
    max-width:none!important;
    margin-left:8px!important;
    margin-right:8px!important;
  }

  /* Header */
  .site-header{
    padding:4px 0!important;
  }
  .nav-shell{
    min-height:52px!important;
    padding:6px 8px!important;
    border-radius:0 0 11px 11px!important;
  }
  .site-logo-header{
    max-width:86px!important;
    max-height:34px!important;
  }
  .mobile-menu-button{
    width:38px!important;
    height:38px!important;
    flex-basis:38px!important;
    border-radius:10px!important;
  }

  /* Hero & search smaller */
  .hero{
    min-height:0!important;
    border-radius:13px!important;
    margin-top:5px!important;
  }
  .hero-inner{
    padding:24px 9px 11px!important;
  }
  .hero h1{
    font-size:28px!important;
    margin:5px 0 10px!important;
  }
  .hero p{
    font-size:11px!important;
    margin-bottom:10px!important;
  }
  .hero-property-search,
  .results-property-search,
  .searchbar{
    padding:6px!important;
    gap:5px!important;
    border-radius:12px!important;
  }
  .hero-property-search .field,
  .results-property-search .field,
  .searchbar .field{
    min-height:44px!important;
    padding:6px 8px!important;
    border-radius:8px!important;
  }
  .hero-property-search .field label,
  .results-property-search .field label,
  .searchbar .field label{
    font-size:8px!important;
    margin-bottom:2px!important;
  }
  .hero-property-search input,
  .hero-property-search select,
  .results-property-search input,
  .results-property-search select,
  .searchbar input,
  .searchbar select{
    min-height:28px!important;
    height:28px!important;
    font-size:13px!important;
  }
  .hero-property-search .property-search-submit,
  .results-property-search .property-search-submit,
  .searchbar .search-button{
    min-height:40px!important;
    height:40px!important;
    font-size:11px!important;
  }

  /* Categories */
  .category-strip{
    margin:14px 0 19px!important;
    gap:7px!important;
  }
  .category{
    min-width:58px!important;
    flex-basis:58px!important;
    font-size:8px!important;
  }
  .category .ico{
    width:36px!important;
    height:36px!important;
    border-radius:9px!important;
    margin-bottom:4px!important;
  }

  .section{
    margin-bottom:21px!important;
  }
  .section-head{
    margin-bottom:9px!important;
  }
  .section h2{
    font-size:18px!important;
  }
  .section-sub{
    font-size:9px!important;
  }

  /* --------------------------------------------------------
     PROPERTY CARDS — small, two per row on mobile
     -------------------------------------------------------- */
  .cards{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .card{
    min-width:0!important;
    border-radius:10px!important;
    box-shadow:none!important;
  }
  .card-image{
    width:100%!important;
    height:auto!important;
    aspect-ratio:1.25/1!important;
    min-height:0!important;
  }
  .card-image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  .card-body{
    padding:7px!important;
  }
  .card-title{
    font-size:10px!important;
    line-height:1.15!important;
  }
  .card-location{
    margin:2px 0 5px!important;
    font-size:7px!important;
    line-height:1.25!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  .card-bottom{
    gap:3px!important;
  }
  .price{
    font-size:10px!important;
    line-height:1.1!important;
  }
  .price small{
    font-size:7px!important;
  }
  .arrow{
    width:24px!important;
    height:24px!important;
    flex:0 0 24px!important;
    font-size:10px!important;
  }
  .property-promo-badges{
    top:5px!important;
    left:5px!important;
    max-width:calc(100% - 10px)!important;
    gap:3px!important;
  }
  .property-promo-badges span{
    padding:3px 5px!important;
    font-size:6px!important;
    border-radius:999px!important;
  }
  .property-selection-badge{
    left:5px!important;
    bottom:5px!important;
    padding:3px 5px!important;
    font-size:6px!important;
    max-width:calc(100% - 10px)!important;
  }

  /* Property detail page compact */
  .property-client-page{
    gap:7px!important;
    margin-top:6px!important;
  }
  .gallery-main{
    aspect-ratio:1.45/1!important;
    border-radius:11px!important;
    max-height:240px!important;
  }
  .property-thumbs{
    gap:4px!important;
  }
  .property-thumb{
    width:49px!important;
    flex-basis:49px!important;
    border-radius:7px!important;
  }
  .property-client-page>.property-booking-box{
    padding:9px!important;
    border-radius:11px!important;
  }
  .booking-search-title{
    font-size:14px!important;
  }
  .booking-search-subtitle{
    font-size:8px!important;
  }
  .property-mobile-heading h1{
    font-size:20px!important;
  }
  .property-location{
    font-size:9px!important;
  }
  .property-description{
    font-size:10px!important;
    line-height:1.55!important;
  }
  .amenities .tag{
    padding:5px 7px!important;
    font-size:8px!important;
  }
  .public-rate-card{
    padding:8px!important;
  }
  .rate-card-top>div strong{
    font-size:10px!important;
  }
  .rate-card-top>div span{
    font-size:7px!important;
  }
  .rate-card-top>b{
    font-size:11px!important;
  }
  .free-cancel-public,
  .late-cancel-public,
  .rate-important-note,
  .rate-extra-fees-mini{
    font-size:7px!important;
  }

  /* --------------------------------------------------------
     FOOTER — tiny, clean, no giant logo blocks
     -------------------------------------------------------- */
  .footer-v18-25{
    margin-top:20px!important;
    padding:18px 0 11px!important;
  }

  .footer-v18-25 .footer-main-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:12px 14px!important;
  }

  .footer-v18-25 .footer-brand-column{
    grid-column:1/-1!important;
  }

  .footer-v18-25 .site-logo-footer{
    max-width:85px!important;
    max-height:38px!important;
  }

  .footer-v18-25 .footer-brand-column p{
    margin:4px 0 0!important;
    max-width:240px!important;
    font-size:8px!important;
    line-height:1.4!important;
  }

  .footer-v18-25 .footer-links-column{
    gap:3px!important;
  }
  .footer-v18-25 .footer-links-column>strong{
    margin-bottom:2px!important;
    font-size:9px!important;
  }
  .footer-v18-25 .footer-links-column>a{
    padding:0!important;
    font-size:8px!important;
    line-height:1.35!important;
  }

  .footer-v18-25 .footer-compact-section{
    padding:9px 0!important;
  }

  .footer-v18-25 .footer-partners-compact{
    margin-top:11px!important;
  }
  .footer-v18-25 .footer-compact-heading{
    margin-bottom:6px!important;
  }
  .footer-v18-25 .footer-compact-heading span{
    font-size:5.5px!important;
  }
  .footer-v18-25 .footer-compact-heading strong{
    font-size:8.5px!important;
  }

  .footer-v18-25 .classification-stars{
    gap:2px!important;
  }
  .footer-v18-25 .classification-stars span{
    font-size:12px!important;
  }

  /* Footer partner logos */
  .footer-v18-25 .footer-partners-strip{
    gap:10px!important;
  }
  .footer-v18-25 .footer-partners-strip img{
    max-width:54px!important;
    max-height:21px!important;
  }

  /* Footer info single compact grid */
  .footer-v18-25 .footer-info-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
  }

  /* Absolutely prevent footer logos from becoming huge */
  .footer-v18-25 .footer-classification-strip,
  .footer-v18-25 .footer-anpc-strip,
  .footer-v18-25 .footer-vacation-mini-strip{
    gap:10px!important;
  }

  .footer-v18-25 .footer-classification-strip a,
  .footer-v18-25 .footer-anpc-strip a,
  .footer-v18-25 .footer-vacation-mini-strip a{
    display:inline-flex!important;
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    min-height:0!important;
    max-width:none!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  .footer-v18-25 .footer-classification-strip img{
    width:auto!important;
    height:auto!important;
    max-width:68px!important;
    max-height:27px!important;
  }

  .footer-v18-25 .footer-anpc-strip img{
    width:auto!important;
    height:auto!important;
    max-width:66px!important;
    max-height:24px!important;
  }
  .footer-v18-25 .footer-anpc-strip small{
    font-size:6px!important;
  }

  .footer-v18-25 .footer-payment-row{
    display:grid!important;
    grid-template-columns:82px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
  }

  .footer-v18-25 .footer-payment-mini-group>small{
    margin-bottom:4px!important;
    font-size:5.5px!important;
  }

  .footer-v18-25 .stripe-mini-logo span{
    font-size:17px!important;
  }

  .footer-v18-25 .footer-vacation-mini-strip{
    display:flex!important;
    flex-wrap:wrap!important;
  }

  .footer-v18-25 .footer-vacation-mini-strip img,
  .footer-v18-25 .footer-vacation-mini-strip a:nth-child(1) img,
  .footer-v18-25 .footer-vacation-mini-strip a:nth-child(2) img,
  .footer-v18-25 .footer-vacation-mini-strip a:nth-child(3) img,
  .footer-v18-25 .footer-vacation-mini-strip a:nth-child(4) img{
    width:auto!important;
    height:auto!important;
    max-width:48px!important;
    max-height:20px!important;
  }

  .footer-v18-25 .footer-bottom-v18-25{
    margin-top:4px!important;
    padding-top:8px!important;
    gap:2px!important;
    font-size:6.5px!important;
  }
}

@media(max-width:380px){
  .cards{
    gap:6px!important;
  }
  .card-body{
    padding:6px!important;
  }
  .card-title{
    font-size:9px!important;
  }

  .footer-v18-25 .footer-main-grid{
    grid-template-columns:1fr!important;
  }

  .footer-v18-25 .footer-payment-row{
    grid-template-columns:70px minmax(0,1fr)!important;
  }

  .footer-v18-25 .footer-vacation-mini-strip img,
  .footer-v18-25 .footer-vacation-mini-strip a:nth-child(1) img,
  .footer-v18-25 .footer-vacation-mini-strip a:nth-child(2) img,
  .footer-v18-25 .footer-vacation-mini-strip a:nth-child(3) img,
  .footer-v18-25 .footer-vacation-mini-strip a:nth-child(4) img{
    max-width:42px!important;
    max-height:18px!important;
  }
}


/* V18.28 — property grouping, smart filters, reviews */
.smart-property-filters{
  margin:22px 0 28px;padding-bottom:18px;border-bottom:1px solid var(--line)
}
.smart-filter-form{display:flex;flex-direction:column;gap:10px}
.smart-filter-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:15px}
.smart-filter-heading strong,.smart-filter-heading span{display:block}
.smart-filter-heading strong{font-size:14px}
.smart-filter-heading span{font-size:10px;color:var(--muted);margin-top:2px}
.smart-filter-clear{font-size:10px;font-weight:800;color:#736961}
.smart-filter-grid{display:grid;grid-template-columns:1.15fr .8fr .8fr .7fr auto;gap:7px}
.smart-filter-grid label{display:flex;flex-direction:column;gap:4px;min-width:0}
.smart-filter-grid label>span{font-size:8px;font-weight:900;text-transform:uppercase;color:#8e847c;letter-spacing:.05em}
.smart-filter-grid select{height:38px;border:1px solid var(--line);border-radius:9px;padding:0 9px;background:#fff;color:var(--ink)}
.smart-filter-submit{align-self:end;height:38px;padding:0 15px;border:0;border-radius:9px;background:var(--ink);color:#fff;font-weight:800;cursor:pointer}

.property-address-group{margin-bottom:28px}
.property-address-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}
.property-address-head span{display:block;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:#9a8f86}
.property-address-head h3{margin:2px 0 0;font:700 18px Georgia,serif}
.property-address-head>strong{font-size:9px;color:#8c827a}

.property-review-inline{display:flex;align-items:center;gap:4px;min-height:17px;margin:2px 0 6px}
.review-stars{color:#d4a11e;letter-spacing:.02em}
.property-review-inline .review-stars{font-size:9px}
.property-review-inline strong{font-size:9px}
.property-review-inline small{font-size:7px;color:var(--muted)}

.search-smart-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:7px;margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
.search-smart-options label{display:flex;flex-direction:column;gap:4px}
.search-smart-options label span{font-size:8px;font-weight:900;color:#897f77;text-transform:uppercase}
.search-smart-options select{height:36px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 8px}
#smartSearchOptions{display:flex;align-items:end}
#smartSearchOptions .btn{height:36px}

.property-review-hero{display:flex;align-items:center;gap:7px;margin:5px 0 10px}
.property-review-hero .review-stars{font-size:13px}
.property-review-hero strong{font-size:11px}
.property-review-hero a,.property-review-hero small{font-size:9px;color:var(--muted)}

.property-reviews-section{margin:32px 0 10px;padding-top:25px;border-top:1px solid var(--line)}
.property-reviews-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}
.property-reviews-head>div:first-child>span{font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:#92877e}
.property-reviews-head h2{margin:3px 0 0;font:700 24px Georgia,serif}
.review-score-large{display:flex;align-items:center;gap:8px}
.review-score-large>strong{font-size:26px}
.review-score-large>div span,.review-score-large>div small{display:block}
.review-score-large .review-stars{font-size:11px}
.review-score-large small{font-size:8px;color:var(--muted);margin-top:2px}
.review-public-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.review-public-card{padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff}
.review-public-top{display:flex;justify-content:space-between;gap:10px}
.review-public-top>div:first-child strong,.review-public-top>div:first-child span{display:block}
.review-public-top>div:first-child strong{font-size:11px}
.review-public-top>div:first-child span{font-size:7px;color:#27643a;margin-top:2px}
.review-public-top>div:last-child{display:flex;align-items:center;gap:4px}
.review-public-top .review-stars{font-size:9px}
.review-public-top b{font-size:9px}
.review-public-card h3{font-size:11px;margin:9px 0 4px}
.review-public-card p{font-size:9px;line-height:1.55;color:#655d57;margin:0 0 8px}
.review-public-card>small{font-size:7px;color:#9a9189}
.review-submit-form{margin-bottom:14px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fbfaf8}
.review-form-head strong,.review-form-head span{display:block}
.review-form-head strong{font-size:12px}
.review-form-head span{font-size:8px;color:var(--muted);margin-top:2px}
.review-form-grid{display:grid;grid-template-columns:.4fr 1fr;gap:8px;margin:10px 0}
.review-form-grid label{display:flex;flex-direction:column;gap:4px}
.review-form-grid label.full{grid-column:1/-1}
.review-form-grid label>span{font-size:8px;font-weight:900}
.review-form-grid input,.review-form-grid select,.review-form-grid textarea{border:1px solid var(--line);border-radius:8px;padding:8px;background:#fff}
.no-reviews-public{padding:14px;border-radius:10px;background:#f5f2ee;color:var(--muted);font-size:9px}

@media(max-width:900px){
  .smart-filter-grid{grid-template-columns:1fr 1fr}
  .smart-filter-submit{grid-column:1/-1}
  .search-smart-options{grid-template-columns:1fr 1fr}
  #smartSearchOptions{grid-column:1/-1}
}
@media(max-width:560px){
  .smart-property-filters{margin:12px 0 18px;padding-bottom:12px}
  .smart-filter-heading strong{font-size:11px}
  .smart-filter-heading span{font-size:7px}
  .smart-filter-grid{grid-template-columns:1fr 1fr;gap:5px}
  .smart-filter-grid label>span{font-size:6px}
  .smart-filter-grid select{height:32px;font-size:10px}
  .smart-filter-submit{height:32px;font-size:9px}
  .property-address-group{margin-bottom:18px}
  .property-address-head{margin-bottom:7px}
  .property-address-head h3{font-size:14px}
  .property-address-head>strong{font-size:7px}
  .property-review-inline{margin:1px 0 4px;gap:3px}
  .property-review-inline .review-stars{font-size:7px}
  .property-review-inline strong{font-size:7px}
  .property-review-inline small{font-size:6px}
  .search-smart-options{grid-template-columns:1fr 1fr;gap:5px}
  .search-smart-options label span{font-size:6px}
  .search-smart-options select{height:32px;font-size:10px}
  #smartSearchOptions .btn{height:32px;font-size:9px}
  .review-public-grid{grid-template-columns:1fr}
  .property-reviews-section{margin-top:20px;padding-top:16px}
  .property-reviews-head h2{font-size:18px}
  .review-score-large>strong{font-size:20px}
  .review-form-grid{grid-template-columns:1fr}
  .review-form-grid label.full{grid-column:auto}
}


/* V18.29 — Google ratings in footer */
.footer-google-reviews{
  padding:12px 0;
  border-top:1px solid #ddd6cf;
}
.footer-google-head{
  margin-bottom:8px;
}
.footer-google-head span,
.footer-google-head strong{
  display:block;
}
.footer-google-head span{
  color:#9a8f87;
  font-size:6px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.footer-google-head strong{
  margin-top:2px;
  font-size:9px;
  color:#3a3431;
}
.footer-google-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.footer-google-rating{
  display:grid;
  grid-template-columns:26px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-width:0;
  padding:8px 10px;
  border:1px solid #e5ded7;
  border-radius:10px;
  background:#fff;
  transition:.15s ease;
}
.footer-google-rating:hover{
  border-color:#d3c9bf;
  transform:translateY(-1px);
}
.google-g-mark{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  border:1px solid #e8e3dd;
  color:#4285f4;
  font-size:13px;
  font-weight:900;
}
.google-review-copy{
  min-width:0;
}
.google-review-copy>strong{
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:8px;
}
.google-review-score{
  display:flex;
  align-items:center;
  gap:4px;
  margin-top:2px;
}
.google-review-score b{
  font-size:8px;
}
.google-stars{
  color:#f4b400;
  font-size:7px;
  letter-spacing:.03em;
}
.google-review-score small{
  color:#8f857d;
  font-size:6px;
}
.google-review-cta{
  color:#6e655f;
  font-size:6px;
  font-weight:800;
  white-space:nowrap;
}

@media(max-width:700px){
  .footer-google-reviews{
    padding:8px 0!important;
  }
  .footer-google-head{
    margin-bottom:5px!important;
  }
  .footer-google-head span{
    font-size:5px!important;
  }
  .footer-google-head strong{
    font-size:7px!important;
  }
  .footer-google-grid{
    grid-template-columns:1fr!important;
    gap:5px!important;
  }
  .footer-google-rating{
    grid-template-columns:21px minmax(0,1fr) auto!important;
    gap:6px!important;
    padding:6px 7px!important;
    border-radius:8px!important;
  }
  .google-g-mark{
    width:20px!important;
    height:20px!important;
    font-size:10px!important;
  }
  .google-review-copy>strong{
    font-size:7px!important;
  }
  .google-review-score b{
    font-size:7px!important;
  }
  .google-stars{
    font-size:6px!important;
  }
  .google-review-score small{
    font-size:5px!important;
  }
  .google-review-cta{
    font-size:5px!important;
  }
}
