/* Shared A-Living privacy, WhatsApp and offer widgets. */
:root{--al-ink:#173f53;--al-green:#173e35;--al-paper:#fcfaf5;--al-rust:#a05038;--al-line:#d7dfd9}
html:has(.al-modal[open]){overflow:hidden}
.al-modal [hidden]{display:none!important}
.al-modal,.privacy-page{color:var(--al-ink)}
.al-modal{padding:0;margin:auto;width:min(900px,calc(100% - 40px));max-height:calc(100dvh - 48px);border:1px solid #e1ded5;border-radius:24px;background:var(--al-paper);box-shadow:0 32px 100px #102e4140;overflow:auto;overscroll-behavior:contain}
.al-modal::backdrop{background:#102e417d;backdrop-filter:blur(6px)}
.al-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:26px 34px 0}
.al-modal-head h2{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:400;line-height:1.15;letter-spacing:-.045em}
.al-modal-head h2 em{font-family:inherit;color:var(--emphasis-green);font-weight:600}
.al-modal .al-close{display:grid;place-items:center;flex:none;width:38px;height:38px;padding:0;border:1px solid var(--al-line);border-radius:50%;background:transparent;color:var(--al-ink);cursor:pointer}
.al-close svg,.al-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.al-close:hover{background:#eaf0ed}
.al-modal button:focus-visible,.al-modal a:focus-visible,.al-offers-tab:focus-visible,.privacy-page a:focus-visible,.privacy-page input:focus-visible{outline:2px solid var(--al-green);outline-offset:4px}
.al-action{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:13px 22px;min-height:46px;background:var(--cta-green);color:#fffdf8;border:1px solid var(--al-ink);border-radius:999px;font-family:inherit;font-size:.81rem;font-weight:600;line-height:1.3;text-decoration:none;cursor:pointer;border-color:var(--cta-green)}
.al-action:hover:not(:disabled){background:var(--cta-dark);border-color:var(--cta-dark);color:#fffdf8}
.al-action:disabled{opacity:.45;cursor:default}
.al-action--secondary{background:transparent;color:var(--cta-dark);border-color:var(--cta-dark);}
.al-action--secondary:hover:not(:disabled){background:var(--cta-soft);color:var(--cta-dark);border-color:var(--cta-dark);}

/* Contact stays in the corner; the small gift tab stays at the right edge. */
a.float-contact{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:35;display:grid;place-items:center;width:52px;height:52px;border:1px solid #ffffff50;border-radius:50%;background:var(--al-green);color:white;box-shadow:0 5px 24px #102e412b}
a.float-contact:hover{background:#245846}
a.float-contact .al-whatsapp-icon{display:block;width:29px;height:29px}
.al-offers-tab{position:fixed;top:50%;right:0;transform:translateY(-50%);z-index:35;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;width:54px;min-height:96px;padding:15px 6px;border:1px solid #ffffff55;border-right:0;border-radius:18px 0 0 18px;background:var(--al-rust);color:#fffaf2;box-shadow:-4px 5px 18px #102e411a;cursor:pointer}
.al-offers-tab svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.al-offers-tab span{font-size:10px;font-weight:600;letter-spacing:.03em;line-height:1}
.al-offers-tab:hover{background:#84402c}
.al-offers-tab[data-saved=true]:after{content:'';position:absolute;top:10px;right:9px;width:7px;height:7px;border-radius:50%;background:#f5db9d}
.owners-page .al-offers-tab{background:#eef7fb;color:var(--al-ink);border-color:#cfdee6}
.owners-page .al-offers-tab:hover{background:#e6f3f8}
.owners-page .al-offers-tab[data-saved=true]:after{background:var(--al-green)}

/* The privacy text has its own scroll area and an always-visible agreement row. */
.al-privacy-dialog{width:min(760px,calc(100% - 40px))}
.al-privacy-dialog[open]{display:flex;flex-direction:column}
.al-privacy-dialog .al-modal-head{padding-bottom:22px;border-bottom:1px solid var(--al-line)}
.al-policy-scroll{padding:24px 34px;overflow-y:auto;min-height:0;overscroll-behavior:contain}
.al-policy-copy{font-size:.88rem;line-height:1.85;color:#586f79}
.al-policy-copy .al-policy-note{padding:15px 18px;margin-bottom:26px;background:#eaf0ec;border-radius:10px;font-size:.8rem;line-height:1.7;color:#36584f}
.al-policy-copy h2{margin:25px 0 9px;font-size:1.15rem;line-height:1.4;letter-spacing:-.025em;color:var(--al-ink);font-weight:500}
.al-policy-copy p+p{margin-top:12px}
.al-policy-copy a{text-decoration:underline;text-underline-offset:4px;color:var(--al-ink)}
.al-policy-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:20px 34px;border-top:1px solid var(--al-line);background:var(--al-paper)}
.al-agree{display:flex;align-items:center;gap:12px;font-size:.9rem;cursor:pointer;min-height:44px}
.al-agree input{width:20px;height:20px;accent-color:var(--al-green);cursor:pointer;flex:none}
.al-policy-page-link{font-size:.76rem;text-decoration:underline;text-underline-offset:4px;margin-top:12px;display:inline-block;color:#5b717b}
.al-policy-status{font-size:.8rem;color:var(--al-green);min-height:1.5em}
.privacy-page .privacy-main{max-width:900px;margin:auto;padding:145px 40px 80px}
.privacy-page h1{font-size:clamp(2.8rem,6vw,4.5rem);line-height:1.1;letter-spacing:-.05em;font-weight:400;margin-bottom:32px}
.privacy-page h1 em{font-family:inherit;color:var(--emphasis-green);font-weight:600}
.privacy-page .privacy-main .al-policy-copy{font-size:.95rem}
.privacy-page .privacy-main .al-policy-footer{padding:25px 0;margin-top:35px}
.al-policy-copy ul{list-style:none;margin:13px 0 0;padding:0}
.al-policy-copy ul li{position:relative;padding-left:21px;margin-top:9px}
.al-policy-copy ul li:before{content:"";position:absolute;left:0;top:.68em;width:6px;height:6px;border-radius:50%;background:var(--emphasis-green);opacity:.5}
.al-policy-numbered{counter-reset:al-policy-section}
.al-policy-numbered h2{counter-increment:al-policy-section;margin-top:34px;padding-top:22px;border-top:1px solid #e2e8e3}
.al-policy-numbered h2:before{content:counter(al-policy-section,decimal-leading-zero);display:block;margin-bottom:7px;font-size:.68rem;letter-spacing:.14em;font-weight:600;color:var(--emphasis-green)}
.al-policy-numbered h2.al-policy-close{counter-increment:none}
.al-policy-numbered h2.al-policy-close:before{content:none}
.al-policy-callout{display:flex;align-items:flex-start;gap:13px;margin-top:34px;padding:18px 20px;border:1px solid #dce4dd;border-radius:10px;background:#f4f7f4;font-size:.84rem;line-height:1.75;color:#49636c}
.al-policy-callout .i{flex:none;width:18px;height:18px;margin-top:3px;fill:none;stroke:var(--emphasis-green);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.al-policy-callout a{text-decoration:underline;text-underline-offset:4px;color:var(--al-ink)}

/* Five equal segments, with matching offer names beside the wheel. */
.al-offer-intro{font-size:.87rem;line-height:1.7;color:#5d727c;margin:12px 0 0;max-width:530px}
.al-offer-layout{display:grid;grid-template-columns:1fr 1fr;gap:34px;padding:20px 34px 25px;align-items:center}
.al-wheel-area{text-align:center;min-width:0}
.al-wheel-wrap{position:relative;width:min(100%,300px);margin:0 auto 18px;aspect-ratio:1}
.al-wheel{display:block;width:100%;height:100%;filter:drop-shadow(0 9px 14px #173f5320)}
.al-wheel text{font-family:Manrope,Arial,sans-serif;font-weight:600;font-size:14px;letter-spacing:.01em}
.al-wheel-pointer{position:absolute;left:50%;top:-3px;transform:translateX(-50%);z-index:2;width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:23px solid var(--al-ink);filter:drop-shadow(0 2px 1px #fff9)}
.al-wheel-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:var(--al-paper);border:6px solid #fffdf5;box-shadow:0 2px 10px #173f5325;color:var(--al-rust)}
.al-wheel-hub svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.al-spin{min-width:180px}
.al-offer-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.al-offer-list li{display:flex;gap:13px;align-items:center;padding:10px 14px;border:1px solid var(--al-line);border-radius:12px;line-height:1.4;font-size:.85rem;background:#fffdf8}
.al-offer-dot{width:12px;height:12px;flex:none;border-radius:50%;background:var(--offer-colour);border:1px solid #173f5322}
.al-offer-list li.is-selected{border-color:var(--al-green);background:#e8f0eb;box-shadow:0 0 0 1px var(--al-green)}
.al-offer-list li .al-offer-check{margin-left:auto;color:var(--al-green);font-size:17px}
.al-offer-result{margin-top:15px;padding-top:14px;border-top:1px solid var(--al-line)}
.al-offer-result p{font-size:.79rem;line-height:1.65;color:#5d727c}
.al-offer-result strong{display:block;margin-bottom:5px;font-size:1.14rem;font-weight:500;color:var(--al-ink)}
.al-offer-result .al-action{margin-top:13px;font-size:.77rem}
.al-offer-terms{padding:16px 34px;background:#f1ece2;border-top:1px solid #e2dbce;text-align:center;font-size:.73rem;line-height:1.65;color:#667982}
.al-offer-terms a{text-decoration:underline;text-underline-offset:3px;white-space:nowrap;margin-left:6px}
.al-offers-dialog .al-modal-head{position:sticky;top:0;z-index:3;background:var(--al-paper);padding-bottom:12px}
.al-offer-status{min-height:1.5em;font-size:.78rem;color:var(--al-ink);margin-top:12px;line-height:1.5}
@media(max-width:640px){
 .al-modal{width:calc(100% - 24px);max-height:calc(100dvh - 28px);border-radius:18px}
 .al-modal-head{padding:24px 21px 0;gap:12px}.al-modal-head h2{font-size:1.9rem}
 .al-modal .al-close{width:34px;height:34px}.al-offer-intro{font-size:.8rem}
 .al-offer-layout{grid-template-columns:1fr;gap:22px;padding:23px 21px}
 .al-wheel-wrap{width:245px;max-width:100%;margin-bottom:12px}.al-wheel-hub{width:56px;height:56px}.al-wheel-hub svg{width:24px;height:24px}
 .al-offer-list{grid-template-columns:1fr 1fr;gap:8px}.al-offer-list li{font-size:.73rem;padding:10px;gap:8px}.al-offer-list li:last-child{grid-column:1/-1;justify-self:center;min-width:50%}
 .al-offer-dot{width:9px;height:9px}.al-offer-result{text-align:center;margin-top:16px}
 .al-offer-terms{padding:15px 21px;font-size:.69rem}
 .al-privacy-dialog .al-modal-head{padding-bottom:18px}.al-policy-scroll{padding:20px 21px}.al-policy-footer{padding:15px 21px;gap:10px}.al-policy-copy{font-size:.82rem}
 .al-offers-tab{width:44px;min-height:82px;border-radius:14px 0 0 14px;gap:7px}.al-offers-tab svg{width:23px;height:23px}.al-offers-tab span{font-size:9px}
 a.float-contact{right:max(16px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));width:48px;height:48px}
 .privacy-page .privacy-main{padding:110px 24px 55px}.privacy-page .privacy-main .al-policy-copy{font-size:.87rem}
 .al-policy-numbered h2{margin-top:28px;padding-top:19px}.al-policy-callout{padding:15px 16px;font-size:.78rem;gap:11px}
}

/* Booking terms share the privacy popup layout. */
.property-guidelines .property-terms-trigger{padding:0;border:0;background:none;color:inherit;font:inherit;font-size:.77rem;text-decoration:underline;text-underline-offset:3px}
.al-terms-footer{justify-content:flex-end}


/* The lower row follows the upper footer columns, keeping social links below the divider. */
.site-footer .footer-bottom{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr);align-items:center;column-gap:50px;row-gap:18px}
.site-footer .footer-bottom>p{grid-column:1;min-width:0}
.site-footer .footer-bottom>div{grid-column:2/4;min-width:0;flex-wrap:wrap;align-items:center;gap:8px 25px}
.site-footer .footer-social{grid-column:4;justify-self:start;display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:10px;margin:0;padding:0}
.site-footer .footer-social a{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;margin:0;padding:0;border:1px solid #dcece942;border-radius:50%;background:transparent;color:#e6f0f1;line-height:1;text-decoration:none;transition:background .2s ease,border-color .2s ease,color .2s ease}
.site-footer .footer-social a svg{display:block;width:20px;height:20px;flex:none}
.site-footer .footer-social a:hover{background:var(--cta-green);border-color:var(--cta-green);color:#fff;text-decoration:none}
.site-footer .footer-social a:focus-visible{outline:2px solid #e6f0f1;outline-offset:4px;background:var(--cta-green);border-color:var(--cta-green);color:#fff;text-decoration:none}
@media(max-width:900px){
 .site-footer .footer-bottom{grid-template-columns:repeat(3,minmax(0,1fr))}
 .site-footer .footer-bottom>div{grid-column:2}
 .site-footer .footer-social{grid-column:3}
}
@media(max-width:600px){
 .site-footer .footer-bottom{grid-template-columns:minmax(0,1fr);gap:16px;padding-bottom:calc(86px + env(safe-area-inset-bottom))}
 .site-footer .footer-bottom>p,.site-footer .footer-bottom>div,.site-footer .footer-social{grid-column:1}
 .site-footer .footer-bottom>div{gap:8px 18px}
 .site-footer .footer-social{justify-self:end}
}
@media(prefers-reduced-motion:reduce){.site-footer .footer-social a{transition:none}}
