/*
 * Apretarikas Directorio público — Concepto visual 1 (v0.4.1)
 * Capa exclusivamente visual. No modifica la lógica de filtros, datos o enlaces.
 */
.apd-public-wrap,
.apd-public-wrap * { box-sizing: border-box; }

.apd-public-wrap {
    --apd-ink: #18151a;
    --apd-muted: #756d78;
    --apd-fuchsia: #d90072;
    --apd-fuchsia-dark: #a90059;
    --apd-fuchsia-soft: #fff0f7;
    --apd-gold: #c99a3d;
    --apd-gold-light: #e8cf92;
    --apd-gold-soft: #f8f0df;
    --apd-border: #eadcc0;
    --apd-surface: #ffffff;
    --apd-soft: #fbf9f6;
    width: 100%;
    max-width: 1320px;
    margin: 24px auto;
    padding: clamp(18px, 3vw, 34px);
    border: 1px solid rgba(201,154,61,.18);
    border-radius: 26px;
    background:
        radial-gradient(circle at 50% 0%, rgba(217,0,114,.055), transparent 29%),
        linear-gradient(180deg, #fff 0%, #fff 76%, #fffdf9 100%);
    color: var(--apd-ink);
    font-family: inherit;
    box-shadow: 0 18px 50px rgba(61,44,56,.055);
}

/* Encabezado — elegante equilibrado */
.apd-public-hero {
    position: relative;
    max-width: 900px;
    margin: 0 auto clamp(24px, 3.4vw, 40px);
    text-align: center;
}
.apd-public-ornament {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: min(320px, 72%);
    margin: 0 auto 12px;
    color: var(--apd-gold);
}
.apd-public-ornament::before,
.apd-public-ornament::after {
    content: "";
    height: 1px;
    flex: 1 1 auto;
    background: linear-gradient(90deg, transparent, var(--apd-gold-light), var(--apd-gold));
}
.apd-public-ornament::after { transform: scaleX(-1); }
.apd-public-ornament span {
    position: relative;
    width: 12px;
    height: 12px;
    border: 1.5px solid var(--apd-gold);
    transform: rotate(45deg);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(217,0,114,.035);
}
.apd-public-ornament span::after {
    content: "";
    position: absolute;
    inset: 3px;
    border-radius: 50%;
    background: var(--apd-fuchsia);
    box-shadow: 0 0 9px rgba(217,0,114,.23);
}
.apd-public-title {
    display: flex;
    align-items: baseline;
    justify-content: center;
    flex-wrap: wrap;
    gap: .22em;
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 5vw, 67px);
    font-weight: 500;
    line-height: 1.02;
    letter-spacing: -.025em;
}
.apd-public-title-modelos { color: var(--apd-ink); }
.apd-public-title-brand {
    color: var(--apd-gold);
    background: linear-gradient(105deg, #9f6c18 0%, #d7ac58 30%, #b98128 57%, #d7ab55 78%, #a66f1c 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 5px 16px rgba(172,116,29,.08), 0 0 18px rgba(217,0,114,.045);
}
.apd-public-title-custom { display: block; color: var(--apd-ink); }
.apd-public-subtitle {
    margin: 14px auto 0;
    max-width: 660px;
    color: var(--apd-muted);
    font-size: clamp(15px, 1.6vw, 19px);
    line-height: 1.55;
    font-weight: 500;
    letter-spacing: .005em;
}
.apd-public-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    width: min(390px, 78%);
    margin: 17px auto 0;
}
.apd-public-divider::before,
.apd-public-divider::after {
    content: "";
    height: 1px;
    flex: 1 1 auto;
    background: linear-gradient(90deg, transparent, var(--apd-gold-light));
}
.apd-public-divider::after { transform: scaleX(-1); }
.apd-public-divider span {
    width: 7px;
    height: 7px;
    border: 1px solid var(--apd-gold);
    transform: rotate(45deg);
    background: #fff;
}

/* Filtros */
.apd-public-filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 0 0 26px;
    padding: 0;
}
.apd-public-filter {
    appearance: none;
    min-height: 44px;
    padding: 10px 20px;
    border: 1px solid var(--apd-gold-light);
    border-radius: 999px;
    background: rgba(255,255,255,.96);
    color: #4f4751;
    font: inherit;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.2;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(70,50,62,.035);
    transition: transform .16s ease, background .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.apd-public-filter:hover {
    transform: translateY(-1px);
    border-color: var(--apd-gold);
    color: var(--apd-fuchsia-dark);
    box-shadow: 0 7px 18px rgba(128,84,106,.07);
}
.apd-public-filter.is-active {
    border-color: var(--apd-fuchsia);
    background: linear-gradient(135deg, var(--apd-fuchsia), #c50069);
    color: #fff;
    box-shadow: 0 8px 20px rgba(217,0,114,.19), inset 0 0 0 1px rgba(255,222,178,.18);
}
.apd-public-filter:focus-visible,
.apd-public-card-link:focus-visible {
    outline: 3px solid rgba(217,0,114,.22);
    outline-offset: 3px;
}

/* Tarjetas */
.apd-public-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: clamp(14px, 1.7vw, 22px);
}
.apd-public-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--apd-gold-light);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(56,42,51,.065);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.apd-public-card::after {
    content: "";
    position: absolute;
    left: 18%;
    right: 18%;
    bottom: 0;
    height: 2px;
    border-radius: 999px 999px 0 0;
    background: linear-gradient(90deg, transparent, rgba(217,0,114,.58), transparent);
    opacity: .62;
    pointer-events: none;
}
.apd-public-card:hover {
    transform: translateY(-4px);
    border-color: var(--apd-gold);
    box-shadow: 0 17px 38px rgba(77,48,65,.105);
}
.apd-public-card[hidden] { display: none !important; }
.apd-public-card-link {
    display: block;
    height: 100%;
    color: inherit !important;
    text-decoration: none !important;
}
.apd-public-image {
    position: relative;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: var(--apd-soft);
}
.apd-public-image::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 28%;
    background: linear-gradient(180deg, transparent, rgba(27,13,21,.10));
    pointer-events: none;
}
.apd-public-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}
.apd-public-card:hover .apd-public-image img { transform: scale(1.025); }
.apd-public-card-body {
    position: relative;
    padding: 16px 16px 19px;
    text-align: center;
    background: linear-gradient(180deg, #fff 0%, #fffdfb 100%);
}
.apd-public-card-body h3 {
    margin: 0 0 7px;
    color: var(--apd-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(23px, 2.2vw, 30px);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -.01em;
}
.apd-public-sector {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    color: var(--apd-fuchsia);
    font-size: 14px;
    font-weight: 750;
}
.apd-public-sector::before,
.apd-public-sector::after {
    content: "";
    width: 18px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--apd-gold));
}
.apd-public-sector::after { transform: scaleX(-1); }
.apd-public-view-profile {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 17px;
    border: 1px solid rgba(201,154,61,.42);
    border-radius: 10px;
    background: linear-gradient(135deg, var(--apd-fuchsia), #c50069);
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    box-shadow: 0 7px 17px rgba(217,0,114,.17);
    transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.apd-public-card:hover .apd-public-view-profile {
    transform: translateY(-1px);
    filter: brightness(1.02);
    box-shadow: 0 9px 21px rgba(217,0,114,.22);
}

.apd-public-empty,
.apd-public-no-results,
.apd-public-unavailable {
    width: 100%;
    padding: 24px;
    border: 1px solid var(--apd-gold-light);
    border-radius: 16px;
    background: linear-gradient(180deg, #fff, var(--apd-soft));
    color: var(--apd-muted);
    text-align: center;
}

@media (max-width: 1000px) {
    .apd-public-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
    .apd-public-wrap { padding: 18px 14px 22px; border-radius: 20px; }
    .apd-public-hero { margin-bottom: 24px; }
    .apd-public-title { font-size: clamp(34px, 9vw, 50px); }
    .apd-public-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
    .apd-public-card { border-radius: 16px; }
    .apd-public-card-body { padding: 13px 12px 15px; }
    .apd-public-filters {
        justify-content: flex-start;
        gap: 8px;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding: 2px 1px 7px;
        scrollbar-width: thin;
        scroll-snap-type: x proximity;
    }
    .apd-public-filter { flex: 0 0 auto; min-height: 41px; padding: 8px 16px; scroll-snap-align: start; }
}
@media (max-width: 480px) {
    .apd-public-wrap { margin: 12px auto; padding: 16px 10px 20px; }
    .apd-public-title { gap: .10em; font-size: clamp(31px, 10.5vw, 44px); }
    .apd-public-subtitle { margin-top: 10px; font-size: 14px; padding: 0 6px; }
    .apd-public-ornament { width: 66%; margin-bottom: 9px; }
    .apd-public-divider { margin-top: 12px; }
    .apd-public-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
    .apd-public-card-body h3 { font-size: 21px; }
    .apd-public-sector { font-size: 12.5px; margin-bottom: 11px; gap: 5px; }
    .apd-public-sector::before,
    .apd-public-sector::after { width: 10px; }
    .apd-public-view-profile { width: 100%; min-height: 36px; padding: 7px 8px; font-size: 13px; }
    .apd-public-card-body { padding: 10px; }
    .apd-public-filter { font-size: 13px; }
}
@media (max-width: 340px) {
    .apd-public-grid { grid-template-columns: 1fr; }
}

/* ================================================================
 * v0.5.1 — Diferenciación visual fuerte para registrados y suscriptores.
 * Conserva filtros, datos, enlaces y JavaScript; solo cambia la capa visual.
 * ================================================================ */

.apd-public-wrap.apd-directory--registered,
.apd-public-wrap.apd-directory--subscriber {
    position: relative;
}

.apd-directory--registered .apd-public-hero,
.apd-directory--subscriber .apd-public-hero {
    position: relative;
    max-width: 100%;
    margin: 0 0 clamp(24px, 3.5vw, 38px);
    padding: clamp(26px, 4vw, 42px) clamp(18px, 4vw, 42px) clamp(24px, 3.2vw, 34px);
    border-radius: 28px;
    overflow: hidden;
    isolation: isolate;
}
.apd-directory--registered .apd-public-hero > *,
.apd-directory--subscriber .apd-public-hero > * {
    position: relative;
    z-index: 2;
}
.apd-directory--registered .apd-public-hero::before,
.apd-directory--subscriber .apd-public-hero::before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: max-content;
    max-width: 100%;
    margin: 0 auto 16px;
    padding: 8px 16px;
    border-radius: 999px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    white-space: nowrap;
}
.apd-directory--registered .apd-public-hero::after,
.apd-directory--subscriber .apd-public-hero::after {
    content: "";
    position: absolute;
    right: clamp(-18px, 1vw, 12px);
    top: clamp(10px, 1.7vw, 18px);
    width: clamp(150px, 22vw, 220px);
    height: clamp(150px, 22vw, 220px);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    opacity: .17;
    pointer-events: none;
    z-index: 1;
}

/* Registrados: salto visual más evidente pero elegante */
.apd-public-wrap.apd-directory--registered {
    border-color: rgba(201,154,61,.22);
    background:
        radial-gradient(circle at 50% 0%, rgba(217,0,114,.070), transparent 26%),
        radial-gradient(circle at 85% 9%, rgba(217,0,114,.040), transparent 24%),
        linear-gradient(180deg, #fff 0%, #fff 70%, #fffdf8 100%);
    box-shadow: 0 20px 52px rgba(71,52,64,.08);
}
.apd-directory--registered .apd-public-hero {
    background:
        radial-gradient(circle at 20% 0%, rgba(255,255,255,.9), transparent 34%),
        radial-gradient(circle at 73% 15%, rgba(217,0,114,.12), transparent 32%),
        linear-gradient(180deg, #fffefb 0%, #fff6ea 100%);
    border: 1px solid rgba(201,154,61,.38);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.75), 0 18px 42px rgba(121,88,43,.10);
}
.apd-directory--registered .apd-public-hero::before {
    content: "Una experiencia más completa";
    color: #8e6520;
    background: rgba(255,249,238,.92);
    border: 1px solid rgba(201,154,61,.35);
    box-shadow: 0 8px 20px rgba(168,122,43,.08);
}
.apd-directory--registered .apd-public-hero::after {
    background-image: url('../img/emblem-registered-realista.png');
    opacity: .18;
    right: clamp(2px, 1.4vw, 20px);
    top: clamp(20px, 2.1vw, 28px);
    width: clamp(138px, 17vw, 188px);
    height: clamp(138px, 17vw, 188px);
}
.apd-directory--registered .apd-public-title {
    font-size: clamp(42px, 5.5vw, 74px);
}
.apd-directory--registered .apd-public-title-modelos {
    font-family: "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;
    font-style: italic;
    font-weight: 400;
    letter-spacing: .01em;
    color: #241c24;
}
.apd-directory--registered .apd-public-title-brand {
    background: linear-gradient(105deg, #8e5f17 0%, #f1d59b 28%, #c99135 52%, #f0d7a6 78%, #99661a 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 6px 18px rgba(170,117,29,.12), 0 0 22px rgba(217,0,114,.08);
}
.apd-directory--registered .apd-public-subtitle {
    max-width: 720px;
    color: #665d68;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(16px, 1.65vw, 20px);
    font-weight: 400;
    letter-spacing: .012em;
}
.apd-directory--registered .apd-public-ornament { width: min(360px, 74%); }
.apd-directory--registered .apd-public-filters {
    margin-bottom: 28px;
}
.apd-directory--registered .apd-public-filter {
    border-color: rgba(201,154,61,.52);
    background: linear-gradient(180deg, #fffefb 0%, #fff8ee 100%);
    color: #574956;
    box-shadow: 0 8px 18px rgba(92,68,80,.06);
}
.apd-directory--registered .apd-public-filter:hover {
    color: var(--apd-fuchsia-dark);
    box-shadow: 0 10px 22px rgba(92,68,80,.09);
}
.apd-directory--registered .apd-public-filter.is-active {
    border-color: #d59f39;
    background: linear-gradient(135deg, #dc0f7c 0%, #c1076d 54%, #a8055d 100%);
    color: #fff;
    box-shadow: 0 12px 24px rgba(217,0,114,.24), inset 0 0 0 1px rgba(255,229,183,.35);
}
.apd-directory--registered .apd-public-card {
    border-color: rgba(201,154,61,.48);
    border-radius: 22px;
    background: linear-gradient(180deg, #fffefc 0%, #fff7ef 100%);
    box-shadow: 0 14px 30px rgba(87,60,73,.08);
}
.apd-directory--registered .apd-public-card::before {
    content: "";
    position: absolute;
    inset: 8px;
    border: 1px solid rgba(201,154,61,.18);
    border-radius: 16px;
    pointer-events: none;
}
.apd-directory--registered .apd-public-card:hover {
    border-color: rgba(201,154,61,.85);
    box-shadow: 0 19px 42px rgba(87,60,73,.12), 0 0 0 1px rgba(217,0,114,.08);
}
.apd-directory--registered .apd-public-card-body {
    background: linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(255,249,242,.98) 100%);
}
.apd-directory--registered .apd-public-sector {
    color: #c1066c;
    font-size: 14px;
    letter-spacing: .03em;
}
.apd-directory--registered .apd-public-view-profile {
    border-color: rgba(201,154,61,.55);
    background: linear-gradient(135deg, #dd0f7d 0%, #c2076d 58%, #a8055d 100%);
    box-shadow: 0 10px 22px rgba(217,0,114,.20);
}

/* Suscriptores: máxima diferenciación premium manteniendo el fondo blanco elegante */
.apd-public-wrap.apd-directory--subscriber {
    border-color: rgba(201,154,61,.34);
    background:
        radial-gradient(circle at 50% -2%, rgba(201,154,61,.15), transparent 33%),
        radial-gradient(circle at 14% 9%, rgba(217,0,114,.05), transparent 26%),
        radial-gradient(circle at 84% 11%, rgba(201,154,61,.07), transparent 26%),
        linear-gradient(180deg, #fff 0%, #fff 66%, #fffcf5 100%);
    box-shadow: 0 24px 58px rgba(83,57,30,.10);
}
.apd-directory--subscriber .apd-public-hero {
    background:
        radial-gradient(circle at 80% 18%, rgba(255,213,134,.20), transparent 28%),
        radial-gradient(circle at 18% 0%, rgba(255,255,255,.92), transparent 34%),
        linear-gradient(180deg, #fffefb 0%, #fff3df 100%);
    border: 1px solid rgba(201,154,61,.46);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 22px 48px rgba(161,116,39,.12);
}
.apd-directory--subscriber .apd-public-hero::before {
    content: "Una experiencia exclusiva";
    color: #875a12;
    background: linear-gradient(180deg, rgba(255,252,244,.98) 0%, rgba(255,244,223,.98) 100%);
    border: 1px solid rgba(201,154,61,.42);
    box-shadow: 0 10px 22px rgba(161,116,39,.12);
}
.apd-directory--subscriber .apd-public-hero::after {
    background-image: url('../img/emblem-subscriber.svg');
    opacity: .19;
}
.apd-directory--subscriber .apd-public-title {
    font-size: clamp(44px, 5.8vw, 78px);
}
.apd-directory--subscriber .apd-public-title-modelos {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    letter-spacing: .02em;
    color: #211922;
}
.apd-directory--subscriber .apd-public-title-brand {
    background: linear-gradient(105deg, #8c5f1a 0%, #ffe0a6 24%, #d09934 50%, #f4dfb1 78%, #8c5b18 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 7px 20px rgba(176,121,31,.14), 0 0 24px rgba(217,0,114,.07);
}
.apd-directory--subscriber .apd-public-subtitle {
    max-width: 780px;
    color: #5f5661;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(16px, 1.7vw, 20px);
    font-weight: 400;
    letter-spacing: .014em;
}
.apd-directory--subscriber .apd-public-ornament {
    width: min(390px, 76%);
}
.apd-directory--subscriber .apd-public-ornament::before,
.apd-directory--subscriber .apd-public-ornament::after {
    background: linear-gradient(90deg, transparent, #f0d59b, #c18a2d);
}
.apd-directory--subscriber .apd-public-divider::before,
.apd-directory--subscriber .apd-public-divider::after {
    background: linear-gradient(90deg, transparent, rgba(193,138,45,.95));
}
.apd-directory--subscriber .apd-public-filter {
    border-color: rgba(201,154,61,.56);
    background: linear-gradient(180deg, #fffefb 0%, #fff7ea 100%);
    color: #544756;
    box-shadow: 0 8px 18px rgba(122,90,52,.08);
}
.apd-directory--subscriber .apd-public-filter.is-active {
    border-color: #d8a243;
    background: linear-gradient(135deg, #d40a77 0%, #b80a66 58%, #960652 100%);
    box-shadow: 0 12px 26px rgba(217,0,114,.26), 0 0 0 1px rgba(230,194,115,.22);
}
.apd-directory--subscriber .apd-public-card {
    border-color: rgba(201,154,61,.56);
    border-radius: 22px;
    background: linear-gradient(180deg, #fffefb 0%, #fff5e8 100%);
    box-shadow: 0 16px 34px rgba(90,61,35,.10);
}
.apd-directory--subscriber .apd-public-card::before {
    content: "";
    position: absolute;
    inset: 7px;
    border-radius: 16px;
    border: 1px solid rgba(201,154,61,.26);
    pointer-events: none;
}
.apd-directory--subscriber .apd-public-card::after {
    left: 14%;
    right: 14%;
    height: 3px;
    background: linear-gradient(90deg, transparent, rgba(217,0,114,.72), rgba(201,154,61,.68), transparent);
    opacity: .78;
}
.apd-directory--subscriber .apd-public-card:hover {
    border-color: rgba(201,154,61,.9);
    box-shadow: 0 22px 46px rgba(90,61,35,.14), 0 0 0 1px rgba(201,154,61,.14);
}
.apd-directory--subscriber .apd-public-card-body {
    background: linear-gradient(180deg, rgba(255,255,255,.93) 0%, rgba(255,248,236,.99) 100%);
}
.apd-directory--subscriber .apd-public-sector {
    color: #b20664;
    font-size: 14px;
    letter-spacing: .03em;
}
.apd-directory--subscriber .apd-public-view-profile {
    border-color: rgba(201,154,61,.62);
    background: linear-gradient(135deg, #d40b77 0%, #b40965 56%, #930551 100%);
    box-shadow: 0 10px 24px rgba(217,0,114,.22), inset 0 0 0 1px rgba(234,196,115,.18);
}

@media (max-width: 760px) {
    .apd-directory--registered .apd-public-hero,
    .apd-directory--subscriber .apd-public-hero {
        padding: 22px 14px 22px;
        border-radius: 22px;
    }
    .apd-directory--registered .apd-public-hero::before,
    .apd-directory--subscriber .apd-public-hero::before {
        white-space: normal;
        text-align: center;
        line-height: 1.4;
        letter-spacing: .13em;
        padding: 7px 12px;
    }
    .apd-directory--registered .apd-public-hero::after,
    .apd-directory--subscriber .apd-public-hero::after {
        width: 118px;
        height: 118px;
        right: -16px;
        top: 8px;
        opacity: .12;
    }
    .apd-directory--registered .apd-public-hero::after {
        width: 92px;
        height: 92px;
        right: -8px;
        top: 14px;
        opacity: .11;
    }
}


/* ================================================================
 * v0.5.4 — Corrección visual de Registrados para acercarlo a la maqueta aprobada.
 * Solo ajusta composición y emblema; conserva la lógica estable.
 * ================================================================ */
.apd-public-wrap.apd-directory--registered {
    background:
        radial-gradient(circle at 71% 12%, rgba(217,0,114,.10), transparent 28%),
        linear-gradient(180deg, #fff 0%, #fff 70%, #fffdf7 100%);
}
.apd-directory--registered .apd-public-hero {
    max-width: 100%;
    min-height: clamp(240px, 27vw, 340px);
    margin: 0 0 clamp(26px, 3.4vw, 38px);
    padding: clamp(22px, 3vw, 36px) clamp(200px, 24vw, 330px) clamp(24px, 3vw, 34px) clamp(18px, 4vw, 52px);
    text-align: left;
    align-items: flex-start;
    justify-content: center;
    background:
        radial-gradient(circle at 70% 16%, rgba(217,0,114,.13), transparent 26%),
        linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,248,241,.98) 55%, rgba(255,242,247,.98) 100%);
    border: 1px solid rgba(201,154,61,.42);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.84), 0 18px 42px rgba(121,88,43,.10);
}
.apd-directory--registered .apd-public-hero::before {
    content: "UNA EXPERIENCIA MÁS COMPLETA";
    width: auto;
    max-width: min(100%, 540px);
    margin: 0 0 14px;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    color: #a07426;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(13px, 1.05vw, 17px);
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
    line-height: 1.2;
    white-space: normal;
    text-align: left;
}
.apd-directory--registered .apd-public-hero::after {
    background-image: url('../img/emblem-registered-realista.png');
    width: clamp(155px, 21vw, 270px);
    height: clamp(155px, 21vw, 270px);
    right: clamp(18px, 3.2vw, 54px);
    top: 50%;
    transform: translateY(-50%);
    opacity: .58;
}
.apd-directory--registered .apd-public-ornament {
    width: min(220px, 38%);
    margin: 0 0 18px;
    justify-content: flex-start;
}
.apd-directory--registered .apd-public-ornament::before,
.apd-directory--registered .apd-public-ornament::after {
    background: linear-gradient(90deg, rgba(201,154,61,.08), rgba(240,213,155,.95), rgba(201,154,61,.72));
}
.apd-directory--registered .apd-public-title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0;
    width: min(100%, 760px);
    margin: 0;
    font-size: initial;
    line-height: .95;
}
.apd-directory--registered .apd-public-title-modelos {
    display: block;
    color: #231b24;
    font-family: Georgia, "Times New Roman", serif;
    font-style: italic;
    font-weight: 400;
    font-size: clamp(50px, 6.4vw, 92px);
    line-height: .92;
    letter-spacing: -.03em;
}
.apd-directory--registered .apd-public-title-brand {
    display: block;
    margin-top: .02em;
    font-size: clamp(58px, 7vw, 105px);
    line-height: .9;
    letter-spacing: -.035em;
    background: linear-gradient(104deg, #8e5f17 0%, #f0d59b 28%, #c99135 52%, #f6dfaf 76%, #986418 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 6px 18px rgba(170,117,29,.12), 0 0 18px rgba(217,0,114,.06);
}
.apd-directory--registered .apd-public-subtitle {
    max-width: 700px;
    margin: 18px 0 0;
    color: #67606a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(18px, 1.95vw, 26px);
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: .005em;
}
.apd-directory--registered .apd-public-divider {
    width: min(420px, 58%);
    margin: 18px 0 0;
    justify-content: flex-start;
}
.apd-directory--registered .apd-public-divider::before,
.apd-directory--registered .apd-public-divider::after {
    background: linear-gradient(90deg, transparent, rgba(240,213,155,.9), rgba(201,154,61,.85));
}
.apd-directory--registered .apd-public-divider span {
    box-shadow: 0 0 0 3px rgba(217,0,114,.04);
}
.apd-directory--registered .apd-public-filters {
    margin-top: 6px;
}
.apd-directory--registered .apd-public-card {
    box-shadow: 0 14px 30px rgba(87,60,73,.08);
}
.apd-directory--registered .apd-public-card:hover {
    box-shadow: 0 18px 40px rgba(87,60,73,.13), 0 0 0 1px rgba(217,0,114,.06);
}

@media (max-width: 980px) {
    .apd-directory--registered .apd-public-hero {
        padding-right: clamp(170px, 27vw, 230px);
    }
    .apd-directory--registered .apd-public-title-modelos {
        font-size: clamp(44px, 7vw, 72px);
    }
    .apd-directory--registered .apd-public-title-brand {
        font-size: clamp(50px, 7.8vw, 84px);
    }
}

@media (max-width: 760px) {
    .apd-directory--registered .apd-public-hero {
        min-height: 0;
        padding: 18px 18px 150px;
        border-radius: 22px;
    }
    .apd-directory--registered .apd-public-hero::before {
        margin-bottom: 12px;
        font-size: 12px;
        letter-spacing: .16em;
    }
    .apd-directory--registered .apd-public-hero::after {
        width: 132px;
        height: 132px;
        right: 18px;
        top: auto;
        bottom: 10px;
        transform: none;
        opacity: .48;
    }
    .apd-directory--registered .apd-public-ornament {
        width: 150px;
        margin-bottom: 12px;
    }
    .apd-directory--registered .apd-public-title-modelos {
        font-size: clamp(40px, 10.3vw, 58px);
    }
    .apd-directory--registered .apd-public-title-brand {
        font-size: clamp(46px, 11.4vw, 66px);
    }
    .apd-directory--registered .apd-public-subtitle {
        font-size: clamp(17px, 4.8vw, 21px);
        max-width: 100%;
    }
    .apd-directory--registered .apd-public-divider {
        width: min(250px, 72%);
    }
}


/* ================================================================
 * v0.5.5 — Reemplazo del emblema de Registrados por la imagen aprobada.
 * Conserva todo el resto de la lógica y del diseño estable.
 * ================================================================ */
.apd-directory--registered .apd-public-hero::after {
    background-image: url('../img/emblem-registered-realista.png');
    width: clamp(175px, 22vw, 300px);
    height: clamp(175px, 22vw, 300px);
    right: clamp(16px, 3vw, 44px);
    opacity: .98;
}
@media (max-width: 760px) {
    .apd-directory--registered .apd-public-hero::after {
        width: 150px;
        height: 150px;
        right: 12px;
        bottom: 8px;
        opacity: .95;
    }
}


/* ================================================================
 * v0.5.6 — Integración tonal del emblema de Registrados.
 * Corrige el recuadro visible y refuerza las tonalidades rosa/champagne.
 * ================================================================ */
.apd-public-wrap.apd-directory--registered {
    background:
        radial-gradient(circle at 72% 12%, rgba(217,0,114,.12), transparent 26%),
        radial-gradient(circle at 82% 24%, rgba(225,188,116,.10), transparent 22%),
        linear-gradient(180deg, #fff 0%, #fffcf9 100%);
}
.apd-directory--registered .apd-public-hero {
    background:
        radial-gradient(circle at 74% 50%, rgba(248, 202, 221, .34), transparent 25%),
        radial-gradient(circle at 80% 50%, rgba(237, 214, 165, .17), transparent 34%),
        radial-gradient(circle at 60% 0%, rgba(252,245,247,.78), transparent 34%),
        linear-gradient(90deg, rgba(255,255,255,.985) 0%, rgba(255,248,241,.985) 54%, rgba(255,241,246,.985) 100%);
}
.apd-directory--registered .apd-public-hero::after {
    background-image: url('../img/emblem-registered-realista-transparent.png');
    width: clamp(180px, 23vw, 310px);
    height: clamp(180px, 23vw, 310px);
    right: clamp(18px, 3vw, 46px);
    opacity: .98;
}
@media (max-width: 760px) {
    .apd-directory--registered .apd-public-hero {
        background:
            radial-gradient(circle at 66% 88%, rgba(248, 202, 221, .30), transparent 24%),
            radial-gradient(circle at 72% 88%, rgba(237, 214, 165, .15), transparent 32%),
            linear-gradient(180deg, rgba(255,255,255,.985) 0%, rgba(255,245,248,.985) 100%);
    }
    .apd-directory--registered .apd-public-hero::after {
        background-image: url('../img/emblem-registered-realista-transparent.png');
        width: 156px;
        height: 156px;
        right: 10px;
        bottom: 6px;
        opacity: .97;
    }
}


/* ================================================================
 * v0.5.8 — Imagen aprobada para Suscriptores.
 * Conserva título, tonalidades del rótulo y toda la lógica estable.
 * ================================================================ */
.apd-directory--subscriber .apd-public-hero {
    background:
        radial-gradient(circle at 78% 42%, rgba(248, 198, 225, .16), transparent 22%),
        radial-gradient(circle at 78% 42%, rgba(245, 221, 159, .13), transparent 31%),
        radial-gradient(circle at 18% 0%, rgba(255,255,255,.92), transparent 34%),
        linear-gradient(180deg, #fffefb 0%, #fff3df 100%);
}
.apd-directory--subscriber .apd-public-hero::after {
    background-image: url('../img/emblem-subscriber-realista-transparent.png');
    width: clamp(205px, 25vw, 340px);
    height: clamp(185px, 22.5vw, 305px);
    right: clamp(18px, 3vw, 42px);
    top: 50%;
    transform: translateY(-50%);
    opacity: .98;
}
@media (max-width: 760px) {
    .apd-directory--subscriber .apd-public-hero {
        background:
            radial-gradient(circle at 68% 85%, rgba(248, 198, 225, .14), transparent 24%),
            radial-gradient(circle at 68% 85%, rgba(245, 221, 159, .11), transparent 32%),
            linear-gradient(180deg, #fffefb 0%, #fff3df 100%);
    }
    .apd-directory--subscriber .apd-public-hero::after {
        background-image: url('../img/emblem-subscriber-realista-transparent.png');
        width: 168px;
        height: 150px;
        right: 8px;
        top: auto;
        bottom: 4px;
        transform: none;
        opacity: .97;
    }
}


/* ================================================================
 * v0.5.9 — Corrección global del contenedor de imágenes.
 * Muestra la imagen completa sin recorte en no registrados, registrados y suscriptores,
 * manteniendo un mismo tamaño de contenedor para todas las tarjetas.
 * ================================================================ */
.apd-public-image {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    padding: clamp(12px, 1.8vw, 18px);
    overflow: hidden;
    background: linear-gradient(180deg, #fffdfd 0%, #fff9fc 42%, #fffbf6 100%);
}
.apd-public-image::after {
    display: none;
}
.apd-public-image img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center center;
    transform: none !important;
}
.apd-public-card:hover .apd-public-image img {
    transform: none !important;
}

@media (max-width: 760px) {
    .apd-public-image {
        aspect-ratio: 1 / 1;
        padding: 10px;
    }
}
