:root {
    --pc-bordo: #7a171b;
    --pc-bordo-oscuro: #2b1718;
    --pc-dorado: #c89a3d;
    --pc-crema: #f8f4ea;
    --pc-blanco: #fff;
    --pc-texto-suave: #66595a;
}

html { scroll-behavior: smooth; }
body {
    min-height: 100vh;
    background: var(--pc-crema);
    color: var(--pc-bordo-oscuro);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}
a { color: var(--pc-bordo); }

.punto-sticky-header { z-index: 1030; }
.punto-navbar {
    min-height: 76px;
    padding: .8rem 0;
    border-top: 4px solid var(--pc-dorado);
    border-bottom: 1px solid rgba(122, 23, 27, .12);
    background: rgba(248, 244, 234, .97);
    box-shadow: 0 10px 30px rgba(43, 23, 24, .09);
    backdrop-filter: blur(12px);
}
.punto-navbar-inner { padding-inline: clamp(1rem, 2.2vw, 2.75rem); }
.punto-brand-logo { display: block; width: 240px; height: auto; }
.punto-main-nav {
    gap: .2rem;
    padding: .3rem;
    border: 1px solid rgba(122, 23, 27, .12);
    border-radius: 1rem;
    background: rgba(255, 255, 255, .72);
}
.punto-main-nav .nav-link {
    padding: .55rem .85rem;
    border-radius: .7rem;
    color: var(--pc-texto-suave);
    font-weight: 650;
}
.punto-main-nav button.nav-link { border: 0; background: transparent; text-align: left; }
.punto-main-nav .nav-link:hover { color: var(--pc-bordo); background: var(--pc-blanco); }
.punto-main-nav .nav-link.active {
    color: var(--pc-blanco);
    background: var(--pc-bordo);
    box-shadow: 0 5px 14px rgba(122, 23, 27, .25);
}
.punto-instituciones-menu {
    min-width: 235px;
    padding: .65rem;
    border: 1px solid rgba(122, 23, 27, .14);
    border-radius: .9rem;
    box-shadow: 0 .8rem 2rem rgba(43, 23, 24, .14);
}
.punto-instituciones-menu .dropdown-item {
    padding: .55rem .75rem;
    border-radius: .55rem;
    color: var(--pc-texto-suave);
}
.punto-instituciones-menu .dropdown-item:hover,
.punto-instituciones-menu .dropdown-item:focus {
    color: var(--pc-blanco);
    background: var(--pc-bordo);
}
.punto-oportunidades-menu { min-width: 265px; }
.punto-explora-menu { min-width: 280px; }
.punto-oportunidades-menu .dropdown-item,
.punto-explora-menu .dropdown-item { display: flex; align-items: center; gap: .7rem; }
.punto-oportunidades-menu .dropdown-item.active,
.punto-explora-menu .dropdown-item.active { color: var(--pc-blanco); background: var(--pc-bordo); }
.punto-oportunidades-menu .dropdown-item strong,
.punto-oportunidades-menu .dropdown-item small,
.punto-explora-menu .dropdown-item strong,
.punto-explora-menu .dropdown-item small { display: block; }
.punto-oportunidades-menu .dropdown-item small,
.punto-explora-menu .dropdown-item small { margin-top: .08rem; font-size: .72rem; opacity: .76; }
.punto-nav-menu-icon { display: grid; width: 2rem; height: 2rem; flex: 0 0 2rem; place-items: center; border-radius: .6rem; background: rgba(200,154,61,.2); }
@media (min-width: 1200px) {
    .punto-nav-dropdown:hover > .dropdown-menu,
    .punto-nav-dropdown:focus-within > .dropdown-menu {
        display: block;
        margin-top: 0;
    }
}
.punto-header-actions { display: flex; align-items: center; gap: .65rem; }
.punto-claim-button {
    border: 1px solid #b7862e;
    background: var(--pc-dorado);
    color: var(--pc-bordo-oscuro);
    font-weight: 700;
}
.punto-claim-button:hover, .punto-claim-button:focus {
    border-color: var(--pc-bordo);
    background: var(--pc-bordo);
    color: var(--pc-blanco);
}
.punto-login-button {
    border: 1px solid rgba(122, 23, 27, .25);
    background: var(--pc-blanco);
    color: var(--pc-bordo-oscuro);
    font-weight: 700;
}
.punto-login-button:hover { border-color: var(--pc-bordo); background: var(--pc-bordo); color: var(--pc-blanco); }

.punto-user-menu-button { display: inline-flex; align-items: center; gap: .5rem; }
.punto-user-dropdown-menu {
    max-height: calc(100dvh - 5.5rem);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}
.punto-profile-avatar { display: grid; place-items: center; overflow: hidden; border-radius: 50%; background: #f0e5dc; color: var(--pc-bordo); font-weight: 800; }
.punto-profile-avatar img, img.punto-profile-avatar { width: 100%; height: 100%; object-fit: cover; }
.punto-profile-avatar--menu { width: 1.7rem; height: 1.7rem; flex: 0 0 1.7rem; border: 2px solid rgba(255,255,255,.7); }
.punto-profile-avatar--large { width: 7rem; height: 7rem; font-size: 2rem; box-shadow: 0 12px 28px rgba(78,28,24,.14); }
.punto-profile-news { padding: 1.5rem; border: 1px solid #eadfd5; border-radius: 1.25rem; background: #fbf6ef; }
.punto-whatsapp-float { position: fixed; right: 1.4rem; bottom: 1.4rem; z-index: 1040; display: grid; width: 3.65rem; height: 3.65rem; place-items: center; border-radius: 50%; background: #25d366; color: #fff; box-shadow: 0 12px 30px rgba(0,0,0,.25); transition: transform .2s ease, box-shadow .2s ease; }
.punto-whatsapp-float svg { width: 2rem; height: 2rem; }
.punto-whatsapp-float:hover, .punto-whatsapp-float:focus-visible { color: #fff; transform: translateY(-3px) scale(1.04); box-shadow: 0 16px 34px rgba(0,0,0,.3); }

.punto-hero { padding: clamp(4.5rem, 9vw, 8rem) 0 clamp(4rem, 8vw, 7rem); }
.punto-eyebrow {
    display: inline-block;
    padding: .35rem .65rem;
    border-radius: .45rem;
    background: var(--pc-dorado);
    color: var(--pc-bordo-oscuro);
    font-size: .82rem;
    font-weight: 750;
}
.punto-hero h1 {
    margin: 1.35rem 0 1rem;
    color: var(--pc-bordo);
    font-size: clamp(3rem, 6vw, 5.2rem);
    font-weight: 800;
    letter-spacing: -.045em;
}
.punto-hero-slogan { font-size: clamp(1.45rem, 2.5vw, 2rem); font-weight: 350; }
.punto-hero-text { max-width: 730px; margin-top: 2rem; color: var(--pc-texto-suave); font-size: 1.12rem; line-height: 1.75; }
.punto-today-card {
    padding: clamp(2rem, 4vw, 3.4rem);
    border: 1px solid rgba(122, 23, 27, .1);
    border-top: 4px solid var(--pc-dorado);
    border-radius: 1.25rem;
    background: var(--pc-blanco);
    box-shadow: 0 16px 42px rgba(43, 23, 24, .09);
    text-align: center;
}
.punto-today-card h2 { margin-bottom: .75rem; font-weight: 500; }
.punto-stat { display: grid; gap: .35rem; padding: 1.6rem 0; border-top: 1px solid #d8ceca; }
.punto-stat strong { color: var(--pc-bordo); font-size: 2rem; }
.punto-stat span { color: var(--pc-texto-suave); }

.punto-territory-card {
    position: relative;
    overflow: hidden;
    min-height: 500px;
    padding: clamp(2rem, 4vw, 2.75rem);
    border: 1px solid rgba(53, 20, 22, .11);
    border-radius: 1.75rem;
    background: var(--pc-blanco);
    box-shadow: 0 28px 70px rgba(52, 31, 23, .13);
}
.punto-territory-card::before {
    position: absolute;
    width: 320px;
    height: 320px;
    top: -118px;
    right: -108px;
    border: 76px solid rgba(209, 161, 58, .15);
    border-radius: 50%;
    content: "";
}
.punto-territory-card::after {
    position: absolute;
    width: 8px;
    height: 8px;
    top: 106px;
    right: 96px;
    border-radius: 50%;
    background: var(--pc-bordo);
    box-shadow:
        -90px 44px 0 var(--pc-dorado),
        -150px -3px 0 #16836b,
        -33px 112px 0 #6556a8,
        -175px 110px 0 #d9362c;
    content: "";
}
.punto-territory-card__kicker {
    position: relative;
    z-index: 1;
    color: var(--pc-bordo);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.punto-territory-card__coverage {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: end;
    gap: 1rem;
    margin-top: 1.35rem;
}
.punto-territory-card__coverage strong {
    color: var(--pc-bordo);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(4rem, 6vw, 5.15rem);
    line-height: .86;
}
.punto-territory-card__coverage h2 {
    max-width: 155px;
    margin: 0 0 .35rem;
    font-size: 1.15rem;
    font-weight: 750;
    line-height: 1.08;
}
.punto-territory-card__copy {
    position: relative;
    z-index: 1;
    max-width: 390px;
    margin: 1.55rem 0;
    color: var(--pc-texto-suave);
    line-height: 1.55;
}
.punto-home-locality-finder {
    position: relative;
    z-index: 2;
    padding: 1.1rem;
    border: 1px solid rgba(122, 23, 27, .13);
    border-radius: 1.1rem;
    background: #fbf6ed;
}
.punto-home-locality-finder label {
    display: block;
    margin-bottom: .5rem;
    font-size: .82rem;
    font-weight: 800;
}
.punto-home-locality-finder__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .6rem;
}
.punto-home-locality-finder__row .punto-select-search { min-width: 0; }
.punto-home-locality-finder__row .form-control,
.punto-home-locality-finder__row .form-select {
    min-height: 48px;
    background-color: #fff;
}
.punto-home-locality-finder__button {
    display: grid;
    place-items: center;
    min-width: 54px;
    padding: 0;
    border: 0;
    border-radius: .6rem;
    color: #fff;
    background: var(--pc-bordo);
    font-size: 1.35rem;
    font-weight: 900;
    transition: transform .15s ease, background .15s ease;
}
.punto-home-locality-finder__button:hover,
.punto-home-locality-finder__button:focus-visible {
    color: #fff;
    background: var(--pc-bordo-oscuro);
    transform: translateX(2px);
}
.punto-territory-card__quick {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .65rem;
    margin-top: .85rem;
}
.punto-territory-card__quick div {
    padding: .8rem .9rem;
    border-radius: .8rem;
    background: #f4eee4;
}
.punto-territory-card__quick strong {
    display: block;
    color: var(--pc-bordo);
    font-size: 1.25rem;
}
.punto-territory-card__quick span {
    display: block;
    color: var(--pc-texto-suave);
    font-size: .76rem;
    line-height: 1.25;
}

.punto-sections { padding-bottom: 5rem; }
.punto-feature-card {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    align-items: center;
    padding: 2rem;
    border: 1px solid rgba(122, 23, 27, .09);
    border-radius: 1.2rem;
    background: var(--pc-blanco);
    box-shadow: 0 12px 34px rgba(43, 23, 24, .07);
    text-align: center;
}
.punto-feature-card h2 { font-size: 1.3rem; font-weight: 750; }
.punto-feature-card p { flex-grow: 1; color: var(--pc-texto-suave); }
.punto-feature-icon { margin-bottom: 1rem; font-size: 2.8rem; }
.punto-how { padding-top: 5rem; }
.punto-how > h2 { font-weight: 750; }
.punto-step { height: 100%; padding: 1.7rem; border-left: 4px solid var(--pc-dorado); background: rgba(255,255,255,.45); }
.punto-step strong { color: var(--pc-bordo); font-size: 2rem; }
.punto-step h3 { margin-top: .5rem; font-size: 1.2rem; }
.punto-step p { margin: 0; color: var(--pc-texto-suave); }

.punto-placeholder { min-height: 62vh; padding-block: 7rem; }
.punto-placeholder h1 { margin: 1.2rem 0; color: var(--pc-bordo); font-size: clamp(2.4rem, 5vw, 4rem); font-weight: 800; }
.punto-placeholder p { max-width: 720px; margin-bottom: 2rem; color: var(--pc-texto-suave); font-size: 1.15rem; }
.punto-filter-card {
    padding: 1.25rem;
    border: 1px solid rgba(122,23,27,.1);
    border-radius: 1rem;
    background: rgba(255,255,255,.72);
    box-shadow: 0 10px 28px rgba(43,23,24,.05);
}
.punto-select-search { position: relative; }
.punto-select-native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
.punto-select-search-input {
    padding-right: 2.5rem;
    background-image: linear-gradient(45deg, transparent 50%, #6c757d 50%),
        linear-gradient(135deg, #6c757d 50%, transparent 50%);
    background-position: calc(100% - 17px) 50%, calc(100% - 12px) 50%;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
}
.punto-select-search-list {
    position: absolute;
    z-index: 1080;
    display: none;
    width: 100%;
    max-height: 280px;
    margin-top: .35rem;
    overflow-y: auto;
    border: 1px solid rgba(35, 37, 41, .18);
    border-radius: .75rem;
    background: #fff;
    box-shadow: 0 14px 35px rgba(43, 23, 24, .18);
}
.punto-select-search.is-open .punto-select-search-list { display: block; }
.punto-select-search-option {
    display: block;
    width: 100%;
    padding: .7rem .85rem;
    border: 0;
    border-bottom: 1px solid rgba(122, 23, 27, .07);
    background: #fff;
    color: var(--pc-bordo-oscuro);
    text-align: left;
}
.punto-select-search-option:hover,
.punto-select-search-option.is-active {
    background: #f8eee7;
    color: var(--pc-bordo);
}
.punto-select-search-empty {
    margin: 0;
    padding: .9rem;
    color: var(--pc-texto-suave);
    font-size: .9rem;
}

.punto-reclamos-map-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 390px);
    min-height: 620px;
    overflow: hidden;
    border: 1px solid rgba(122, 23, 27, .13);
    border-radius: 1.2rem;
    background: #fff;
    box-shadow: 0 16px 42px rgba(43, 23, 24, .12);
}
.punto-reclamos-map-wrap { position: relative; min-width: 0; }
#mapa-reclamos-publicos { width: 100%; height: 100%; min-height: 620px; background: #eef1f4; }
.punto-reclamos-map-notice {
    position: absolute;
    z-index: 500;
    top: 1rem;
    left: 50%;
    display: flex;
    align-items: center;
    gap: .45rem;
    transform: translateX(-50%);
    max-width: calc(100% - 2rem);
    padding: .65rem .95rem;
    border-radius: 999px;
    background: rgba(122, 23, 27, .94);
    color: #fff;
    box-shadow: 0 6px 20px rgba(43, 23, 24, .24);
    font-size: .85rem;
    font-weight: 700;
    text-align: center;
    white-space: nowrap;
}
.punto-reclamos-map-empty {
    position: absolute;
    z-index: 500;
    top: 50%;
    left: 50%;
    width: min(380px, calc(100% - 2rem));
    transform: translate(-50%, -50%);
    padding: 1rem 1.2rem;
    border-radius: .9rem;
    background: rgba(255, 255, 255, .94);
    color: var(--pc-texto-suave);
    box-shadow: 0 10px 28px rgba(43, 23, 24, .15);
    text-align: center;
}
.punto-reclamos-panel { display: flex; min-height: 0; flex-direction: column; border-left: 1px solid rgba(122, 23, 27, .12); }
.punto-reclamos-panel-header {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem;
    border-bottom: 1px solid rgba(122, 23, 27, .12);
}
.punto-reclamos-count {
    display: grid;
    min-width: 2.35rem;
    height: 2.35rem;
    place-items: center;
    padding-inline: .5rem;
    border-radius: 999px;
    background: var(--pc-bordo);
    color: #fff;
    font-weight: 800;
}
.punto-reclamos-list { flex: 1 1 auto; max-height: 535px; overflow-y: auto; }
.punto-reclamo-map-card {
    padding: 1rem 1.1rem;
    border-bottom: 1px solid rgba(122, 23, 27, .11);
    background: #fff;
    transition: background-color .18s ease, box-shadow .18s ease;
}
.punto-reclamo-map-card:hover,
.punto-reclamo-map-card.is-active {
    background: #fff8f0;
    box-shadow: inset 4px 0 0 var(--pc-dorado);
}
.punto-reclamo-marker-wrap { border: 0; background: transparent; }
.punto-reclamo-marker {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 3px solid #fff;
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
    background: var(--pc-bordo);
    color: #fff;
    box-shadow: 0 4px 11px rgba(43, 23, 24, .36);
}
.punto-reclamo-marker span { transform: rotate(45deg); font-size: 1rem; font-weight: 900; }
.punto-reclamo-popup { display: grid; min-width: 190px; gap: .25rem; }
.punto-reclamo-popup small { color: var(--pc-texto-suave); }
.punto-reclamo-popup strong { color: var(--pc-bordo); font-size: .95rem; }
.punto-reclamo-popup span { font-size: .82rem; }
.punto-reclamo-popup a { margin-top: .25rem; color: var(--pc-bordo); font-weight: 700; }
.punto-suggestions {
    position: absolute;
    z-index: 1060;
    top: 100%;
    right: 0;
    left: 0;
    max-height: 320px;
    margin-top: .25rem;
    overflow-y: auto;
    box-shadow: 0 14px 30px rgba(43,23,24,.14);
}
.punto-table-card { border-radius: 1rem; box-shadow: 0 10px 30px rgba(43,23,24,.07); }
.table-dark { --bs-table-bg: var(--pc-bordo-oscuro); }
.btn-primary { --bs-btn-bg: var(--pc-bordo); --bs-btn-border-color: var(--pc-bordo); --bs-btn-hover-bg: var(--pc-bordo-oscuro); --bs-btn-hover-border-color: var(--pc-bordo-oscuro); }
.btn-outline-primary { --bs-btn-color: var(--pc-bordo); --bs-btn-border-color: var(--pc-bordo); --bs-btn-hover-bg: var(--pc-bordo); --bs-btn-hover-border-color: var(--pc-bordo); }
.punto-barrio-hero {
    padding: clamp(2rem,5vw,4rem);
    border-radius: 1.35rem;
    background-position: center;
    background-size: cover;
    color: var(--pc-blanco);
    box-shadow: 0 16px 42px rgba(43,23,24,.14);
}
.punto-barrio-hero h1 { margin: 1rem 0; font-size: clamp(2.5rem,6vw,4.8rem); font-weight: 800; }
.punto-barrio-hero strong,.punto-barrio-hero span { display: block; }
.punto-barrio-hero strong { color: #f1dcae; }
#mapa-barrio { width: 100%; height: 480px; border: 1px solid #d9dee5; border-radius: 1rem; background: #eef1f4; }
.punto-map-label-wrap { border: 0; background: transparent; }
.punto-map-label { display: inline-block; transform: translate(-50%,-50%); padding: .15rem .4rem; border-radius: .35rem; background: rgba(255,255,255,.82); color: #253044; font-size: .72rem; font-weight: 650; white-space: nowrap; box-shadow: 0 1px 3px rgba(0,0,0,.14); }
.punto-stat-card { display: grid; place-items: center; padding: 1.5rem; border-radius: 1rem; background: var(--pc-blanco); box-shadow: 0 10px 28px rgba(43,23,24,.07); }
.punto-stat-card--link { text-decoration: none; transition: transform .18s ease, box-shadow .18s ease; }
.punto-stat-card--link:hover,.punto-stat-card--link:focus-visible { transform: translateY(-3px); box-shadow: 0 14px 32px rgba(43,23,24,.15); }
.punto-stat-card strong { color: var(--pc-bordo); font-size: 2rem; }
.punto-stat-card span { color: var(--pc-texto-suave); }
.punto-wizard { max-width: 980px; min-height: 65vh; }
#mapa-reclamo { width: 100%; height: 400px; border: 1px solid #d9dee5; border-radius: 1rem; background: #eef1f4; }
.punto-upload-preview { width: 100%; height: 150px; object-fit: cover; }
.punto-historia-img { width: 100%; height: 230px; object-fit: cover; }
.punto-noticias-cabecera {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
}
.punto-noticias-filtros { flex: 1 1 520px; max-width: 650px; }
.punto-noticia-card { transition: transform .2s ease, box-shadow .2s ease; }
.punto-noticia-card:hover { transform: translateY(-3px); box-shadow: 0 18px 42px rgba(43,23,24,.12) !important; }
.punto-fuente {
    display: inline-flex;
    align-items: center;
    min-height: 1.75rem;
    padding: .25rem .65rem;
    border-radius: 999px;
    background: rgba(122,23,27,.09);
    color: var(--pc-bordo);
    font-size: .78rem;
    font-weight: 800;
}
.punto-noticia-fuente {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem;
    border: 1px solid rgba(122,23,27,.12);
    border-radius: 1rem;
    background: var(--pc-blanco);
}
.punto-instagram-mini {
    position: sticky;
    top: 112px;
    overflow: hidden;
    padding: 1rem;
    border: 1px solid rgba(122,23,27,.12);
    border-radius: 1.25rem;
    background: #fff;
    box-shadow: 0 14px 34px rgba(43,23,24,.08);
}
.punto-instagram-perfil {
    display: flex;
    align-items: center;
    gap: .85rem;
    padding: .35rem .25rem 1rem;
}
.punto-instagram-perfil small { color: var(--pc-texto-suave); letter-spacing: .08em; }
.punto-instagram-marca {
    display: grid;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 14px;
    background: linear-gradient(135deg,#833ab4,#fd1d1d 55%,#fcb045);
    color: #fff;
}
.punto-instagram-marca svg { width: 27px; height: 27px; }
.punto-instagram-feed {
    max-height: 490px;
    padding-right: .35rem;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scroll-behavior: smooth;
    scrollbar-color: rgba(122,23,27,.45) rgba(122,23,27,.08);
    scrollbar-width: thin;
}
.punto-instagram-feed::-webkit-scrollbar { width: 7px; }
.punto-instagram-feed::-webkit-scrollbar-track {
    border-radius: 999px;
    background: rgba(122,23,27,.08);
}
.punto-instagram-feed::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(122,23,27,.45);
}
.punto-instagram-publicacion {
    overflow: hidden;
    margin-bottom: .85rem;
    border: 1px solid #e8e8e8;
    border-radius: .85rem;
    background: #fff;
}
.punto-instagram-publicacion:last-child { margin-bottom: 0; }
.punto-instagram-publicacion .instagram-media { min-width: 0 !important; width: 100% !important; margin: 0 !important; }
.punto-instagram-vacio {
    padding: 2rem 1.25rem;
    border-radius: .9rem;
    background: linear-gradient(145deg,#f9eef6,#fff5eb);
    text-align: center;
}
.punto-instagram-vacio p { margin: .5rem 0 0; color: var(--pc-texto-suave); }
.punto-instagram-boton {
    width: 100%;
    margin-top: 1rem;
    border: 0;
    background: linear-gradient(100deg,#833ab4,#fd1d1d,#fcb045);
    color: #fff;
    font-weight: 750;
}
.punto-instagram-boton:hover { color: #fff; filter: brightness(.94); }
.punto-review dt, .punto-review dd { padding-block: .7rem; border-bottom: 1px solid rgba(122,23,27,.1); }
.punto-footer { border-top: 5px solid var(--pc-dorado); background: var(--pc-bordo-oscuro); color: #e8dccf; }
.punto-footer-logo-surface {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .7rem .9rem;
    border-radius: 1rem;
    background: #fffaf1;
}
.punto-footer-logo { width: 220px; height: auto; }
.punto-footer-heading { margin-bottom: .75rem; color: #fff; font-weight: 750; }
.punto-social-links { display: flex; flex-wrap: wrap; gap: .65rem; }
.punto-social-links a {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: #f4e9dc;
    text-decoration: none;
}
.punto-social-links a:hover { color: #fff; text-decoration: underline; }
.punto-social-links a span {
    display: grid;
    width: 1.75rem;
    height: 1.75rem;
    place-items: center;
    border: 1px solid rgba(255,255,255,.32);
    border-radius: 50%;
    background: rgba(255,255,255,.08);
    color: #fff;
    font-size: .8rem;
    font-weight: 800;
}
.punto-social-links a span svg { width: 1rem; height: 1rem; }

/* Mantiene el paginador compacto incluso si quedó compilada una vista
   de paginación que utiliza iconos SVG. */
.pagination {
    align-items: center;
    flex-wrap: wrap;
    gap: .2rem;
}
.pagination svg,
nav[aria-label="Pagination Navigation"] svg {
    width: 1rem !important;
    height: 1rem !important;
}
nav[aria-label="Pagination Navigation"] > div:first-child {
    display: none;
}
nav[aria-label="Pagination Navigation"] > div:last-child {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

@media (max-width: 1199.98px) {
    .punto-navbar .navbar-collapse { margin-top: .9rem; padding: 1rem; border-radius: 1rem; background: var(--pc-crema); }
    .punto-main-nav { margin-bottom: 1rem; border: 0; background: transparent; }
    .punto-header-actions { flex-wrap: wrap; }
}
@media (max-width: 575.98px) {
    .punto-brand-logo { width: 190px; }
    .punto-hero { padding-top: 3.5rem; }
    .punto-territory-card { min-height: 0; padding: 1.5rem; border-radius: 1.35rem; }
    .punto-territory-card::before { right: -175px; }
    .punto-territory-card::after { display: none; }
    .punto-territory-card__coverage { align-items: center; }
    .punto-territory-card__coverage h2 { max-width: 130px; }
    .punto-territory-card__quick { grid-template-columns: 1fr; }
    .punto-header-actions .btn { flex: 1 1 auto; }
    #mapa-barrio { height: 360px; }
    #mapa-reclamo { height: 320px; }
    .punto-reclamos-map-notice { top: .75rem; border-radius: .75rem; white-space: normal; }
}
@media (max-width: 991.98px) {
    .punto-noticias-cabecera { align-items: stretch; flex-direction: column; }
    .punto-noticias-filtros { width: 100%; max-width: none; }
    .punto-instagram-mini { position: static; }
    .punto-instagram-feed { max-height: 440px; }
    .punto-noticia-fuente { align-items: stretch; flex-direction: column; }
    .punto-reclamos-map-shell { grid-template-columns: 1fr; }
    #mapa-reclamos-publicos { min-height: 460px; }
    .punto-reclamos-panel { border-top: 1px solid rgba(122, 23, 27, .12); border-left: 0; }
    .punto-reclamos-list { max-height: none; }
}
.punto-cercania-icono {
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    color: #fff;
    background: var(--punto-bordo, #7a171b);
    border-radius: 50% 50% 50% 18%;
    font-size: .78rem;
    font-weight: 800;
}

.punto-admin-toolbar {
    position: sticky;
    top: 76px;
    z-index: 1015;
    border-bottom: 1px solid rgba(122, 23, 27, .16);
    background: rgba(255, 250, 242, .96);
    box-shadow: 0 8px 24px rgba(48, 21, 18, .08);
    backdrop-filter: blur(10px);
}
.punto-admin-toolbar .container {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-height: 54px;
}
.punto-admin-home-link {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .55rem .85rem;
    border-radius: .75rem;
    background: var(--pc-bordo);
    color: #fff !important;
    font-weight: 750;
    text-decoration: none;
}
.punto-admin-home-link:visited,
.punto-admin-home-link:focus { color: #fff !important; }
.punto-admin-home-link:hover { background: var(--pc-bordo-oscuro); color: #fff; transform: translateY(-1px); }
.punto-admin-home-link svg { width: 1.1rem; height: 1.1rem; }
.punto-admin-toolbar-label { overflow: hidden; color: var(--pc-texto-suave); text-overflow: ellipsis; white-space: nowrap; }
.punto-admin-site-link { margin-left: auto; color: var(--pc-bordo); font-weight: 700; text-decoration: none; }
.punto-admin-site-link:hover { text-decoration: underline; }

.punto-radar-actividad-registro {
    max-height: 20rem;
    overflow: auto;
    border: 1px solid rgba(48, 21, 18, .1);
    border-radius: .9rem;
}

.punto-radar-descartes {
    max-height: 34rem;
    overflow: auto;
    border: 1px solid rgba(48, 21, 18, .1);
    border-radius: .9rem;
}

.punto-portada-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 2rem;
}

.punto-news-utility {
    --pc-utility-surface: rgba(255, 255, 255, .97);
    --pc-utility-chip: #fff;
    --pc-utility-border: rgba(21, 50, 58, .13);
    --pc-utility-text: #34434a;
    --pc-utility-muted: #68767b;
    border-bottom: 1px solid var(--pc-utility-border);
    background: var(--pc-utility-surface);
    box-shadow: 0 8px 22px rgba(21, 50, 58, .06);
    backdrop-filter: blur(12px);
}
.punto-news-utility__inner {
    display: flex;
    align-items: center;
    gap: clamp(.65rem, 1.4vw, 1.3rem);
    max-width: 1440px;
    min-width: 0;
    margin-inline: auto;
    padding: .7rem clamp(1rem, 2.2vw, 2.75rem);
}
.punto-news-menu-trigger--utility {
    min-height: 46px;
    flex: 0 0 auto;
    padding: .65rem 1rem;
    border: 1px solid #00717c;
    border-radius: .7rem;
    background: linear-gradient(135deg, #00717c, #1796a3);
    box-shadow: 0 6px 16px rgba(0, 113, 124, .16);
    color: #fff;
    font-weight: 750;
    transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.punto-news-menu-trigger--utility:hover,
.punto-news-menu-trigger--utility:active {
    border-color: #005b65;
    background: #005b65;
    color: #fff;
    transform: translateY(-1px);
}
.punto-news-menu-trigger--utility:focus-visible {
    outline: 3px solid rgba(45, 169, 183, .42);
    outline-offset: 3px;
}
.punto-news-menu-trigger__icon { font-size: 1.12rem; line-height: 1; }

.punto-portada-indicadores {
    display: flex;
    flex: 1 1 auto;
    flex-wrap: nowrap;
    align-items: center;
    gap: .65rem;
    min-width: 0;
    margin: 0;
    padding: .15rem 0;
    overflow-x: auto;
    color: var(--pc-utility-text, var(--pc-texto-suave));
    font-size: .86rem;
    scrollbar-color: rgba(0, 113, 124, .28) transparent;
    scrollbar-width: thin;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline proximity;
}
.punto-portada-indicadores::-webkit-scrollbar { height: 5px; }
.punto-portada-indicadores::-webkit-scrollbar-thumb { border-radius: 99px; background: rgba(0, 113, 124, .28); }
.punto-info-chip {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    min-height: 44px;
    flex: 0 0 auto;
    padding: .58rem .78rem;
    border: 1px solid var(--pc-utility-border, rgba(21, 50, 58, .13));
    border-radius: .72rem;
    background: var(--pc-utility-chip, #fff);
    box-shadow: 0 3px 10px rgba(21, 50, 58, .035);
    color: inherit;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    scroll-snap-align: start;
    transition: border-color .18s ease, background-color .18s ease, color .18s ease, transform .18s ease;
}
.punto-info-chip strong { color: #17282e; font-weight: 800; }
.punto-info-chip small { color: var(--pc-utility-muted, var(--pc-texto-suave)); }
.punto-info-chip__icon {
    display: grid;
    width: 1.35rem;
    height: 1.35rem;
    place-items: center;
    flex: 0 0 1.35rem;
    border-radius: 50%;
    color: #00717c;
    font-weight: 800;
}
.punto-info-chip__arrow { color: #00717c; font-size: 1.25rem; line-height: .8; }
.punto-info-chip--clima { min-width: max-content; }
.punto-info-chip--horoscopo {
    border-color: rgba(45, 169, 183, .25);
    background: #eaf8fa;
    color: #006b76;
}
.punto-info-chip--horoscopo strong { color: #006b76; }
.punto-portada-indicadores a:hover {
    border-color: rgba(0, 113, 124, .4);
    background: #f0fafb;
    color: #005b65;
    transform: translateY(-1px);
}
.punto-portada-indicadores a:focus-visible {
    outline: 3px solid rgba(45, 169, 183, .38);
    outline-offset: 2px;
}

.punto-radar-bitacora > summary {
    padding: .85rem 1rem;
    border: 1px solid rgba(48, 21, 18, .1);
    border-radius: .9rem;
    background: var(--pc-blanco);
    cursor: pointer;
    list-style-position: inside;
}

.punto-radar-actividad-registro thead {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--pc-blanco);
    box-shadow: 0 1px 0 rgba(48, 21, 18, .12);
}

.punto-radar-actividad-registro:focus-visible {
    outline: 3px solid rgba(0, 126, 138, .28);
    outline-offset: 2px;
}

.punto-admin-modules {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem;
}
.punto-admin-module {
    --module-color: var(--pc-bordo);
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: .9rem;
    min-height: 112px;
    overflow: hidden;
    padding: 1.1rem;
    border: 1px solid color-mix(in srgb, var(--module-color) 24%, white);
    border-radius: 1rem;
    background: linear-gradient(140deg, color-mix(in srgb, var(--module-color) 8%, white), #fff 70%);
    box-shadow: 0 7px 20px rgba(48, 21, 18, .07);
    color: #261817;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.punto-admin-module::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: var(--module-color);
    content: "";
}
.punto-admin-module:hover {
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--module-color) 45%, white);
    box-shadow: 0 14px 28px rgba(48, 21, 18, .13);
    color: #261817;
}
.punto-admin-module-icon {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border-radius: .9rem;
    background: color-mix(in srgb, var(--module-color) 14%, white);
    font-size: 1.45rem;
    transition: transform .2s ease;
}
.punto-admin-module:hover .punto-admin-module-icon { transform: scale(1.08) rotate(-3deg); }
.punto-admin-module strong { display: block; font-size: 1.05rem; }
.punto-admin-module small { display: block; margin-top: .2rem; color: var(--pc-texto-suave); line-height: 1.35; }
.punto-admin-module-arrow { color: var(--module-color); font-size: 1.35rem; font-weight: 800; transition: transform .2s ease; }
.punto-admin-module:hover .punto-admin-module-arrow { transform: translateX(4px); }
.punto-admin-module--reclamos { --module-color: #8b1e24; }
.punto-admin-module--localidades { --module-color: #266c80; }
.punto-admin-module--barrios { --module-color: #477240; }
.punto-admin-module--noticias { --module-color: #b87912; }
.punto-admin-module--instituciones { --module-color: #4b5e8f; }
.punto-admin-module--comercios { --module-color: #9a4f75; }
.punto-admin-module--usuarios { --module-color: #6b4c9a; }
.punto-admin-module--configuracion { --module-color: #5f6266; }

.punto-admin-guide {
    overflow: hidden;
    border: 1px solid rgba(75, 94, 143, .24);
    border-radius: 1.15rem;
    background: linear-gradient(135deg, rgba(75, 94, 143, .1), #fff 55%);
    box-shadow: 0 10px 26px rgba(48, 21, 18, .08);
}
.punto-admin-guide__heading {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 1rem;
    padding: 1.15rem 1.25rem;
    border-bottom: 1px solid rgba(75, 94, 143, .15);
}
.punto-admin-guide__heading h3 { margin: 0; font-size: 1.25rem; font-weight: 800; }
.punto-admin-guide__heading p { margin: .15rem 0 0; color: var(--pc-texto-suave); }
.punto-admin-guide__icon { display: grid; width: 3rem; height: 3rem; place-items: center; border-radius: .9rem; background: rgba(75, 94, 143, .14); font-size: 1.45rem; }
.punto-admin-guide__links { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; padding: 1rem; }
.punto-admin-guide__links a { display: grid; grid-template-columns: 1fr auto; gap: .15rem .75rem; padding: 1rem; border: 1px solid rgba(75, 94, 143, .16); border-radius: .85rem; background: #fff; color: var(--pc-texto); text-decoration: none; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.punto-admin-guide__links a:hover { transform: translateY(-2px); border-color: #4b5e8f; box-shadow: 0 8px 18px rgba(48, 21, 18, .08); }
.punto-admin-guide__links strong { font-weight: 800; }
.punto-admin-guide__links small { grid-column: 1; color: var(--pc-texto-suave); }
.punto-admin-guide__links span { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: #4b5e8f; font-size: 1.25rem; font-weight: 800; }
.punto-admin-guide-nav { display: flex; align-items: center; gap: .4rem; overflow-x: auto; padding: .55rem; border: 1px solid rgba(75, 94, 143, .18); border-radius: .9rem; background: #fff; box-shadow: 0 6px 18px rgba(48, 21, 18, .06); }
.punto-admin-guide-nav span { padding: .5rem .7rem; color: #4b5e8f; font-weight: 850; white-space: nowrap; }
.punto-admin-guide-nav a { padding: .5rem .75rem; border-radius: .65rem; color: var(--pc-texto-suave); font-weight: 700; text-decoration: none; white-space: nowrap; }
.punto-admin-guide-nav a:hover, .punto-admin-guide-nav a.active { background: #4b5e8f; color: #fff; }

/* Guía pública */
.punto-guide-hero {
    position: relative;
    overflow: visible;
    z-index: 1;
    border-bottom: 1px solid rgba(122, 23, 27, .1);
    background:
        radial-gradient(circle at 88% 12%, rgba(209, 154, 48, .24), transparent 28%),
        linear-gradient(135deg, #fbf5e9 0%, #fff 58%, #f8eee5 100%);
}
.punto-guide-hero .lead { max-width: 740px; color: var(--pc-texto-suave); }
.punto-guide-summary { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: 1px solid rgba(122, 23, 27, .14); border-radius: 1.15rem; background: rgba(255, 255, 255, .86); box-shadow: 0 14px 35px rgba(48, 21, 18, .09); }
.punto-guide-summary div { padding: 1.1rem .7rem; text-align: center; }
.punto-guide-summary div + div { border-left: 1px solid rgba(122, 23, 27, .12); }
.punto-guide-summary strong { display: block; color: var(--pc-bordo); font-size: clamp(1.35rem, 3vw, 2rem); line-height: 1; }
.punto-guide-summary span { display: block; margin-top: .45rem; color: var(--pc-texto-suave); font-size: .82rem; }
.punto-guide-search { padding: 1.25rem; border: 1px solid rgba(122, 23, 27, .15); border-radius: 1.15rem; background: rgba(255, 255, 255, .94); box-shadow: 0 16px 38px rgba(48, 21, 18, .1); }
.punto-guide-path { --path-color: #4b5e8f; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; min-height: 150px; padding: 1.25rem; border: 1px solid color-mix(in srgb, var(--path-color) 25%, white); border-radius: 1.1rem; background: linear-gradient(145deg, color-mix(in srgb, var(--path-color) 9%, white), #fff 72%); color: var(--pc-texto); text-decoration: none; box-shadow: 0 8px 22px rgba(48, 21, 18, .07); transition: transform .2s ease, box-shadow .2s ease; }
.punto-guide-path:hover { transform: translateY(-4px); color: var(--pc-texto); box-shadow: 0 16px 30px rgba(48, 21, 18, .12); }
.punto-guide-path--services { --path-color: #4b5e8f; }
.punto-guide-path--government { --path-color: #7a171b; }
.punto-guide-path--near { --path-color: #16836b; }
.punto-guide-path__icon { display: grid; width: 3.2rem; height: 3.2rem; place-items: center; border-radius: 1rem; background: color-mix(in srgb, var(--path-color) 15%, white); color: var(--path-color); font-size: 1.5rem; font-weight: 800; }
.punto-guide-path strong { display: block; margin-bottom: .3rem; font-size: 1.08rem; }
.punto-guide-path small { display: block; color: var(--pc-texto-suave); line-height: 1.45; }
.punto-guide-path b { color: var(--path-color); font-size: 1.3rem; }
.punto-guide-categories { display: grid; grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); gap: .8rem; }
.punto-guide-categories a { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .7rem; padding: .85rem 1rem; border: 1px solid color-mix(in srgb, var(--guide-category) 24%, white); border-radius: .9rem; background: #fff; color: var(--pc-texto); text-decoration: none; box-shadow: 0 6px 16px rgba(48, 21, 18, .05); }
.punto-guide-categories a:hover { border-color: var(--guide-category); color: var(--pc-texto); }
.punto-guide-categories span { display: grid; width: 2.35rem; height: 2.35rem; place-items: center; border-radius: 50%; background: var(--guide-category); color: #fff; font-size: .7rem; font-weight: 800; }
.punto-guide-categories strong { font-size: .95rem; }
.punto-guide-categories small { color: var(--pc-texto-suave); font-weight: 700; }
.punto-guide-results-section { padding: 1.25rem; border: 1px solid rgba(62, 34, 28, .11); border-radius: 1.15rem; background: rgba(255, 255, 255, .7); }
.punto-guide-result-card { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: .9rem; padding: 1rem; border: 1px solid rgba(62, 34, 28, .13); border-radius: 1rem; background: #fff; box-shadow: 0 6px 17px rgba(48, 21, 18, .055); }
.punto-guide-result-card h4 { margin: .2rem 0 .45rem; font-size: 1.05rem; font-weight: 800; }
.punto-guide-result-card p { margin: 0 0 .4rem; font-size: .88rem; line-height: 1.4; }
.punto-guide-result-card small { color: var(--pc-texto-suave); }
.punto-guide-result-card a { display: inline-block; margin-top: .35rem; color: var(--pc-bordo); font-size: .9rem; font-weight: 750; text-decoration: none; }
.punto-guide-result-icon, .punto-guide-result-avatar { display: grid; width: 2.9rem; height: 2.9rem; place-items: center; flex: 0 0 2.9rem; border-radius: 50% 50% 50% 18%; background: var(--result-color, var(--pc-bordo)); color: #fff; font-size: .72rem; font-weight: 800; }
.punto-guide-result-avatar { border-radius: 50%; background: #ece4dc; color: var(--pc-bordo); }
.punto-guide-result-photo { width: 2.9rem; height: 2.9rem; border-radius: 50%; object-fit: cover; }

@media (max-width: 767.98px) {
    .punto-radar-actividad-registro { max-height: 18rem; }
    .punto-radar-descartes { max-height: 28rem; }
    .punto-portada-toolbar { align-items: flex-start; flex-direction: column; gap: .75rem; }
    .punto-news-utility__inner { gap: .55rem; padding: .55rem .75rem; }
    .punto-news-menu-trigger--utility { min-height: 44px; padding-inline: .8rem; }
    .punto-portada-indicadores { gap: .5rem; font-size: .8rem; }
    .punto-info-chip { min-height: 44px; padding: .55rem .7rem; }
    .punto-info-chip--clima small { display: none; }
    .punto-portada-indicadores__fecha { font-weight: 700; }
    .punto-admin-guide__heading { grid-template-columns: auto 1fr; }
    .punto-admin-guide__heading .btn { grid-column: 1 / -1; }
    .punto-admin-guide__links { grid-template-columns: 1fr; }
    .punto-guide-summary { grid-template-columns: 1fr; }
    .punto-guide-summary div + div { border-top: 1px solid rgba(122, 23, 27, .12); border-left: 0; }
    .punto-guide-summary div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; text-align: left; }
    .punto-guide-summary span { margin: 0; }
}

html:has(body.punto-has-news-utility) { scroll-padding-top: 165px; }

@media (max-width: 1199.98px) {
    html:has(body.punto-has-news-utility) { scroll-padding-top: 145px; }
}

@media (prefers-reduced-motion: reduce) {
    .punto-news-menu-trigger--utility,
    .punto-info-chip { transition: none; }
}

.punto-preview-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.15rem;
    border-radius: 1rem;
    background: linear-gradient(120deg, var(--pc-bordo), var(--pc-bordo-oscuro));
    box-shadow: 0 10px 25px rgba(70, 18, 20, .2);
    color: #fff;
}
.punto-preview-banner strong,
.punto-preview-banner span { display: block; }
.punto-preview-banner span { margin-top: .15rem; color: rgba(255,255,255,.8); font-size: .9rem; }

@media (max-width: 575.98px) {
    .punto-admin-toolbar { top: 70px; }
    .punto-admin-toolbar .container { flex-wrap: wrap; gap: .45rem .75rem; padding-block: .5rem; }
    .punto-admin-toolbar-label { order: 3; width: 100%; }
    .punto-admin-site-link { font-size: .9rem; }
    .punto-admin-home-link { padding: .5rem .65rem; font-size: .9rem; }
    .punto-preview-banner { align-items: stretch; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
    .punto-admin-module,
    .punto-admin-module-icon,
    .punto-admin-module-arrow,
    .punto-admin-home-link { transition: none; }
    .punto-admin-module:hover,
    .punto-admin-module:hover .punto-admin-module-icon,
    .punto-admin-module:hover .punto-admin-module-arrow,
    .punto-admin-home-link:hover { transform: none; }
}

/* Portada editorial de noticias */
.punto-news-home {
    padding: clamp(2.5rem, 5vw, 5rem) 0 3.5rem;
    background:
        radial-gradient(circle at 92% 5%, rgba(200,154,61,.13), transparent 24rem),
        var(--pc-crema);
}
.punto-news-home__masthead {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
}
.punto-news-home__masthead h1 {
    margin: .7rem 0 .35rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.7rem, 5vw, 5.2rem);
    font-weight: 800;
    letter-spacing: -.045em;
}
.punto-news-home__masthead p {
    max-width: 700px;
    margin: 0;
    color: var(--pc-texto-suave);
    font-size: 1.05rem;
}
.punto-news-home__edition {
    display: grid;
    flex: 0 0 auto;
    gap: .45rem;
    text-align: right;
}
.punto-news-home__edition span { color: var(--pc-texto-suave); font-size: .85rem; }
.punto-news-home__edition a { font-weight: 750; text-decoration: none; }
.punto-news-home__rule {
    height: 5px;
    margin: 1.3rem 0 1.6rem;
    background: linear-gradient(90deg, var(--pc-bordo-oscuro) 0 76%, var(--pc-dorado) 76%);
}
.punto-news-home__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(240px, .78fr) minmax(245px, .56fr);
    gap: clamp(1.15rem, 2.2vw, 2rem);
    align-items: start;
}
.punto-news-image {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 1rem;
    background:
        radial-gradient(circle at 12% 115%, rgba(238,193,103,.9) 0 27%, transparent 28%),
        radial-gradient(circle at 104% -10%, rgba(120,48,52,.9) 0 33%, transparent 34%),
        linear-gradient(140deg, #432124, #a3624d 57%, #d6a34a);
}
.punto-news-image.is-placeholder::after {
    content: "PUNTO CÓRDOBA";
    position: absolute;
    right: 1rem;
    bottom: .8rem;
    color: rgba(255,255,255,.88);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .12em;
}
.punto-news-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--news-image-x, 50%) var(--news-image-y, 50%);
    transform: scale(var(--news-image-zoom, 1));
    transition: transform .3s ease;
}
.punto-news-image:hover img { transform: scale(calc(var(--news-image-zoom, 1) + .025)); }
.punto-news-lead__image { min-height: 350px; aspect-ratio: 16 / 9; }
.punto-news-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    margin-top: .9rem;
    color: var(--pc-texto-suave);
    font-size: .78rem;
}
.punto-news-featured {
    margin-left: auto;
    color: var(--pc-bordo);
    font-weight: 800;
    text-transform: uppercase;
}

.punto-category-picker {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    max-height: 190px;
    padding: .8rem;
    overflow-y: auto;
    border: 1px solid var(--bs-border-color);
    border-radius: .75rem;
    background: #fff;
}
.punto-category-picker label { cursor: pointer; }
.punto-category-picker input { position: absolute; opacity: 0; pointer-events: none; }
.punto-category-picker span {
    display: inline-flex;
    padding: .38rem .7rem;
    border: 1px solid #d9cfd0;
    border-radius: 999px;
    color: var(--pc-bordo-oscuro);
    font-size: .84rem;
    transition: .15s ease;
}
.punto-category-picker input:checked + span {
    border-color: var(--pc-bordo);
    background: var(--pc-bordo);
    color: #fff;
    box-shadow: 0 4px 12px rgba(126, 27, 34, .18);
}
.punto-news-crop-preview {
    position: relative;
    height: 340px;
    overflow: hidden;
    border-radius: 1rem;
    background: #e9e4dc;
    box-shadow: inset 0 0 0 1px rgba(43, 23, 24, .12);
}
.punto-news-crop-preview img { width: 100%; height: 100%; display: block; }
.punto-news-crop-preview > span { display: none; }
.punto-news-crop-preview.is-empty > span { display: grid; place-items: center; height: 100%; color: var(--pc-texto-suave); }
.punto-news-crop-preview.is-empty img { display: none; }
.punto-featured-toggle {
    display: flex;
    width: 100%;
    gap: .8rem;
    align-items: flex-start;
    padding: .9rem 1rem;
    cursor: pointer;
    border: 2px solid rgba(209, 153, 48, .5);
    border-radius: .85rem;
    background: #fff9e9;
}
.punto-featured-toggle input { margin-top: .25rem; }
.punto-featured-toggle span { display: grid; gap: .15rem; }
.punto-featured-toggle strong { color: #7b4d00; }
.punto-featured-toggle small { color: var(--pc-texto-suave); }
.punto-card-news-image,
.punto-news-detail-image { position: relative; overflow: hidden; background: #e9e4dc; }
.punto-card-news-image { height: 260px; }
.punto-card-news-image img,
.punto-news-detail-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--news-image-x, 50%) var(--news-image-y, 50%);
    transform: scale(var(--news-image-zoom, 1));
}
.punto-card-news-image.is-contain img,
.punto-news-detail-image.is-contain img { object-fit: contain; }
.punto-news-detail-image { height: min(65vh, 620px); border-radius: 1rem; box-shadow: 0 .5rem 1rem rgba(43,23,24,.12); }
.punto-news-detail-image.punto-news-detail-image--auto { height: auto; max-height: none; overflow: visible; background: transparent; }
.punto-news-detail-image.punto-news-detail-image--auto img { display: block; width: 100%; height: auto; max-height: none; object-fit: contain; object-position: center; transform: none; }
.punto-news-featured-ribbon {
    position: absolute;
    z-index: 2;
    top: .8rem;
    left: .8rem;
    padding: .42rem .72rem;
    border-radius: 999px;
    background: #d39b2d;
    color: #241315;
    font-size: .76rem;
    font-weight: 850;
    box-shadow: 0 5px 14px rgba(43,23,24,.25);
}
.punto-news-featured-ribbon.is-inline { position: static; box-shadow: none; }
.punto-news-lead h2,
.punto-news-secondary h3,
.punto-news-latest h3 {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 800;
}
.punto-news-lead h2 {
    margin: .8rem 0 .65rem;
    font-size: clamp(2rem, 3vw, 3.05rem);
    letter-spacing: -.035em;
}
.punto-news-lead h2 a,
.punto-news-secondary h3 a,
.punto-news-latest h3 a {
    color: var(--pc-bordo-oscuro);
    text-decoration: none;
}
.punto-news-lead h2 a:hover,
.punto-news-secondary h3 a:hover,
.punto-news-latest h3 a:hover { color: var(--pc-bordo); }
.punto-news-lead p { color: var(--pc-texto-suave); font-size: 1.03rem; }
.punto-news-date { color: var(--pc-texto-suave); font-size: .78rem; }
.punto-news-secondary article {
    padding-bottom: 1.3rem;
    margin-bottom: 1.3rem;
    border-bottom: 1px solid rgba(43,23,24,.16);
}
.punto-news-secondary article:last-child { margin-bottom: 0; }
.punto-news-secondary__image { min-height: 130px; aspect-ratio: 16 / 8.5; }
.punto-news-secondary h3 {
    margin: .65rem 0 .5rem;
    font-size: clamp(1.25rem, 1.7vw, 1.7rem);
    letter-spacing: -.02em;
}
.punto-news-home__instagram {
    top: 108px;
    max-height: 590px;
}
.punto-news-home__instagram .punto-instagram-feed { max-height: 405px; }
.punto-news-home__instagram .punto-instagram-marca {
    flex-basis: 40px;
    width: 40px;
    height: 40px;
    border-radius: 12px;
}
.punto-news-latest { margin-top: 2.4rem; }
.punto-news-section-title {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: .75rem;
    border-bottom: 2px solid var(--pc-bordo-oscuro);
}
.punto-news-section-title h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 800;
}
.punto-news-section-title a { font-weight: 750; text-decoration: none; }
.punto-news-latest__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}
.punto-news-latest__grid article {
    min-height: 195px;
    padding: 1.25rem;
    border-top: 5px solid var(--pc-dorado);
    border-radius: 0 0 1rem 1rem;
    background: #fff;
    box-shadow: 0 12px 30px rgba(43,23,24,.07);
}
.punto-news-latest h3 { margin: .75rem 0 .55rem; font-size: 1.25rem; }
.punto-news-latest p { color: var(--pc-texto-suave); font-size: .88rem; }
.punto-news-empty {
    padding: clamp(2.5rem, 7vw, 6rem);
    border: 1px solid rgba(122,23,27,.12);
    border-radius: 1.5rem;
    background: #fff;
    text-align: center;
    box-shadow: 0 18px 45px rgba(43,23,24,.07);
}
.punto-news-empty h2 {
    margin: 1rem 0 .65rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 800;
}
.punto-home-services {
    padding: 3.5rem 0 4.5rem;
    border-top: 1px solid rgba(122,23,27,.12);
    background: #efe7d9;
}
.punto-home-services__head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 1.5rem;
}
.punto-home-services__head h2 {
    margin: .6rem 0 0;
    font-size: clamp(1.8rem, 3vw, 2.7rem);
    font-weight: 800;
}
.punto-location-bar { background: linear-gradient(90deg, #fff9f0, #fff); border-bottom: 1px solid #eadfd7; }
.punto-location-bar__inner { min-height: 52px; display: flex; align-items: center; justify-content: center; gap: 1.1rem; padding: .45rem 2rem; }
.punto-location-bar__message { display: flex; align-items: center; gap: .55rem; color: #4d332b; }
.punto-location-bar__message > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #dda326; }
.punto-location-bar__message small { color: #7d6f68; }
.punto-location-bar__form { width: min(100%, 300px); }
.punto-location-bar__form .form-select { border-color: #d6b37a; border-radius: 999px; font-weight: 700; background-color: #fff; }
.punto-home-services__finder { width: min(100%, 440px); }
.punto-home-services__finder label {
    display: block;
    margin-bottom: .45rem;
    font-size: .85rem;
    font-weight: 750;
}
.punto-home-services__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}
.punto-home-services__grid a {
    display: grid;
    min-height: 165px;
    padding: 1.25rem;
    border: 1px solid rgba(122,23,27,.11);
    border-radius: 1rem;
    background: #fff;
    color: var(--pc-bordo-oscuro);
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(43,23,24,.05);
    transition: transform .2s ease, border-color .2s ease;
}
.punto-home-services__grid a:hover {
    border-color: var(--pc-dorado);
    transform: translateY(-3px);
}
.punto-home-services__grid span { font-weight: 800; }
.punto-home-services__grid strong {
    align-self: end;
    color: var(--pc-bordo);
    font-size: 2.2rem;
}
.punto-home-services__grid small { color: var(--pc-texto-suave); }

@media (max-width: 1199.98px) {
    .punto-news-home__grid { grid-template-columns: minmax(0, 1.5fr) minmax(250px, .7fr); }
    .punto-news-home__instagram { grid-column: 1 / -1; position: static; max-height: none; }
    .punto-news-home__instagram .punto-instagram-feed {
        display: grid;
        grid-auto-columns: minmax(260px, 1fr);
        grid-auto-flow: column;
        gap: .8rem;
        max-height: 430px;
        overflow-x: auto;
        overflow-y: hidden;
    }
    .punto-home-services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .punto-location-bar__inner { align-items: stretch; flex-direction: column; gap: .35rem; padding: .65rem 1rem; }
    .punto-location-bar__message { justify-content: center; }
    .punto-location-bar__message small { display: none; }
    .punto-location-bar__form { width: 100%; }
    .punto-news-home__masthead,
    .punto-home-services__head { align-items: stretch; flex-direction: column; }
    .punto-news-home__edition { text-align: left; }
    .punto-news-home__grid { grid-template-columns: 1fr; }
    .punto-news-lead__image { min-height: 230px; }
    .punto-news-secondary {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
    }
    .punto-news-secondary article { margin: 0; }
    .punto-news-latest__grid,
    .punto-home-services__grid { grid-template-columns: 1fr; }
    .punto-home-services__finder { width: 100%; }
}
@media (max-width: 575.98px) {
    .punto-news-secondary { grid-template-columns: 1fr; }
    .punto-news-home__instagram .punto-instagram-feed { grid-auto-columns: 100%; }
}
.punto-funcionarios-tabs {
    gap: .6rem;
}

.punto-funcionarios-tabs .nav-link {
    border: 1px solid rgba(122, 23, 27, .18);
    border-radius: 999px;
    color: var(--punto-bordo, #7a171b);
    font-weight: 700;
    padding: .7rem 1rem;
}

.punto-funcionarios-tabs .nav-link.active {
    background: var(--punto-bordo, #7a171b);
    color: #fff;
}

.punto-funcionarios-tabs .badge {
    background: rgba(255,255,255,.18);
    color: inherit;
}

.punto-funcionario-card {
    transition: transform .18s ease, box-shadow .18s ease;
}

.punto-funcionario-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 1rem 2rem rgba(45, 22, 20, .12) !important;
}

.punto-funcionario-photo-wrap {
    width: 100%;
    aspect-ratio: 16 / 10;
    border-radius: 1rem;
    overflow: hidden;
    background: linear-gradient(135deg, #f4ead9, #ead3d1);
}

.punto-funcionario-photo {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center top;
}

.punto-funcionario-photo--detail,
.punto-funcionario-avatar--detail {
    width: 190px;
    height: 230px;
    border-radius: 1.25rem;
}

.punto-funcionario-avatar {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, #7a171b, #c89a3d);
    font-size: 2.25rem;
    font-weight: 800;
    letter-spacing: .05em;
}

@media (max-width: 575.98px) {
    .punto-funcionario-photo--detail,
    .punto-funcionario-avatar--detail {
        width: 150px;
        height: 180px;
    }
}

.punto-localidad-stat--autoridad strong {
    font-size: 1.05rem;
    line-height: 1.25;
}
.punto-client-brand{display:inline-flex;flex-direction:column;color:#7a171b;font-weight:900;font-size:1.25rem;line-height:.86;letter-spacing:.04em}.punto-client-brand small{font-size:.55em;letter-spacing:.2em}.punto-client-brand--footer{color:#fff;font-size:1.55rem}

/* Menú editorial de Inicio / Noticias */
.punto-news-menu-trigger {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .55rem .85rem;
    border: 1px solid rgba(122, 23, 27, .2);
    border-radius: .75rem;
    background: #fff;
    color: var(--pc-bordo, #7a171b);
    font-weight: 800;
    box-shadow: 0 8px 20px rgba(43, 23, 24, .06);
}
.punto-news-menu-trigger span { font-size: 1.2rem; line-height: 1; }
.punto-news-menu-trigger:hover,
.punto-news-menu-trigger:focus-visible {
    border-color: var(--pc-dorado, #c89931);
    background: #fffaf2;
    color: var(--pc-bordo, #7a171b);
}
.punto-news-drawer {
    --bs-offcanvas-width: min(390px, 92vw);
    border: 0;
    color: #241415;
    box-shadow: 20px 0 55px rgba(35, 17, 18, .24);
}
.punto-news-drawer .offcanvas-header {
    padding: 1.6rem 1.5rem 1.15rem;
    border-bottom: 1px solid rgba(122, 23, 27, .12);
}
.punto-news-drawer .offcanvas-title {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.85rem;
    font-weight: 800;
}
.punto-news-drawer .offcanvas-body { padding: 1.35rem 1.5rem 2rem; }
.punto-news-drawer-social { margin-bottom: 1.25rem; }
.punto-news-drawer-social > strong {
    display: block;
    margin-bottom: .7rem;
    font-size: .82rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.punto-news-drawer-social > div { display: flex; flex-wrap: wrap; gap: .45rem; }
.punto-news-drawer-social a {
    padding: .38rem .65rem;
    border: 1px solid rgba(122, 23, 27, .16);
    border-radius: 999px;
    color: var(--pc-bordo, #7a171b);
    font-size: .82rem;
    font-weight: 700;
    text-decoration: none;
}
.punto-news-drawer-search {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: .5rem;
    margin-bottom: 1.25rem;
}
.punto-news-drawer-search .form-control { min-height: 46px; }
.punto-news-drawer-nav { display: grid; }
.punto-news-drawer-nav a {
    position: relative;
    padding: .82rem .7rem;
    border-bottom: 1px solid rgba(122, 23, 27, .09);
    color: #241415;
    font-size: 1.03rem;
    text-decoration: none;
    transition: padding-left .16s ease, color .16s ease, background .16s ease;
}
.punto-news-drawer-nav a::after {
    content: "›";
    position: absolute;
    right: .75rem;
    color: #a58972;
}
.punto-news-drawer-nav a:hover,
.punto-news-drawer-nav a.active {
    padding-left: 1rem;
    background: #fff8ed;
    color: var(--pc-bordo, #7a171b);
    font-weight: 800;
}

@media (max-width: 575.98px) {
    .punto-news-menu-trigger { width: 100%; justify-content: center; }
    .punto-news-drawer-search { grid-template-columns: 1fr; }
}

/* Guía pública: dos secciones plegables, sin desplegable en la navegación */
.punto-guide-accordion {
    display: grid;
    gap: 1rem;
}
.punto-guide-accordion__item {
    overflow: hidden;
    border: 1px solid rgba(122, 23, 27, .14);
    border-radius: 1.25rem;
    background: #fff;
    box-shadow: 0 .75rem 2rem rgba(43, 23, 24, .07);
}
.punto-guide-accordion__trigger {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 1rem;
    align-items: center;
    width: 100%;
    padding: 1.35rem 1.5rem;
    border: 0;
    background: #fff;
    color: #2b1718;
    text-align: left;
    transition: background .18s ease, color .18s ease;
}
.punto-guide-accordion__trigger:hover,
.punto-guide-accordion__trigger:not(.collapsed) {
    background: #fff8ed;
    color: var(--pc-bordo, #7a171b);
}
.punto-guide-accordion__trigger strong,
.punto-guide-accordion__trigger small { display: block; }
.punto-guide-accordion__trigger strong { font-size: 1.2rem; }
.punto-guide-accordion__trigger small { margin-top: .2rem; color: #6e6060; }
.punto-guide-accordion__trigger > b {
    font-size: 1.5rem;
    transition: transform .18s ease;
}
.punto-guide-accordion__trigger:not(.collapsed) > b { transform: rotate(180deg); }
.punto-guide-accordion__body {
    padding: 1.4rem 1.5rem 1.5rem;
    border-top: 1px solid rgba(122, 23, 27, .1);
    background: #fffdfa;
}
.punto-guide-government-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
}
.punto-guide-government-links a {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    min-height: 130px;
    padding: 1.1rem;
    border: 1px solid rgba(122, 23, 27, .14);
    border-radius: 1rem;
    background: #fff;
    color: #2b1718;
    text-decoration: none;
}
.punto-guide-government-links a:hover {
    border-color: var(--pc-dorado, #c89931);
    color: var(--pc-bordo, #7a171b);
    transform: translateY(-2px);
}
.punto-guide-government-links span { color: #6e6060; font-size: .9rem; }

@media (max-width: 767.98px) {
    .punto-guide-government-links { grid-template-columns: 1fr; }
    .punto-guide-accordion__trigger { padding: 1.1rem; }
    .punto-guide-accordion__body { padding: 1.1rem; }
}
.punto-clima-actual { display:grid; grid-template-columns:auto minmax(220px,.7fr) minmax(300px,1.3fr); align-items:center; gap:1.5rem; color:#fff; background:linear-gradient(135deg,#26334a,#536780); overflow:hidden; }
.punto-clima-icono { font-size:4rem; line-height:1; }
.punto-clima-temperatura { font-size:4rem; line-height:.95; }
.punto-clima-dias { display:grid; grid-template-columns:repeat(7,minmax(120px,1fr)); gap:.75rem; }
.punto-clima-dia { display:flex; min-height:175px; flex-direction:column; gap:.45rem; padding:1rem; border:1px solid rgba(23,23,23,.12); border-radius:1rem; background:#fff; color:inherit; text-align:left; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background-color .2s ease; }
.punto-clima-dia:hover,.punto-clima-dia:focus-visible,.punto-clima-dia.is-active { transform:translateY(-3px); border-color:rgba(150,31,39,.45); outline:0; background:#fffaf3; box-shadow:0 12px 28px rgba(43,23,24,.12); }
.punto-clima-dia-icono { font-size:2rem; }
.punto-clima-dias .punto-clima-dia > span:not(.punto-clima-dia-icono) { font-size:1.25rem; font-weight:800; }
.punto-clima-dias .punto-clima-dia small { color:#686762; }
.punto-clima-ayuda { margin:-.3rem 0 .7rem; color:#6f6e69; font-size:.8rem; }
.punto-horoscopo-encabezado { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; }
.punto-horoscopo-encabezado time { color:var(--pc-texto-suave); font-weight:700; text-transform:capitalize; }
.punto-horoscopo-destacado { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:1.2rem; padding:1.35rem 1.5rem; border-radius:1.2rem; background:linear-gradient(135deg,#631923,#9b2632); color:#fff; box-shadow:0 16px 34px rgba(82,20,27,.18); }
.punto-horoscopo-destacado small,.punto-horoscopo-destacado p { color:rgba(255,255,255,.8); }
.punto-horoscopo-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.punto-horoscopo-card { display:grid; grid-template-columns:auto 1fr; gap:.85rem; align-items:center; padding:1.15rem; border:1px solid rgba(48,21,18,.12); border-radius:1rem; background:var(--pc-blanco); box-shadow:0 8px 22px rgba(48,21,18,.055); }
.punto-horoscopo-card.is-user { border-color:var(--pc-bordo); box-shadow:0 10px 28px rgba(122,23,39,.14); }
.punto-horoscopo-simbolo { display:grid; width:3.2rem; height:3.2rem; place-items:center; flex:0 0 3.2rem; border-radius:50%; background:color-mix(in srgb,var(--pc-bordo) 12%,var(--pc-blanco)); color:var(--pc-bordo); font-size:1.7rem; }
.punto-horoscopo-destacado .punto-horoscopo-simbolo { background:rgba(255,255,255,.15); color:#fff; }
.punto-horoscopo-card h2 { margin:0; font-size:1.1rem; font-weight:800; }
.punto-horoscopo-card p { margin:.1rem 0 0; color:var(--pc-texto-suave); font-size:.82rem; }
.punto-horoscopo-card small { color:var(--pc-bordo); font-weight:750; }
.punto-horoscopo-card a { grid-column:1/-1; padding-top:.75rem; border-top:1px solid rgba(48,21,18,.09); color:var(--pc-petroleo); font-weight:800; text-decoration:none; }
.punto-clima-grafico { min-width:0; color:#f1bb37; }
.punto-clima-grafico svg { width:100%; height:92px; overflow:visible; }
.punto-clima-grafico path { fill:none; stroke:currentColor; stroke-width:2.2; vector-effect:non-scaling-stroke; stroke-linecap:round; stroke-linejoin:round; }
.punto-clima-grafico path.is-drawing { transform-origin:left center; animation:punto-clima-dibujar .65s ease-out both; }
.punto-clima-grafico > div { display:flex; justify-content:space-between; color:rgba(255,255,255,.7); font-size:.68rem; }
.punto-clima-actual.is-changing .punto-clima-icono,.punto-clima-actual.is-changing .punto-clima-resumen-texto { animation:punto-clima-cambiar .28s ease-out; }
@keyframes punto-clima-dibujar { from { opacity:.2; transform:scaleX(.04); } to { opacity:1; transform:scaleX(1); } }
@keyframes punto-clima-cambiar { from { opacity:.25; transform:translateY(6px); } to { opacity:1; transform:none; } }

html.punto-motion-ready .punto-reveal { opacity:0; transform:translateY(10px); transition:opacity .42s ease,transform .42s ease; }
html.punto-motion-ready .punto-reveal.is-visible { opacity:1; transform:none; }
@media (hover:hover) { html.punto-motion-ready main .card.punto-reveal.is-visible:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(43,23,24,.1); } }

@media (min-width: 992px) {
    html { font-size: 14.25px; }
    .punto-brand-logo { width: 205px; }
    .punto-navbar-inner { padding-block: .25rem; }
    .punto-footer .container { padding-top: 2rem !important; padding-bottom: 2rem !important; }
    main > .container.py-5, main > section.container.py-5, main > div.container.py-5 { padding-top: 2.15rem !important; padding-bottom: 2.15rem !important; }
    main > .container.py-4, main > section.container.py-4, main > div.container.py-4 { padding-top: 1.35rem !important; padding-bottom: 1.35rem !important; }
    main .mb-5 { margin-bottom: 2.15rem !important; }
    main .mt-5 { margin-top: 2.15rem !important; }
    main .py-5:not(.container) { padding-top: 2.15rem !important; padding-bottom: 2.15rem !important; }
}
@media (max-width: 991.98px) { .punto-clima-actual { grid-template-columns:auto 1fr; }.punto-clima-grafico { grid-column:1/-1; }.punto-clima-dias { grid-template-columns:repeat(2,minmax(0,1fr)); }.punto-horoscopo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 575.98px) { .punto-clima-actual { align-items:flex-start; }.punto-clima-dias { grid-template-columns:1fr; }.punto-horoscopo-encabezado { align-items:flex-start; flex-direction:column; }.punto-horoscopo-destacado { grid-template-columns:auto 1fr; padding:1.1rem; }.punto-horoscopo-destacado .btn { grid-column:1/-1; width:100%; }.punto-horoscopo-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { html.punto-motion-ready .punto-reveal,.punto-clima-dia { opacity:1; transform:none; transition:none; }.punto-clima-grafico path.is-drawing,.punto-clima-actual.is-changing .punto-clima-icono,.punto-clima-actual.is-changing .punto-clima-resumen-texto { animation:none; } }


/* Marca tipográfica refinada 2026-10-12 */
.punto-navbar .navbar-brand{margin-right:clamp(1rem,2vw,2rem);padding:0;text-decoration:none}
.punto-brand-lockup{display:inline-flex;align-items:center;gap:.72rem;min-width:max-content}
.punto-brand-symbol{display:grid;width:32px;height:38px;flex:0 0 32px;place-items:center}
.punto-brand-symbol img{display:block;width:30px;height:auto;object-fit:contain}
.punto-brand-copy{display:flex;flex-direction:column;gap:.08rem;line-height:1}
.punto-brand-copy strong{color:#7a1f26;font-size:1.36rem;font-weight:850;letter-spacing:.035em;white-space:nowrap}
.punto-brand-copy small{color:#796d68;font-size:.64rem;font-weight:650;letter-spacing:.045em;white-space:nowrap}
.punto-footer-brand-lockup{display:inline-flex;align-items:center;gap:.82rem;color:#fff}
.punto-footer-brand-symbol{display:grid;width:38px;height:46px;flex:0 0 38px;place-items:center}
.punto-footer-brand-symbol img{display:block;width:36px;height:auto;object-fit:contain}
.punto-footer-brand-copy{display:flex;flex-direction:column;gap:.2rem;line-height:1}
.punto-footer-brand-copy strong{font-size:1.35rem;font-weight:850;letter-spacing:.035em;white-space:nowrap}
.punto-footer-brand-copy small{color:#d9c9bd;font-size:.68rem;font-weight:650;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap}
@media(max-width:575.98px){
 .punto-brand-lockup{gap:.55rem}
 .punto-brand-symbol{width:27px;height:34px;flex-basis:27px}
 .punto-brand-symbol img{width:26px;height:auto}
 .punto-brand-copy strong{font-size:1.08rem}
 .punto-brand-copy small{font-size:.56rem}
 .punto-footer-brand-copy strong{font-size:1.18rem}
}

/* Cabecera y pie robustos en anchos intermedios y móviles. */
.punto-user-menu-button > span{
 max-width:10.5rem;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}
.punto-header-actions .dropdown{flex:0 0 auto;min-width:0}
.punto-footer .row{min-height:7rem}
.punto-footer .punto-social-links{display:flex;flex-wrap:wrap;gap:.55rem}

@media(min-width:1200px) and (max-width:1399.98px){
 .punto-navbar-inner{padding-inline:1rem}
 .punto-navbar .navbar-brand{margin-right:.7rem}
 .punto-brand-lockup{gap:.5rem}
 .punto-brand-symbol{width:28px;height:34px;flex-basis:28px}
 .punto-brand-symbol img{width:27px}
 .punto-brand-copy strong{font-size:1.1rem}
 .punto-brand-copy small{font-size:.55rem}
 .punto-main-nav .nav-link{padding-inline:.52rem;font-size:.76rem}
 .punto-user-menu-button{max-width:10.8rem;padding-inline:.65rem}
 .punto-user-menu-button > span{max-width:7.5rem}
}

@media(max-width:991.98px){
 .punto-footer .row{min-height:0;text-align:center}
 .punto-footer .punto-footer-brand-lockup{justify-content:center}
 .punto-footer .punto-social-links{justify-content:center}
 .punto-footer .col-lg-3{text-align:center!important}
}


/* Asistente flotante integrado a la identidad */
.punto-whatsapp-float{
 isolation:isolate;
 border:1px solid rgba(211,165,75,.9);
 background:linear-gradient(145deg,#8f2830 0%,#67171d 100%);
 color:#fff8ed;
 box-shadow:0 12px 28px rgba(74,18,23,.28),0 0 0 4px rgba(200,154,61,.13);
 animation:punto-assistant-breathe 4.2s ease-in-out infinite;
}
.punto-whatsapp-float::before{
 content:attr(data-label);
 position:absolute;
 right:calc(100% + .7rem);
 padding:.42rem .68rem;
 border:1px solid rgba(122,31,38,.16);
 border-radius:.55rem;
 background:#fffaf4;
 color:#6f1b22;
 box-shadow:0 8px 24px rgba(45,22,20,.14);
 font-size:.72rem;
 font-weight:750;
 letter-spacing:.01em;
 opacity:0;
 transform:translateX(5px);
 pointer-events:none;
 transition:opacity .18s ease,transform .18s ease;
 white-space:nowrap;
}
.punto-whatsapp-float::after{
 content:"";
 position:absolute;
 top:4px;
 right:4px;
 width:8px;
 height:8px;
 border:2px solid #762027;
 border-radius:50%;
 background:#e0b85c;
 box-shadow:0 0 0 2px #fff8ed;
}
.punto-whatsapp-float svg{width:1.8rem;height:1.8rem;filter:drop-shadow(0 1px 0 rgba(0,0,0,.12))}
.punto-whatsapp-float:hover,.punto-whatsapp-float:focus-visible{
 color:#fff;
 background:linear-gradient(145deg,#a4323b 0%,#741d24 100%);
 box-shadow:0 16px 34px rgba(74,18,23,.34),0 0 0 5px rgba(200,154,61,.17);
}
.punto-whatsapp-float:hover::before,.punto-whatsapp-float:focus-visible::before{opacity:1;transform:none}
@keyframes punto-assistant-breathe{0%,72%,100%{box-shadow:0 12px 28px rgba(74,18,23,.28),0 0 0 4px rgba(200,154,61,.13)}84%{box-shadow:0 14px 32px rgba(74,18,23,.34),0 0 0 8px rgba(200,154,61,.04)}}
@media(prefers-reduced-motion:reduce){.punto-whatsapp-float{animation:none}}

/* Fases 2 y 3: Horóscopo integrado y Voces de Córdoba */
.punto-horoscopo-perfil{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border:1px solid color-mix(in srgb,var(--pc-petroleo) 22%,transparent);border-radius:1rem;background:color-mix(in srgb,var(--pc-petroleo) 7%,var(--pc-blanco))}
.punto-horoscopo-perfil span{color:var(--pc-texto-suave)}
.punto-horoscopo-selector{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem}
.punto-horoscopo-selector__item{display:grid;place-items:center;gap:.15rem;min-height:7.4rem;padding:.8rem;border:1px solid color-mix(in srgb,var(--pc-petroleo) 16%,transparent);border-radius:1rem;background:var(--pc-blanco);color:inherit;text-align:center;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.punto-horoscopo-selector__item>span{font-size:2rem;color:var(--pc-petroleo)}.punto-horoscopo-selector__item small{color:var(--pc-texto-suave)}
.punto-horoscopo-selector__item:hover,.punto-horoscopo-selector__item:focus-visible{transform:translateY(-2px);border-color:var(--pc-petroleo);box-shadow:0 10px 24px rgba(0,113,124,.12)}
.punto-horoscopo-selector__item.is-active{border:2px solid var(--pc-petroleo);background:color-mix(in srgb,var(--pc-petroleo) 10%,var(--pc-blanco));box-shadow:0 0 0 3px color-mix(in srgb,var(--pc-petroleo) 12%,transparent)}
.punto-horoscopo-prediccion{scroll-margin-top:11rem;padding:clamp(1.25rem,3vw,2.5rem);border:1px solid color-mix(in srgb,var(--pc-petroleo) 17%,transparent);border-radius:1.5rem;background:var(--pc-blanco);box-shadow:0 18px 50px rgba(25,48,52,.09)}
.punto-horoscopo-prediccion__cabecera{display:flex;align-items:center;gap:1.2rem}.punto-horoscopo-prediccion__cabecera h2{margin:.25rem 0 0;font-size:clamp(2rem,5vw,3.4rem)}.punto-horoscopo-prediccion__cabecera p{margin:0;color:var(--pc-texto-suave)}
.punto-horoscopo-prediccion__simbolo{display:grid;place-items:center;width:5.2rem;height:5.2rem;border-radius:1.25rem;background:linear-gradient(135deg,var(--pc-petroleo),#19a9b5);color:#fff;font-size:2.7rem}
.punto-horoscopo-prediccion__texto{max-width:72ch;margin:2rem 0;font-family:Georgia,serif;font-size:clamp(1.12rem,2.2vw,1.35rem);line-height:1.75}
.punto-horoscopo-aspectos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.punto-horoscopo-aspectos section{display:flex;gap:.8rem;padding:1rem;border-radius:1rem;background:color-mix(in srgb,var(--pc-petroleo) 6%,var(--pc-blanco))}.punto-horoscopo-aspectos section>span{color:var(--pc-petroleo);font-size:1.35rem}.punto-horoscopo-aspectos h3{margin:0 0 .25rem;font-size:1rem}.punto-horoscopo-aspectos p{margin:0;color:var(--pc-texto-suave);line-height:1.5}
.punto-horoscopo-credito{display:flex;justify-content:space-between;gap:1rem;color:var(--pc-texto-suave)}.punto-horoscopo-credito a{font-weight:800;color:var(--pc-petroleo)}

.punto-voces-bloque{margin-top:clamp(2.5rem,6vw,5rem);padding-top:2rem;border-top:2px solid var(--pc-petroleo)}.punto-voces-bloque>header{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.punto-voces-bloque h2{margin:.35rem 0 0;font-size:clamp(1.8rem,3vw,2.6rem)}.punto-voces-bloque>header>a{font-weight:800;color:var(--pc-petroleo);text-decoration:none}
.punto-voces-bloque__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}.punto-voces-bloque__grid article{min-width:0}.punto-voces-card__imagen{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:1rem;background:#eef2f3}.punto-voces-card__imagen img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.punto-voces-bloque__grid article:hover .punto-voces-card__imagen img{transform:scale(1.035)}.punto-voces-bloque__grid article>span{display:block;margin-top:.8rem;color:var(--pc-petroleo);font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.punto-voces-bloque__grid h3{margin:.35rem 0 .7rem;font-size:1.18rem;line-height:1.25}.punto-voces-bloque__grid h3 a{color:inherit;text-decoration:none}
.punto-voces-card__autor{display:flex;align-items:center;gap:.5rem;color:var(--pc-texto-suave);text-decoration:none}.punto-voces-card__autor img,.punto-voces-card__autor>span{display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;object-fit:cover;background:var(--pc-petroleo);color:#fff;font-weight:800}
.punto-voces-hero{display:flex;justify-content:space-between;align-items:end;gap:2rem;padding:clamp(1.5rem,4vw,3rem);border-radius:1.5rem;background:linear-gradient(135deg,color-mix(in srgb,var(--pc-petroleo) 10%,var(--pc-blanco)),var(--pc-blanco));border:1px solid color-mix(in srgb,var(--pc-petroleo) 14%,transparent)}.punto-voces-hero h1{margin:.5rem 0;font-size:clamp(2.2rem,5vw,4rem)}.punto-voces-hero p{max-width:720px;margin:0;color:var(--pc-texto-suave);font-size:1.1rem}
.punto-voces-filtros{display:grid;grid-template-columns:1fr minmax(220px,.5fr) auto;gap:.75rem;margin:2rem 0}.punto-voces-listado{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.punto-voces-listado__card{display:grid;grid-template-columns:minmax(150px,35%) 1fr;gap:1.2rem;padding:1rem;border:1px solid color-mix(in srgb,var(--pc-petroleo) 14%,transparent);border-radius:1.25rem;background:var(--pc-blanco)}.punto-voces-listado__card>a img{width:100%;height:100%;min-height:180px;object-fit:cover;border-radius:.9rem}.punto-voces-listado__card h2,.punto-voces-listado__card h3{margin:.45rem 0}.punto-voces-listado__card h2 a,.punto-voces-listado__card h3 a{color:inherit;text-decoration:none}.punto-voces-listado__card p{color:var(--pc-texto-suave)}
.punto-voz-articulo>article{max-width:900px;margin:auto}.punto-voz-articulo header h1{margin:.75rem 0;font-size:clamp(2.4rem,6vw,4.8rem);line-height:1.04}.punto-voz-articulo header>.lead{max-width:760px;color:var(--pc-texto-suave)}.punto-voz-articulo__autor{display:flex;align-items:center;gap:.8rem;margin:1.5rem 0}.punto-voz-articulo__autor img{width:3rem;height:3rem;border-radius:50%;object-fit:cover}.punto-voz-articulo__autor div{display:flex;flex:1;flex-direction:column}.punto-voz-articulo__autor div a{font-weight:850;color:inherit}.punto-voz-articulo__autor small,.punto-voz-articulo__autor time{color:var(--pc-texto-suave)}.punto-voz-articulo__portada{width:100%;max-height:600px;object-fit:cover;border-radius:1.25rem}.punto-voz-articulo__contenido{max-width:72ch;margin:2.5rem auto;font-family:Georgia,serif;font-size:1.22rem;line-height:1.85}.punto-voz-articulo footer{margin-top:2rem;padding:1.25rem;border-left:4px solid var(--pc-petroleo);background:color-mix(in srgb,var(--pc-petroleo) 6%,var(--pc-blanco))}.punto-voz-articulo footer p{margin:.35rem 0 0;color:var(--pc-texto-suave)}
.punto-autor-hero{display:flex;align-items:center;gap:1.5rem;padding:2rem;border-radius:1.5rem;background:color-mix(in srgb,var(--pc-petroleo) 7%,var(--pc-blanco))}.punto-autor-hero>img{width:8rem;height:8rem;border-radius:50%;object-fit:cover}.punto-autor-hero h1{margin:.35rem 0}

html[data-punto-theme="dark"] .punto-horoscopo-selector__item,html[data-punto-theme="dark"] .punto-horoscopo-prediccion,html[data-punto-theme="dark"] .punto-voces-listado__card{border-color:rgba(255,255,255,.16);background:#171b1c}html[data-punto-theme="dark"] .punto-voces-hero,html[data-punto-theme="dark"] .punto-horoscopo-perfil,html[data-punto-theme="dark"] .punto-autor-hero{background:#171b1c;border-color:rgba(255,255,255,.14)}html[data-punto-theme="dark"] .punto-horoscopo-selector__item.is-active{background:#16383c}html[data-punto-theme="dark"] .punto-horoscopo-aspectos section,html[data-punto-theme="dark"] .punto-voz-articulo footer{background:#202829}

@media(max-width:991.98px){.punto-horoscopo-selector{grid-template-columns:repeat(4,minmax(0,1fr))}.punto-voces-bloque__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.punto-voces-listado{grid-template-columns:1fr}}
@media(max-width:575.98px){.punto-horoscopo-perfil,.punto-horoscopo-credito,.punto-voces-hero{align-items:flex-start;flex-direction:column}.punto-horoscopo-selector{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.4rem}.punto-horoscopo-selector__item{flex:0 0 7rem;min-height:6.5rem;scroll-snap-align:start}.punto-horoscopo-prediccion{padding:1.15rem}.punto-horoscopo-prediccion__simbolo{width:4rem;height:4rem;font-size:2rem}.punto-horoscopo-aspectos{grid-template-columns:1fr}.punto-voces-bloque__grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.punto-voces-bloque__grid article{flex:0 0 82%;scroll-snap-align:start}.punto-voces-filtros{grid-template-columns:1fr}.punto-voces-listado__card{grid-template-columns:1fr}.punto-voces-listado__card>a img{height:210px}.punto-autor-hero{align-items:flex-start;flex-direction:column}.punto-voz-articulo__autor{align-items:flex-start;flex-wrap:wrap}.punto-voz-articulo__autor time{width:100%}}
@media(prefers-reduced-motion:reduce){.punto-horoscopo-selector__item,.punto-voces-card__imagen img{transition:none}}
