/* ──────────────────────────────────────────────
   Life in Costa — Frontend
   Mediterranean coastal palette
   ────────────────────────────────────────────── */

:root {
    --lic-deep: #0c1e3c;
    --lic-navy: #1a3356;
    --lic-ocean: #2b5c8a;
    --lic-sky: #5b9bd5;
    --lic-pastel: #b8d4e8;
    --lic-mist: #dce8f0;
    --lic-cloud: #eef3f7;
    --lic-white: #ffffff;
    --lic-sand: #c9a96e;
    --lic-sand-light: #f5eedd;
    --lic-text: #1a2a3a;
    --lic-text-soft: #5a7088;
    --lic-text-muted: #8fa3b8;
    --lic-border: #d4dee8;
    --lic-serif: 'Cormorant Garamond', Georgia, serif;
    --lic-sans: 'Outfit', system-ui, sans-serif;
}

.lic-single {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px;
    font-family: var(--lic-sans);
    color: var(--lic-text);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

.lic-single *, .lic-single *::before, .lic-single *::after { box-sizing: border-box; }


/* ── Breadcrumb ── */

.lic-breadcrumb {
    padding: 24px 0;
    font-size: 13px;
    font-weight: 400;
    color: var(--lic-text-muted);
}
.lic-breadcrumb a {
    color: var(--lic-ocean);
    text-decoration: none;
    transition: color .2s;
}
.lic-breadcrumb a:hover { color: var(--lic-deep); }
.lic-breadcrumb span { margin: 0 10px; opacity: .3; }


/* ── Hero ── */

.lic-hero {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 0;
    min-height: 560px;
    margin-bottom: 72px;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(12,30,60,.12), 0 2px 8px rgba(12,30,60,.06);
    align-items: stretch;
}


/* ── Gallery ── */

.lic-gallery {
    position: relative;
    overflow: hidden;
    background: var(--lic-mist);
    height: 100%;
    min-height: 560px;
}

.lic-gallery__viewport {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 420px;
}

.lic-gallery__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity .6s ease;
}
.lic-gallery__slide.active { opacity: 1; }
.lic-gallery__slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
}

.lic-gallery__thumbs {
    position: absolute;
    bottom: 16px;
    left: 16px;
    right: 16px;
    display: flex;
    gap: 8px;
    z-index: 5;
}

.lic-gallery__thumb {
    width: 64px;
    height: 44px;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid transparent;
    opacity: .6;
    transition: all .25s;
    flex-shrink: 0;
}
.lic-gallery__thumb.active {
    border-color: #fff;
    opacity: 1;
    box-shadow: 0 2px 8px rgba(0,0,0,.3);
}
.lic-gallery__thumb:hover { opacity: .9; }
.lic-gallery__thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
}

.lic-gallery__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background: rgba(12,30,60,.5);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: none;
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 6;
    transition: all .2s;
    opacity: 0;
}
.lic-gallery:hover .lic-gallery__nav { opacity: 1; }
.lic-gallery__nav:hover {
    background: rgba(12,30,60,.75);
    transform: translateY(-50%) scale(1.08);
}
.lic-gallery__nav--prev { left: 16px; }
.lic-gallery__nav--next { right: 16px; }

.lic-gallery__progress {
    position: absolute;
    top: 0;
    left: 0;
    height: 3px;
    background: var(--lic-sand);
    z-index: 7;
    transition: width linear;
    border-radius: 0 2px 2px 0;
}

.lic-gallery__badge {
    position: absolute;
    top: 16px;
    left: 16px;
    background: var(--lic-sand);
    color: var(--lic-deep);
    padding: 7px 16px;
    border-radius: 20px;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: .03em;
    z-index: 5;
}

.lic-gallery__counter {
    position: absolute;
    top: 16px;
    right: 16px;
    background: rgba(12,30,60,.55);
    backdrop-filter: blur(8px);
    color: #fff;
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .05em;
    z-index: 5;
}


/* ── Hero info panel ── */

.lic-hero__info {
    padding: 52px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: var(--lic-deep);
    color: #fff;
    position: relative;
    overflow: hidden;
}

.lic-hero__info::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 80% 20%, rgba(91,155,213,.08) 0%, transparent 60%),
                radial-gradient(ellipse at 20% 80%, rgba(201,169,110,.06) 0%, transparent 50%);
    pointer-events: none;
}
.lic-hero__info > * { position: relative; z-index: 1; }

.lic-hero__developer {
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .16em;
    color: var(--lic-sand);
    margin-bottom: 14px;
}

.lic-hero__title {
    font-family: var(--lic-serif);
    font-size: 56px;
    font-weight: 400;
    line-height: 1.05;
    margin-bottom: 10px;
    letter-spacing: -0.01em;
    padding: 0;
}

.lic-hero__location {
    font-size: 15px;
    font-weight: 300;
    color: var(--lic-pastel);
    margin-bottom: 36px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.lic-hero__location svg { opacity: .5; }

.lic-hero__excerpt {
    font-size: 14px; font-weight: 300; color: var(--lic-text-soft);
    line-height: 1.65; margin: 4px 0 16px; padding: 0;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}

.lic-hero__meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-bottom: 36px;
}

.lic-hero__meta-item {
    border-left: 2px solid var(--lic-ocean);
    padding-left: 18px;
}

.lic-hero__meta-label {
    font-size: 10px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: var(--lic-text-muted);
    margin-bottom: 5px;
}

.lic-hero__meta-value {
    font-size: 17px;
    font-weight: 500;
    color: #fff;
}
.lic-hero__meta-value--price {
    font-family: var(--lic-serif);
    font-size: 30px;
    font-weight: 500;
    color: var(--lic-sand);
}

.lic-hero__status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 18px;
    background: rgba(91,155,213,.1);
    border: 1px solid rgba(91,155,213,.2);
    border-radius: 10px;
    font-size: 13px;
    font-weight: 500;
    color: var(--lic-pastel);
    width: fit-content;
}
.lic-hero__status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--lic-sky);
}


/* ── Content layout ── */

.lic-content {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 64px;
    margin-bottom: 96px;
    align-items: start;
}


/* ── Section titles ── */

.lic-section-label {
    font-family: var(--lic-sans);
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .14em;
    color: var(--lic-sky);
    margin-bottom: 8px;
}

.lic-section-title {
    font-family: var(--lic-serif);
    font-size: 30px;
    font-weight: 400;
    margin-bottom: 22px;
    color: var(--lic-deep);
    line-height: 1.2;
    padding: 0;
}


/* ── About ── */

.lic-about { margin-bottom: 0; }
.lic-about p,
.lic-about__body p {
    font-family: var(--lic-sans) !important;
    font-size: 15.5px !important;
    line-height: 1.8 !important;
    color: var(--lic-text-soft) !important;
    margin-bottom: 16px !important;
    font-weight: 300 !important;
}


/* ── Features & amenities ── */

.lic-features { margin-top: 56px; }

.lic-features__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.lic-feature-tag {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 18px;
    background: var(--lic-cloud);
    border: 1px solid transparent;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 500;
    color: var(--lic-deep);
    transition: all .25s;
}
.lic-feature-tag:hover {
    border-color: var(--lic-pastel);
    background: var(--lic-white);
    box-shadow: 0 4px 16px rgba(12,30,60,.06);
    transform: translateY(-2px);
}
.lic-feature-tag__icon {
    width: 34px;
    height: 34px;
    background: var(--lic-mist);
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--lic-ocean);
    transition: background .25s;
}
.lic-feature-tag:hover .lic-feature-tag__icon {
    background: var(--lic-pastel);
    color: var(--lic-deep);
}


/* ── Location ── */

.lic-location {
    margin-top: 56px;
    padding: 36px;
    background: linear-gradient(135deg, var(--lic-cloud) 0%, var(--lic-white) 100%);
    border-radius: 16px;
    border: 1px solid var(--lic-border);
}

.lic-location__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 24px;
}

.lic-location__item { display: flex; align-items: flex-start; gap: 14px; }

.lic-location__icon {
    width: 40px;
    height: 40px;
    background: var(--lic-mist);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--lic-ocean);
}

.lic-location__label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--lic-text-muted);
    margin-bottom: 4px;
}

.lic-location__value {
    font-size: 14.5px;
    font-weight: 500;
    color: var(--lic-deep);
}


/* ── Sidebar ── */

.lic-sidebar-sticky {
    position: sticky;
    top: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.lic-inquiry-card {
    background: var(--lic-white);
    border: 1px solid var(--lic-border);
    border-radius: 20px;
    padding: 36px;
    box-shadow: 0 8px 32px rgba(12,30,60,.07);
}

/* Engage button for logged-in users */
.lic-engage-btn {
    display: flex; align-items: center; justify-content: center; gap: 10px;
    width: 100%; padding: 16px 24px; margin-top: 24px;
    background: var(--lic-deep); color: #fff !important;
    border-radius: 12px; font-size: 15px; font-weight: 600;
    font-family: var(--lic-font); text-decoration: none !important;
    transition: all .25s;
}
.lic-engage-btn:hover {
    background: var(--lic-navy); transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(12,30,60,.2);
}
/* Broker variant: shown alongside the client-view button when a logged-in
   broker visits a project that has lic_broker_enabled=1. Tighter top margin
   so the two CTAs feel like a paired control, with an outlined look so the
   client-view stays the primary CTA visually. */
.lic-engage-btn--broker {
    margin-top: 10px;
    background: #fff;
    color: var(--lic-deep) !important;
    border: 1px solid var(--lic-deep);
}
.lic-engage-btn--broker:hover {
    background: var(--lic-deep);
    color: #fff !important;
}

.lic-inquiry__eyebrow {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .14em;
    color: var(--lic-sky);
    margin-bottom: 6px;
}

.lic-inquiry__title {
    font-family: var(--lic-serif);
    font-size: 24px;
    color: var(--lic-deep);
    margin-bottom: 4px;
    font-weight: 400;
}

.lic-inquiry__subtitle {
    font-size: 13px;
    color: var(--lic-text-muted);
    margin-bottom: 24px;
    font-weight: 300;
}

.lic-inquiry__project {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 18px;
    background: var(--lic-cloud);
    border-radius: 12px;
    margin-bottom: 22px;
    border: 1px solid var(--lic-mist);
}

.lic-inquiry__project-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--lic-sky);
    flex-shrink: 0;
    box-shadow: 0 0 6px rgba(91,155,213,.4);
}

.lic-inquiry__project-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--lic-deep);
}


/* ── Form styles ── */

.lic-form-group { margin-bottom: 14px; }

.lic-form-group label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--lic-text-soft);
    margin-bottom: 6px;
}

.lic-form-group input,
.lic-form-group select,
.lic-form-group textarea {
    width: 100%;
    padding: 11px 16px;
    border: 1px solid var(--lic-border);
    border-radius: 10px;
    font-family: var(--lic-sans);
    font-size: 14px;
    color: var(--lic-text);
    background: var(--lic-white);
    transition: border-color .2s, box-shadow .2s;
    outline: none;
}

.lic-form-group input:focus,
.lic-form-group select:focus,
.lic-form-group textarea:focus {
    border-color: var(--lic-sky);
    box-shadow: 0 0 0 3px rgba(91,155,213,.12);
}

.lic-form-group textarea { resize: vertical; min-height: 80px; }
.lic-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

.lic-submit-btn {
    width: 100%;
    padding: 15px 24px;
    background: var(--lic-deep);
    color: #fff;
    border: none;
    border-radius: 12px;
    font-family: var(--lic-sans);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all .3s;
    letter-spacing: .03em;
    margin-top: 8px;
    position: relative;
    overflow: hidden;
}

.lic-submit-btn::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(91,155,213,.15), transparent);
    transition: left .5s;
}

.lic-submit-btn:hover {
    background: var(--lic-navy);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(12,30,60,.2);
}

.lic-submit-btn:hover::after { left: 100%; }

.lic-form-privacy {
    font-size: 11px;
    color: var(--lic-text-muted);
    margin-top: 14px;
    text-align: center;
    line-height: 1.5;
    font-weight: 300;
}
.lic-form-privacy a { color: var(--lic-ocean); text-decoration: none; }
.lic-form-privacy a:hover { text-decoration: underline; }


/* ── Quick facts ── */

.lic-quick-facts {
    padding: 24px 28px;
    background: var(--lic-cloud);
    border-radius: 16px;
    border: 1px solid var(--lic-mist);
}

.lic-quick-facts__title {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--lic-text-muted);
    margin-bottom: 16px;
}

.lic-quick-fact {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid var(--lic-mist);
    font-size: 13.5px;
}
.lic-quick-fact:last-child { border-bottom: none; }
.lic-quick-fact__label { color: var(--lic-text-muted); }
.lic-quick-fact__value { color: var(--lic-deep); font-weight: 600; }


/* ── Brochure ── */

.lic-brochure-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 14px 24px;
    background: transparent;
    border: 1.5px solid var(--lic-border);
    border-radius: 12px;
    font-family: var(--lic-sans);
    font-size: 13px;
    font-weight: 600;
    color: var(--lic-deep);
    cursor: pointer;
    transition: all .25s;
    text-decoration: none;
}
.lic-brochure-btn:hover {
    border-color: var(--lic-ocean);
    color: var(--lic-ocean);
    background: var(--lic-cloud);
}


/* ══════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════ */

@media (max-width: 1024px) {
    .lic-hero { grid-template-columns: 1fr 1fr; }
    .lic-hero__info { padding: 32px 28px; }
    .lic-hero__title { font-size: 40px; }
    .lic-hero__meta-value--price { font-size: 24px; }
    .lic-hero__meta { gap: 18px; }
    .lic-content { grid-template-columns: 1fr; gap: 40px; }
    .lic-sidebar-sticky { position: static; }
    .lic-features__grid { grid-template-columns: repeat(2, 1fr); }
    .lic-gallery__thumb { width: 56px; height: 38px; }
}

@media (max-width: 768px) {
    .lic-hero { grid-template-columns: 1fr; min-height: auto; border-radius: 16px; }
    .lic-gallery__viewport { min-height: 300px; }
    .lic-hero__info { padding: 24px 24px 28px; }
    .lic-hero__developer { margin-bottom: 8px; }
    .lic-hero__title { font-size: 34px; margin-bottom: 4px; }
    .lic-hero__location { margin-bottom: 20px; font-size: 14px; }
    .lic-hero__meta { grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 20px; }
    .lic-hero__meta-item { padding-left: 14px; }
    .lic-hero__meta-label { font-size: 9px; margin-bottom: 2px; }
    .lic-hero__meta-value { font-size: 15px; }
    .lic-hero__meta-value--price { font-size: 22px; }
    .lic-hero__status { padding: 7px 14px; font-size: 12px; }
}

@media (max-width: 600px) {
    .lic-single { padding: 0 16px; }
    .lic-hero { border-radius: 14px; margin-bottom: 48px; }
    .lic-gallery__viewport { min-height: 240px; }
    .lic-hero__info { padding: 20px 20px 24px; }
    .lic-hero__title { font-size: 30px; }
    .lic-hero__location { margin-bottom: 16px; font-size: 13px; }
    .lic-hero__meta { grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 16px; }
    .lic-hero__meta-item { border-left-width: 1.5px; padding-left: 12px; }
    .lic-hero__meta-label { font-size: 8px; letter-spacing: .1em; }
    .lic-hero__meta-value { font-size: 14px; }
    .lic-hero__meta-value--price { font-size: 20px; }
    .lic-hero__status { padding: 6px 12px; font-size: 11px; }
    .lic-hero__status-dot { width: 6px; height: 6px; }
    .lic-features__grid { grid-template-columns: 1fr; }
    .lic-location__grid { grid-template-columns: 1fr; }
    .lic-form-row { grid-template-columns: 1fr; }
    .lic-gallery__thumbs { gap: 5px; }
    .lic-gallery__thumb { width: 44px; height: 32px; border-radius: 6px; }
    .lic-inquiry-card { padding: 24px; border-radius: 16px; }
}


/* ══════════════════════════════════════
   PROJECT CARD (reusable)
   ══════════════════════════════════════ */

.lic-card-project {
    display: flex;
    flex-direction: column;
    border-radius: 16px;
    overflow: hidden;
    background: var(--lic-white);
    border: 1px solid var(--lic-border);
    text-decoration: none;
    color: inherit;
    transition: all .3s cubic-bezier(.25,.46,.45,.94);
}

.lic-card-project:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(12,30,60,.1);
    border-color: var(--lic-pastel);
    color: inherit;
}

.lic-card-project__image {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--lic-mist);
}

.lic-card-project__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
    transition: transform .6s cubic-bezier(.25,.46,.45,.94);
}

.lic-card-project:hover .lic-card-project__image img {
    transform: scale(1.05);
}

.lic-card-project__placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--lic-mist), var(--lic-cloud));
}

.lic-card-project__badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: rgba(12,30,60,.6);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: #fff;
    padding: 5px 12px;
    border-radius: 16px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .03em;
}

.lic-card-project__badge--urgent {
    background: var(--lic-sand);
    color: var(--lic-deep);
}

.lic-card-project__body {
    padding: 20px 22px 22px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.lic-card-project__price {
    font-family: var(--lic-serif);
    font-size: 22px;
    font-weight: 500;
    color: var(--lic-deep);
    margin-bottom: 6px;
    line-height: 1.2;
}

.lic-card-project__price-label {
    font-family: var(--lic-sans);
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--lic-text-muted);
    margin-right: 2px;
}

.lic-card-project__title {
    font-family: var(--lic-serif);
    font-size: 20px;
    font-weight: 500;
    color: var(--lic-deep);
    margin: 0 0 4px;
    padding: 0;
    line-height: 1.3;
}

.lic-card-project__developer {
    font-size: 12px;
    font-weight: 500;
    color: var(--lic-ocean);
    margin-bottom: 10px;
}

.lic-card-project__location {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--lic-text-soft);
    margin-bottom: 14px;
}

.lic-card-project__location svg {
    flex-shrink: 0;
    opacity: .5;
}

.lic-card-project__meta {
    display: flex;
    gap: 16px;
    margin-bottom: 16px;
}

.lic-card-project__meta-item {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12.5px;
    color: var(--lic-text-muted);
    font-weight: 400;
}

.lic-card-project__meta-item svg {
    opacity: .5;
    flex-shrink: 0;
}

.lic-card-project__footer {
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid var(--lic-mist);
}

.lic-card-project__cta {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--lic-ocean);
    transition: color .2s, gap .2s;
}

.lic-card-project:hover .lic-card-project__cta {
    color: var(--lic-deep);
    gap: 10px;
}

/* Small card variant */
.lic-card-project--sm .lic-card-project__body { padding: 16px 18px 18px; }
.lic-card-project--sm .lic-card-project__price { font-size: 18px; }
.lic-card-project--sm .lic-card-project__title { font-size: 17px; }


/* ── Card grid ── */

.lic-card-grid {
    display: grid;
    gap: 24px;
}

.lic-card-grid--3 { grid-template-columns: repeat(3, 1fr); }
.lic-card-grid--2 { grid-template-columns: repeat(2, 1fr); }
.lic-card-grid--4 { grid-template-columns: repeat(4, 1fr); }

/* Empty state */
.lic-empty-state {
    grid-column: 1 / -1;
    text-align: center;
    padding: 64px 24px;
    color: var(--lic-text-muted);
}

.lic-empty-state__icon {
    margin-bottom: 16px;
    opacity: .3;
}

.lic-empty-state p {
    font-size: 15px;
    font-weight: 300;
    margin-bottom: 20px;
}

.lic-reset-filters {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    background: var(--lic-cloud);
    border: 1px solid var(--lic-border);
    border-radius: 10px;
    font-family: var(--lic-sans);
    font-size: 13px;
    font-weight: 600;
    color: var(--lic-ocean);
    cursor: pointer;
    transition: all .2s;
}

.lic-reset-filters:hover {
    background: var(--lic-white);
    border-color: var(--lic-ocean);
    box-shadow: 0 4px 12px rgba(12,30,60,.06);
}


/* ══════════════════════════════════════
   ARCHIVE
   ══════════════════════════════════════ */

.lic-archive {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px 96px;
    font-family: var(--lic-sans);
}

.lic-archive__header {
    padding: 48px 0 40px;
}

.lic-archive__title {
    font-family: var(--lic-serif);
    font-size: 42px;
    font-weight: 400;
    color: var(--lic-deep);
    margin: 0 0 12px;
    padding: 0;
    line-height: 1.15;
    letter-spacing: -0.01em;
}

.lic-archive__subtitle {
    font-size: 15.5px;
    font-weight: 300;
    color: var(--lic-text-soft);
    max-width: 640px;
    line-height: 1.7;
    margin: 0;
}

/* ── Premium block (archive) ── */
.lic-archive__premium {
    padding: 56px 0 72px;
    margin: 0;
    border: 0;
}
.lic-archive__premium-header {
    margin-bottom: 36px;
}
.lic-archive__premium-title {
    font-family: var(--lic-serif);
    font-size: 32px;
    font-weight: 400;
    color: var(--lic-deep);
    margin: 10px 0 0;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

/* Divider between Premium and the rest — thin hairline + eyebrow label */
.lic-archive__divider {
    position: relative;
    margin: 0 0 40px;
    padding-top: 56px;
}
.lic-archive__divider::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: var(--lic-mist);
}
.lic-archive__divider .lic-section-label {
    margin: 0;
}

@media (max-width: 720px) {
    .lic-archive__premium { padding: 40px 0 56px; }
    .lic-archive__premium-header { margin-bottom: 24px; }
    .lic-archive__premium-title { font-size: 26px; }
    .lic-archive__divider { padding-top: 40px; margin-bottom: 28px; }
}


/* ── Filters ── */

/* Filter toggle button (mobile only) */
.lic-filters__toggle {
    display: none !important;
    width: 100% !important;
    padding: 14px 20px !important;
    background: var(--lic-deep) !important;
    border: none !important;
    border-radius: 10px !important;
    font-family: var(--lic-sans) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #fff !important;
    cursor: pointer !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 16px !important;
    transition: background .2s;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    box-shadow: none !important;
}
.lic-filters__toggle:hover,
.lic-filters__toggle:focus { background: var(--lic-navy) !important; color: #fff !important; border: none !important; }
.lic-filters__toggle svg { stroke: #fff !important; }
.lic-filters__toggle-arrow { transition: transform .2s; }
.lic-filters__toggle.open { background: var(--lic-navy) !important; border-radius: 10px 10px 0 0 !important; margin-bottom: 0 !important; }
.lic-filters__toggle.open .lic-filters__toggle-arrow { transform: rotate(180deg); }

.lic-filters {
    margin-bottom: 36px;
}

.lic-filters__bar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    padding: 24px 28px;
    background: var(--lic-cloud);
    border-radius: 14px;
    border: 1px solid var(--lic-mist);
    flex-wrap: wrap;
}

.lic-filters__group {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    flex: 1;
}

.lic-filter {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 160px;
}

.lic-filter__label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--lic-text-muted);
}

.lic-filter__select,
.lic-filter .facetwp-dropdown {
    padding: 10px 14px;
    border: 1px solid var(--lic-border);
    border-radius: 10px;
    font-family: var(--lic-sans);
    font-size: 13.5px;
    color: var(--lic-text);
    background: var(--lic-white);
    cursor: pointer;
    transition: border-color .2s, box-shadow .2s;
    outline: none;
    width: 100%;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238fa3b8' stroke-width='2' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 36px;
}

.lic-filter__select:focus,
.lic-filter .facetwp-dropdown:focus {
    border-color: var(--lic-sky);
    box-shadow: 0 0 0 3px rgba(91,155,213,.12);
}

.lic-filters__count {
    font-size: 13px;
    color: var(--lic-text-muted);
    font-weight: 400;
    white-space: nowrap;
    padding-bottom: 10px;
}

/* FacetWP dropdown override */
.lic-filter .facetwp-facet { margin-bottom: 0 !important; }
.lic-filter .facetwp-dropdown {
    height: auto !important;
    line-height: 1.5 !important;
}


/* ── Pagination ── */

.lic-pagination {
    margin-top: 48px;
    display: flex;
    justify-content: center;
}

.lic-pagination .facetwp-pager {
    display: flex;
    gap: 6px;
}

.lic-pagination .facetwp-page {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-family: var(--lic-sans);
    font-size: 14px;
    font-weight: 500;
    color: var(--lic-text-soft);
    background: var(--lic-cloud);
    border: 1px solid var(--lic-mist);
    cursor: pointer;
    transition: all .2s;
}

.lic-pagination .facetwp-page:hover {
    background: var(--lic-white);
    border-color: var(--lic-pastel);
    color: var(--lic-deep);
}

.lic-pagination .facetwp-page.active {
    background: var(--lic-deep);
    border-color: var(--lic-deep);
    color: #fff;
}


/* ══════════════════════════════════════
   CARD + ARCHIVE RESPONSIVE
   ══════════════════════════════════════ */

@media (max-width: 1024px) {
    .lic-card-grid--3 { grid-template-columns: repeat(2, 1fr); }
    .lic-card-grid--4 { grid-template-columns: repeat(2, 1fr); }
    .lic-archive__title { font-size: 34px; }
}

@media (max-width: 768px) {
    .lic-filters__toggle { display: flex !important; }
    .lic-filters__bar { flex-direction: column; align-items: stretch; gap: 16px; display: none; border-radius: 0 0 14px 14px; }
    .lic-filters__bar.open { display: flex; }
    .lic-filters__group { flex-direction: column; }
    .lic-filter { min-width: 100%; }
    .lic-filters__count { padding-bottom: 0; text-align: center; }
}

@media (max-width: 600px) {
    .lic-card-grid--3,
    .lic-card-grid--2,
    .lic-card-grid--4 { grid-template-columns: 1fr; }
    .lic-archive { padding: 0 16px 64px; }
    .lic-archive__header { padding: 32px 0 28px; }
    .lic-archive__title { font-size: 28px; }
    .lic-card-grid { gap: 16px; }
}


/* ══════════════════════════════════════
   ZONE PAGE
   ══════════════════════════════════════ */

.lic-zone { max-width: 1320px; margin: 0 auto; padding: 0 32px; font-family: var(--lic-sans); }

/* Hero */
.lic-zone-hero {
    position: relative; border-radius: 20px; overflow: hidden;
    margin-bottom: 64px; height: 400px;
    display: flex; align-items: flex-end;
}
.lic-zone-hero__bg { position: absolute; inset: 0; }
.lic-zone-hero__bg img { width: 100% !important; height: 100% !important; object-fit: cover; }
.lic-zone-hero__bg::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(12,30,60,.05) 0%, rgba(12,30,60,.8) 100%);
}

.lic-zone-hero__content {
    position: relative; z-index: 2; padding: 40px 48px; width: 100%;
    display: flex; align-items: flex-end; justify-content: space-between; gap: 32px;
}
.lic-zone-hero__text { flex: 1; }
.lic-zone-hero__region {
    font-size: 11px; font-weight: 500; text-transform: uppercase;
    letter-spacing: .16em; color: var(--lic-sand); margin-bottom: 8px;
}
.lic-zone-hero__title {
    font-family: var(--lic-serif); font-size: 52px; font-weight: 400;
    color: #fff; line-height: 1.08; margin-bottom: 10px; padding: 0;
}
.lic-zone-hero__tagline {
    font-size: 15px; font-weight: 300; color: rgba(255,255,255,.7);
    max-width: 560px; line-height: 1.6;
}

.lic-zone-hero__stats { display: flex; gap: 12px; flex-shrink: 0; }
.lic-zone-stat {
    text-align: center; padding: 14px 20px;
    background: rgba(255,255,255,.1); backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255,255,255,.12); border-radius: 12px;
    min-width: 90px;
}
.lic-zone-stat__value { font-size: 20px; font-weight: 600; color: #fff; line-height: 1.2; }
.lic-zone-stat__label {
    font-size: 10px; color: rgba(255,255,255,.55);
    text-transform: uppercase; letter-spacing: .06em; margin-top: 2px;
}

/* Intro */
.lic-zone-intro { max-width: 820px; margin: 0 auto 64px; text-align: center; }
.lic-zone-intro p { font-size: 16px; line-height: 1.8; color: var(--lic-text-soft); font-weight: 300; }

/* Why choose */
.lic-zone-why { margin-bottom: 72px; }
.lic-zone-why__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }

.lic-zone-why-card {
    padding: 24px; background: var(--lic-cloud); border-radius: 14px;
    border: 1px solid transparent; transition: all .25s; text-align: center;
}
.lic-zone-why-card:hover {
    background: var(--lic-white); border-color: var(--lic-pastel);
    box-shadow: 0 6px 24px rgba(12,30,60,.06); transform: translateY(-3px);
}
.lic-zone-why-card__icon {
    width: 44px; height: 44px; background: var(--lic-mist); border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    color: var(--lic-ocean); margin: 0 auto 14px; transition: all .25s;
}
.lic-zone-why-card:hover .lic-zone-why-card__icon { background: var(--lic-pastel); color: var(--lic-deep); }
.lic-zone-why-card__title { font-size: 14px; font-weight: 600; color: var(--lic-deep); margin-bottom: 6px; }
.lic-zone-why-card__desc { font-size: 12.5px; font-weight: 300; color: var(--lic-text-soft); line-height: 1.55; }

/* Projects */
.lic-zone-projects { margin-bottom: 72px; }
.lic-zone-projects__header {
    display: flex; align-items: flex-end; justify-content: space-between;
    margin-bottom: 28px;
}
.lic-zone-projects__count {
    font-size: 14px; color: var(--lic-text-muted); font-weight: 400;
    padding-bottom: 6px;
}

/* Zone page: filters + map context */
.lic-zone-projects .lic-filters { margin-bottom: 0; }
.lic-zone-projects .lic-archive-map { margin-bottom: 32px; }

/* CTA */
.lic-zone-cta {
    background: var(--lic-deep); border-radius: 16px; padding: 40px 48px;
    display: flex; align-items: center; justify-content: space-between;
    gap: 24px; margin-bottom: 80px; position: relative; overflow: hidden;
}
.lic-zone-cta::before {
    content: ''; position: absolute; inset: 0;
    background: radial-gradient(ellipse at 85% 50%, rgba(91,155,213,.1) 0%, transparent 55%);
    pointer-events: none;
}
.lic-zone-cta > * { position: relative; z-index: 1; }
.lic-zone-cta__title {
    font-family: var(--lic-serif); font-size: 26px; font-weight: 400; color: #fff; margin-bottom: 4px;
}
.lic-zone-cta__desc { font-size: 14px; font-weight: 300; color: var(--lic-pastel); }
.lic-zone-cta__btn {
    padding: 14px 28px; border-radius: 12px; background: var(--lic-sand);
    color: var(--lic-deep); font-family: var(--lic-sans); font-size: 14px;
    font-weight: 600; text-decoration: none; white-space: nowrap;
    transition: all .25s; flex-shrink: 0;
}
.lic-zone-cta__btn:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(201,169,110,.3); }


/* Zone responsive */
@media (max-width: 1024px) {
    .lic-zone-why__grid { grid-template-columns: repeat(2, 1fr); }
    .lic-zone-hero__title { font-size: 42px; }
}

@media (max-width: 768px) {
    .lic-zone-hero { height: 360px; border-radius: 16px; }
    .lic-zone-hero__content { flex-direction: column; align-items: flex-start; padding: 32px 28px; }
    .lic-zone-hero__title { font-size: 36px; }
    .lic-zone-hero__stats { width: 100%; }
    .lic-zone-stat { flex: 1; min-width: 0; padding: 12px 14px; }
    .lic-zone-stat__value { font-size: 17px; }
    .lic-zone-cta { flex-direction: column; text-align: center; padding: 32px 28px; }
    .lic-zone-projects__header { flex-direction: column; align-items: flex-start; gap: 8px; }
}

@media (max-width: 600px) {
    .lic-zone { padding: 0 16px; }
    .lic-zone-hero { height: 320px; border-radius: 14px; margin-bottom: 48px; }
    .lic-zone-hero__content { padding: 24px 20px; }
    .lic-zone-hero__title { font-size: 30px; }
    .lic-zone-hero__tagline { font-size: 13px; }
    .lic-zone-hero__stats { gap: 8px; }
    .lic-zone-stat { padding: 10px 10px; border-radius: 10px; }
    .lic-zone-stat__value { font-size: 15px; }
    .lic-zone-stat__label { font-size: 8px; }
    .lic-zone-why__grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    .lic-zone-why-card { padding: 18px; }
    .lic-zone-why-card__icon { width: 36px; height: 36px; margin-bottom: 10px; }
    .lic-zone-why-card__title { font-size: 13px; }
    .lic-zone-why-card__desc { font-size: 11.5px; }
    .lic-zone-intro p { font-size: 14.5px; }
}


/* ══════════════════════════════════════
   DESTINATIONS GRID
   ══════════════════════════════════════ */

.lic-destinations {
    max-width: 1320px; margin: 0 auto; padding: 0 32px 96px;
    font-family: var(--lic-sans);
}

.lic-destinations__header {
    text-align: center; padding: 48px 0 44px; max-width: 600px; margin: 0 auto;
}

.lic-destinations__title {
    font-family: var(--lic-serif); font-size: 42px; font-weight: 400;
    color: var(--lic-deep); margin: 0 0 12px; padding: 0; line-height: 1.15;
}

.lic-destinations__subtitle {
    font-size: 15.5px; font-weight: 300; color: var(--lic-text-soft); line-height: 1.7; margin: 0;
}

.lic-destinations__grid {
    display: grid; gap: 24px;
}
.lic-destinations__grid--3 { grid-template-columns: repeat(3, 1fr); }
.lic-destinations__grid--2 { grid-template-columns: repeat(2, 1fr); }


/* Destination card */
.lic-dest-card {
    display: flex; flex-direction: column;
    border-radius: 18px; overflow: hidden;
    background: var(--lic-white); border: 1px solid var(--lic-border);
    text-decoration: none; color: inherit;
    transition: all .35s cubic-bezier(.25,.46,.45,.94);
}
.lic-dest-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 48px rgba(12,30,60,.12);
    border-color: var(--lic-pastel);
}

.lic-dest-card__image {
    position: relative; aspect-ratio: 16 / 9; overflow: hidden;
}
.lic-dest-card__image img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .7s cubic-bezier(.25,.46,.45,.94);
}
.lic-dest-card:hover .lic-dest-card__image img { transform: scale(1.06); }

.lic-dest-card__placeholder {
    width: 100%; height: 100%;
    background: linear-gradient(135deg, var(--lic-mist), var(--lic-cloud));
}

.lic-dest-card__overlay {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(12,30,60,.05) 0%, rgba(12,30,60,.65) 100%);
    pointer-events: none;
}

.lic-dest-card__content {
    position: absolute; bottom: 0; left: 0; right: 0;
    padding: 24px; z-index: 2;
}

.lic-dest-card__region {
    font-size: 10px; font-weight: 500; text-transform: uppercase;
    letter-spacing: .14em; color: var(--lic-sand); margin-bottom: 6px;
}

.lic-dest-card__name {
    font-family: var(--lic-serif); font-size: 28px; font-weight: 400;
    color: #fff; line-height: 1.15; margin: 0 0 6px; padding: 0;
}

.lic-dest-card__tagline {
    font-size: 13px; font-weight: 300; color: rgba(255,255,255,.7);
    line-height: 1.5; margin: 0;
}

.lic-dest-card__footer {
    display: flex; align-items: center; justify-content: space-between;
    padding: 16px 24px; gap: 12px;
}

.lic-dest-card__stats {
    display: flex; gap: 16px;
}

.lic-dest-card__stat {
    display: flex; align-items: center; gap: 5px;
    font-size: 12.5px; font-weight: 500; color: var(--lic-text-soft);
}
.lic-dest-card__stat svg { opacity: .5; flex-shrink: 0; }

.lic-dest-card__projects {
    font-size: 13px; font-weight: 600; color: var(--lic-ocean);
    display: flex; align-items: center; gap: 6px;
    transition: gap .2s;
}
.lic-dest-card:hover .lic-dest-card__projects { gap: 10px; color: var(--lic-deep); }


/* Destinations responsive */
@media (max-width: 1024px) {
    .lic-destinations__grid--3 { grid-template-columns: repeat(2, 1fr); }
    .lic-destinations__title { font-size: 34px; }
}

@media (max-width: 600px) {
    .lic-destinations { padding: 0 16px 64px; }
    .lic-destinations__grid--3,
    .lic-destinations__grid--2 { grid-template-columns: 1fr; }
    .lic-destinations__header { padding: 32px 0 28px; }
    .lic-destinations__title { font-size: 28px; }
    .lic-dest-card__name { font-size: 24px; }
    .lic-dest-card__footer { flex-direction: column; align-items: flex-start; gap: 8px; }
}


/* ── Featured groupings section ── */
.lic-dest-featured { padding: 0 0 48px; }
.lic-dest-featured__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.lic-dest-card--featured .lic-dest-card__image { aspect-ratio: 16 / 10; }
.lic-dest-card--featured .lic-dest-card__name { font-size: 30px; }
.lic-dest-card--featured .lic-dest-card__tagline { font-size: 14px; -webkit-line-clamp: 3; }

/* ── Popular cities section ── */
.lic-dest-popular { padding: 48px 0; border-top: 1px solid var(--lic-mist); }

/* ── Province listings section ── */
.lic-dest-provinces {
    padding: 48px 0 32px;
    border-top: 1px solid var(--lic-mist);
}
.lic-dest-provinces__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px 48px;
    margin-top: 24px;
}
.lic-dest-province-col__name {
    font-family: var(--lic-font);
    font-size: 18px;
    font-weight: 500;
    color: var(--lic-deep);
    margin: 0 0 12px;
}
.lic-dest-province-col__name a {
    color: inherit; text-decoration: none;
}
.lic-dest-province-col__name a:hover { color: var(--lic-accent); }
.lic-dest-province-col__list {
    list-style: none;
    margin: 0; padding: 0;
}
.lic-dest-province-col__list li {
    padding: 6px 0;
    border-bottom: 1px solid var(--lic-mist);
    font-size: 14px;
    font-weight: 300;
    color: var(--lic-text-soft);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.lic-dest-province-col__list li a {
    color: var(--lic-text); text-decoration: none;
    font-weight: 400;
}
.lic-dest-province-col__list li a:hover { color: var(--lic-accent); }
.lic-dest-province-col__count {
    font-size: 12px; color: var(--lic-text-soft); font-weight: 300;
}

/* ── Country label before Spain sections (only when intl block exists) ── */
.lic-dest-country-label {
    margin: 40px 0 24px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--lic-mist);
    font-size: 12px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--lic-text-soft);
}
.lic-dest-country-label span {
    display: inline-block;
    position: relative;
    padding-left: 22px;
}
.lic-dest-country-label span::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 14px;
    height: 2px;
    background: var(--lic-accent, #b2825e);
    transform: translateY(-50%);
}

/* ── Section D: International destinations ── */
.lic-dest-intl {
    padding: 64px 0 0;
    margin-top: 48px;
    border-top: 1px solid var(--lic-mist);
}
.lic-dest-intl__header {
    margin-bottom: 32px;
}
.lic-dest-intl__subtitle {
    color: var(--lic-text-soft);
    font-size: 15px;
    line-height: 1.6;
    margin: 12px 0 0;
    max-width: 640px;
}
.lic-dest-intl__country {
    margin-bottom: 48px;
}
.lic-dest-intl__country:last-child {
    margin-bottom: 0;
}
.lic-dest-intl__country-title {
    font-family: var(--lic-font);
    font-weight: 500;
    font-size: 22px;
    color: var(--lic-deep);
    margin: 0 0 20px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.lic-dest-intl__country-title::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--lic-accent, #b2825e);
}

/* ── Child zones in single-zone ── */
.lic-zone-children { padding: 48px 0; }

/* ── Destinations sections responsive ── */
@media (max-width: 1024px) {
    .lic-dest-featured__grid { grid-template-columns: repeat(2, 1fr); }
    .lic-dest-provinces__grid { grid-template-columns: repeat(2, 1fr); }
    .lic-dest-card--featured .lic-dest-card__name { font-size: 26px; }
}

@media (max-width: 600px) {
    .lic-dest-featured__grid { grid-template-columns: 1fr; }
    .lic-dest-provinces__grid { grid-template-columns: 1fr; gap: 24px; }
    .lic-dest-card--featured .lic-dest-card__name { font-size: 24px; }
    .lic-dest-card--featured .lic-dest-card__image { aspect-ratio: 16 / 9; }
    .lic-dest-intl { padding-top: 48px; }
    .lic-dest-intl__country { margin-bottom: 36px; }
}


/* ══════════════════════════════════════
   HOME PAGE
   ══════════════════════════════════════ */

.lic-contain { max-width: 1320px; margin: 0 auto; padding: 0 32px; }

/* ── Home hero ── */
.lic-home-hero {
    position: relative; min-height: 92vh;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
}
.lic-home-hero__bg { position: absolute; inset: 0; z-index: 0; }
.lic-home-hero__bg img,
.lic-home-hero__video { width: 100% !important; height: 100% !important; object-fit: cover; filter: brightness(.85); }
.lic-home-hero__bg::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(12,30,60,.35) 0%, rgba(12,30,60,.15) 40%, rgba(12,30,60,.6) 100%);
}

.lic-home-hero__content {
    position: relative; z-index: 2; text-align: center; padding: 0 32px; max-width: 800px;
}
.lic-home-hero__eyebrow {
    font-size: 12px; font-weight: 500; text-transform: uppercase;
    letter-spacing: .2em; color: var(--lic-sand); margin-bottom: 20px;
}
.lic-home-hero__title {
    font-family: var(--lic-serif); font-size: 72px; font-weight: 400;
    color: #fff; line-height: 1.05; margin-bottom: 20px; letter-spacing: -0.015em;
    padding: 0;
    /* Allow the title to wrap on long localisations (Polish, German) instead
       of overflowing the centred container. text-wrap:balance keeps multi-line
       breaks evenly distributed where browsers support it. */
    white-space: normal;
    text-wrap: balance;
    word-break: break-word;
}
.lic-home-hero__title em { font-style: italic; }
.lic-home-dest__footer { text-align: center; margin-top: 32px; }
.lic-home-hero__desc {
    font-size: 18px; font-weight: 300; color: rgba(255,255,255,.8);
    max-width: 540px; margin: 0 auto 36px; line-height: 1.7;
}
.lic-home-hero__actions { display: flex; gap: 14px; justify-content: center; }

.lic-btn--hero-primary {
    padding: 16px 32px; border-radius: 12px; font-family: var(--lic-sans);
    font-size: 14px; font-weight: 600; text-decoration: none; cursor: pointer;
    transition: all .3s; display: inline-flex; align-items: center; gap: 8px; border: none;
    background: var(--lic-sand); color: var(--lic-deep);
}
.lic-btn--hero-primary:hover {
    transform: translateY(-2px); box-shadow: 0 12px 32px rgba(201,169,110,.35);
    background: #d4b377; color: var(--lic-deep);
}
.lic-btn--hero-ghost {
    padding: 16px 32px; border-radius: 12px; font-family: var(--lic-sans);
    font-size: 14px; font-weight: 600; text-decoration: none; cursor: pointer;
    transition: all .3s; display: inline-flex; align-items: center; gap: 8px;
    background: rgba(255,255,255,.12); color: #fff;
    border: 1.5px solid rgba(255,255,255,.3);
    backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
}
.lic-btn--hero-ghost:hover { background: rgba(255,255,255,.2); border-color: rgba(255,255,255,.5); color: #fff; }

/* Stats strip */
.lic-home-hero__stats {
    position: absolute; bottom: 0; left: 0; right: 0; z-index: 3;
    background: rgba(12,30,60,.5);
    backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
    border-top: 1px solid rgba(255,255,255,.08);
}
.lic-home-hero__stats-inner {
    max-width: 1320px; margin: 0 auto; padding: 0 32px;
    display: flex; justify-content: center;
}
.lic-home-stat {
    flex: 1; max-width: 260px; text-align: center; padding: 28px 20px;
    position: relative;
}
.lic-home-stat + .lic-home-stat::before {
    content: ''; position: absolute; left: 0; top: 20%; height: 60%;
    width: 1px; background: rgba(255,255,255,.1);
}
.lic-home-stat__value {
    font-family: var(--lic-serif); font-size: 38px; font-weight: 400;
    color: #fff; line-height: 1;
}
.lic-home-stat__label {
    font-size: 11px; font-weight: 400; color: rgba(255,255,255,.5);
    text-transform: uppercase; letter-spacing: .08em; margin-top: 6px;
}


/* ── Featured ── */
.lic-home-featured { padding: 88px 0 80px; }
.lic-home-featured__header {
    display: flex; align-items: flex-end; justify-content: space-between;
    margin-bottom: 36px;
}
.lic-home-featured__title {
    font-family: var(--lic-serif); font-size: 38px; font-weight: 400;
    color: var(--lic-deep); line-height: 1.15; margin: 0; padding: 0;
}
.lic-home-featured__link {
    font-size: 13px; font-weight: 600; color: var(--lic-ocean);
    text-decoration: none; display: flex; align-items: center; gap: 6px;
    padding-bottom: 6px; transition: all .2s; flex-shrink: 0;
}
.lic-home-featured__link:hover { color: var(--lic-deep); gap: 10px; }


/* ── Destinations bento ── */
.lic-home-dest {
    padding: 80px 0; background: var(--lic-cloud);
}
.lic-home-dest__header { text-align: center; margin-bottom: 48px; }
.lic-home-dest__title {
    font-family: var(--lic-serif); font-size: 38px; font-weight: 400;
    color: var(--lic-deep); margin: 0 0 10px; padding: 0;
}
.lic-home-dest__sub {
    font-size: 15px; font-weight: 300; color: var(--lic-text-soft);
    max-width: 480px; margin: 0 auto;
}

.lic-home-bento {
    display: grid; gap: 16px; min-height: 480px;
}
.lic-home-bento--3 {
    grid-template-columns: 1.3fr 1fr;
    grid-template-rows: 1fr 1fr;
}
.lic-home-bento--2 { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr; }
.lic-home-bento--1 { grid-template-columns: 1fr; grid-template-rows: 1fr; min-height: 360px; }

.lic-home-bento__card {
    position: relative; border-radius: 20px; overflow: hidden;
    text-decoration: none; color: inherit; display: flex;
    align-items: flex-end; transition: all .4s;
}
.lic-home-bento--3 .lic-home-bento__card:first-child { grid-row: 1 / -1; }
.lic-home-bento__card:hover { transform: scale(1.01); }

.lic-home-bento__card img {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
    transition: transform .8s;
}
.lic-home-bento__card:hover img { transform: scale(1.05); }

.lic-home-bento__card::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(12,30,60,.05) 0%, rgba(12,30,60,.7) 100%);
    transition: background .4s;
}
.lic-home-bento__card:hover::after {
    background: linear-gradient(180deg, rgba(12,30,60,.1) 0%, rgba(12,30,60,.6) 100%);
}

.lic-home-bento__content {
    position: relative; z-index: 2; padding: 32px; width: 100%;
}
.lic-home-bento__region {
    font-size: 10px; font-weight: 500; text-transform: uppercase;
    letter-spacing: .16em; color: var(--lic-sand); margin-bottom: 6px;
}
.lic-home-bento__name {
    font-family: var(--lic-serif); font-size: 32px; font-weight: 400;
    color: #fff; line-height: 1.15; margin: 0 0 4px; padding: 0;
}
.lic-home-bento--3 .lic-home-bento__card:first-child .lic-home-bento__name { font-size: 42px; }
.lic-home-bento__tag {
    font-size: 13px; font-weight: 300; color: rgba(255,255,255,.65); margin-bottom: 16px;
}
.lic-home-bento__meta { display: flex; gap: 16px; align-items: center; }
.lic-home-bento__stat {
    display: flex; align-items: center; gap: 5px;
    font-size: 12px; font-weight: 500; color: rgba(255,255,255,.7);
}
.lic-home-bento__stat svg { opacity: .6; }
.lic-home-bento__count {
    font-size: 12px; font-weight: 600; color: var(--lic-sand);
    display: flex; align-items: center; gap: 6px; transition: gap .2s;
}
.lic-home-bento__card:hover .lic-home-bento__count { gap: 10px; }


/* ── Why Spain ── */
/* ── Instagram feed section ── */
.lic-instagram { padding: 72px 0; }
.lic-instagram__header { text-align: center; margin-bottom: 32px; }
.lic-instagram__title { font-family: var(--lic-serif) !important; font-size: 38px !important; font-weight: 400 !important; color: var(--lic-deep) !important; line-height: 1.15 !important; margin: 0 !important; padding: 0 !important; letter-spacing: normal !important; text-transform: none !important; }
.lic-instagram--compact { padding: 48px 0; margin-top: 32px; border-top: 1px solid var(--lic-border); }

.lic-home-why { padding: 88px 0; }
.lic-home-why__header { text-align: center; margin-bottom: 48px; }
.lic-home-why__title {
    font-family: var(--lic-serif); font-size: 38px; font-weight: 400;
    color: var(--lic-deep); margin: 0; padding: 0;
}
.lic-home-why__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

.lic-home-why-item {
    padding: 36px 28px; background: var(--lic-cloud); border-radius: 20px;
    border: 1px solid transparent; transition: all .3s; text-align: center;
    position: relative; overflow: hidden;
}
.lic-home-why-item::before {
    content: ''; position: absolute; top: -40px; right: -40px;
    width: 120px; height: 120px; border-radius: 50%;
    background: var(--lic-mist); opacity: .5; transition: all .4s;
}
.lic-home-why-item:hover::before { transform: scale(1.5); opacity: .3; }
.lic-home-why-item:hover {
    background: var(--lic-white); border-color: var(--lic-pastel);
    box-shadow: 0 8px 32px rgba(12,30,60,.07); transform: translateY(-4px);
}
.lic-home-why-item > * { position: relative; z-index: 1; }

.lic-home-why-item__icon {
    width: 56px; height: 56px; background: var(--lic-white); border-radius: 16px;
    display: flex; align-items: center; justify-content: center;
    color: var(--lic-ocean); margin: 0 auto 20px;
    box-shadow: 0 4px 16px rgba(12,30,60,.06); transition: all .3s;
}
.lic-home-why-item:hover .lic-home-why-item__icon {
    background: var(--lic-deep); color: var(--lic-sand);
    box-shadow: 0 8px 24px rgba(12,30,60,.15);
}
.lic-home-why-item__title { font-size: 17px; font-weight: 600; color: var(--lic-deep); margin-bottom: 10px; }
.lic-home-why-item__desc { font-size: 14px; font-weight: 300; color: var(--lic-text-soft); line-height: 1.7; }


/* ── CTA / Contact ── */
.lic-home-cta {
    background: var(--lic-deep); position: relative; overflow: hidden;
}
.lic-home-cta::before {
    content: ''; position: absolute; inset: 0;
    background: radial-gradient(ellipse at 30% 50%, rgba(91,155,213,.08) 0%, transparent 50%),
                radial-gradient(ellipse at 80% 80%, rgba(201,169,110,.06) 0%, transparent 40%);
    pointer-events: none;
}
.lic-home-cta__layout {
    max-width: 1320px; margin: 0 auto; padding: 0 32px;
    display: grid; grid-template-columns: 1fr 1fr; gap: 64px;
    min-height: 520px; align-items: center; position: relative; z-index: 1;
}
.lic-home-cta__text { padding: 80px 0; }
.lic-home-cta__label {
    font-size: 10px; font-weight: 600; text-transform: uppercase;
    letter-spacing: .14em; color: var(--lic-sand); margin-bottom: 12px;
}
.lic-home-cta__title {
    font-family: var(--lic-serif); font-size: 38px; font-weight: 400;
    color: #fff; line-height: 1.2; margin-bottom: 16px; padding: 0;
}
.lic-home-cta__desc {
    font-size: 15px; font-weight: 300; color: var(--lic-pastel);
    line-height: 1.7; margin-bottom: 28px; max-width: 440px;
}
.lic-home-cta__features { list-style: none; display: flex; flex-direction: column; gap: 14px; }
.lic-home-cta__features li {
    display: flex; align-items: center; gap: 12px;
    font-size: 14px; font-weight: 400; color: rgba(255,255,255,.7);
}
.lic-home-cta__check {
    width: 24px; height: 24px; border-radius: 8px;
    background: rgba(201,169,110,.15); display: flex;
    align-items: center; justify-content: center; flex-shrink: 0;
    color: var(--lic-sand);
}

.lic-home-cta__form-wrap { padding: 80px 0; }
.lic-home-cta__form {
    background: var(--lic-white); border-radius: 24px; padding: 40px;
    box-shadow: 0 20px 60px rgba(0,0,0,.25);
}
.lic-home-cta__form-title {
    font-family: var(--lic-serif); font-size: 22px; font-weight: 400;
    color: var(--lic-deep); margin-bottom: 6px; text-align: center;
}
.lic-home-cta__form-sub {
    font-size: 13px; color: var(--lic-text-muted); text-align: center;
    margin-bottom: 24px; font-weight: 300;
}
.lic-home-cta__form-empty {
    text-align: center; padding: 40px 20px; color: var(--lic-text-muted);
    font-size: 13px; border: 2px dashed var(--lic-mist); border-radius: 14px;
}
.lic-home-cta__form-empty code {
    background: var(--lic-cloud); padding: 2px 6px; border-radius: 4px;
    font-size: 11px;
}


/* Home responsive */
@media (max-width: 1024px) {
    .lic-home-hero__title { font-size: 56px; }
    .lic-home-bento--3 { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; min-height: auto; }
    .lic-home-bento--3 .lic-home-bento__card:first-child { grid-row: auto; }
    .lic-home-bento--3 .lic-home-bento__card:first-child .lic-home-bento__name { font-size: 32px; }
    .lic-home-bento__card { min-height: 240px; }
    .lic-home-cta__layout { grid-template-columns: 1fr; gap: 0; }
    .lic-home-cta__form-wrap { padding: 0 0 80px; }
}

@media (max-width: 768px) {
    .lic-home-hero { min-height: 85vh; }
    .lic-home-hero__title { font-size: 42px; }
    .lic-home-hero__desc { font-size: 15px; }
    .lic-home-hero__actions { flex-direction: column; align-items: center; }
    .lic-home-hero__stats-inner { flex-wrap: wrap; }
    .lic-home-stat { padding: 20px 16px; }
    .lic-home-stat__value { font-size: 28px; }
    .lic-home-stat + .lic-home-stat::before { display: none; }
    .lic-home-bento--3,
    .lic-home-bento--2 { grid-template-columns: 1fr; }
    .lic-home-bento__card { min-height: 220px; }
    .lic-home-why__grid { grid-template-columns: 1fr; }
    .lic-home-featured__header { flex-direction: column; align-items: flex-start; gap: 12px; }
    .lic-home-featured__title,
    .lic-home-dest__title,
    .lic-home-why__title,
    .lic-home-cta__title { font-size: 30px; }
}

@media (max-width: 600px) {
    .lic-home-hero { min-height: 80vh; }
    .lic-home-hero__title { font-size: 34px; }
    .lic-home-hero__eyebrow { font-size: 10px; letter-spacing: .15em; }
    .lic-contain { padding: 0 16px; }
    .lic-home-featured { padding: 56px 0; }
    .lic-home-dest { padding: 56px 0; }
    .lic-home-why { padding: 56px 0; }
    .lic-home-cta__form { padding: 28px; border-radius: 18px; }
    .lic-home-cta__text { padding: 56px 0 0; }
    .lic-home-cta__form-wrap { padding: 32px 0 56px; }
}


/* ══════════════════════════════════════
   HEADER
   ══════════════════════════════════════ */

.lic-header {
    position: relative; z-index: 1000;
    background: var(--lic-white);
    border-bottom: 1px solid var(--lic-mist);
}
.lic-header--fixed {
    position: fixed !important; top: 0; left: 0; right: 0;
    z-index: 99999;
    border-bottom-color: transparent;
    transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .3s ease;
}
.lic-header--entering {
    transform: translateY(-100%);
}
.lic-header--visible {
    transform: translateY(0);
}
.lic-header--scrolled {
    box-shadow: 0 4px 24px rgba(12,30,60,.08);
    border-bottom-color: var(--lic-mist);
}
.lic-header__spacer {
    display: none;
}
.lic-header__spacer--active {
    display: block;
}

.lic-header__inner {
    max-width: 1320px; margin: 0 auto; padding: 0 32px;
    display: flex; align-items: center; justify-content: space-between;
    height: 72px;
}

/* Logo */
.lic-header__logo {
    display: flex; align-items: center; text-decoration: none; flex-shrink: 0;
}
.lic-header__logo img { height: 44px !important; width: auto !important; display: block; max-width: 200px; }
.lic-header__logo-text {
    display: flex; align-items: center; gap: 8px;
    font-family: var(--lic-sans); font-size: 18px; font-weight: 600;
    color: var(--lic-deep); letter-spacing: -0.01em;
}
.lic-header__logo-text svg { color: var(--lic-ocean); }

/* Desktop nav */
.lic-header__nav {
    display: flex; align-items: center; gap: 8px;
}
.lic-header__link {
    padding: 8px 18px; font-size: 14px; font-weight: 500;
    color: var(--lic-text-soft); text-decoration: none;
    border-radius: 8px; transition: all .2s;
}
.lic-header__link:hover {
    color: var(--lic-deep); background: var(--lic-cloud);
}

.lic-header__cta {
    padding: 10px 22px; font-size: 13px; font-weight: 600;
    color: var(--lic-white); background: var(--lic-deep);
    border-radius: 10px; text-decoration: none;
    transition: all .25s; margin-left: 8px;
}
.lic-header__cta:hover {
    background: var(--lic-navy); color: var(--lic-white);
    transform: translateY(-1px); box-shadow: 0 4px 16px rgba(12,30,60,.15);
}

/* Account icon */
.lic-header__account {
    display: flex; align-items: center; justify-content: center;
    margin-left: 12px; color: var(--lic-text-soft);
    transition: color .2s;
}
.lic-header__account:hover { color: var(--lic-accent); }
.lic-header--scrolled .lic-header__account { color: var(--lic-text-soft); }
.lic-header--scrolled .lic-header__account:hover { color: var(--lic-accent); }

/* Account in mobile menu */
.lic-header__mobile-account {
    display: flex; align-items: center; gap: 10px;
}

/* Hamburger — !important to survive Elementor hover overrides */
.lic-header__burger {
    display: none !important; background: none !important; border: none !important; cursor: pointer !important;
    width: 36px !important; height: 36px !important; position: relative !important; padding: 0 !important;
    flex-direction: column !important; align-items: center !important; justify-content: center !important; gap: 5px !important;
    box-shadow: none !important; outline: none !important;
    margin: 0 !important; border-radius: 0 !important;
}
.lic-header__burger:hover,
.lic-header__burger:focus {
    background: none !important; border: none !important;
    box-shadow: none !important; outline: none !important;
}
.lic-header__burger span {
    display: block !important; width: 22px !important; height: 2px !important;
    background: var(--lic-deep) !important; border-radius: 2px !important;
    transition: all .3s !important;
}
.lic-header__burger--open span:nth-child(1) { transform: translateY(7px) rotate(45deg) !important; }
.lic-header__burger--open span:nth-child(2) { opacity: 0 !important; }
.lic-header__burger--open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg) !important; }

/* Mobile menu */
.lic-header__mobile {
    display: none; overflow: hidden;
    max-height: 0; transition: max-height .35s ease;
    background: var(--lic-white);
    border-top: 1px solid var(--lic-mist);
}
.lic-header__mobile--open { max-height: 500px; }

.lic-header__mobile-nav {
    display: flex; flex-direction: column; padding: 12px 32px 28px;
}
.lic-header__mobile-link {
    padding: 14px 0; font-size: 15px; font-weight: 500;
    color: var(--lic-text); text-decoration: none;
    border-bottom: 1px solid var(--lic-mist);
    transition: color .2s;
}
.lic-header__mobile-link:hover { color: var(--lic-ocean); }

.lic-header__mobile-cta {
    display: inline-flex; align-items: center; justify-content: center;
    margin-top: 16px; padding: 14px 24px;
    background: var(--lic-deep); color: #fff;
    border-radius: 12px; font-size: 14px; font-weight: 600;
    text-decoration: none; transition: background .2s;
}
.lic-header__mobile-cta:hover { background: var(--lic-navy); color: #fff; }


/* ══════════════════════════════════════
   FOOTER
   ══════════════════════════════════════ */

.lic-footer {
    background: var(--lic-deep); color: rgba(255,255,255,.6);
    font-family: var(--lic-sans);
}

.lic-footer__inner {
    max-width: 1320px; margin: 0 auto; padding: 64px 32px 48px;
    display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 48px;
}

/* Brand */
.lic-footer__logo { display: inline-flex; align-items: center; margin-bottom: 16px; text-decoration: none; }
.lic-footer__logo img { height: 36px !important; width: auto !important; display: block; max-width: 180px; }
.lic-footer__logo img.lic-footer__logo--invert {
    filter: brightness(0) invert(1);
}
.lic-footer__logo-text {
    display: flex; align-items: center; gap: 7px;
    font-size: 17px; font-weight: 600; color: #fff;
}
.lic-footer__logo-text svg { color: var(--lic-pastel); }

.lic-footer__desc {
    font-size: 13.5px; line-height: 1.7; color: rgba(255,255,255,.5);
    margin-bottom: 12px; font-weight: 300; max-width: 280px;
}
.lic-footer__stats {
    font-size: 12px; font-weight: 500; color: var(--lic-sand);
    letter-spacing: .02em;
}

/* Columns */
.lic-footer__heading {
    font-size: 11px; font-weight: 600; text-transform: uppercase;
    letter-spacing: .1em; color: rgba(255,255,255,.35);
    margin-bottom: 18px;
}
.lic-footer__link {
    display: block; font-size: 14px; font-weight: 400;
    color: rgba(255,255,255,.6); text-decoration: none;
    padding: 5px 0; transition: color .2s;
}
.lic-footer__link:hover { color: #fff; }

.lic-footer__address {
    font-size: 13px; line-height: 1.6; color: rgba(255,255,255,.4);
    margin-top: 4px; font-weight: 300;
}

/* Social */
.lic-footer__social {
    display: flex; gap: 10px; margin-top: 18px;
}
.lic-footer__social-link {
    width: 36px; height: 36px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 10px; background: rgba(255,255,255,.06);
    color: rgba(255,255,255,.5); transition: all .25s;
    border: 1px solid rgba(255,255,255,.06);
}
.lic-footer__social-link:hover {
    background: rgba(255,255,255,.12); color: #fff;
    border-color: rgba(255,255,255,.15); transform: translateY(-2px);
}

/* Bottom bar */
.lic-footer__bottom {
    border-top: 1px solid rgba(255,255,255,.06);
}
.lic-footer__bottom-inner {
    max-width: 1320px; margin: 0 auto; padding: 20px 32px;
    display: flex; align-items: center; justify-content: space-between;
    font-size: 12px; color: rgba(255,255,255,.3);
}
.lic-footer__bottom a { color: rgba(255,255,255,.4); text-decoration: none; transition: color .2s; }
.lic-footer__bottom a:hover { color: rgba(255,255,255,.7); }

.lic-footer__legal { display: flex; gap: 20px; }


/* Header + Footer responsive */
@media (max-width: 768px) {
    .lic-header__nav { display: none !important; }
    .lic-header__burger { display: flex !important; }
    .lic-header__mobile { display: block !important; }
    .lic-header__inner { height: 64px; }

    .lic-footer__inner {
        grid-template-columns: 1fr 1fr; gap: 32px;
        padding: 48px 32px 36px;
    }
    .lic-footer__brand { grid-column: 1 / -1; }
    .lic-footer__bottom-inner { flex-direction: column; gap: 10px; text-align: center; }
}

@media (max-width: 600px) {
    .lic-header__inner { padding: 0 16px; }
    .lic-header__mobile-nav { padding: 12px 16px 20px; }
    .lic-footer__inner { grid-template-columns: 1fr; gap: 28px; padding: 40px 16px 32px; }
    .lic-footer__bottom-inner { padding: 16px; }
}


/* ══════════════════════════════════════
   LANGUAGE SWITCHER
   ══════════════════════════════════════ */

/* Base — !important on key properties to survive Elementor overrides */
.lic-lang { position: relative !important; display: inline-flex !important; }

.lic-lang__trigger {
    display: flex !important; align-items: center !important; gap: 4px !important;
    background: none !important; border: 1px solid var(--lic-mist) !important;
    border-radius: 8px !important; padding: 6px 10px !important;
    cursor: pointer !important; transition: all .2s !important;
    font-family: var(--lic-sans) !important;
    line-height: 1.4 !important; box-shadow: none !important;
    text-decoration: none !important; outline: none !important;
}
.lic-lang__trigger:hover { border-color: var(--lic-pastel) !important; background: var(--lic-cloud) !important; }

.lic-lang__code {
    font-size: 12px !important; font-weight: 600 !important; letter-spacing: .04em !important;
}
.lic-lang__arrow {
    transition: transform .2s !important;
}
.lic-lang--open .lic-lang__arrow { transform: rotate(180deg) !important; }

.lic-lang__dropdown {
    position: absolute !important; top: calc(100% + 6px) !important;
    min-width: 120px !important; background: var(--lic-white) !important;
    border: 1px solid var(--lic-mist) !important; border-radius: 10px !important;
    box-shadow: 0 8px 24px rgba(12,30,60,.1) !important;
    padding: 4px !important; opacity: 0 !important; visibility: hidden !important;
    transform: translateY(-4px) !important; transition: all .2s !important;
    z-index: 9999 !important;
}
.lic-lang--open .lic-lang__dropdown {
    opacity: 1 !important; visibility: visible !important; transform: translateY(0) !important;
}

.lic-lang__option {
    display: flex !important; align-items: center !important; gap: 8px !important;
    padding: 8px 12px !important; border-radius: 7px !important;
    text-decoration: none !important; color: var(--lic-deep) !important;
    font-size: 12px !important; font-weight: 600 !important; letter-spacing: .04em !important;
    transition: background .15s !important;
}
.lic-lang__option:hover { background: var(--lic-cloud) !important; color: var(--lic-deep) !important; }
.lic-lang__name {
    font-weight: 400 !important; color: var(--lic-text-muted) !important; font-size: 12px !important;
}

/* Header variant */
.lic-lang--header .lic-lang__trigger {
    color: var(--lic-text-soft) !important;
}
.lic-lang--header .lic-lang__dropdown { right: 0 !important; left: auto !important; }

/* Footer variant */
.lic-lang--footer .lic-lang__trigger {
    color: rgba(255,255,255,.7) !important; border-color: rgba(255,255,255,.15) !important;
}
.lic-lang--footer .lic-lang__trigger:hover {
    border-color: rgba(255,255,255,.3) !important; background: rgba(255,255,255,.05) !important;
}
.lic-lang--footer .lic-lang__dropdown {
    bottom: calc(100% + 6px) !important; top: auto !important;
    background: var(--lic-deep) !important; border-color: rgba(255,255,255,.1) !important;
    box-shadow: 0 -8px 24px rgba(0,0,0,.3) !important;
}
.lic-lang--footer .lic-lang__option { color: #fff !important; }
.lic-lang--footer .lic-lang__option:hover { background: rgba(255,255,255,.08) !important; color: #fff !important; }
.lic-lang--footer .lic-lang__name { color: rgba(255,255,255,.5) !important; }

/* Mobile variant — horizontal pill bar instead of dropdown (touch-friendly) */
.lic-lang--mobile {
    margin-top: 16px !important; padding-top: 20px !important;
    border-top: 1px solid var(--lic-mist) !important;
    display: flex !important; flex-direction: column !important;
    align-items: center !important; gap: 10px !important;
}
.lic-lang--mobile .lic-lang__trigger { display: none !important; }
.lic-lang--mobile .lic-lang__dropdown {
    position: static !important; opacity: 1 !important; visibility: visible !important;
    transform: none !important; display: flex !important; flex-wrap: wrap !important;
    justify-content: center !important; gap: 6px !important;
    background: none !important; border: none !important; box-shadow: none !important;
    padding: 0 !important; min-width: auto !important;
}
.lic-lang--mobile .lic-lang__option {
    background: var(--lic-cloud, #f0f4f8) !important;
    border-radius: 20px !important; padding: 8px 14px !important;
    font-size: 13px !important; font-weight: 600 !important;
    color: var(--lic-text-soft, #64748b) !important;
    transition: all .15s !important;
}
.lic-lang--mobile .lic-lang__option:hover,
.lic-lang--mobile .lic-lang__option:active {
    background: var(--lic-ocean, #0284c7) !important;
    color: #fff !important;
}
.lic-lang--mobile .lic-lang__name { display: none !important; }
.lic-lang--mobile .lic-lang__current {
    font-size: 11px !important; font-weight: 500 !important;
    color: var(--lic-text-muted) !important; letter-spacing: .05em !important;
    text-transform: uppercase !important;
}

/* Footer bottom right group */
.lic-footer__bottom-right {
    display: flex !important; align-items: center !important; gap: 16px !important;
}

@media (max-width: 768px) {
    .lic-lang--header { display: none !important; }
    .lic-footer__bottom-right { flex-direction: column !important; gap: 12px !important; }
}


/* ══════════════════════════════════════
   CONTACT PAGE
   ══════════════════════════════════════ */

.lic-contact {
    max-width: 1320px; margin: 0 auto; padding: 0 32px 96px;
    font-family: var(--lic-sans);
}

/* Header */
.lic-contact__header {
    text-align: center; padding: 56px 0 56px;
    max-width: 600px; margin: 0 auto;
}
.lic-contact__title {
    font-family: var(--lic-serif); font-size: 42px; font-weight: 400;
    color: var(--lic-deep); margin: 0 0 14px; padding: 0; line-height: 1.15;
}
.lic-contact__subtitle {
    font-size: 15.5px; font-weight: 300; color: var(--lic-text-soft);
    line-height: 1.7; margin: 0;
}

/* Layout */
.lic-contact__layout {
    display: grid; grid-template-columns: 1fr 1.2fr; gap: 56px;
    align-items: start;
}

/* Info cards */
.lic-contact__info {
    display: flex; flex-direction: column; gap: 12px;
}

.lic-contact-card {
    display: flex; align-items: flex-start; gap: 16px;
    padding: 22px 24px; background: var(--lic-cloud); border-radius: 16px;
    border: 1px solid transparent; text-decoration: none; color: inherit;
    transition: all .25s;
}
a.lic-contact-card:hover {
    background: var(--lic-white); border-color: var(--lic-pastel);
    box-shadow: 0 4px 20px rgba(12,30,60,.06); transform: translateY(-2px);
}

.lic-contact-card__icon {
    width: 48px; height: 48px; background: var(--lic-white); border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    color: var(--lic-ocean); flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(12,30,60,.04);
    transition: all .25s;
}
a.lic-contact-card:hover .lic-contact-card__icon {
    background: var(--lic-deep); color: var(--lic-sand);
    box-shadow: 0 4px 16px rgba(12,30,60,.12);
}

.lic-contact-card__label {
    font-size: 11px; font-weight: 600; text-transform: uppercase;
    letter-spacing: .08em; color: var(--lic-text-muted); margin-bottom: 4px;
}
.lic-contact-card__value {
    font-size: 15px; font-weight: 500; color: var(--lic-deep); line-height: 1.5;
}

/* Social */
.lic-contact__social {
    padding: 20px 24px; background: var(--lic-cloud); border-radius: 16px;
}
.lic-contact__social-label {
    font-size: 11px; font-weight: 600; text-transform: uppercase;
    letter-spacing: .08em; color: var(--lic-text-muted); margin-bottom: 14px;
}
.lic-contact__social-links { display: flex; gap: 10px; }
.lic-contact__social-link {
    width: 42px; height: 42px; display: flex; align-items: center; justify-content: center;
    border-radius: 12px; background: var(--lic-white); color: var(--lic-text-soft);
    border: 1px solid var(--lic-border); transition: all .25s; text-decoration: none;
}
.lic-contact__social-link:hover {
    background: var(--lic-deep); color: #fff; border-color: var(--lic-deep);
    transform: translateY(-2px); box-shadow: 0 4px 16px rgba(12,30,60,.12);
}

/* Quick benefits */
.lic-contact__quick {
    display: flex; flex-direction: column; gap: 10px;
    padding: 20px 24px; margin-top: 4px;
}
.lic-contact__quick-item {
    display: flex; align-items: center; gap: 10px;
    font-size: 14px; font-weight: 400; color: var(--lic-text-soft);
}
.lic-contact__quick-item svg { color: var(--lic-sky); flex-shrink: 0; }

/* Form */
.lic-contact__form-wrap { position: sticky; top: 100px; }
.lic-contact__form {
    background: var(--lic-white); border: 1px solid var(--lic-border);
    border-radius: 24px; padding: 40px;
    box-shadow: 0 8px 32px rgba(12,30,60,.06);
}
.lic-contact__form-title {
    font-family: var(--lic-serif); font-size: 24px; font-weight: 400;
    color: var(--lic-deep); margin-bottom: 6px;
}
.lic-contact__form-sub {
    font-size: 13.5px; color: var(--lic-text-muted); font-weight: 300;
    margin-bottom: 28px; line-height: 1.6;
}
.lic-contact__form-empty {
    text-align: center; padding: 48px 20px; color: var(--lic-text-muted);
    font-size: 13px; border: 2px dashed var(--lic-mist); border-radius: 14px;
    line-height: 1.8;
}
.lic-contact__form-empty code {
    background: var(--lic-cloud); padding: 2px 6px; border-radius: 4px; font-size: 11px;
}

/* Browse CTA */
.lic-contact__browse {
    display: flex; align-items: center; justify-content: space-between;
    gap: 24px; margin-top: 56px; padding: 32px 36px;
    background: var(--lic-cloud); border-radius: 18px;
    border: 1px solid var(--lic-mist);
}
.lic-contact__browse h3 {
    font-family: var(--lic-serif); font-size: 20px; font-weight: 400;
    color: var(--lic-deep); margin: 0 0 4px; padding: 0;
}
.lic-contact__browse p {
    font-size: 14px; color: var(--lic-text-soft); font-weight: 300; margin: 0;
}
.lic-contact__browse-btn {
    display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0;
    padding: 12px 24px; background: var(--lic-deep); color: #fff;
    border-radius: 12px; font-size: 13px; font-weight: 600;
    text-decoration: none; transition: all .25s;
}
.lic-contact__browse-btn:hover {
    background: var(--lic-navy); color: #fff;
    transform: translateY(-2px); box-shadow: 0 6px 20px rgba(12,30,60,.15);
}

/* Contact responsive */
@media (max-width: 1024px) {
    .lic-contact__layout { gap: 40px; }
}
@media (max-width: 768px) {
    .lic-contact__layout { grid-template-columns: 1fr; }
    .lic-contact__form-wrap { position: static; }
    .lic-contact__header { padding: 40px 0 40px; }
    .lic-contact__title { font-size: 32px; }
    .lic-contact__browse { flex-direction: column; text-align: center; }
}
@media (max-width: 600px) {
    .lic-contact { padding: 0 16px 64px; }
    .lic-contact__header { padding: 28px 0 32px; }
    .lic-contact__title { font-size: 28px; }
    .lic-contact__form { padding: 28px; border-radius: 18px; }
    .lic-contact__browse { padding: 24px; }
}


/* ══════════════════════════════════════
   STOCK TABLE — Available units
   ══════════════════════════════════════ */

.lic-stock { margin-top: 48px; }
.lic-stock__range { font-size: 15px; color: var(--lic-text-soft); font-weight: 300; margin: -4px 0 24px; }
.lic-stock__range strong { color: var(--lic-text); font-weight: 600; }

.lic-stock-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--lic-border); border-radius: 14px; }

.lic-stock-table { width: 100%; border-collapse: collapse; font-family: var(--lic-body-font); font-size: 14px; min-width: 600px; }
.lic-stock-table thead th {
    text-align: left; padding: 12px 14px; font-size: 11px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.06em; color: var(--lic-text-muted);
    background: var(--lic-cloud); border-bottom: 1px solid var(--lic-border);
    white-space: nowrap;
}
.lic-stock-table thead th:first-child { border-radius: 14px 0 0 0; }
.lic-stock-table thead th:last-child { border-radius: 0 14px 0 0; }

.lic-stock-table tbody td {
    padding: 12px 14px; border-bottom: 1px solid var(--lic-cloud);
    color: var(--lic-text); vertical-align: middle; white-space: nowrap;
}
.lic-stock-table tbody tr:last-child td { border-bottom: none; }
.lic-stock-table tbody tr:hover td { background: rgba(91,155,213,.04); }

.lic-stock-table__type { display: flex; align-items: center; gap: 8px; white-space: normal; min-width: 160px; }
.lic-stock-table__code { font-weight: 600; color: var(--lic-text); }
.lic-stock-table__desc { font-size: 13px; color: var(--lic-text-soft); }
.lic-stock-table__badge {
    font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em;
    background: var(--lic-sand-light); color: var(--lic-sand); padding: 2px 6px; border-radius: 4px;
}

.lic-stock-table__price { font-weight: 600; color: var(--lic-text); }
.lic-stock-table__includes { display: inline-flex; gap: 4px; margin-left: 6px; }
.lic-stock-table__includes span {
    font-size: 10px; font-weight: 700; width: 18px; height: 18px; line-height: 18px;
    text-align: center; border-radius: 4px; background: var(--lic-cloud); color: var(--lic-text-soft);
}

.lic-stock-table__plan {
    display: inline-flex; align-items: center; justify-content: center;
    width: 32px; height: 32px; border-radius: 8px; color: var(--lic-ocean);
    background: rgba(91,155,213,.08); transition: all 200ms ease;
}
.lic-stock-table__plan:hover { background: rgba(91,155,213,.15); color: var(--lic-deep); }

/* Status badges */
.lic-stock-table__status {
    font-size: 11px; font-weight: 600; padding: 3px 8px; border-radius: 10px;
    white-space: nowrap; display: inline-block;
}
.lic-stock-table__status--success { background: #dcfce7; color: #15803d; }
.lic-stock-table__status--warning { background: #fef3c7; color: #92400e; }
.lic-stock-table__status--muted   { background: #f1f5f9; color: #64748b; }
.lic-stock-table__status--info    { background: #dbeafe; color: #1e40af; }

/* Collapse: show only 5 rows + gradient fade */
.lic-stock-table-wrap--collapsed { max-height: 310px; overflow: hidden; position: relative; }
.lic-stock-table-wrap--collapsed::after {
    content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 80px;
    background: linear-gradient(to bottom, transparent, var(--lic-white));
    pointer-events: none; border-radius: 0 0 14px 14px;
}

/* Toggle button */
.lic-stock__toggle {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 10px 24px; margin-top: 16px;
    background: var(--lic-deep); color: #fff; border: none; border-radius: 50px;
    font-family: var(--lic-body-font); font-size: 13px; font-weight: 600;
    letter-spacing: 0.01em; cursor: pointer;
    transition: background 200ms ease, transform 200ms ease, box-shadow 200ms ease;
}
.lic-stock__toggle:hover { background: var(--lic-navy); transform: translateY(-1px); box-shadow: 0 4px 14px rgba(12,30,60,.18); }
.lic-stock__toggle:active { transform: translateY(0); }
.lic-stock__toggle svg { transition: transform 250ms ease; }
.lic-stock__toggle--open svg { transform: rotate(180deg); }
.lic-stock__toggle .lic-stock__toggle-hide { display: none; }
.lic-stock__toggle--open .lic-stock__toggle-show { display: none; }
.lic-stock__toggle--open .lic-stock__toggle-hide { display: inline; }

/* Stock table controls & pagination */
.lic-stock-table__controls { display: flex; align-items: center; justify-content: space-between; padding: 12px 0; }
.lic-stock-table__counter { font-size: 13px; color: var(--lic-text-muted); }

.lic-stock-table thead th[data-sort] { cursor: pointer; user-select: none; position: relative; }
.lic-stock-table thead th[data-sort]::after { content: ''; display: inline-block; width: 0; height: 0; margin-left: 6px; vertical-align: middle; border-left: 4px solid transparent; border-right: 4px solid transparent; border-bottom: 4px solid #ccc; }
.lic-stock-table thead th.sort-asc::after { border-bottom: 4px solid var(--lic-deep); border-top: none; }
.lic-stock-table thead th.sort-desc::after { border-bottom: none; border-top: 4px solid var(--lic-deep); }

.lic-stock-table__pagination { display: flex; align-items: center; justify-content: center; gap: 4px; padding: 16px 0; }
.lic-stock-page { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; padding: 0 8px; border: 1px solid var(--lic-border); border-radius: 6px; background: #fff; font-size: 13px; color: var(--lic-text); cursor: pointer; transition: all .15s; }
.lic-stock-page:hover:not(.disabled):not(.active) { border-color: var(--lic-ocean); color: var(--lic-ocean); }
.lic-stock-page.active { background: var(--lic-deep); border-color: var(--lic-deep); color: #fff; }
.lic-stock-page.disabled { opacity: .4; cursor: default; }
.lic-stock-page__dots { padding: 0 4px; color: var(--lic-text-muted); }

@media (max-width: 768px) {
    .lic-stock-table { font-size: 13px; }
    .lic-stock-table thead th,
    .lic-stock-table tbody td { padding: 10px 10px; }
    .lic-stock-table__type { min-width: 120px; }
}

/* Teaser pills — "unlock more" hints on single-project (stock + features) */
.lic-stock__teaser,
.lic-features__teaser {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 20px 0 0;
    padding: 8px 18px;
    background: var(--lic-mist);
    border-radius: 999px;
    font-family: var(--lic-sans);
    font-size: 13px;
    font-weight: 500;
    color: var(--lic-ocean);
    line-height: 1.4;
    letter-spacing: .01em;
    max-width: 100%;
}
.lic-stock__teaser::before,
.lic-features__teaser::before {
    content: '';
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='11' width='18' height='11' rx='2'/><path d='M7 11V7a5 5 0 0 1 10 0v4'/></svg>") no-repeat center / contain;
            mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='11' width='18' height='11' rx='2'/><path d='M7 11V7a5 5 0 0 1 10 0v4'/></svg>") no-repeat center / contain;
}


/* ═══════════════════════════════════════════════════════════
   PULSE PAGE v2
   ═══════════════════════════════════════════════════════════ */

/* ── Disable theme header sticky on Pulse pages ── */
body.lic-pulse-page header,
body.lic-pulse-page .site-header,
body.lic-pulse-page #masthead,
body.lic-pulse-page [role="banner"] { position: relative !important; }

/* ── Pulse nav sticky (hardened against Elementor overrides) ── */
.lic-pulse-nav { position: sticky !important; top: 0 !important; z-index: 40 !important; background: rgba(255,255,255,.92) !important; backdrop-filter: blur(16px) !important; border-bottom: 1px solid var(--lic-border) !important; border-top: none !important; margin: 0 !important; padding: 0 !important; box-shadow: none !important; }
.lic-pulse-nav__inner { max-width: 1320px !important; margin: 0 auto !important; padding: 0 32px !important; display: flex !important; gap: 4px !important; overflow-x: auto !important; scrollbar-width: none; align-items: center !important; border: none !important; box-shadow: none !important; background: transparent !important; }
.lic-pulse-nav__inner::-webkit-scrollbar { display: none; }
.lic-pulse-nav__link { padding: 14px 16px !important; font-family: var(--lic-serif) !important; font-size: 14px !important; color: var(--lic-text-soft) !important; text-decoration: none !important; white-space: nowrap !important; border: none !important; border-bottom: 2px solid transparent !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; outline: none !important; line-height: 1.4 !important; margin: 0 !important; transition: color .2s, border-color .2s; }
.lic-pulse-nav__link:hover { color: var(--lic-deep) !important; background: transparent !important; border-bottom-color: transparent !important; }
.lic-pulse-nav__link.active { color: var(--lic-deep) !important; border-bottom: 2px solid var(--lic-sand) !important; background: transparent !important; }
.lic-pulse-nav__back-top { margin-left: auto !important; flex-shrink: 0 !important; display: flex !important; align-items: center !important; gap: 4px !important; padding: 6px 12px !important; font-family: var(--lic-sans) !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: .05em !important; color: var(--lic-text-muted) !important; text-decoration: none !important; border: 1px solid var(--lic-border) !important; background: transparent !important; cursor: pointer !important; border-radius: 6px !important; white-space: nowrap !important; box-shadow: none !important; outline: none !important; line-height: 1.4 !important; margin-top: 0 !important; margin-bottom: 0 !important; transition: color .2s, background .2s, border-color .2s; }
.lic-pulse-nav__back-top:hover { color: var(--lic-deep) !important; background: var(--lic-cloud) !important; border-color: var(--lic-text-muted) !important; }
.lic-pulse-nav__back-top svg { width: 14px !important; height: 14px !important; stroke: currentColor !important; fill: none !important; }

/* ── Hero split ── */
.lic-pulse__hero { display: grid; grid-template-columns: 1fr 1.2fr; min-height: 600px; }
.lic-pulse__hero-text { background: var(--lic-deep); color: #fff; padding: 64px 48px; display: flex; flex-direction: column; justify-content: center; }
.lic-pulse__hero-photo { position: relative; overflow: hidden; }
.lic-pulse__hero-photo img { width: 100%; height: 100%; object-fit: cover; }
.lic-pulse__hero-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(12,30,60,.15) 0%, transparent 60%); }
.lic-pulse__status { display: inline-flex; align-items: center; gap: 6px; padding: 4px 14px; border-radius: 20px; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; background: rgba(34,197,94,.15); color: #4ade80; border: 1px solid rgba(34,197,94,.3); width: fit-content; margin-bottom: 24px; }
.lic-pulse__status-dot { width: 6px; height: 6px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 8px rgba(34,197,94,.6); }
.lic-pulse__title { font-family: var(--lic-serif); font-size: clamp(2.5rem, 5vw, 4.5rem); font-weight: 500; margin: 0 0 4px; line-height: 1.05; }
.lic-pulse__developer { font-size: 13px; letter-spacing: .2em; text-transform: uppercase; color: var(--lic-sand); margin: 0 0 32px; }
.lic-pulse__location { display: flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 300; color: rgba(255,255,255,.7); margin-bottom: 40px; }
.lic-pulse__location svg { color: var(--lic-sand); flex-shrink: 0; }
.lic-pulse__hero-meta { border-top: 1px solid rgba(255,255,255,.1); padding-top: 32px; display: flex; flex-direction: column; gap: 24px; }
.lic-pulse__meta-item { display: flex; flex-direction: column; }
.lic-pulse__meta-label { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--lic-sand); margin-bottom: 4px; }
.lic-pulse__meta-value { font-family: var(--lic-serif); font-size: 1.75rem; }

/* ── Sections (shared) ── */
.lic-pulse__body { max-width: 1320px; margin: 0 auto; padding: 0 32px; }
.lic-pulse__section { padding: 72px 0; }
.lic-pulse__section-title { font-family: var(--lic-serif); font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 500; color: var(--lic-deep); margin: 0 0 24px; }

/* ── Intro ── */
.lic-pulse__intro { text-align: center; max-width: 820px; margin: 0 auto; padding: 72px 32px; }
.lic-pulse__intro .lic-pulse__content { font-size: 17px; line-height: 1.8; color: var(--lic-text-soft); font-weight: 300; font-style: italic; }
.lic-pulse__intro .lic-pulse__content h2,
.lic-pulse__intro .lic-pulse__content h3 { font-family: var(--lic-serif); color: var(--lic-deep); font-style: normal; }

/* ── Characteristics wrapper ── */
.lic-pulse__chars { background: var(--lic-cloud); padding: 72px 0; }
.lic-pulse__chars-inner { max-width: 1320px; margin: 0 auto; padding: 0 32px; }
.lic-pulse__chars-block { margin-bottom: 56px; }
.lic-pulse__chars-block:last-child { margin-bottom: 0; }

/* Feature icon cards (editorial) */
.lic-pulse__feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.lic-pulse__feature-card { display: flex; align-items: center; gap: 16px; background: #fff; padding: 20px 24px; border: 1px solid transparent; transition: border-color .2s, transform .2s; }
.lic-pulse__feature-card:hover { border-color: var(--lic-sand); transform: translateY(-2px); }
.lic-pulse__feature-icon { width: 48px; height: 48px; min-width: 48px; border-radius: 50%; background: var(--lic-cloud); display: flex; align-items: center; justify-content: center; color: var(--lic-deep); }
.lic-pulse__feature-icon svg { width: 22px; height: 22px; }
.lic-pulse__feature-text h3 { font-family: var(--lic-sans); font-size: 14px; font-weight: 600; color: var(--lic-deep); margin: 0; }

/* Amenity hybrid cards (photo or icon fallback) */
.lic-pulse__amenity-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.lic-pulse__amenity-card { border-radius: 16px; overflow: hidden; background: #fff; box-shadow: 0 2px 8px rgba(12,30,60,.04); transition: transform .3s, box-shadow .3s; display: flex; flex-direction: column; }
.lic-pulse__amenity-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(12,30,60,.1); }

/* Photo variant */
.lic-pulse__amenity-card-img { aspect-ratio: 4/3; overflow: hidden; }
.lic-pulse__amenity-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s; }
.lic-pulse__amenity-card:hover .lic-pulse__amenity-card-img img { transform: scale(1.08); }

/* Icon fallback variant */
.lic-pulse__amenity-card-icon { aspect-ratio: 4/3; background: linear-gradient(135deg, var(--lic-cloud) 0%, var(--lic-mist) 100%); display: flex; align-items: center; justify-content: center; }
.lic-pulse__amenity-card-icon-circle { width: 72px; height: 72px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; color: var(--lic-deep); box-shadow: 0 2px 8px rgba(12,30,60,.06); transition: transform .4s; }
.lic-pulse__amenity-card:hover .lic-pulse__amenity-card-icon-circle { transform: scale(1.1); }
.lic-pulse__amenity-card-icon-circle svg { width: 32px; height: 32px; }

/* Shared card body */
.lic-pulse__amenity-card-body { padding: 20px; }
.lic-pulse__amenity-card-body h3 { font-family: var(--lic-serif); font-size: 1.15rem; margin: 0; color: var(--lic-deep); }

/* ── Typologies ── */
.lic-pulse__typologies { padding: 72px 0; }
.lic-pulse__typologies-header { text-align: center; margin-bottom: 48px; }
.lic-pulse__typologies-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 1320px; margin: 0 auto; justify-content: center; }
/* When the project has fewer than 3 typologies, narrow the grid track count
   so the cards centre instead of leaving an empty third column. Cards keep
   the natural 1320px max-width via the parent. */
.lic-pulse__typologies-grid:has(> .lic-pulse__typo-card:nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 460px)); }
.lic-pulse__typologies-grid:has(> .lic-pulse__typo-card:only-child)              { grid-template-columns: minmax(0, 460px); }
.lic-pulse__typo-card { background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 10px 40px -15px rgba(12,30,60,.08); transition: transform .3s, box-shadow .3s; }
.lic-pulse__typo-card:hover { transform: translateY(-4px); box-shadow: 0 20px 50px -15px rgba(12,30,60,.12); }
.lic-pulse__typo-card-image { aspect-ratio: 16/10; overflow: hidden; }
.lic-pulse__typo-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s; }
.lic-pulse__typo-card:hover .lic-pulse__typo-card-image img { transform: scale(1.05); }
.lic-pulse__typo-card-body { padding: 28px; }
.lic-pulse__typo-card-body h3 { font-family: var(--lic-serif); font-size: 1.5rem; font-weight: 600; color: var(--lic-deep); margin: 0 0 16px; }
.lic-pulse__typo-card-meta { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.lic-pulse__typo-price { color: var(--lic-sand); font-weight: 600; font-size: 14px; letter-spacing: .03em; }
.lic-pulse__typo-area { color: var(--lic-text-muted); font-size: 13px; font-weight: 500; }
.lic-pulse__typo-cta { display: flex; width: 100%; align-items: center; justify-content: center; gap: 8px; padding: 14px; border: 1.5px solid var(--lic-deep); border-radius: 10px; font-size: 11px; font-weight: 500; letter-spacing: .15em; text-transform: uppercase; color: var(--lic-deep); text-decoration: none; transition: background .2s, color .2s; }
.lic-pulse__typo-cta:hover { background: var(--lic-deep); color: #fff; }

/* ── Why fits you ── */
.lic-pulse__why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.lic-pulse__why-card { background: var(--lic-cloud); padding: 40px 24px; border-radius: 14px; display: flex; flex-direction: column; align-items: center; text-align: center; border: 1px solid #fff; transition: transform .2s, box-shadow .2s; }
.lic-pulse__why-card:hover { transform: translateY(-3px); box-shadow: 0 12px 32px rgba(12,30,60,.08); }
.lic-pulse__why-icon { width: 44px; height: 44px; border-radius: 50%; background: var(--lic-sand); color: #fff; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; }
.lic-pulse__why-card h3 { font-family: var(--lic-serif); font-size: 1.35rem; margin: 0 0 8px; color: var(--lic-deep); }
.lic-pulse__why-card p { font-size: 14px; color: var(--lic-text-soft); margin: 0; line-height: 1.6; font-weight: 300; }

/* ── Video (cinema style) ── */
.lic-pulse__cinema { position: relative; aspect-ratio: 16/9; width: 100%; overflow: hidden; border-radius: 20px; box-shadow: 0 20px 60px rgba(12,30,60,.15); cursor: pointer; }
.lic-pulse__cinema-poster { width: 100%; height: 100%; object-fit: cover; transition: transform .7s; }
.lic-pulse__cinema:hover .lic-pulse__cinema-poster { transform: scale(1.03); }
.lic-pulse__cinema-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(12,30,60,.5) 0%, transparent 60%); transition: opacity .4s; }
.lic-pulse__cinema:hover .lic-pulse__cinema-overlay { opacity: .7; }
.lic-pulse__cinema-play { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; z-index: 2; }
.lic-pulse__cinema-btn { width: 80px !important; height: 80px !important; border-radius: 50% !important; border: 1px solid rgba(255,255,255,.2) !important; background: rgba(255,255,255,.1) !important; backdrop-filter: blur(12px) !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #fff !important; cursor: pointer !important; padding-left: 4px !important; box-shadow: none !important; outline: none !important; line-height: 1 !important; text-decoration: none !important; text-transform: none !important; letter-spacing: normal !important; font-size: inherit !important; min-width: 0 !important; transition: transform .3s, background .3s; }
.lic-pulse__cinema-btn svg { width: 32px !important; height: 32px !important; fill: #fff !important; stroke: none !important; }
.lic-pulse__cinema:hover .lic-pulse__cinema-btn { transform: scale(1.1); background: rgba(255,255,255,.2) !important; }
.lic-pulse__cinema-label { margin-top: 12px; font-size: 10px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: #fff; opacity: .9; }
.lic-pulse__cinema-iframe { position: absolute; inset: 0; z-index: 3; }
.lic-pulse__cinema-iframe iframe { width: 100%; height: 100%; border: none; }
.lic-pulse__cinema-iframe[hidden] { display: none; }

/* ═══════════════════════════════════════════════════════════
   Pulse tabs (Gallery / Floor plans / Stock / Entorno / Specs / Sustainability)
   Full !important + high-specificity wrapper path so Elementor's global
   button/select rules can't win.
   Mobile (≤768px): the horizontal tabs are swapped for a native <select>.
   ═══════════════════════════════════════════════════════════ */
.lic-pulse-tabs.lic-pulse-tabs { padding-top: 40px !important; padding-bottom: 40px !important; }
.lic-pulse-tabs .lic-pulse-tabs__header {
    text-align: center !important;
    max-width: 720px !important;
    margin: 0 auto 32px !important;
    padding: 0 !important;
}
.lic-pulse-tabs .lic-pulse-tabs__title {
    font-family: var(--lic-serif) !important;
    font-size: clamp(1.9rem, 3.4vw, 2.75rem) !important;
    font-weight: 500 !important;
    color: var(--lic-deep) !important;
    line-height: 1.15 !important;
    margin: 0 0 14px !important;
}
.lic-pulse-tabs .lic-pulse-tabs__subtitle {
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: var(--lic-text-soft) !important;
    font-weight: 300 !important;
    margin: 0 !important;
}
.lic-pulse-tabs .lic-pulse-tabs__nav {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid var(--lic-border) !important;
    border-radius: 0 !important;
    margin: 0 0 40px !important;
    box-sizing: border-box !important;
}
.lic-pulse-tabs .lic-pulse-tabs__nav .lic-pulse-tabs__tab {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 16px 28px !important;
    margin: 0 !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    background: transparent !important;
    background-image: none !important;
    color: var(--lic-text-soft) !important;
    border-radius: 0 !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-align: center !important;
    text-decoration: none !important;
    text-shadow: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    box-shadow: none !important;
    outline: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    margin-bottom: -1px !important;
    transition: color .2s ease, border-color .2s ease !important;
}
.lic-pulse-tabs .lic-pulse-tabs__nav .lic-pulse-tabs__tab:hover {
    background: transparent !important;
    color: var(--lic-deep) !important;
    box-shadow: none !important;
}
.lic-pulse-tabs .lic-pulse-tabs__nav .lic-pulse-tabs__tab:focus-visible {
    outline: 2px solid var(--lic-ocean) !important;
    outline-offset: 2px !important;
}
.lic-pulse-tabs .lic-pulse-tabs__nav .lic-pulse-tabs__tab.is-active,
.lic-pulse-tabs .lic-pulse-tabs__nav .lic-pulse-tabs__tab.is-active:hover,
.lic-pulse-tabs .lic-pulse-tabs__nav .lic-pulse-tabs__tab.is-active:focus {
    background: transparent !important;
    background-image: none !important;
    color: var(--lic-deep) !important;
    border-bottom-color: var(--lic-accent, #b2825e) !important;
    box-shadow: none !important;
}
.lic-pulse-tabs .lic-pulse-tabs__nav .lic-pulse-tabs__tab .lic-pulse-tabs__tab-icon {
    flex: 0 0 auto !important;
    width: 18px !important;
    height: 18px !important;
    color: currentColor !important;
    stroke: currentColor !important;
    fill: none !important;
    opacity: .85 !important;
    pointer-events: none !important;
}
.lic-pulse-tabs .lic-pulse-tabs__nav .lic-pulse-tabs__tab .lic-pulse-tabs__tab-label {
    display: inline-block !important;
}
.lic-pulse-tabs .lic-pulse-tabs__nav .lic-pulse-tabs__tab.is-active .lic-pulse-tabs__tab-icon {
    opacity: 1 !important;
}

.lic-pulse-tabs .lic-pulse-tabs__select {
    display: none !important;
    width: 100% !important;
    padding: 14px 44px 14px 18px !important;
    margin: 0 0 24px !important;
    border: 1px solid var(--lic-border) !important;
    border-radius: 14px !important;
    background: var(--lic-cloud) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230c1e3c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") no-repeat right 16px center !important;
    background-size: 14px 14px !important;
    color: var(--lic-deep) !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    box-shadow: none !important;
}
.lic-pulse-tabs .lic-pulse-tabs__select:focus-visible {
    outline: 2px solid var(--lic-ocean) !important;
    outline-offset: 2px !important;
}

.lic-pulse-tabs .lic-pulse-tabs__panels { display: block !important; }
.lic-pulse-tabs .lic-pulse-tabs__panel[hidden] { display: none !important; }
.lic-pulse-tabs .lic-pulse-tabs__empty {
    padding: 48px 24px !important;
    text-align: center !important;
    background: var(--lic-cloud) !important;
    border: 1px dashed var(--lic-border) !important;
    border-radius: 16px !important;
    color: var(--lic-text-soft) !important;
    font-size: 14px !important;
}
.lic-pulse-tabs .lic-pulse-tabs__empty p { margin: 0 !important; }

@media (max-width: 768px) {
    .lic-pulse-tabs .lic-pulse-tabs__nav { display: none !important; }
    .lic-pulse-tabs .lic-pulse-tabs__select { display: block !important; }
}

/* ── Floor plans tab: typology cards (auto-sourced from stock) ── */
.lic-pulse-tabs .lic-pulse-typology-plans {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
    gap: 20px !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
}
.lic-pulse-tabs .lic-pulse-typology-plan {
    display: flex !important;
    flex-direction: column !important;
    background: #fff !important;
    border: 1px solid var(--lic-border) !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    text-decoration: none !important;
    color: inherit !important;
    box-shadow: 0 4px 14px rgba(12, 30, 60, .06) !important;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}
.lic-pulse-tabs .lic-pulse-typology-plan:hover {
    transform: translateY(-2px) !important;
    border-color: var(--lic-deep) !important;
    box-shadow: 0 12px 28px rgba(12, 30, 60, .14) !important;
}
.lic-pulse-tabs .lic-pulse-typology-plan:focus-visible {
    outline: 2px solid var(--lic-ocean) !important;
    outline-offset: 2px !important;
}
.lic-pulse-tabs .lic-pulse-typology-plan__media {
    position: relative !important;
    aspect-ratio: 4 / 3 !important;
    background: var(--lic-cloud) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}
.lic-pulse-tabs .lic-pulse-typology-plan__media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    padding: 12px !important;
    box-sizing: border-box !important;
    background: #fff !important;
    display: block !important;
}
.lic-pulse-tabs .lic-pulse-typology-plan__file-icon {
    color: var(--lic-ocean) !important;
    opacity: .85 !important;
}
.lic-pulse-tabs .lic-pulse-typology-plan__ext {
    position: absolute !important;
    bottom: 14px !important;
    right: 14px !important;
    font-size: 10px !important;
    letter-spacing: .1em !important;
    padding: 3px 8px !important;
    background: rgba(12, 30, 60, .08) !important;
    color: var(--lic-deep) !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
}
.lic-pulse-tabs .lic-pulse-typology-plan__body {
    padding: 16px 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}
.lic-pulse-tabs .lic-pulse-typology-plan__label {
    font-family: var(--lic-serif) !important;
    font-size: 1.05rem !important;
    color: var(--lic-deep) !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
}
.lic-pulse-tabs .lic-pulse-typology-plan__cta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 12px !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    color: var(--lic-ocean) !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
}

/* ── Entorno tab: image left + rich text right ── */
.lic-pulse-tabs .lic-pulse-entorno {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 32px !important;
    align-items: center !important;
    max-width: 980px !important;
    margin: 0 auto !important;
}
.lic-pulse-tabs .lic-pulse-entorno__media {
    border-radius: 16px !important;
    overflow: hidden !important;
    aspect-ratio: 4 / 3 !important;
    background: var(--lic-cloud) !important;
}
.lic-pulse-tabs .lic-pulse-entorno__media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}
.lic-pulse-tabs .lic-pulse-entorno__body {
    color: var(--lic-text) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}
.lic-pulse-tabs .lic-pulse-entorno__body p { margin: 0 0 14px !important; }
.lic-pulse-tabs .lic-pulse-entorno__body p:last-child { margin-bottom: 0 !important; }
.lic-pulse-tabs .lic-pulse-entorno__body h3,
.lic-pulse-tabs .lic-pulse-entorno__body h4 {
    font-family: var(--lic-serif) !important;
    color: var(--lic-deep) !important;
    margin: 20px 0 8px !important;
    font-weight: 500 !important;
}
@media (max-width: 768px) {
    .lic-pulse-tabs .lic-pulse-entorno {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
}

/* ── Specifications tab: shared copy + downloads list ── */
.lic-pulse-tabs .lic-pulse-specs {
    max-width: 980px !important;
    margin: 0 auto !important;
}
.lic-pulse-tabs .lic-pulse-specs__title {
    font-family: var(--lic-serif) !important;
    font-size: clamp(1.6rem, 2.6vw, 2rem) !important;
    color: var(--lic-deep) !important;
    font-weight: 500 !important;
    margin: 0 0 14px !important;
    text-align: center !important;
}
.lic-pulse-tabs .lic-pulse-specs__body {
    color: var(--lic-text) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    margin: 0 0 28px !important;
    text-align: center !important;
}
.lic-pulse-tabs .lic-pulse-specs__downloads-label {
    font-size: 11px !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    color: var(--lic-text-soft) !important;
    font-weight: 500 !important;
    margin: 0 0 12px !important;
    text-align: center !important;
}
.lic-pulse-tabs .lic-pulse-specs__downloads {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(240px, max-content)) !important;
    justify-content: center !important;
    gap: 10px !important;
}
.lic-pulse-tabs .lic-pulse-specs__downloads li { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.lic-pulse-tabs .lic-pulse-specs__download {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px 14px !important;
    background: #fff !important;
    border: 1px solid var(--lic-border) !important;
    border-radius: 12px !important;
    color: var(--lic-deep) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: border-color .2s ease, box-shadow .2s ease, transform .15s ease !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.lic-pulse-tabs .lic-pulse-specs__download:hover {
    border-color: var(--lic-deep) !important;
    box-shadow: 0 6px 16px rgba(12, 30, 60, .1) !important;
    transform: translateY(-1px) !important;
}
.lic-pulse-tabs .lic-pulse-specs__download-icon {
    flex: 0 0 auto !important;
    color: var(--lic-ocean) !important;
}
.lic-pulse-tabs .lic-pulse-specs__download-name {
    flex: 1 1 auto !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
.lic-pulse-tabs .lic-pulse-specs__download-ext {
    font-size: 10px !important;
    letter-spacing: .08em !important;
    padding: 3px 8px !important;
    background: var(--lic-cloud) !important;
    border-radius: 6px !important;
    color: var(--lic-text-soft) !important;
    font-weight: 600 !important;
}
.lic-pulse-tabs .lic-pulse-specs__empty {
    padding: 20px !important;
    background: var(--lic-cloud) !important;
    border: 1px dashed var(--lic-border) !important;
    border-radius: 12px !important;
    color: var(--lic-text-soft) !important;
    font-size: 14px !important;
    margin: 0 !important;
    text-align: center !important;
}

/* ── Sustainability tab (Metrovacesa) ── */
.lic-pulse-tabs .lic-metro-sust {
    max-width: 980px !important;
    margin: 0 auto !important;
}
.lic-pulse-tabs .lic-metro-sust__title {
    font-family: var(--lic-serif) !important;
    font-size: clamp(1.6rem, 2.6vw, 2rem) !important;
    color: var(--lic-deep) !important;
    font-weight: 500 !important;
    margin: 0 0 14px !important;
}
.lic-pulse-tabs .lic-metro-sust__intro {
    color: var(--lic-text) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    margin: 0 0 32px !important;
    max-width: 720px !important;
}
.lic-pulse-tabs .lic-metro-sust__features {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 18px !important;
    padding: 28px !important;
    background: rgba(163, 212, 201, .18) !important;
    border: 1px solid rgba(163, 212, 201, .4) !important;
    border-radius: 16px !important;
    margin: 0 0 20px !important;
}
.lic-pulse-tabs .lic-metro-sust__feature {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
}
.lic-pulse-tabs .lic-metro-sust__feature-icon {
    flex: 0 0 auto !important;
    color: #2f7266 !important;
}
.lic-pulse-tabs .lic-metro-sust__feature-label {
    font-size: 15px !important;
    font-weight: 500 !important;
    color: var(--lic-deep) !important;
    line-height: 1.3 !important;
}

.lic-pulse-tabs .lic-metro-sust__cards {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
    gap: 16px !important;
    padding: 24px !important;
    background: rgba(163, 212, 201, .18) !important;
    border: 1px solid rgba(163, 212, 201, .4) !important;
    border-radius: 16px !important;
    margin: 0 0 28px !important;
}
.lic-pulse-tabs .lic-metro-sust__card {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
}
.lic-pulse-tabs .lic-metro-sust__card-icon {
    flex: 0 0 auto !important;
    color: #2f7266 !important;
    margin-top: 2px !important;
}
.lic-pulse-tabs .lic-metro-sust__card-text { min-width: 0 !important; }
.lic-pulse-tabs .lic-metro-sust__card-eyebrow {
    font-size: 10px !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    color: var(--lic-text-soft) !important;
    font-weight: 600 !important;
    margin: 0 0 2px !important;
    line-height: 1.3 !important;
}
.lic-pulse-tabs .lic-metro-sust__card-label {
    font-size: 14px !important;
    color: var(--lic-deep) !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}

.lic-pulse-tabs .lic-metro-sust__video-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px 22px !important;
    margin: 0 !important;
    border: none !important;
    background: var(--lic-deep) !important;
    color: #fff !important;
    border-radius: 999px !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    text-decoration: none !important;
    box-shadow: 0 6px 16px rgba(12, 30, 60, .18) !important;
    transition: transform .15s ease, box-shadow .2s ease, background .2s ease !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}
.lic-pulse-tabs .lic-metro-sust__video-btn:hover {
    background: var(--lic-deep) !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 10px 22px rgba(12, 30, 60, .24) !important;
}
.lic-pulse-tabs .lic-metro-sust__video-btn:focus-visible {
    outline: 2px solid var(--lic-ocean) !important;
    outline-offset: 2px !important;
}

/* ── Video lightbox (shared component) ── */
body.lic-lightbox-open { overflow: hidden !important; }
.lic-lightbox {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px !important;
    box-sizing: border-box !important;
}
.lic-lightbox[hidden] { display: none !important; }
.lic-lightbox .lic-lightbox__backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(8, 20, 38, .82) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    cursor: pointer !important;
}
.lic-lightbox .lic-lightbox__dialog {
    position: relative !important;
    width: 100% !important;
    max-width: 960px !important;
    aspect-ratio: 16 / 9 !important;
    background: #000 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    box-shadow: 0 32px 80px rgba(0, 0, 0, .6) !important;
}
.lic-lightbox .lic-lightbox__close {
    position: absolute !important;
    top: -44px !important;
    right: 0 !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: rgba(255, 255, 255, .12) !important;
    color: #fff !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    transition: background .2s ease !important;
}
.lic-lightbox .lic-lightbox__close:hover {
    background: rgba(255, 255, 255, .22) !important;
    color: #fff !important;
}
.lic-lightbox .lic-lightbox__close:focus-visible {
    outline: 2px solid #fff !important;
    outline-offset: 2px !important;
}
.lic-lightbox .lic-lightbox__iframe-wrap {
    width: 100% !important;
    height: 100% !important;
}
.lic-lightbox .lic-lightbox__iframe-wrap iframe {
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    display: block !important;
}
@media (max-width: 640px) {
    .lic-lightbox { padding: 16px !important; }
    .lic-lightbox .lic-lightbox__close { top: -40px !important; }
}

/* ── Carousel (shared by Gallery + Floor plans tabs) ──
   Two visible slides on desktop, one on mobile. Scroll-snap handles the
   paging, dots are generated by lic-pulse.js. */
.lic-pulse-tabs .lic-pulse-carousel {
    position: relative !important;
    width: 100% !important;
    overflow: visible !important;
    /* Override the legacy .lic-gallery mist background — the class is
       retained for the lightbox hook, but the carousel has no chrome. */
    background: transparent !important;
}
.lic-pulse-tabs .lic-pulse-carousel .lic-pulse-carousel__track {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 0 !important;
    margin: 0 0 24px !important;
    scrollbar-width: none !important;
    box-sizing: border-box !important;
}
.lic-pulse-tabs .lic-pulse-carousel .lic-pulse-carousel__track::-webkit-scrollbar {
    display: none !important;
}
.lic-pulse-tabs .lic-pulse-carousel .lic-pulse-carousel__slide {
    flex: 0 0 calc((100% - 16px) / 2) !important;
    scroll-snap-align: start !important;
    display: block !important;
    aspect-ratio: 4 / 3 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: var(--lic-cloud) !important;
    text-decoration: none !important;
    cursor: pointer !important;
    position: relative !important;
    box-shadow: 0 8px 24px rgba(12, 30, 60, .08) !important;
}
.lic-pulse-tabs .lic-pulse-carousel .lic-pulse-carousel__slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform .6s ease !important;
}
.lic-pulse-tabs .lic-pulse-carousel .lic-pulse-carousel__slide:hover img {
    transform: scale(1.04) !important;
}
.lic-pulse-tabs .lic-pulse-carousel--plans .lic-pulse-carousel__slide {
    background: #fff !important;
    border: 1px solid var(--lic-border) !important;
    aspect-ratio: 3 / 2 !important;
}
.lic-pulse-tabs .lic-pulse-carousel--plans .lic-pulse-carousel__slide img {
    object-fit: contain !important;
    padding: 16px !important;
    box-sizing: border-box !important;
    background: #fff !important;
}

/* Dots */
.lic-pulse-tabs .lic-pulse-carousel .lic-pulse-carousel__dots {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    list-style: none !important;
}
.lic-pulse-tabs .lic-pulse-carousel .lic-pulse-carousel__dots .lic-pulse-carousel__dot {
    width: 8px !important;
    height: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 50% !important;
    background: var(--lic-border) !important;
    cursor: pointer !important;
    box-shadow: none !important;
    outline: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    transition: background .2s ease, transform .15s ease, width .2s ease !important;
}
.lic-pulse-tabs .lic-pulse-carousel .lic-pulse-carousel__dots .lic-pulse-carousel__dot:hover {
    background: var(--lic-text-soft) !important;
}
.lic-pulse-tabs .lic-pulse-carousel .lic-pulse-carousel__dots .lic-pulse-carousel__dot:focus-visible {
    outline: 2px solid var(--lic-ocean) !important;
    outline-offset: 2px !important;
}
.lic-pulse-tabs .lic-pulse-carousel .lic-pulse-carousel__dots .lic-pulse-carousel__dot.is-active {
    background: var(--lic-deep) !important;
    width: 24px !important;
    border-radius: 4px !important;
}

@media (max-width: 768px) {
    .lic-pulse-tabs .lic-pulse-carousel .lic-pulse-carousel__slide {
        flex: 0 0 100% !important;
    }
}

/* ── Financial (hero card + stack) ── */
/* ── Mortgage calculator (top of Financial Overview) ── */
.lic-pulse__section .lic-pulse-mortgage {
    max-width: 1240px !important;
    margin: 0 auto 48px !important;
    padding: 32px 32px 28px !important;
    background: #fff !important;
    border: 1px solid var(--lic-border) !important;
    border-radius: 20px !important;
    box-shadow: 0 8px 24px rgba(12, 30, 60, .06) !important;
    box-sizing: border-box !important;
}
.lic-pulse__section .lic-pulse-mortgage__header {
    margin: 0 0 24px !important;
}
.lic-pulse__section .lic-pulse-mortgage__title {
    font-family: var(--lic-serif) !important;
    font-size: clamp(1.4rem, 2.2vw, 1.75rem) !important;
    font-weight: 500 !important;
    color: var(--lic-deep) !important;
    margin: 0 0 6px !important;
    line-height: 1.2 !important;
}
.lic-pulse__section .lic-pulse-mortgage__subtitle {
    color: var(--lic-text-soft) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    max-width: 640px !important;
}

.lic-pulse__section .lic-pulse-mortgage__grid {
    display: grid !important;
    grid-template-columns: minmax(0, 3fr) minmax(220px, 1fr) !important;
    gap: 32px !important;
    align-items: center !important;
    margin: 0 0 24px !important;
}
.lic-pulse__section .lic-pulse-mortgage__inputs {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
}
.lic-pulse__section .lic-pulse-mortgage__field {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    padding: 10px 14px !important;
    margin: 0 !important;
    border: 1px solid var(--lic-border) !important;
    border-radius: 12px !important;
    background: #fff !important;
    cursor: text !important;
    transition: border-color .2s ease, box-shadow .2s ease !important;
}
.lic-pulse__section .lic-pulse-mortgage__field:focus-within {
    border-color: var(--lic-deep) !important;
    box-shadow: 0 0 0 3px rgba(12, 30, 60, .08) !important;
}
.lic-pulse__section .lic-pulse-mortgage__label {
    font-size: 11px !important;
    letter-spacing: .08em !important;
    color: var(--lic-text-soft) !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
}
.lic-pulse__section .lic-pulse-mortgage__input-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.lic-pulse__section .lic-pulse-mortgage__input {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    color: var(--lic-deep) !important;
    font-family: inherit !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    outline: none !important;
    box-shadow: none !important;
    -moz-appearance: textfield !important;
}
.lic-pulse__section .lic-pulse-mortgage__input::-webkit-outer-spin-button,
.lic-pulse__section .lic-pulse-mortgage__input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}
.lic-pulse__section .lic-pulse-mortgage__input::placeholder {
    color: var(--lic-text-soft) !important;
    font-weight: 400 !important;
}
.lic-pulse__section .lic-pulse-mortgage__input-suffix {
    flex: 0 0 auto !important;
    color: var(--lic-text-soft) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    display: inline-flex !important;
    align-items: center !important;
}

.lic-pulse__section .lic-pulse-mortgage__result {
    padding-left: 24px !important;
    border-left: 1px solid var(--lic-border) !important;
}
.lic-pulse__section .lic-pulse-mortgage__result-label {
    font-size: 13px !important;
    color: var(--lic-text-soft) !important;
    margin: 0 0 6px !important;
    font-weight: 400 !important;
}
.lic-pulse__section .lic-pulse-mortgage__result-value {
    display: flex !important;
    align-items: baseline !important;
    gap: 6px !important;
    margin: 0 0 6px !important;
}
.lic-pulse__section .lic-pulse-mortgage__result-number {
    font-family: var(--lic-serif) !important;
    font-size: clamp(2rem, 3.6vw, 2.75rem) !important;
    font-weight: 500 !important;
    color: var(--lic-deep) !important;
    line-height: 1 !important;
}
.lic-pulse__section .lic-pulse-mortgage__result-currency {
    font-family: var(--lic-serif) !important;
    font-size: clamp(1.3rem, 2vw, 1.6rem) !important;
    color: var(--lic-deep) !important;
    font-weight: 500 !important;
}
.lic-pulse__section .lic-pulse-mortgage__result-currency sup {
    font-size: .55em !important;
    color: var(--lic-text-soft) !important;
    font-weight: 400 !important;
    vertical-align: super !important;
}
.lic-pulse__section .lic-pulse-mortgage__result-summary {
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: var(--lic-text-soft) !important;
    margin: 0 !important;
    font-weight: 300 !important;
}

.lic-pulse__section .lic-pulse-mortgage__disclaimer {
    font-size: 12px !important;
    line-height: 1.55 !important;
    color: var(--lic-text-muted, var(--lic-text-soft)) !important;
    font-weight: 300 !important;
    margin: 0 !important;
    max-width: 900px !important;
}
.lic-pulse__section .lic-pulse-mortgage__disclaimer sup {
    color: var(--lic-text-soft) !important;
    margin-right: 2px !important;
}

@media (max-width: 900px) {
    .lic-pulse__section .lic-pulse-mortgage__grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    .lic-pulse__section .lic-pulse-mortgage__result {
        padding-left: 0 !important;
        padding-top: 20px !important;
        border-left: none !important;
        border-top: 1px solid var(--lic-border) !important;
    }
}
@media (max-width: 640px) {
    .lic-pulse__section .lic-pulse-mortgage {
        padding: 24px 20px !important;
        margin-bottom: 32px !important;
    }
    .lic-pulse__section .lic-pulse-mortgage__inputs {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
}

.lic-pulse__fin-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: stretch; }

/* Hero card (payment schedule) */
.lic-pulse__fin-hero { background: var(--lic-deep); color: #fff; padding: 40px; border-radius: 20px; display: flex; flex-direction: column; position: relative; overflow: hidden; }
.lic-pulse__fin-hero::before { content: ''; position: absolute; top: -60px; right: -60px; width: 200px; height: 200px; background: rgba(91,155,213,.08); border-radius: 50%; filter: blur(40px); pointer-events: none; }
.lic-pulse__fin-hero svg { color: var(--lic-sand); margin-bottom: 20px; }
.lic-pulse__fin-hero h3 { font-family: var(--lic-serif); font-size: 2rem; margin: 0 0 24px; font-weight: 400; line-height: 1.2; }
.lic-pulse__fin-hero-content { font-size: 15px; color: rgba(255,255,255,.75); line-height: 1.8; margin: 0; }

/* Stack cards (yield, costs, financing) */
.lic-pulse__fin-stack { display: flex; flex-direction: column; gap: 8px; }
.lic-pulse__fin-row { display: flex; align-items: center; gap: 20px; background: #fff; padding: 24px; border-radius: 16px; border: 1px solid rgba(197,198,206,.15); transition: box-shadow .3s; }
.lic-pulse__fin-row:hover { box-shadow: 0 8px 24px rgba(12,30,60,.06); }
.lic-pulse__fin-row-icon { width: 48px; height: 48px; min-width: 48px; background: var(--lic-cloud); border-radius: 12px; display: flex; align-items: center; justify-content: center; }
.lic-pulse__fin-row-icon svg { color: var(--lic-sand); }
.lic-pulse__fin-row h4 { font-family: var(--lic-sans); font-size: 14px; font-weight: 600; color: var(--lic-deep); margin: 0 0 4px; }
.lic-pulse__fin-row p { font-size: 14px; color: var(--lic-text-soft); margin: 0; line-height: 1.5; }

/* ── Stock table ── */
.lic-pulse__stock { overflow-x: auto; }
.lic-pulse__stock table { width: 100%; text-align: left; border-collapse: collapse; }
.lic-pulse__stock th { padding: 12px 16px; font-size: 11px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; color: var(--lic-text-muted); border-bottom: 1px solid var(--lic-border); }
.lic-pulse__stock td { padding: 16px; font-size: 14px; border-bottom: 1px solid var(--lic-cloud); }
.lic-pulse__stock tr:hover td { background: var(--lic-cloud); }
.lic-pulse__stock-badge { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 12px; font-weight: 500; }
.lic-pulse__stock-plan-cell { text-align: center; width: 52px; }
.lic-pulse__stock-plan {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    color: var(--lic-text-soft);
    text-decoration: none;
    transition: background .2s ease, color .2s ease;
}
.lic-pulse__stock-plan:hover { background: var(--lic-cloud); color: var(--lic-deep); }
.lic-pulse__stock-plan-empty { color: var(--lic-text-muted); }
.lic-pulse__stock-badge--available { background: rgba(34,197,94,.1); color: #16a34a; }
.lic-pulse__stock-badge--reserved { background: rgba(249,115,22,.1); color: #ea580c; }
.lic-pulse__stock-badge--sold { background: rgba(239,68,68,.1); color: #dc2626; }

/* ── Location (map-first with glass overlay) ── */
.lic-pulse__location-section { background: var(--lic-cloud); padding: 72px 0; }
.lic-pulse__location-section .lic-pulse__section-title { padding: 0 32px; max-width: 1320px; margin: 0 auto 24px; }
.lic-pulse__location-wrap { max-width: 1320px; margin: 0 auto; padding: 0 32px; }
.lic-pulse__location-mapbox { position: relative; border-radius: 20px; overflow: hidden; min-height: 500px; box-shadow: 0 12px 40px rgba(12,30,60,.1); border: 3px solid #fff; }
.lic-pulse__location-mapbox .lic-map-single { width: 100%; height: 500px; }

/* Side-by-side layout when nearby points exist — mirrors the public
   single-project pattern. Pulse uses its own class namespace because the
   map container has its own visual treatment (glass overlays, 500px height). */
.lic-pulse__location-wrap.lic-pulse__location-wrap--with-points {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px) !important;
    gap: 24px !important;
    align-items: stretch !important;
}
.lic-pulse__location-wrap--with-points .lic-pulse__location-mapbox {
    min-height: 500px !important;
    height: 100% !important;
}
.lic-pulse__location-wrap--with-points .lic-pulse__location-mapbox .lic-map-single {
    height: 100% !important;
    min-height: 500px !important;
}
.lic-pulse__location-wrap--with-points .lic-location__points--pulse {
    margin-top: 0 !important;
    align-self: stretch !important;
}
.lic-pulse__location-wrap--with-points .lic-location__points-list {
    max-height: none !important;
    overflow: visible !important;
}
@media (max-width: 900px) {
    .lic-pulse__location-wrap.lic-pulse__location-wrap--with-points {
        grid-template-columns: 1fr !important;
    }
    .lic-pulse__location-wrap--with-points .lic-pulse__location-mapbox {
        min-height: 300px !important;
    }
    .lic-pulse__location-wrap--with-points .lic-pulse__location-mapbox .lic-map-single {
        height: 300px !important;
        min-height: 300px !important;
    }
}

/* Glass cards overlaid on map */
.lic-pulse__location-glass { position: absolute; bottom: 24px; left: 24px; display: flex; gap: 12px; z-index: 400; }
.lic-pulse__location-glass-card { background: rgba(255,255,255,.85); backdrop-filter: blur(16px); padding: 24px; border-radius: 20px; border: 1px solid rgba(255,255,255,.4); box-shadow: 0 8px 32px rgba(12,30,60,.12); min-width: 240px; }
.lic-pulse__location-glass-head { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.lic-pulse__location-glass-head svg { color: var(--lic-sand); flex-shrink: 0; }
.lic-pulse__location-glass-head span { font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: var(--lic-text-muted); }
.lic-pulse__location-glass-name { font-size: 14px; font-weight: 600; color: var(--lic-deep); margin: 0 0 4px; }
.lic-pulse__location-glass-value { font-family: var(--lic-serif); font-size: 2.5rem; color: var(--lic-deep); line-height: 1; }

/* ── CTA ── */
.lic-pulse__cta-card { background: var(--lic-deep); border-radius: 24px; padding: 64px; display: flex; align-items: center; justify-content: space-between; gap: 40px; position: relative; overflow: hidden; margin: 0 0 72px; }
.lic-pulse__cta-card::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 70% 30%, rgba(201,169,110,.2) 0%, transparent 70%); pointer-events: none; }
.lic-pulse__cta-text { position: relative; z-index: 1; max-width: 560px; }
.lic-pulse__cta-text h2 { font-family: var(--lic-serif); font-size: clamp(1.75rem, 3vw, 2.5rem); color: #fff; margin: 0 0 12px; }
.lic-pulse__cta-text p { font-size: 16px; color: rgba(255,255,255,.6); margin: 0; font-weight: 300; font-style: italic; }
.lic-pulse__cta-btn { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 10px; padding: 16px 36px; background: var(--lic-sand); color: #fff; border-radius: 40px; font-size: 13px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; text-decoration: none; transition: transform .2s, box-shadow .2s; white-space: nowrap; }
.lic-pulse__cta-btn:hover { transform: scale(1.04); box-shadow: 0 8px 24px rgba(201,169,110,.3); }

/* ── Payment terms (above CTA) ──
   High specificity via .lic-pulse parent + !important on every property
   (per project convention) to win over Elementor / theme overrides.
   Animation/opacity are the only properties allowed to skip !important. */
.lic-pulse .lic-pulse-payment { padding-top: 24px !important; padding-bottom: 24px !important; }
.lic-pulse .lic-pulse-payment__card { background: #fff !important; border: 1px solid var(--lic-border) !important; border-radius: 20px !important; padding: 48px 56px !important; box-shadow: 0 1px 2px rgba(12,30,60,.04) !important; }
.lic-pulse .lic-pulse-payment__header { margin: 0 0 32px !important; }
.lic-pulse .lic-pulse-payment__title { font-family: var(--lic-serif) !important; font-size: clamp(1.5rem, 2.4vw, 2rem) !important; font-weight: 500 !important; color: var(--lic-deep) !important; margin: 0 !important; letter-spacing: -.01em !important; }
.lic-pulse .lic-pulse-payment__steps { list-style: none !important; padding: 0 !important; margin: 0 !important; display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 0 !important; }
.lic-pulse .lic-pulse-payment__step { display: grid !important; grid-template-columns: auto auto 1fr !important; align-items: center !important; gap: 16px !important; padding: 24px 28px 24px 0 !important; position: relative !important; }
.lic-pulse .lic-pulse-payment__step:not(:nth-last-child(-n+2))::after { content: '' !important; position: absolute !important; left: 0 !important; right: 28px !important; bottom: 0 !important; height: 1px !important; background: var(--lic-border) !important; }
.lic-pulse .lic-pulse-payment__step:nth-child(odd) { padding-right: 36px !important; border-right: 1px solid var(--lic-border) !important; }
.lic-pulse .lic-pulse-payment__step:nth-child(even) { padding-left: 36px !important; }
.lic-pulse .lic-pulse-payment__step-num { font-family: var(--lic-serif) !important; font-size: 1.5rem !important; font-weight: 500 !important; color: var(--lic-sand) !important; width: 36px !important; height: 36px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; border: 1px solid var(--lic-sand) !important; border-radius: 50% !important; line-height: 1 !important; }
.lic-pulse .lic-pulse-payment__step-icon { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 40px !important; height: 40px !important; border-radius: 12px !important; background: var(--lic-cloud) !important; color: var(--lic-deep) !important; }
.lic-pulse .lic-pulse-payment__step-body { min-width: 0 !important; }
.lic-pulse .lic-pulse-payment__step-label { font-family: var(--lic-sans) !important; font-size: 1rem !important; font-weight: 600 !important; color: var(--lic-deep) !important; margin: 0 0 4px !important; line-height: 1.3 !important; }
.lic-pulse .lic-pulse-payment__step-desc { font-size: .9rem !important; color: var(--lic-text-soft) !important; margin: 0 !important; line-height: 1.45 !important; }
.lic-pulse .lic-pulse-payment__footer { margin-top: 32px !important; padding-top: 20px !important; border-top: 1px solid var(--lic-border) !important; }
.lic-pulse .lic-pulse-payment__taxes-note { font-size: .8rem !important; color: var(--lic-text-muted) !important; margin: 0 !important; font-style: italic !important; line-height: 1.5 !important; }

@media (max-width: 768px) {
    .lic-pulse .lic-pulse-payment__card { padding: 32px 24px !important; border-radius: 16px !important; }
    .lic-pulse .lic-pulse-payment__steps { grid-template-columns: 1fr !important; }
    .lic-pulse .lic-pulse-payment__step { padding: 20px 0 !important; }
    .lic-pulse .lic-pulse-payment__step:nth-child(odd),
    .lic-pulse .lic-pulse-payment__step:nth-child(even) { padding-right: 0 !important; padding-left: 0 !important; border-right: 0 !important; }
    .lic-pulse .lic-pulse-payment__step:not(:last-child)::after { content: '' !important; position: absolute !important; left: 0 !important; right: 0 !important; bottom: 0 !important; height: 1px !important; background: var(--lic-border) !important; }
    .lic-pulse .lic-pulse-payment__step:not(:nth-last-child(-n+2))::after { right: 0 !important; }
}

/* ── Error / login ── */
.lic-pulse-error, .lic-login-prompt { text-align: center; padding: 80px 24px; color: var(--lic-text-soft); }
.lic-login-prompt .lic-btn { margin-top: 16px; }

/* ── Responsive ── */
@media (max-width: 1024px) {
    .lic-pulse__fin-layout { grid-template-columns: 1fr; }
    .lic-pulse__why-grid { grid-template-columns: repeat(2, 1fr); }
    .lic-pulse__feature-grid { grid-template-columns: repeat(2, 1fr); }
    .lic-pulse__amenity-grid { grid-template-columns: repeat(2, 1fr); }
    .lic-pulse__typologies-grid { grid-template-columns: repeat(2, 1fr); }
    .lic-pulse__gallery-masonry { height: 500px; grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
    /* Hero */
    .lic-pulse__hero { grid-template-columns: 1fr; min-height: auto; }
    .lic-pulse__hero-photo { order: -1; height: 50vh; max-height: 400px; }
    .lic-pulse__hero-text { padding: 32px 20px; }
    .lic-pulse__hero-meta { flex-direction: row; flex-wrap: wrap; gap: 16px; }
    .lic-pulse__meta-item { flex: 1; min-width: 100px; }
    .lic-pulse__meta-value { font-size: 1.3rem; }
    .lic-pulse__title { font-size: 2.5rem; }
    .lic-pulse__developer { margin-bottom: 16px; }
    .lic-pulse__location { margin-bottom: 24px; }
    .lic-pulse__section { padding: 40px 0; }
    .lic-pulse__intro { padding: 40px 16px; }
    .lic-pulse__intro .lic-pulse__content { font-size: 15px; }

    /* Typologies → single column on mobile */
    .lic-pulse__typologies { padding: 48px 0; }
    .lic-pulse__typologies-grid { grid-template-columns: 1fr; gap: 16px; }
    .lic-pulse__typo-card-body { padding: 20px; }

    /* Gallery masonry → carousel on mobile */
    .lic-pulse__gallery-header { flex-direction: column; align-items: flex-start; }
    .lic-pulse__gallery-masonry { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; gap: 8px; height: auto; padding-bottom: 8px; scrollbar-width: none; }
    .lic-pulse__gallery-masonry::-webkit-scrollbar { display: none; }
    .lic-pulse__masonry-item { flex: 0 0 85vw; max-width: 340px; scroll-snap-align: center; aspect-ratio: 4/3; border-radius: 10px; }
    .lic-pulse__masonry-item--hero { grid-column: auto; grid-row: auto; }
    .lic-pulse__gallery-plans { grid-template-columns: 1fr; }

    /* Feature cards → 2 columns on mobile */
    .lic-pulse__feature-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
    .lic-pulse__feature-card { padding: 14px 16px; gap: 12px; }
    .lic-pulse__feature-icon { width: 40px; height: 40px; min-width: 40px; }
    .lic-pulse__feature-icon svg { width: 18px; height: 18px; }

    /* Amenities → 2 columns on mobile */
    .lic-pulse__amenity-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .lic-pulse__amenity-card-body { padding: 14px; }
    .lic-pulse__amenity-card-body h3 { font-size: 1rem; }

    /* Why cards → icon left, title+desc right (vertical), single column */
    .lic-pulse__why-grid { grid-template-columns: 1fr; gap: 12px; }
    .lic-pulse__why-card { padding: 20px; flex-direction: row; text-align: left; gap: 16px; align-items: flex-start; }
    .lic-pulse__why-icon { margin-bottom: 0; flex-shrink: 0; margin-top: 2px; }
    .lic-pulse__why-card h3 { font-size: 1.1rem; }
    .lic-pulse__why-card p { font-size: 13px; }

    /* Gallery → full-width carousel, 1 image at a time */
    .lic-pulse__gallery-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; gap: 0; padding-bottom: 8px; scrollbar-width: none; margin: 0 -20px; padding-left: 20px; padding-right: 20px; }
    .lic-pulse__gallery-grid::-webkit-scrollbar { display: none; }
    .lic-pulse__gallery-grid .lic-gallery__item { flex: 0 0 calc(100vw - 40px); scroll-snap-align: center; aspect-ratio: 4/3; border-radius: 12px; margin-right: 12px; }
    .lic-pulse__gallery-grid .lic-gallery__item[hidden] { display: none; }

    /* Video cinema: smaller button on mobile */
    .lic-pulse__cinema { border-radius: 12px; }
    .lic-pulse__cinema-btn { width: 60px; height: 60px; }
    .lic-pulse__cinema-btn svg { width: 24px; height: 24px; }

    /* Financial → single column, hero card first */
    .lic-pulse__fin-layout { grid-template-columns: 1fr; }
    .lic-pulse__fin-hero { padding: 28px; }
    .lic-pulse__fin-hero h3 { font-size: 1.5rem; }

    /* Location: glass cards above map on mobile */
    .lic-pulse__location-glass { position: static; flex-direction: column; margin-bottom: 16px; padding: 0; }
    .lic-pulse__location-glass-card { min-width: auto; }
    .lic-pulse__location-mapbox { min-height: 300px; border-radius: 12px; }
    .lic-pulse__location-mapbox .lic-map-single { height: 300px; }
    .lic-pulse__location-wrap { padding: 0 20px; }

    /* CTA */
    .lic-pulse__cta-card { flex-direction: column; text-align: center; padding: 40px 20px; }
    .lic-pulse__cta-text { max-width: 100%; }
    .lic-pulse__cta-btn { width: 100%; justify-content: center; }

    /* Spacing */
    .lic-pulse__body { padding: 0 20px; }
    .lic-pulse__chars-inner { padding: 0 20px; }
}


/* ═══════════════════════════════════════════════════════════
   SELECT QUESTIONNAIRE
   ═══════════════════════════════════════════════════════════ */

/* ── Select wizard v2 — ID-specificity to beat Elementor ── */
#lic-select-root { max-width: 720px !important; margin: 0 auto !important; padding: 32px 24px 64px !important; box-sizing: border-box !important; }
#lic-select-root * { box-sizing: border-box !important; }

/* Reset Elementor's label/input overrides inside our wizard */
#lic-select-root label { display: inline-flex !important; margin: 0 !important; padding: 0 !important; font-size: inherit !important; line-height: inherit !important; color: inherit !important; cursor: pointer !important; }
#lic-select-root input[type="radio"],
#lic-select-root input[type="checkbox"] { position: absolute !important; opacity: 0 !important; pointer-events: none !important; width: 0 !important; height: 0 !important; margin: 0 !important; padding: 0 !important; appearance: none !important; -webkit-appearance: none !important; }
#lic-select-root button { appearance: none !important; -webkit-appearance: none !important; outline: none !important; }
#lic-select-root form { margin: 0 !important; padding: 0 !important; }

/* Banner */
#lic-select-root .lic-select__banner { display: flex !important; align-items: center !important; gap: 16px !important; padding: 12px 16px !important; background: var(--lic-cloud) !important; border-radius: 12px !important; margin-bottom: 32px !important; border: none !important; }
#lic-select-root .lic-select__banner-thumb { width: 56px !important; height: 56px !important; border-radius: 8px !important; object-fit: cover !important; flex-shrink: 0 !important; }
#lic-select-root .lic-select__banner-info { flex: 1 !important; }
#lic-select-root .lic-select__banner-label { font-size: 10px !important; letter-spacing: .15em !important; text-transform: uppercase !important; color: var(--lic-text-muted) !important; margin: 0 0 2px !important; display: block !important; }
#lic-select-root .lic-select__banner-title { font-family: var(--lic-serif) !important; font-size: 1.1rem !important; color: var(--lic-deep) !important; margin: 0 !important; line-height: 1.3 !important; }
#lic-select-root .lic-select__banner-price { font-size: 13px !important; color: var(--lic-sand) !important; font-weight: 600 !important; margin: 0 !important; display: block !important; }

/* Stepper */
#lic-select-root .lic-select__stepper { display: flex !important; align-items: center !important; justify-content: center !important; gap: 0 !important; margin-bottom: 40px !important; position: relative !important; }
#lic-select-root .lic-select__step-dot { display: flex !important; align-items: center !important; gap: 12px !important; z-index: 1 !important; padding: 6px 20px !important; background: #f5fafe !important; cursor: default !important; }
#lic-select-root .lic-select__step-num { width: 40px !important; height: 40px !important; min-width: 40px !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 15px !important; font-weight: 700 !important; line-height: 1 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; }
#lic-select-root .lic-select__step-dot--active .lic-select__step-num { background: var(--lic-deep) !important; color: #fff !important; border: 2px solid var(--lic-deep) !important; }
#lic-select-root .lic-select__step-dot--inactive .lic-select__step-num { background: #fff !important; border: 2px solid var(--lic-border) !important; color: var(--lic-text-muted) !important; }
#lic-select-root .lic-select__step-dot--active > span:last-child { font-size: 13px !important; font-weight: 600 !important; color: var(--lic-deep) !important; }
#lic-select-root .lic-select__step-dot--inactive > span:last-child { font-size: 13px !important; font-weight: 500 !important; color: var(--lic-text-muted) !important; }
#lic-select-root .lic-select__step-line { flex: 1 !important; height: 1px !important; background: var(--lic-border) !important; min-width: 40px !important; }

/* Header */
#lic-select-root .lic-select__header { margin-bottom: 40px !important; text-align: center !important; }
#lic-select-root .lic-select__header h1 { font-family: var(--lic-serif) !important; font-size: clamp(1.75rem, 4vw, 2.5rem) !important; color: var(--lic-deep) !important; margin: 0 0 8px !important; font-weight: 400 !important; }
#lic-select-root .lic-select__header p { color: var(--lic-text-soft) !important; font-size: 16px !important; margin: 0 !important; font-weight: 300 !important; }

/* Section labels */
#lic-select-root .lic-select__section-label { display: flex !important; align-items: center !important; gap: 8px !important; color: var(--lic-deep) !important; margin-bottom: 16px !important; }
#lic-select-root .lic-select__section-label svg { flex-shrink: 0 !important; width: 18px !important; height: 18px !important; }
#lic-select-root .lic-select__section-label span { font-size: 11px !important; font-weight: 700 !important; letter-spacing: .15em !important; text-transform: uppercase !important; }

/* Field groups */
#lic-select-root .lic-select__field-group { margin-bottom: 32px !important; }

/* Options container */
#lic-select-root .lic-select__options { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; list-style: none !important; padding: 0 !important; margin: 0 !important; }

/* Pills (bedrooms, lifestyle, floor, orientation, extras) */
#lic-select-root .lic-select__pill { cursor: pointer !important; display: inline-flex !important; margin: 0 !important; padding: 0 !important; }
#lic-select-root .lic-select__pill > span { display: inline-block !important; padding: 10px 24px !important; border: 1.5px solid var(--lic-border) !important; border-radius: 24px !important; font-family: var(--lic-sans) !important; font-size: 14px !important; color: var(--lic-text-soft) !important; user-select: none !important; background: transparent !important; box-shadow: none !important; line-height: 1.4 !important; text-decoration: none !important; transition: border-color .2s, color .2s, background .2s; }
#lic-select-root .lic-select__pill:hover > span { border-color: var(--lic-deep) !important; color: var(--lic-deep) !important; }
#lic-select-root .lic-select__pill.active > span,
#lic-select-root .lic-select__pill input:checked + span { background: var(--lic-deep) !important; border-color: var(--lic-deep) !important; color: #fff !important; }

/* Lifestyle tags → sand accent */
#lic-select-root .lic-select__options--lifestyle .lic-select__pill.active > span,
#lic-select-root .lic-select__options--lifestyle .lic-select__pill input:checked + span { background: var(--lic-sand) !important; border-color: var(--lic-sand) !important; color: #fff !important; }

/* Use cards (radio) */
#lic-select-root .lic-select__use-grid { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; list-style: none !important; padding: 0 !important; margin: 0 !important; }
#lic-select-root .lic-select__use-card { display: block !important; padding: 20px !important; border-radius: 12px !important; border: 1.5px solid var(--lic-border) !important; background: #fff !important; cursor: pointer !important; box-shadow: 0 2px 8px rgba(12,30,60,.04) !important; transition: border-color .2s, background .2s; }
#lic-select-root .lic-select__use-card:hover { border-color: var(--lic-sand) !important; }
#lic-select-root .lic-select__use-card.active { border-color: var(--lic-deep) !important; background: var(--lic-cloud) !important; }
#lic-select-root .lic-select__use-card h4 { font-family: var(--lic-sans) !important; font-size: 14px !important; font-weight: 600 !important; color: var(--lic-deep) !important; margin: 0 0 4px !important; line-height: 1.3 !important; }
#lic-select-root .lic-select__use-card p { font-size: 13px !important; color: var(--lic-text-soft) !important; margin: 0 !important; font-weight: 300 !important; line-height: 1.4 !important; }

/* Day/time pills (with subtitle) */
#lic-select-root .lic-select__time-pill { cursor: pointer !important; text-align: center !important; display: inline-flex !important; margin: 0 !important; padding: 0 !important; }
#lic-select-root .lic-select__time-pill > div { padding: 12px 20px !important; border: 1.5px solid var(--lic-border) !important; border-radius: 12px !important; background: #fff !important; transition: border-color .2s, background .2s, color .2s; }
#lic-select-root .lic-select__time-pill:hover > div { border-color: var(--lic-deep) !important; }
#lic-select-root .lic-select__time-pill.active > div,
#lic-select-root .lic-select__time-pill input:checked + div { background: var(--lic-deep) !important; border-color: var(--lic-deep) !important; color: #fff !important; }
#lic-select-root .lic-select__time-pill strong { display: block !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1.3 !important; }
#lic-select-root .lic-select__time-pill small { display: block !important; font-size: 11px !important; margin-top: 2px !important; }

/* Inputs */
#lic-select-root input.lic-select__input,
#lic-select-root textarea.lic-select__input,
#lic-select-root select.lic-select__input { width: 100% !important; padding: 14px 16px !important; border: none !important; border-radius: 10px !important; font-size: 14px !important; font-family: var(--lic-sans) !important; color: var(--lic-text) !important; background: var(--lic-cloud) !important; box-shadow: none !important; outline: none !important; appearance: none !important; -webkit-appearance: none !important; transition: background .2s, box-shadow .2s; }
#lic-select-root input.lic-select__input:focus,
#lic-select-root textarea.lic-select__input:focus { background: #fff !important; box-shadow: 0 0 0 2px var(--lic-sand) !important; }
#lic-select-root .lic-select__input-label { display: block !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--lic-text-soft) !important; margin-bottom: 8px !important; cursor: default !important; }

/* Buttons */
#lic-select-root .lic-select__btn-primary { width: 100% !important; padding: 16px 24px !important; border-radius: 16px !important; border: none !important; font-family: var(--lic-sans) !important; font-size: 16px !important; font-weight: 500 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; background: var(--lic-sand) !important; color: #fff !important; box-shadow: 0 4px 16px rgba(201,169,110,.3) !important; text-decoration: none !important; line-height: 1.4 !important; letter-spacing: 0 !important; text-transform: none !important; transition: opacity .2s, transform .2s; }
#lic-select-root .lic-select__btn-primary:hover { opacity: .9; transform: translateY(-1px); }
#lic-select-root .lic-select__btn-primary--navy { background: var(--lic-deep) !important; box-shadow: 0 4px 16px rgba(12,30,60,.2) !important; }
#lic-select-root .lic-select__btn-outline { padding: 16px 24px !important; border-radius: 16px !important; border: 1.5px solid var(--lic-deep) !important; background: transparent !important; font-family: var(--lic-sans) !important; font-size: 16px !important; font-weight: 500 !important; color: var(--lic-deep) !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; box-shadow: none !important; text-decoration: none !important; line-height: 1.4 !important; text-transform: none !important; transition: background .2s; }
#lic-select-root .lic-select__btn-outline:hover { background: var(--lic-cloud) !important; }
#lic-select-root .lic-select__btn-primary svg,
#lic-select-root .lic-select__btn-outline svg { width: 16px !important; height: 16px !important; fill: none !important; stroke: currentColor !important; flex-shrink: 0 !important; }

/* Step visibility */
#lic-select-root .lic-select__step[hidden] { display: none !important; }

/* Actions row */
#lic-select-root .lic-select__actions { display: flex !important; gap: 12px !important; padding-top: 32px !important; }
#lic-select-root .lic-select__actions--single { justify-content: center !important; }

/* Messages */
#lic-select-root .lic-select__message { margin-top: 16px !important; padding: 12px 20px !important; border-radius: 10px !important; font-size: 14px !important; text-align: center !important; }
#lic-select-root .lic-select__message--success { background: #ecfdf5 !important; color: #065f46 !important; }
#lic-select-root .lic-select__message--error { background: #fef2f2 !important; color: #991b1b !important; }

/* Footer note */
#lic-select-root .lic-select__footer { text-align: center !important; margin-top: 48px !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; color: var(--lic-text-muted) !important; font-size: 11px !important; letter-spacing: .1em !important; text-transform: uppercase !important; }
#lic-select-root .lic-select__footer svg { width: 12px !important; height: 12px !important; flex-shrink: 0 !important; }

/* Timezone note */
#lic-select-root .lic-select__tz-note { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 12px !important; color: var(--lic-text-muted) !important; margin-top: 8px !important; padding: 6px 12px !important; background: var(--lic-cloud) !important; border-radius: 8px !important; width: fit-content !important; }

/* ── Select responsive ── */
@media (max-width: 768px) {
    #lic-select-root { padding: 24px 16px 48px !important; }
    #lic-select-root .lic-select__use-grid { grid-template-columns: 1fr !important; }
    #lic-select-root .lic-select__actions { flex-direction: column !important; }
    #lic-select-root .lic-select__pill > span { padding: 8px 16px !important; font-size: 13px !important; }
    #lic-select-root .lic-select__stepper { gap: 0 !important; }
    #lic-select-root .lic-select__step-dot { padding: 0 8px !important; }
    #lic-select-root .lic-select__step-dot > span:last-child { font-size: 11px !important; }
    #lic-select-root input.lic-select__input,
    #lic-select-root textarea.lic-select__input { font-size: 16px !important; }
}


/* ── Select: skip-to-booking banner ── */
#lic-select-root .lic-select__skip-banner { display: flex !important; align-items: center !important; gap: 10px !important; padding: 14px 20px !important; background: #ecfdf5 !important; color: #065f46 !important; border-radius: 10px !important; font-size: 14px !important; margin-bottom: 24px !important; }
#lic-select-root .lic-select__skip-banner svg { flex-shrink: 0 !important; color: #16a34a !important; }


/* ═══════════════════════════════════════════════════════════
   LOGIN PAGE (full-canvas, no header/footer)
   ═══════════════════════════════════════════════════════════ */

.lic-login { display: flex !important; min-height: 100vh !important; width: 100% !important; overflow: hidden !important; }

/* ── Left panel ── */
.lic-login__panel { width: 40% !important; background: #fff !important; display: flex !important; flex-direction: column !important; justify-content: space-between !important; padding: 40px 48px !important; position: relative !important; z-index: 1 !important; box-shadow: 20px 0 60px rgba(12,30,60,.06) !important; }

.lic-login__logo { margin-bottom: 32px !important; }
.lic-login__logo a { text-decoration: none !important; }
.lic-login__logo-img { height: 32px !important; width: auto !important; }
.lic-login__logo-text { font-family: var(--lic-serif) !important; font-style: italic !important; font-size: 1.75rem !important; color: var(--lic-deep) !important; letter-spacing: -.02em !important; }

.lic-login__content { flex: 1 !important; display: flex !important; flex-direction: column !important; justify-content: center !important; max-width: 400px !important; margin: 0 auto !important; width: 100% !important; }

.lic-login__header { margin-bottom: 32px !important; }
.lic-login__header h1 { font-family: var(--lic-serif) !important; font-size: clamp(2rem, 4vw, 2.75rem) !important; color: var(--lic-deep) !important; margin: 0 0 8px !important; font-weight: 400 !important; }
.lic-login__header p { font-size: 15px !important; color: var(--lic-text-soft) !important; margin: 0 !important; font-weight: 300 !important; line-height: 1.6 !important; }

/* WPForms overrides inside login */
.lic-login__form { margin-bottom: 24px !important; }
.lic-login__form .wpforms-container { margin: 0 !important; padding: 0 !important; }
.lic-login__form .wpforms-field-container .wpforms-field { margin-bottom: 16px !important; }
.lic-login__form .wpforms-field label.wpforms-field-label { font-family: var(--lic-sans) !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--lic-text-soft) !important; margin-bottom: 8px !important; }
.lic-login__form .wpforms-field input[type="text"],
.lic-login__form .wpforms-field input[type="email"],
.lic-login__form .wpforms-field input[type="password"] { width: 100% !important; padding: 14px 16px !important; border: none !important; border-radius: 10px !important; font-size: 14px !important; font-family: var(--lic-sans) !important; color: var(--lic-text) !important; background: var(--lic-cloud) !important; box-shadow: none !important; outline: none !important; transition: background .2s, box-shadow .2s; }
.lic-login__form .wpforms-field input:focus { background: #fff !important; box-shadow: 0 0 0 2px var(--lic-sand) !important; }
.lic-login__form .wpforms-submit-container { padding: 0 !important; }
.lic-login__form button[type="submit"],
.lic-login__form .wpforms-submit { width: 100% !important; padding: 14px 24px !important; border-radius: 12px !important; border: none !important; font-family: var(--lic-sans) !important; font-size: 15px !important; font-weight: 500 !important; cursor: pointer !important; background: var(--lic-deep) !important; color: #fff !important; box-shadow: 0 4px 16px rgba(12,30,60,.15) !important; transition: opacity .2s, transform .2s; }
.lic-login__form button[type="submit"]:hover,
.lic-login__form .wpforms-submit:hover { opacity: .9; transform: translateY(-1px); }

.lic-login__divider { height: 1px !important; background: var(--lic-border) !important; margin: 20px 0 !important; }

.lic-login__alt { font-size: 14px !important; color: var(--lic-text-soft) !important; }
.lic-login__alt a { color: var(--lic-sand) !important; font-weight: 500 !important; text-decoration: none !important; margin-left: 4px !important; }
.lic-login__alt a:hover { text-decoration: underline !important; }

.lic-login__footer { display: flex !important; justify-content: space-between !important; align-items: center !important; padding-top: 24px !important; border-top: 1px solid var(--lic-border) !important; margin-top: 32px !important; }
.lic-login__footer span,
.lic-login__footer a { font-size: 11px !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: var(--lic-text-muted) !important; text-decoration: none !important; }
.lic-login__footer a:hover { color: var(--lic-deep) !important; }

/* ── Right hero ── */
.lic-login__hero { width: 60% !important; position: relative !important; overflow: hidden !important; }
.lic-login__hero > img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.lic-login__hero-overlay { position: absolute !important; inset: 0 !important; background: linear-gradient(to right, rgba(12,30,60,.12), transparent 50%) !important; }
.lic-login__hero-gradient-mobile { display: none !important; }

/* Glass card */
.lic-login__hero-card { position: absolute !important; bottom: 40px !important; right: 40px !important; background: rgba(255,255,255,.12) !important; backdrop-filter: blur(20px) !important; padding: 28px !important; border-radius: 16px !important; border: 1px solid rgba(255,255,255,.2) !important; max-width: 320px !important; box-shadow: 0 8px 32px rgba(12,30,60,.15) !important; }
.lic-login__hero-card h2 { font-family: var(--lic-serif) !important; font-style: italic !important; font-size: 1.5rem !important; color: #fff !important; margin: 0 0 12px !important; font-weight: 400 !important; }
.lic-login__hero-card-line { display: flex !important; align-items: center !important; gap: 10px !important; font-size: 10px !important; letter-spacing: .2em !important; text-transform: uppercase !important; color: rgba(255,255,255,.7) !important; }
.lic-login__hero-card-line span { display: block !important; width: 24px !important; height: 1px !important; background: var(--lic-sand) !important; }

/* ── Login responsive ── */
@media (max-width: 768px) {
    .lic-login { flex-direction: column !important; overflow: auto !important; }
    .lic-login__hero { width: 100% !important; height: 40vh !important; max-height: 360px !important; order: -1 !important; }
    .lic-login__hero-gradient-mobile { display: block !important; position: absolute !important; bottom: 0 !important; left: 0 !important; right: 0 !important; height: 100px !important; background: linear-gradient(transparent, #fff) !important; }
    .lic-login__hero-card { display: none !important; }
    .lic-login__panel { width: 100% !important; padding: 32px 24px !important; box-shadow: none !important; }
    .lic-login__content { max-width: 100% !important; }
    .lic-login__footer { flex-direction: column !important; gap: 8px !important; text-align: center !important; }
}


/* ═══════════════════════════════════════════════════════════
   USER PROFILE
   ═══════════════════════════════════════════════════════════ */

/* ── Cover ── */
.lic-profile-cover {
    position: relative; min-height: 300px;
    background: linear-gradient(135deg, var(--lic-deep), var(--lic-ocean));
    background-size: cover; background-position: center;
    display: flex; align-items: flex-end;
}
.lic-profile-cover__overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(12,30,60,.75) 0%, rgba(12,30,60,.3) 50%, rgba(12,30,60,.15) 100%);
}
.lic-profile-cover__content {
    position: relative; z-index: 1; width: 100%;
    display: flex; align-items: flex-end; gap: 24px;
    padding-bottom: 40px; padding-top: 80px;
}
.lic-profile-cover__avatar img {
    width: 120px; height: 120px; border-radius: 50%;
    border: 4px solid #fff; box-shadow: 0 4px 20px rgba(0,0,0,.25);
    object-fit: cover;
}
.lic-avatar-initial {
    display: flex; align-items: center; justify-content: center;
    width: 120px; height: 120px; border-radius: 50%;
    border: 4px solid #fff; box-shadow: 0 4px 20px rgba(0,0,0,.25);
    background: var(--lic-sand); color: #fff;
    font-family: var(--lic-serif); font-size: 3rem; font-weight: 500;
    line-height: 1; user-select: none;
}
.lic-profile-cover__info { flex: 1; }
.lic-profile-cover__identity { flex: 1; }
.lic-profile-cover__eyebrow {
    display: inline-block !important;
    padding: 6px 14px !important;
    background: #fff !important;
    color: var(--lic-deep) !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    margin: 0 0 10px !important;
    box-shadow: 0 2px 10px rgba(12, 30, 60, .18) !important;
}
.lic-profile-cover__name {
    font-family: var(--lic-serif) !important; font-size: 2rem !important;
    color: #fff !important; margin: 0 0 4px !important; font-weight: 500 !important;
}
.lic-profile-cover__zone {
    color: rgba(255,255,255,.85) !important;
    font-size: 13px !important;
    font-weight: 300 !important;
    margin: 4px 0 0 !important;
}
.lic-profile-cover__email {
    display: inline-block;
    padding: 5px 16px;
    background: rgba(255,255,255,.2);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: 20px;
    color: #fff !important;
    font-size: 13px;
    font-weight: 400;
    margin: 6px 0 0;
}
.lic-profile-cover__stats {
    display: flex; gap: 32px;
}
.lic-profile-cover__stat {
    display: flex; flex-direction: column; align-items: center; text-align: center;
}
.lic-profile-cover__stat-value {
    font-family: var(--lic-serif); font-size: 1.25rem;
    color: #fff; font-weight: 500; line-height: 1.2;
}
.lic-profile-cover__stat-label {
    font-size: 11px; color: rgba(255,255,255,.6);
    text-transform: uppercase; letter-spacing: .05em; font-weight: 400;
}

/* ── Tabs ── */
.lic-profile-tabs {
    display: flex; gap: 0; border-bottom: 1px solid var(--lic-border);
    padding-top: 0; overflow-x: auto;
    -webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.lic-profile-tabs::-webkit-scrollbar { display: none; }
.lic-profile__tab {
    display: inline-flex !important; align-items: center !important; gap: 8px !important;
    padding: 16px 24px !important; font-size: 14px !important; font-weight: 500 !important;
    font-family: var(--lic-font) !important; color: var(--lic-text-muted) !important;
    background: none !important; border: none !important; border-bottom: 2px solid transparent !important;
    cursor: pointer !important; white-space: nowrap !important; transition: all .2s !important;
    border-radius: 0 !important; box-shadow: none !important; text-transform: none !important;
    letter-spacing: normal !important; line-height: 1.4 !important;
}
.lic-profile__tab:hover { color: var(--lic-text) !important; background: none !important; }
.lic-profile__tab.active {
    color: var(--lic-deep) !important; border-bottom-color: var(--lic-sand) !important;
    background: none !important;
}
.lic-profile__tab svg { opacity: .5; }
.lic-profile__tab.active svg { opacity: 1; }

/* ── Panels ── */
.lic-profile-content { padding-top: 32px !important; padding-bottom: 48px !important; }
.lic-profile__panel { display: none !important; }
.lic-profile__panel.active { display: block !important; }

/* ── Empty state ── */
.lic-profile-empty {
    text-align: center; padding: 64px 24px;
    color: var(--lic-text-muted);
}
.lic-profile-empty__icon { margin-bottom: 16px; opacity: .3; }
.lic-profile-empty p { margin: 0 0 20px; font-size: 15px; font-weight: 300; }

/* ── Properties grid ── */
.lic-profile-properties__grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 20px;
}
.lic-profile-property-card {
    display: block; background: var(--lic-cloud); border-radius: 14px;
    overflow: hidden; text-decoration: none; color: inherit;
    transition: transform .2s, box-shadow .2s;
}
.lic-profile-property-card:hover {
    transform: translateY(-3px) !important; box-shadow: 0 8px 28px rgba(12,30,60,.1) !important;
    color: inherit !important;
}
.lic-profile-property-card img {
    width: 100%; height: 200px; object-fit: cover;
}
.lic-profile-property-card__placeholder {
    width: 100%; height: 200px; background: var(--lic-mist);
}
.lic-profile-property-card__body { padding: 20px; }
.lic-profile-property-card__body h3 {
    font-size: 17px; font-weight: 600; color: var(--lic-deep); margin: 0 0 6px;
}
.lic-profile-property-card__date {
    font-size: 12px; color: var(--lic-text-muted); margin: 0 0 12px;
}
.lic-profile-property-card__link {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 13px; font-weight: 500; color: var(--lic-sand);
}

/* ── Booking reminder banner ── */
.lic-profile-booking-reminder { display: flex; align-items: center; gap: 12px; padding: 14px 20px; background: var(--lic-sand-light); border-radius: 10px; margin-top: 16px; flex-wrap: wrap; }
.lic-profile-booking-reminder__text { flex: 1; display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--lic-text); min-width: 200px; }
.lic-profile-booking-reminder__text svg { color: var(--lic-sand); flex-shrink: 0; }
.lic-profile-booking-reminder .lic-btn { white-space: nowrap; }

/* ── Reservation cards ── */
.lic-profile-reservations__grid { display: flex; flex-direction: column; gap: 16px; }
.lic-profile-reservation-card { background: #fff; border-radius: 14px; border: 1px solid var(--lic-border); overflow: hidden; box-shadow: 0 2px 8px rgba(12,30,60,.04); }
.lic-profile-reservation-card__header { display: flex; align-items: center; gap: 14px; padding: 20px; border-bottom: 1px solid var(--lic-cloud); }
.lic-profile-reservation-card__thumb { width: 48px; height: 48px; border-radius: 8px; object-fit: cover; flex-shrink: 0; }
.lic-profile-reservation-card__label { font-size: 10px; letter-spacing: .15em; text-transform: uppercase; color: var(--lic-text-muted); margin: 0 0 2px; }
.lic-profile-reservation-card__title { font-family: var(--lic-serif); font-size: 1.1rem; color: var(--lic-deep); margin: 0; }
.lic-profile-reservation-card__badge { margin-left: auto; padding: 4px 12px; border-radius: 20px; font-size: 11px; font-weight: 600; letter-spacing: .05em; background: rgba(249,115,22,.1); color: #ea580c; }
.lic-profile-reservation-card__details { padding: 16px 20px; }
.lic-profile-reservation-card__row { display: flex; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--lic-cloud); font-size: 14px; }
.lic-profile-reservation-card__row:last-child { border-bottom: none; }
.lic-profile-reservation-card__key { color: var(--lic-text-muted); min-width: 120px; font-size: 13px; }

/* ── Booking success toast ── */
.lic-profile-toast { display: flex; align-items: center; gap: 10px; padding: 14px 20px; background: #ecfdf5; color: #065f46; border-radius: 10px; font-size: 14px; margin-bottom: 24px; transition: opacity .5s; }
.lic-profile-toast svg { flex-shrink: 0; color: #16a34a; }

/* ── Preferences chips ── */
.lic-profile-prefs {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px;
}
.lic-profile-pref {
    display: flex; align-items: flex-start; gap: 14px;
    background: var(--lic-cloud); border-radius: 14px; padding: 20px;
}
.lic-profile-pref svg {
    flex-shrink: 0; margin-top: 2px; color: var(--lic-sand);
}
.lic-profile-pref__label {
    display: block; font-size: 11px; font-weight: 600;
    color: var(--lic-text-soft); text-transform: uppercase;
    letter-spacing: .05em; margin-bottom: 4px;
}
.lic-profile-pref__value {
    display: block; font-size: 15px; color: var(--lic-text); font-weight: 400;
}
.lic-profile-pref__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.lic-profile-pref__tag {
    display: inline-block; padding: 4px 14px;
    background: var(--lic-deep); color: #fff;
    border-radius: 20px; font-size: 12px; font-weight: 500;
}

/* ── Recommendations grid ── */
.lic-profile-recs__grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px;
}
.lic-profile-rec-card {
    display: block; background: var(--lic-cloud); border-radius: 14px;
    overflow: hidden; text-decoration: none; color: inherit;
    transition: transform .2s, box-shadow .2s;
}
.lic-profile-rec-card:hover {
    transform: translateY(-3px) !important; box-shadow: 0 8px 28px rgba(12,30,60,.1) !important;
    color: inherit !important;
}
.lic-profile-rec-card img { width: 100%; height: 190px; object-fit: cover; }
.lic-profile-rec-card__body { padding: 18px; }
.lic-profile-rec-card__badge {
    display: inline-block; padding: 4px 12px;
    background: var(--lic-sand); color: #fff;
    border-radius: 14px; font-size: 12px; font-weight: 600; margin-bottom: 10px;
}
.lic-profile-rec-card__body h3 {
    font-size: 17px; font-weight: 600; color: var(--lic-deep); margin: 0 0 6px;
}
.lic-profile-rec-card__reasons {
    font-size: 13px; color: var(--lic-text-muted); margin: 0;
}

/* ── Inline preferences form in profile ── */
.lic-profile-prefs-intro {
    font-size: 15px !important; color: var(--lic-text-soft) !important;
    font-weight: 300 !important; margin: 0 0 28px !important;
}
.lic-profile-prefs-form {
    display: flex !important; flex-direction: column !important; gap: 0 !important;
}
.lic-pref-field {
    padding: 24px 0 !important;
    border-bottom: 1px solid var(--lic-border) !important;
}
.lic-pref-field:first-child { padding-top: 0 !important; }
.lic-pref-field:last-of-type { border-bottom: none !important; }
.lic-pref-field__label {
    display: flex !important; align-items: center !important; gap: 10px !important;
    font-size: 14px !important; font-weight: 600 !important;
    color: var(--lic-deep) !important; margin-bottom: 14px !important;
}
.lic-pref-field__label svg { color: var(--lic-sand) !important; flex-shrink: 0 !important; }
.lic-pref-field__options {
    display: flex !important; flex-wrap: wrap !important; gap: 10px !important;
}
/* Preference chips (new design) */
.lic-pref-chip { cursor: pointer !important; display: inline-flex !important; }
.lic-pref-chip input { position: absolute !important; opacity: 0 !important; pointer-events: none !important; }
.lic-pref-chip span {
    display: inline-block !important; padding: 10px 20px !important;
    border: 1.5px solid var(--lic-border) !important; border-radius: 28px !important;
    font-size: 14px !important; font-weight: 400 !important;
    color: var(--lic-text-soft) !important; transition: all .2s !important;
    background: #fff !important; user-select: none !important;
}
.lic-pref-chip:hover span {
    border-color: var(--lic-ocean) !important; color: var(--lic-ocean) !important;
}
.lic-pref-chip.active span,
.lic-pref-chip input:checked + span {
    background: var(--lic-deep) !important; border-color: var(--lic-deep) !important;
    color: #fff !important; font-weight: 500 !important;
}
.lic-profile-prefs-form__actions {
    display: flex !important; align-items: center !important; gap: 12px !important;
    margin-top: 28px !important; padding-top: 24px !important;
}

/* ── Panel subtitles ── */
.lic-profile-panel__subtitle {
    font-family: var(--lic-serif) !important; font-size: 1.15rem !important;
    color: var(--lic-deep) !important; font-weight: 500 !important;
    margin: 0 0 20px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--lic-border) !important;
    letter-spacing: .01em !important;
}

/* ── Per-project preferences ── */
.lic-profile-project-prefs {
    display: flex; flex-direction: column; gap: 20px;
}
.lic-profile-project-pref {
    background: #fff !important; border-radius: 16px !important;
    padding: 0 !important; overflow: hidden;
    border: 1px solid var(--lic-border);
    box-shadow: 0 2px 12px rgba(12,30,60,.04);
}
.lic-profile-project-pref__header {
    display: flex; align-items: center; gap: 16px;
    padding: 20px 24px; background: var(--lic-cloud);
    border-bottom: 1px solid var(--lic-border);
}
.lic-profile-project-pref__header img {
    width: 72px; height: 52px; border-radius: 10px;
    object-fit: cover; flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(12,30,60,.1);
}
.lic-profile-project-pref__header h4 {
    font-size: 16px !important; font-weight: 600 !important;
    color: var(--lic-deep) !important; margin: 0 0 2px !important;
    font-family: var(--lic-font) !important;
}
.lic-profile-project-pref__date {
    font-size: 12px; color: var(--lic-text-muted); margin: 0;
}
.lic-profile-project-pref__details {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 16px 32px; padding: 24px;
}
.lic-profile-project-pref__item {
    display: flex; flex-direction: column; gap: 4px;
}
.lic-profile-project-pref__item span:not(.lic-profile-pref__label):not(.lic-profile-pref__tag) {
    font-size: 15px !important; color: var(--lic-text) !important; font-weight: 400;
}
.lic-profile-project-pref__item--full {
    grid-column: 1 / -1;
}
.lic-profile-project-pref__actions {
    padding: 0 24px 20px;
}
.lic-profile-project-pref__empty {
    padding: 24px;
}
.lic-profile-project-pref__empty p {
    font-size: 14px; color: var(--lic-text-muted); font-weight: 300; margin: 0 0 14px;
}

/* ── Footer / logout ── */
.lic-profile-footer {
    padding: 24px 0 64px; border-top: 1px solid var(--lic-border); margin-top: 16px;
}
.lic-profile-logout {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 13px; color: var(--lic-text-muted); text-decoration: none;
    font-weight: 400; transition: color .2s;
}
.lic-profile-logout:hover { color: var(--lic-deep) !important; }

/* Shared buttons */
.lic-btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 20px; border-radius: 8px; font-size: 14px; font-weight: 500; font-family: var(--lic-sans); text-decoration: none; cursor: pointer; border: none; transition: all .2s; }
.lic-btn--primary { background: var(--lic-deep) !important; color: #fff !important; }
.lic-btn--primary:hover { background: var(--lic-navy) !important; color: #fff !important; }
.lic-btn--outline { background: transparent !important; border: 1.5px solid var(--lic-deep) !important; color: var(--lic-deep) !important; }
.lic-btn--outline:hover { background: var(--lic-deep) !important; color: #fff !important; }
.lic-btn--sm { padding: 6px 14px; font-size: 13px; }
.lic-btn--ghost { background: none !important; border: none !important; color: var(--lic-text-muted) !important; padding: 6px 12px !important; }
.lic-btn--ghost:hover { color: #c0392b !important; background: rgba(192,57,43,.06) !important; }

/* Icon buttons (subtle, inline with titles) */
.lic-icon-btn {
    background: none !important; border: none !important; cursor: pointer !important;
    color: var(--lic-text-muted) !important; padding: 4px !important;
    border-radius: 4px !important; transition: color .2s !important;
    display: inline-flex !important; align-items: center !important;
}
.lic-icon-btn:hover { color: var(--lic-ocean) !important; }
.lic-icon-btn--danger:hover { color: #c0392b !important; }

/* Subtitle with inline action icons */
.lic-profile-panel__subtitle--actions {
    display: flex !important; align-items: center !important; justify-content: space-between !important;
}
.lic-profile-panel__icons {
    display: flex !important; gap: 4px !important;
}

/* Recommendations intro text */
.lic-profile-recs-intro {
    font-size: 15px !important; color: var(--lic-text-soft) !important;
    font-weight: 300 !important; margin: 0 0 28px !important; line-height: 1.6 !important;
}

/* ── Profile responsive ── */
@media (max-width: 1024px) {
    .lic-profile-cover__content { flex-wrap: wrap; }
    .lic-profile-cover__stats { width: 100%; margin-top: 16px; justify-content: flex-start; gap: 24px; }
}
@media (max-width: 768px) {
    .lic-profile-cover { min-height: 240px; }
    .lic-profile-cover__content { flex-direction: column; align-items: center; text-align: center; padding-bottom: 32px; }
    .lic-profile-cover__avatar img { width: 96px; height: 96px; }
    .lic-profile-cover__name { font-size: 1.5rem; }
    .lic-profile-cover__zone { justify-content: center; }
    .lic-profile-cover__stats { justify-content: center; }
    .lic-profile__tab { padding: 14px 18px; font-size: 13px; }
    .lic-profile-properties__grid { grid-template-columns: 1fr; }
    .lic-profile-prefs { grid-template-columns: 1fr; }
    .lic-profile-recs__grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════
   Broker profile — split portfolio grids + interest toggle
   ═══════════════════════════════════════════════════════════ */
.lic-profile-broker { padding: 40px 32px 24px; }
.lic-profile-broker + .lic-profile-broker { padding-top: 24px; padding-bottom: 56px; border-top: 1px solid var(--lic-border); margin-top: 24px; }
.lic-profile-broker__header { margin-bottom: 24px; }
.lic-profile-broker__title {
    font-family: var(--lic-serif);
    font-size: clamp(1.6rem, 2.8vw, 2.1rem);
    color: var(--lic-deep);
    margin: 0 0 8px;
    font-weight: 500;
}
.lic-profile-broker__subtitle {
    color: var(--lic-text-soft);
    font-size: 14px;
    line-height: 1.5;
    max-width: 680px;
    margin: 0;
    font-weight: 300;
}

.lic-profile-broker__empty {
    padding: 28px;
    border: 1px dashed var(--lic-border);
    border-radius: 14px;
    background: var(--lic-cloud);
    color: var(--lic-text-soft);
    font-size: 14px;
    line-height: 1.5;
}
.lic-profile-broker__empty p { margin: 0; }
.lic-profile-broker__empty[hidden],
.lic-profile-broker__grid[hidden] { display: none; }

.lic-profile-broker__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.lic-profile-broker__card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--lic-white);
    border: 1px solid var(--lic-border);
    border-radius: 14px;
    overflow: hidden;
    transition: transform .2s, box-shadow .2s, border-color .2s;
}
.lic-profile-broker__card:hover {
    transform: translateY(-2px);
    border-color: var(--lic-pastel);
    box-shadow: 0 14px 34px -18px rgba(12, 30, 60, .18);
}

.lic-profile-broker__card-link {
    display: flex;
    flex-direction: column;
    flex: 1;
    text-decoration: none;
    color: inherit;
}

.lic-profile-broker__card-image {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--lic-cloud);
}
.lic-profile-broker__card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s;
}
.lic-profile-broker__card:hover .lic-profile-broker__card-image img { transform: scale(1.04); }
.lic-profile-broker__card-image--empty { background: linear-gradient(135deg, var(--lic-mist), var(--lic-cloud)); }

.lic-profile-broker__card-body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 4px; }
.lic-profile-broker__card-meta {
    font-size: 11px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--lic-ocean);
    margin-bottom: 2px;
    font-weight: 500;
}
.lic-profile-broker__card-title {
    font-family: var(--lic-serif);
    font-size: 1.2rem;
    margin: 0;
    color: var(--lic-deep);
    line-height: 1.2;
    font-weight: 500;
}
.lic-profile-broker__card-dev {
    font-size: 13px;
    color: var(--lic-text-soft);
    font-weight: 300;
}
.lic-profile-broker__card-cta {
    margin-top: 8px;
    font-size: 12px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--lic-ocean);
    font-weight: 500;
}

/* Bookmark toggle button overlaid on card top-right.
   All properties !important because Elementor themes cannibalise
   generic button selectors otherwise. */
.lic-profile-broker__toggle {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    z-index: 3 !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(12, 30, 60, .08) !important;
    border-radius: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255, 255, 255, .96) !important;
    color: var(--lic-deep) !important;
    cursor: pointer !important;
    font: inherit !important;
    line-height: 1 !important;
    text-decoration: none !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    box-shadow: 0 2px 10px rgba(12, 30, 60, .08) !important;
    transition: transform .18s ease, background .2s ease, color .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}
.lic-profile-broker__toggle:hover {
    transform: translateY(-1px) !important;
    background: #fff !important;
    border-color: rgba(12, 30, 60, .14) !important;
    box-shadow: 0 8px 18px rgba(12, 30, 60, .14) !important;
}
.lic-profile-broker__toggle:active { transform: translateY(0) !important; }
.lic-profile-broker__toggle:disabled {
    opacity: .55 !important;
    cursor: progress !important;
}
.lic-profile-broker__toggle:focus-visible {
    outline: 2px solid var(--lic-ocean) !important;
    outline-offset: 2px !important;
}
.lic-profile-broker__toggle-icon {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.75 !important;
    pointer-events: none !important;
}

/* Active state: filled bookmark on deep navy — says "saved". */
.lic-profile-broker__card.is-interested .lic-profile-broker__toggle {
    background: var(--lic-deep) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 8px 20px rgba(12, 30, 60, .28) !important;
}
.lic-profile-broker__card.is-interested .lic-profile-broker__toggle:hover {
    background: var(--lic-deep) !important;
    box-shadow: 0 10px 24px rgba(12, 30, 60, .34) !important;
}
.lic-profile-broker__card.is-interested .lic-profile-broker__toggle-icon {
    fill: currentColor !important;
}
.lic-profile-broker__card.is-interested { border-color: rgba(12, 30, 60, .22) !important; }

@media (max-width: 1024px) {
    .lic-profile-broker__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .lic-profile-broker__grid { grid-template-columns: 1fr; }
    .lic-profile-broker { padding: 28px 20px 20px; }
    .lic-profile-broker + .lic-profile-broker { padding-bottom: 40px; }
}

/* ═══════════════════════════════════════════════════════════
   eVoost Partners attribution (shared partial)
   ═══════════════════════════════════════════════════════════ */

.lic-partners-attribution {
    display: flex;
    justify-content: center;
    padding: 32px 24px 48px;
}
.lic-partners-attribution__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    font-family: var(--lic-sans);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .04em;
    text-decoration: none;
    transition: background .2s, color .2s, border-color .2s;
}
.lic-partners-attribution__logo {
    display: block;
    width: 18px;
    height: 18px;
    object-fit: contain;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,.08));
}
.lic-partners-attribution__label { line-height: 1; }

/* Light variant (default — dark text on light background) */
.lic-partners-attribution--dark .lic-partners-attribution__link {
    background: var(--lic-cloud);
    color: var(--lic-text-soft);
    border: 1px solid var(--lic-mist);
}
.lic-partners-attribution--dark .lic-partners-attribution__link:hover {
    background: var(--lic-mist);
    color: var(--lic-deep);
    border-color: var(--lic-pastel);
}

/* Dark variant (light text on dark background) */
.lic-partners-attribution--light .lic-partners-attribution__link {
    background: rgba(255,255,255,.08);
    color: rgba(255,255,255,.8);
    border: 1px solid rgba(255,255,255,.18);
}
.lic-partners-attribution--light .lic-partners-attribution__link:hover {
    background: rgba(255,255,255,.15);
    color: #fff;
    border-color: rgba(255,255,255,.35);
}

/* ═══════════════════════════════════════════════════════════
   VAT disclaimer (developer-gated, e.g. Metrovacesa)
   Subtle footnote / asterisk shown next to prices.
   ═══════════════════════════════════════════════════════════ */
.lic-vat-disclaimer {
    display: block !important;
    margin: 12px 0 0 !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    color: var(--lic-text-muted, var(--lic-text-soft)) !important;
    font-weight: 300 !important;
}
.lic-vat-disclaimer sup {
    color: var(--lic-text-soft) !important;
    margin-right: 2px !important;
}
.lic-vat-asterisk {
    display: inline-block !important;
    margin-left: 2px !important;
    font-size: .55em !important;
    color: var(--lic-text-soft) !important;
    font-weight: 400 !important;
    vertical-align: super !important;
    cursor: help !important;
    line-height: 0 !important;
}

/* ═══════════════════════════════════════════════════════════
   Contact role gate — Buyer / Agent pill toggle
   Rendered above the WPForms embed on Home and Contact.
   Every property is !important AND the selectors use a 2-3 class
   wrapper path so Elementor's .elementor-* button rules (which also
   carry !important and load late) can't win by tie-breaker.
   ═══════════════════════════════════════════════════════════ */
.lic-contact-gate {
    display: block !important;
    margin: 0 0 0 !important;
    padding: 0 !important;
}
.lic-contact-gate .lic-contact-gate__intro {
    display: block !important;
    font-family: inherit !important;
    font-size: 12px !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    color: var(--lic-text-soft) !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
}
.lic-contact-gate .lic-contact-gate__pills {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    padding: 4px !important;
    background: var(--lic-mist) !important;
    border: 1px solid var(--lic-border) !important;
    border-radius: 999px !important;
    gap: 4px !important;
    margin: 0 0 20px !important;
    box-sizing: border-box !important;
    list-style: none !important;
}
.lic-contact-gate .lic-contact-gate__pills .lic-contact-gate__pill {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 10px 16px !important;
    margin: 0 !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    background-image: none !important;
    color: var(--lic-text-soft) !important;
    border-radius: 999px !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-align: center !important;
    text-decoration: none !important;
    text-shadow: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    box-shadow: none !important;
    outline: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    transition: background .2s ease, color .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}
.lic-contact-gate .lic-contact-gate__pills .lic-contact-gate__pill:hover {
    background: rgba(255,255,255,.6) !important;
    color: var(--lic-deep) !important;
    border-color: transparent !important;
    box-shadow: none !important;
}
.lic-contact-gate .lic-contact-gate__pills .lic-contact-gate__pill:focus-visible {
    outline: 2px solid var(--lic-ocean) !important;
    outline-offset: 2px !important;
}
.lic-contact-gate .lic-contact-gate__pills .lic-contact-gate__pill.is-active,
.lic-contact-gate .lic-contact-gate__pills .lic-contact-gate__pill.is-active:hover,
.lic-contact-gate .lic-contact-gate__pills .lic-contact-gate__pill.is-active:focus {
    background: var(--lic-deep) !important;
    background-image: none !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 4px 12px rgba(12, 30, 60, .22) !important;
}
.lic-contact-gate .lic-contact-gate__panes {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}
.lic-contact-gate .lic-contact-gate__pane[hidden] {
    display: none !important;
}
/* Scope the fade to post-interaction only so the initially-visible
   buyer pane doesn't visibly animate on page load. Animation + opacity
   deliberately skip !important per project CSS convention. */
.lic-contact-gate[data-gate-interacted="1"] .lic-contact-gate__pane.is-active {
    animation: lic-contact-gate-fade .18s ease-out;
}
@keyframes lic-contact-gate-fade {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 1; transform: translateY(0); }
}
@media (max-width: 480px) {
    .lic-contact-gate .lic-contact-gate__pills .lic-contact-gate__pill {
        padding: 10px 10px !important;
        font-size: 13px !important;
        gap: 6px !important;
    }
}
/* Compact variant — used in narrow contexts like the single-project
   sidebar inquiry card. Trims paddings and intro spacing so the dual-pill
   toggle fits without crowding, and lets the pills wrap label text on
   long localisations (e.g. German "Immobilienmakler"). */
.lic-contact-gate--compact .lic-contact-gate__intro {
    margin: 0 0 10px !important;
    font-size: 12px !important;
}
.lic-contact-gate--compact .lic-contact-gate__pills {
    padding: 4px !important;
    margin-bottom: 16px !important;
}
.lic-contact-gate--compact .lic-contact-gate__pills .lic-contact-gate__pill {
    padding: 9px 10px !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    gap: 0 !important;
    white-space: normal !important;
    text-align: center !important;
}
