/* Owner-supplied Molí palette: D4CFCC, BCD6EF, D1E3F7, F3F8FE, C0C3B2.
   Dark blue companions keep text, actions and keyboard focus readable. */
:root,body.harmony-surface{
 --brand-stone:#D4CFCC;--brand-blue:#BCD6EF;--brand-sky:#D1E3F7;--brand-white:#F3F8FE;--brand-sage:#C0C3B2;
 --ink:#203D4D;--paper:var(--brand-white);--muted:#485B65;--line:var(--brand-stone);--accent:var(--brand-blue);--sand:var(--brand-stone);
 --terracotta:#28536B;--terracotta-dark:#1D4054;
}
body{background:var(--paper);color:var(--ink)}
body .site-header,body.harmony-surface .site-header{background:#F3F8FEF5;border-bottom-color:var(--brand-stone)}
body .button,body.harmony-surface .button,body.harmony-surface .stay-submit,body .mobile-booking-button,body .chat-launcher{
 background:var(--terracotta);border-color:var(--terracotta);color:#fff;
}
body .button:hover,body.harmony-surface .button:hover,body.harmony-surface .stay-submit:hover,body .mobile-booking-button:hover{background:var(--terracotta-dark);border-color:var(--terracotta-dark);color:#fff}
body :is(a,button,summary,input,select):focus-visible{outline-color:var(--terracotta);outline-offset:4px}
body .harmony-offer{background:var(--brand-blue);color:var(--ink)}
body .harmony-offer button{color:var(--ink)}
body .stay-section,body.harmony-surface .stay-section{background:var(--brand-sky)}
body .home-guide,body.harmony-surface .home-guide{background:var(--brand-sky);color:var(--ink)}
body .home-guide .eyebrow,body.harmony-surface .home-guide .eyebrow{color:var(--muted)}
body.harmony-surface .harmony-final.section{background:var(--brand-sage);color:var(--ink)}
body.harmony-surface .harmony-final :is(h2,p,.eyebrow){color:var(--ink)}
body.harmony-surface .harmony-benefit-mark,body.harmony-surface .harmony-price{color:var(--terracotta)}
body.harmony-surface .harmony-amenities .icon,body.harmony-surface .harmony-features li::before,body.harmony-surface .step-number{color:#3E5E71}
body.harmony-surface .harmony-room{border-color:var(--brand-stone)}
body .destination-map{border-color:var(--brand-stone)}
body .destination-map figcaption{background:var(--brand-white);color:var(--ink)}
body .destination-map figcaption span{color:var(--muted)}
body .harmony-good-to-know,body .article-toc,body .article-related,body .article-cta{background:var(--brand-sky);border-color:var(--brand-stone)}
body .harmony-picker,body .harmony-guests{background:var(--brand-white);color:var(--ink);border-color:var(--brand-stone)}
body .harmony-field:hover,body .harmony-day:not(:disabled):hover,body .harmony-day.harmony-in-range{background:var(--brand-sky);border-color:#748B9A}
body .harmony-day[aria-pressed="true"]{background:var(--terracotta);color:#fff}
body .harmony-field,body .harmony-picker-close,body .harmony-calendar-nav button{border-color:#748B9A}
body .harmony-booking-foot,body .harmony-amenities.section,body .harmony-benefits.section{border-color:var(--brand-stone)}
body.harmony-surface .harmony-gallery-thumbs button[aria-pressed="true"]{border-color:var(--terracotta)}
body .mobile-booking-bar{background:#F3F8FEF5;border-top-color:var(--brand-stone)}
body .harmony-sticky-whatsapp{background:var(--ink);color:#fff}
body .footer,body.harmony-surface .footer{background:var(--brand-stone);color:var(--ink)}
body.harmony-surface .mobile-booking-bar{background:#F3F8FEF5;border-top-color:var(--brand-stone)}
body .guest-review-rating strong,body .price-highlight,body .step-number{color:var(--terracotta)}
/* Shared footer: one number, three large actions instead of duplicate numbers. */
body .footer-contact{display:flex;flex-direction:column;gap:10px;min-width:0}
body .footer-number{white-space:nowrap;font-size:16px;font-weight:700}
body .footer-contact-actions{display:flex;flex-wrap:wrap;gap:10px}
body .footer-contact-button{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid #748B9A;border-radius:50%;color:var(--ink);background:var(--brand-white);text-decoration:none;font-size:14px;font-weight:700}
body .footer-contact-button:hover{background:var(--brand-blue)}
body .footer-contact-button .icon{width:22px;height:22px}
body .harmony-facade-photo>img{object-fit:contain}
