/* Ibizahora · conversion & legal layer (2026-10-24). Loads after every other stylesheet. */
html:root .hero-actions .button.whatsapp-hero{background:#ffffff14;color:#fff;border:1px solid #ffffff66;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
html:root .hero-actions .button.whatsapp-hero:hover,html:root .hero-actions .button.whatsapp-hero:focus-visible{background:#ffffff2a;border-color:#fff}
html:root .hero-actions .button.whatsapp-hero::before{content:"";width:18px;height:18px;flex:none;background:url("/assets/whatsapp.svg") center/contain no-repeat;filter:brightness(0) invert(1)}
@media (max-width:640px){html:root .hero-actions{gap:10px}html:root .hero-actions .button{width:auto}}
/* Footer legal links */
html:root .legal-links{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 22px;margin:14px 0 0;font:12px/1.6 "DM Sans",Arial,sans-serif;letter-spacing:.02em}
html:root .legal-links a{color:#56634f;text-decoration:none;border-bottom:1px solid #c9d8bd}
html:root .legal-links a:hover{color:#172d34;border-color:#172d34}
/* Legal pages */
html:root .legal-page .article-layout{display:block;max-width:760px}
html:root .legal-page .article-body h2{font-size:21px;margin-top:34px}
html:root .legal-page mark.fill{background:#fff3b0;color:#5a4600;padding:1px 6px;border-radius:4px;font-weight:600}
html:root .legal-page code{font:13px/1.6 ui-monospace,Menlo,monospace;background:#eef4e6;padding:1px 5px;border-radius:4px}
/* Concierge: human escape hatch */
html:root .concierge-human{display:inline-flex;align-items:center;gap:9px;margin-top:10px;padding:11px 15px;border:1px solid #c9d8bd;border-radius:999px;background:#fff;color:#172d34;font:600 13px/1.3 "DM Sans",Arial,sans-serif;text-decoration:none;transition:border-color .2s,transform .2s}
html:root .concierge-human::before{content:"";width:16px;height:16px;background:url("/assets/whatsapp.svg") center/contain no-repeat}
html:root .concierge-human:hover{border-color:#172d34;transform:translateY(-1px)}
/* Concierge scope line */
html:root .concierge-scope{font-size:13px;line-height:1.7;color:#56634f;max-width:420px;margin:-4px 0 14px;grid-column:1/-1}
html:root .intro #human{grid-column:1/-1;justify-self:start}
/* Local area links (ITV by municipality) */
html:root .local-areas{padding:28px 6% 8px}
@media (max-width:640px){html:root .local-areas{padding:22px 20px 4px}}
html:root .local-areas>p{max-width:520px;font-size:14px;line-height:1.7;color:#56634f;margin:0 0 14px}
html:root .local-areas .eyebrow{margin-bottom:8px}
html:root .local-areas-links{display:flex;flex-wrap:wrap;gap:8px}
html:root .local-areas-links a{display:inline-block;padding:9px 14px;border:1px solid #c9d8bd;border-radius:999px;background:#fbfaf7;color:#172d34;font:600 13px/1.3 "DM Sans",Arial,sans-serif;text-decoration:none;transition:border-color .2s,background .2s,transform .2s}
html:root .local-areas-links a:hover{border-color:#172d34;transform:translateY(-1px)}
html:root .local-areas-links a.local-areas-all{background:#172d34;color:#fff;border-color:#172d34}
/* Info pages (prices, about) */
html:root .info-page .article-layout{display:block;max-width:860px}
html:root .info-page .article-body h2{font-size:22px;margin:38px 0 14px}
html:root .info-page .article-lead{font-size:18px;line-height:1.65;color:#172d34;margin:0 0 10px}
html:root .price-table{width:100%;border-collapse:collapse;table-layout:auto;background:#fff;border:1px solid #dce2d5;border-radius:10px;overflow:hidden;font-size:14px;margin:0 0 8px}
html:root .price-table th,html:root .price-table td{padding:13px 14px;vertical-align:top;border-bottom:1px solid #e6ece0;text-align:left;line-height:1.5}
html:root .price-table thead th{font:600 11px/1.4 "DM Sans",Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#637653;background:#f3f6ee}
html:root .price-table tbody th{font-weight:600;color:#172d34;width:34%}
html:root .price-table tbody th a{color:inherit;text-decoration:none;border-bottom:1px solid #c9d8bd}
html:root .price-table tbody th a:hover{border-color:#172d34}
html:root .price-table td.price{white-space:nowrap;font-weight:600;color:#214735;width:22%}
html:root .price-table tbody tr:last-child th,html:root .price-table tbody tr:last-child td{border-bottom:0}
@media (max-width:640px){html:root .price-table thead{display:none}html:root .price-table tr{display:block;padding:10px 0}html:root .price-table th,html:root .price-table td{display:block;width:auto!important;border:0;padding:3px 14px}html:root .price-table tbody th{padding-top:10px}html:root .price-table td.price{white-space:normal}html:root .price-table tr{border-bottom:1px solid #e6ece0}}
html:root .info-cta{margin:30px 0 10px}
html:root .info-cta .button{width:auto;display:inline-flex}
html:root .info-faq{margin-top:34px}
html:root .info-faq details{border-top:1px solid #dce2d5;padding:14px 0}
html:root .info-faq summary{cursor:pointer;display:flex;justify-content:space-between;gap:16px;font-weight:600;font-size:15px;list-style:none}
html:root .info-faq summary::-webkit-details-marker{display:none}
html:root .info-faq summary span{color:#637653}
html:root .info-faq p{margin:10px 0 0;font-size:14px;line-height:1.8;color:#56634f}
html:root .info-photo img{filter:saturate(.85)}
html:root .info-photo figcaption mark.fill{background:#fff3b0;color:#5a4600;padding:2px 8px;border-radius:4px;font-weight:600}
