html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;background:#FDFCFB;color:#1E293B}
.serif{font-family:'Merriweather',Georgia,serif}
.brand-wordmark{display:inline-flex;align-items:baseline;font-family:'Plus Jakarta Sans','Inter',system-ui,sans-serif;font-weight:800;letter-spacing:-.055em;line-height:1;white-space:nowrap}
.brand-wordmark__main,.brand-wordmark__accent{display:inline-block}
.brand-wordmark__accent{font-weight:800}
.brand-wordmark--footer{letter-spacing:-.05em}
.card-hover{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.card-hover:hover{transform:translateY(-4px);box-shadow:0 20px 38px rgba(30,41,59,.09);border-color:rgba(185,28,59,.5)}
.profile-img{aspect-ratio:4/5;object-fit:cover}
.glass{background:rgba(255,255,255,.88);backdrop-filter:blur(10px)}
.local-grid{background-image:linear-gradient(rgba(185,28,59,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(185,28,59,.045) 1px,transparent 1px);background-size:30px 30px}
.modal-backdrop{background:rgba(15,23,42,.68);backdrop-filter:blur(6px)}
.hide-scrollbar::-webkit-scrollbar{display:none}
.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}

/* Territorial activity bar */
.activity-panel{box-shadow:0 22px 55px rgba(30,41,59,.10)}
.activity-metric{min-width:0}
.activity-metric:nth-child(even){border-left:1px solid rgba(226,225,221,.78)}
.activity-metric:nth-child(n+3){border-top:1px solid rgba(226,225,221,.78)}
.activity-metric__icon{transition:transform .2s ease,background-color .2s ease,color .2s ease}
.activity-metric:hover .activity-metric__icon{transform:translateY(-2px);background:#B91C3B;color:#fff}
.activity-metric__value{letter-spacing:-.035em}
@media(min-width:1024px){
  .activity-metric:nth-child(n){border-top:0;border-left:1px solid rgba(226,225,221,.78)}
  .activity-metric:first-child{border-left:0}
}

/* Intent cards */
.intent-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.intent-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(30,41,59,.08);border-color:rgba(185,28,59,.48)}
.intent-card__icon{transition:transform .22s ease,background-color .22s ease,color .22s ease}
.intent-card:hover .intent-card__icon{transform:rotate(-3deg) scale(1.04);background:#B91C3B;color:#fff}

/* Premium promotional profile cards */
.profile-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.profile-card:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(30,41,59,.13);border-color:rgba(185,28,59,.38)}
.profile-card__media{background:#F3EEE9}
.profile-card__gradient{background:linear-gradient(180deg,rgba(15,23,42,0) 38%,rgba(15,23,42,.16) 58%,rgba(15,23,42,.86) 100%);pointer-events:none}
.profile-card__arrow{transition:transform .25s ease,background-color .25s ease,color .25s ease}
.profile-card:hover .profile-card__arrow{transform:rotate(8deg) scale(1.06);background:#B91C3B;color:#fff}
.profile-card__body{min-height:70px}

/* Interactive Spain map */
.map-stage{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 15% 15%,rgba(185,28,59,.08),transparent 30%),radial-gradient(circle at 80% 75%,rgba(212,175,55,.11),transparent 30%),#fff}
.map-stage::before{content:"";position:absolute;inset:-18%;z-index:0;pointer-events:none;opacity:.28;background-image:repeating-radial-gradient(ellipse at 18% 35%,transparent 0 27px,rgba(100,116,139,.16) 28px 29px,transparent 30px 51px),repeating-radial-gradient(ellipse at 82% 68%,transparent 0 35px,rgba(185,28,59,.10) 36px 37px,transparent 38px 65px);transform:rotate(-6deg)}
.map-stage>div{position:relative;z-index:1}
.map-svg-wrap{min-height:0}
.spain-shape{fill:#F3EEE9;stroke:#D7CFC7;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.map-region{cursor:pointer;outline:none}
.map-region circle{fill:#fff;stroke:#B91C3B;stroke-width:2;transition:transform .2s ease,fill .2s ease,stroke .2s ease,filter .2s ease;transform-box:fill-box;transform-origin:center}
.map-region text{fill:#1E293B;font-family:Inter,Arial,sans-serif;font-size:11.5px;font-weight:700;pointer-events:none;paint-order:stroke;stroke:#fff;stroke-width:5.5px;stroke-linejoin:round}
.map-region:hover circle,.map-region:focus circle,.map-region.is-active circle{fill:#B91C3B;stroke:#fff;stroke-width:3;filter:drop-shadow(0 5px 8px rgba(185,28,59,.28));transform:scale(1.18)}
.map-region.map-city:hover circle,.map-region.map-city:focus circle,.map-region.map-city.is-active circle{fill:#D4AF37;filter:drop-shadow(0 5px 8px rgba(212,175,55,.34))}
.map-region:hover text,.map-region:focus text,.map-region.is-active text{fill:#B91C3B}
.map-region.map-city:hover text,.map-region.map-city:focus text,.map-region.map-city.is-active text{fill:#8A6515}
.map-region.is-active circle{animation:mapActivePulse 1.8s ease-in-out infinite}
@keyframes mapActivePulse{0%,100%{filter:drop-shadow(0 4px 6px rgba(185,28,59,.22))}50%{filter:drop-shadow(0 4px 13px rgba(185,28,59,.58))}}
.map-tooltip{position:absolute;z-index:8;left:50%;top:50%;min-width:145px;padding:.65rem .8rem;border:1px solid rgba(226,225,221,.95);border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 14px 32px rgba(30,41,59,.15);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transform:translate(-50%,-100%) translateY(-10px) scale(.96);transition:opacity .16s ease,transform .16s ease;white-space:nowrap}
.map-tooltip.is-visible{opacity:1;transform:translate(-50%,-100%) translateY(-14px) scale(1)}
.map-tooltip__label{display:block;color:#64748B;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.map-tooltip strong{display:block;color:#B91C3B;font-size:12px;margin-top:2px}
@media(max-width:1023px){.map-tooltip{display:none}}

.citalocal-newsletter-message{min-height:20px}
.citalocal-newsletter-message.is-error{color:#b91c3b}
.citalocal-newsletter-message.is-success{color:#047857}

.search-results{max-height:360px;overflow-y:auto;overscroll-behavior:contain}
.search-results:empty{display:none}
.search-results.is-loading{display:block;padding:1rem 1.25rem;color:#64748B;font-size:.875rem}
.territory-search-option{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.15rem;border-bottom:1px solid rgba(226,225,221,.72);transition:background-color .16s ease}
.territory-search-option:last-child{border-bottom:0}
.territory-search-option:hover,.territory-search-option.is-active{background:#F8F6F3}
.territory-search-option__name{display:block;color:#1E293B;font-size:.9rem;font-weight:700}
.territory-search-option__meta{display:flex;align-items:center;gap:.45rem;margin-top:.2rem;color:#64748B;font-size:.75rem}
.territory-search-option__type{display:inline-flex;border:1px solid #E2E1DD;border-radius:999px;background:#fff;padding:.1rem .45rem;color:#B91C3B;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.045em}
.territory-search-empty{padding:1rem 1.25rem;color:#64748B;font-size:.875rem}
.territory-search-arrow{color:#B91C3B;font-weight:800}
.citalocal-hero-search input[type=search]::-webkit-search-cancel-button{cursor:pointer}
@media(max-width:640px){
  .search-results{max-height:300px}
  .territory-search-option{padding:.8rem 1rem}
  .profile-card__body{min-height:66px;padding:.8rem}
  .profile-card__arrow{width:32px;height:32px}
}


/* Subscription success message page */
.subscription-message-page{background-image:radial-gradient(circle at 6% 8%,rgba(185,28,59,.075),transparent 27%),radial-gradient(circle at 94% 86%,rgba(212,175,55,.10),transparent 29%)}
.subscription-message-intro{position:relative}
.subscription-message-card{box-shadow:0 28px 72px rgba(30,41,59,.11)}
.subscription-local-preview{backdrop-filter:blur(10px)}
.subscription-register-cta{min-height:58px}
.subscription-register-cta:hover i{transform:translateX(3px)}
.subscription-register-cta i{transition:transform .2s ease}
@media(min-width:1024px){.subscription-message-card{transform:translateY(2px)}}
@media(max-width:640px){.subscription-message-page{padding-top:1rem;padding-bottom:1rem}.subscription-message-card{border-radius:26px}}
