:root{--legal-teal:#079d90;--legal-navy:#123744;--legal-bg:#f4fbfa;--legal-line:#d4e7e4}
.portal-section{margin:38px max(5vw,22px);padding:28px;border:1px solid var(--legal-line);border-radius:28px;background:#fff;box-shadow:0 18px 50px rgba(18,75,77,.08);color:#123744}
.portal-section-head{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:20px}.portal-section-head h1,.portal-section-head h2{margin:4px 0 0;font-size:clamp(28px,4vw,44px);color:#123744}.portal-section-head p{margin:0;color:#526e76;max-width:680px}.portal-kicker{font-size:12px;font-weight:950;letter-spacing:.17em;color:#078f83}
.pharmacy-search-home{display:grid;grid-template-columns:1.6fr 1fr auto;gap:12px}.pharmacy-search-home input{width:100%;padding:16px 18px;border:1px solid #bfd9d6;border-radius:15px;font:inherit;background:#fff;color:#123744}.pharmacy-search-home input::placeholder{color:#6d858b;opacity:1}.pharmacy-search-home button,.pharmacy-search-home a{border:0;border-radius:15px;padding:16px 20px;font-weight:900;text-decoration:none;text-align:center}.pharmacy-search-home button{background:#079d90;color:#fff}.pharmacy-search-home a{background:#e5f5f3;color:#123744}
.pharmacy-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.pharmacy-feature{background:#f5fbfa;border:1px solid #dfefed;border-radius:17px;padding:15px}.pharmacy-feature b{display:block;color:#123744;margin-bottom:4px}.pharmacy-feature span{color:#5b747b;font-size:13px}
.footer{grid-template-columns:1.2fr .8fr .8fr!important}.footer-contact{display:grid;gap:9px;align-content:start}.footer-contact h3,.footer-links h3{margin:0 0 7px;color:inherit}.footer-contact a,.footer-links a{color:inherit;text-decoration:none}.footer-links{display:grid;gap:8px}.footer-legal{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.footer-legal a{text-decoration:underline;text-underline-offset:3px}
.legal-page{max-width:1020px;margin:38px auto 90px;padding:0 22px}.legal-card{background:#fff;border:1px solid var(--legal-line);border-radius:24px;padding:clamp(22px,4vw,42px);box-shadow:0 18px 60px rgba(18,75,77,.08);color:#123744}.legal-card h1,.legal-card h2,.legal-card h3{color:#123744}.legal-card h1{font-size:clamp(34px,5vw,58px);margin:0 0 10px}.legal-card h2{margin-top:30px}.legal-card p,.legal-card li{line-height:1.75;color:#405d65}.legal-card a{color:#077f75;font-weight:750}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:22px}.contact-box,.contact-form{background:#fff;border:1px solid var(--legal-line);border-radius:22px;padding:24px;color:#123744}.contact-box h2,.contact-form h2{color:#123744}.contact-box p{color:#405d65}.contact-box a{color:#078f83;font-weight:850}.contact-form label{display:grid;gap:7px;font-weight:850;margin-bottom:14px;color:#173b45}.contact-form input,.contact-form textarea{width:100%;border:1px solid #b9d5d2;border-radius:13px;padding:13px 14px;font:inherit;background:#fff;color:#102f38}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#6e858b;opacity:1}.contact-form textarea{min-height:160px;resize:vertical}.contact-form button{border:0;background:#079d90;color:#fff;padding:14px 20px;border-radius:13px;font-weight:900}.contact-form small{color:#536d74}.form-ok{background:#e8f8f3;border:1px solid #a9dfd1;color:#155c50;padding:13px;border-radius:12px;margin-bottom:14px}.form-err{background:#fff0ef;border:1px solid #efb2ad;color:#8b2d26;padding:13px;border-radius:12px;margin-bottom:14px}
.cookie-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:9999;max-width:1180px;margin:auto;background:#fff;color:#163943;border:1px solid #cfe4e1;border-radius:20px;box-shadow:0 20px 70px rgba(0,45,48,.24);padding:18px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}.cookie-banner[hidden]{display:none!important}.cookie-banner p{margin:4px 0 0;color:#4c6971;font-size:14px;line-height:1.55}.cookie-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.cookie-actions button,.cookie-actions a{border-radius:12px;padding:11px 14px;font-weight:850;text-decoration:none;border:1px solid #c8dfdc;background:#fff;color:#163943}.cookie-actions .cookie-all{background:#079d90;color:#fff;border-color:#079d90}

/* MODERN: all content surfaces use white + dark ink, no pale-on-white */
body.theme-modern .legal-page,body.theme-modern .portal-section-head{color:#fff}
body.theme-modern .portal-section-head h1,body.theme-modern .portal-section-head h2{color:#fff!important}
body.theme-modern .portal-section-head .portal-kicker{color:#63e1d5!important}
body.theme-modern .contact-box,body.theme-modern .contact-form,body.theme-modern .legal-card,body.theme-modern .portal-section,body.theme-modern .filters,body.theme-modern .ph,body.theme-modern .empty,body.theme-modern aside{background:#fff!important;border-color:#bcd8d5!important;color:#123744!important}
body.theme-modern .contact-box :is(h1,h2,h3,h4,strong,b),body.theme-modern .contact-form :is(h1,h2,h3,h4,strong,b),body.theme-modern .legal-card :is(h1,h2,h3,h4,strong,b),body.theme-modern .portal-section :is(h1,h2,h3,h4,strong,b),body.theme-modern .ph :is(h1,h2,h3,h4,strong,b),body.theme-modern aside :is(h1,h2,h3,h4,strong,b){color:#123744!important}
body.theme-modern .contact-box p,body.theme-modern .contact-form p,body.theme-modern .contact-form label,body.theme-modern .contact-form small,body.theme-modern .legal-card p,body.theme-modern .legal-card li,body.theme-modern .portal-section p,body.theme-modern .portal-section span,body.theme-modern .ph p,body.theme-modern aside p{color:#3f5d65!important}
body.theme-modern .contact-box a,body.theme-modern .contact-form a,body.theme-modern .legal-card a,body.theme-modern .portal-section a{color:#007f75!important}
body.theme-modern .contact-form input,body.theme-modern .contact-form textarea,body.theme-modern .filters input,body.theme-modern .pharmacy-search-home input{background:#fff!important;color:#102f38!important;border-color:#abcac6!important;-webkit-text-fill-color:#102f38!important}
body.theme-modern .contact-form input::placeholder,body.theme-modern .contact-form textarea::placeholder,body.theme-modern .filters input::placeholder,body.theme-modern .pharmacy-search-home input::placeholder{color:#6b8288!important;opacity:1!important}
body.theme-modern footer{background:#052f39;color:#eaf9f7}

/* LUXURY: ivory cards + dark brown ink; headings never gold on ivory */
body.theme-luxury .legal-page,body.theme-luxury .portal-section-head{color:#fff1c9}
body.theme-luxury .portal-section-head h1,body.theme-luxury .portal-section-head h2{color:#fff1c9!important}
body.theme-luxury .portal-section-head .portal-kicker{color:#e6c05a!important}
body.theme-luxury .contact-box,body.theme-luxury .contact-form,body.theme-luxury .legal-card,body.theme-luxury .portal-section,body.theme-luxury .filters,body.theme-luxury .ph,body.theme-luxury .empty,body.theme-luxury aside{background:#fffaf0!important;border-color:#dbc27e!important;color:#2b2113!important}
body.theme-luxury .contact-box :is(h1,h2,h3,h4,strong,b),body.theme-luxury .contact-form :is(h1,h2,h3,h4,strong,b),body.theme-luxury .legal-card :is(h1,h2,h3,h4,strong,b),body.theme-luxury .portal-section :is(h1,h2,h3,h4,strong,b),body.theme-luxury .ph :is(h1,h2,h3,h4,strong,b),body.theme-luxury aside :is(h1,h2,h3,h4,strong,b){color:#2b2113!important}
body.theme-luxury .contact-box p,body.theme-luxury .contact-form p,body.theme-luxury .contact-form label,body.theme-luxury .contact-form small,body.theme-luxury .legal-card p,body.theme-luxury .legal-card li,body.theme-luxury .portal-section p,body.theme-luxury .portal-section span,body.theme-luxury .ph p,body.theme-luxury aside p{color:#554936!important}
body.theme-luxury .contact-box a,body.theme-luxury .contact-form a,body.theme-luxury .legal-card a,body.theme-luxury .portal-section a{color:#80580d!important}
body.theme-luxury .contact-form input,body.theme-luxury .contact-form textarea,body.theme-luxury .filters input,body.theme-luxury .pharmacy-search-home input{background:#fff!important;color:#2b2113!important;border-color:#cfb56e!important;-webkit-text-fill-color:#2b2113!important}
body.theme-luxury .contact-form input::placeholder,body.theme-luxury .contact-form textarea::placeholder,body.theme-luxury .filters input::placeholder,body.theme-luxury .pharmacy-search-home input::placeholder{color:#746651!important;opacity:1!important}
body.theme-luxury .contact-form button,body.theme-luxury .filters button,body.theme-luxury .pharmacy-search-home button{background:#dfb84d!important;color:#20170a!important}
body.theme-luxury .pharmacy-feature{background:#fff3d6;border-color:#dfc78c}.theme-luxury .pharmacy-feature b{color:#2b2113}.theme-luxury .pharmacy-feature span{color:#5f513d}
body.theme-luxury footer{background:#17120c;color:#f4dfaa}

@media(max-width:800px){.portal-section-head{display:block}.pharmacy-search-home{grid-template-columns:1fr}.pharmacy-feature-grid{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr}.cookie-banner{grid-template-columns:1fr}.cookie-actions{justify-content:stretch}.cookie-actions>*{flex:1;text-align:center}.footer{grid-template-columns:1fr!important}.legal-page{margin-top:22px;padding-left:14px;padding-right:14px}.contact-box,.contact-form{padding:22px 18px}.contact-form input,.contact-form textarea{font-size:16px!important;line-height:1.35}.contact-form h2,.contact-box h2{font-size:29px;line-height:1.1}}
@media(max-width:520px){.pharmacy-feature-grid{grid-template-columns:1fr}.portal-section{padding:20px;margin-left:14px;margin-right:14px}.cookie-banner{left:10px;right:10px;bottom:10px}}
