:root {
    --jdf-black: #080808;
    --jdf-ink: #17130f;
    --jdf-muted: #675f55;
    --jdf-line: #e9dfcf;
    --jdf-cream: #fbf7ef;
    --jdf-soft: #f3eadc;
    --jdf-gold: #d7b76a;
    --jdf-gold-dark: #a98232;
    --jdf-white: #ffffff;
    --jdf-shadow: 0 24px 70px rgba(29, 20, 8, .12);
    --jdf-radius: 8px;
    --jdf-serif: "Playfair Display", Georgia, serif;
    --jdf-sans: "Inter", Arial, sans-serif;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body.jdf-site {
    margin: 0;
    color: var(--jdf-ink);
    background: var(--jdf-cream);
    font-family: var(--jdf-sans);
    font-size: 16px;
    line-height: 1.65;
}

img {
    max-width: 100%;
    height: auto;
}

a {
    color: inherit;
    text-decoration: none;
}

.jdf-shell {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

.jdf-skip-link,
.screen-reader-text {
    position: absolute;
    left: -9999px;
}

.jdf-skip-link:focus {
    left: 16px;
    top: 16px;
    z-index: 1000;
    padding: 10px 14px;
    background: var(--jdf-black);
    color: var(--jdf-white);
}

.jdf-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(8, 8, 8, .96);
    color: var(--jdf-white);
    border-bottom: 1px solid rgba(215, 183, 106, .28);
    backdrop-filter: blur(12px);
}

.jdf-header-inner {
    min-height: 86px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.jdf-brand {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
}

.jdf-logo {
    width: 62px;
    height: 62px;
    object-fit: cover;
    border-radius: 999px;
    border: 1px solid rgba(215, 183, 106, .45);
    background: var(--jdf-black);
}

.jdf-brand-text {
    display: grid;
    gap: 1px;
}

.jdf-brand-text strong {
    font-family: var(--jdf-serif);
    font-size: 23px;
    line-height: 1;
    letter-spacing: 0;
}

.jdf-brand-text small {
    color: rgba(255, 255, 255, .74);
    font-size: 12px;
    line-height: 1.3;
}

.jdf-nav-list {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.jdf-nav-list a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: rgba(255, 255, 255, .86);
    border-bottom: 2px solid transparent;
}

.jdf-nav-list a:hover,
.jdf-nav-list .current-menu-item > a {
    color: var(--jdf-white);
    border-color: var(--jdf-gold);
}

.jdf-menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(215, 183, 106, .45);
    border-radius: var(--jdf-radius);
    background: transparent;
    color: var(--jdf-white);
    cursor: pointer;
}

.jdf-menu-toggle span:not(.screen-reader-text) {
    display: block;
    width: 18px;
    height: 2px;
    margin: 4px auto;
    background: currentColor;
}

.jdf-hero {
    position: relative;
    min-height: 690px;
    display: grid;
    align-items: stretch;
    overflow: hidden;
    background: var(--jdf-cream);
}

.jdf-raffle-hero {
    position: relative;
    min-height: 560px;
    display: grid;
    align-items: stretch;
    overflow: hidden;
    background:
        radial-gradient(circle at 78% 14%, rgba(215, 183, 106, .24), transparent 28%),
        radial-gradient(circle at 8% 18%, rgba(255, 255, 255, .08), transparent 22%),
        linear-gradient(135deg, #070707 0%, #15100b 48%, #efe3cf 48%, #fbf7ef 100%);
}

.jdf-raffle-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(8, 8, 8, .86) 0%, rgba(8, 8, 8, .76) 42%, rgba(251, 247, 239, .18) 100%);
    pointer-events: none;
}

.jdf-hero-media {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(251, 247, 239, .98) 0%, rgba(251, 247, 239, .88) 34%, rgba(251, 247, 239, .24) 66%, rgba(251, 247, 239, .05) 100%),
        url("../img/jd-fragance-hero.jpg") center right / cover no-repeat;
}

.jdf-hero-inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 620px) 330px;
    align-items: center;
    gap: 56px;
    padding: 86px 0;
}

.jdf-raffle-hero-inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 650px) minmax(320px, 430px);
    align-items: center;
    gap: 58px;
    padding: 60px 0 74px;
}

.jdf-raffle-hero .jdf-kicker {
    color: var(--jdf-gold);
}

.jdf-raffle-hero .jdf-hero-copy h1 {
    color: var(--jdf-white);
    font-size: clamp(44px, 6vw, 78px);
}

.jdf-raffle-hero .jdf-hero-copy > p:not(.jdf-kicker) {
    color: rgba(255, 255, 255, .76);
}

.jdf-hero-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    max-width: 520px;
    margin-top: 28px;
}

.jdf-hero-metrics div {
    padding: 16px;
    border: 1px solid rgba(215, 183, 106, .28);
    border-radius: var(--jdf-radius);
    background: rgba(255, 255, 255, .08);
    backdrop-filter: blur(10px);
}

.jdf-hero-metrics strong {
    display: block;
    color: var(--jdf-white);
    font-family: var(--jdf-serif);
    font-size: 25px;
    line-height: 1.05;
}

.jdf-hero-metrics span {
    display: block;
    margin-top: 4px;
    color: rgba(255, 255, 255, .64);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.jdf-hero-copy h1,
.jdf-page-hero h1,
.jdf-single-hero h1 {
    max-width: 760px;
    margin: 0;
    font-family: var(--jdf-serif);
    font-size: clamp(48px, 7vw, 92px);
    line-height: .92;
    letter-spacing: 0;
}

.jdf-hero-copy > p:not(.jdf-kicker),
.jdf-page-hero p,
.jdf-single-hero p {
    max-width: 590px;
    margin: 24px 0 0;
    color: var(--jdf-muted);
    font-size: 18px;
}

.jdf-kicker {
    margin: 0 0 18px;
    color: var(--jdf-gold-dark);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.jdf-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 34px;
}

.jdf-button,
.jdf-content .wp-block-button__link,
button,
input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 20px;
    border-radius: var(--jdf-radius);
    border: 1px solid transparent;
    font-family: var(--jdf-sans);
    font-weight: 850;
    line-height: 1.2;
    cursor: pointer;
}

.jdf-button-dark,
input[type="submit"] {
    background: var(--jdf-black);
    color: var(--jdf-white);
}

.jdf-button-light {
    background: rgba(255, 255, 255, .72);
    color: var(--jdf-ink);
    border-color: var(--jdf-line);
}

.jdf-hero-panel {
    align-self: end;
    padding: 26px;
    border: 1px solid rgba(215, 183, 106, .42);
    border-radius: var(--jdf-radius);
    background: rgba(8, 8, 8, .87);
    color: var(--jdf-white);
    box-shadow: var(--jdf-shadow);
}

.jdf-hero-panel span {
    color: var(--jdf-gold);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.jdf-hero-panel strong {
    display: block;
    margin-top: 8px;
    font-family: var(--jdf-serif);
    font-size: 28px;
    line-height: 1.05;
}

.jdf-hero-panel p {
    margin: 12px 0 0;
    color: rgba(255, 255, 255, .74);
}

.jdf-prize-spotlight {
    position: relative;
    overflow: hidden;
    padding: 18px 18px 24px;
    border: 1px solid rgba(215, 183, 106, .48);
    border-radius: var(--jdf-radius);
    background: rgba(255, 255, 255, .92);
    color: var(--jdf-ink);
    backdrop-filter: blur(16px);
    box-shadow: 0 30px 90px rgba(8, 8, 8, .28);
}

.jdf-prize-spotlight::after {
    content: "";
    position: absolute;
    right: 20px;
    bottom: 20px;
    width: 110px;
    height: 110px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(215, 183, 106, .22), transparent 68%);
    pointer-events: none;
}

.jdf-prize-image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    margin-bottom: 22px;
    border-radius: var(--jdf-radius);
    background: var(--jdf-soft);
}

.jdf-prize-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 36%, rgba(8, 8, 8, .32));
}

.jdf-prize-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.jdf-prize-spotlight .jdf-kicker {
    color: var(--jdf-gold-dark);
}

.jdf-prize-spotlight h2 {
    margin: 0 0 12px;
    font-family: var(--jdf-serif);
    font-size: 34px;
    line-height: 1.05;
}

.jdf-prize-spotlight p {
    margin: 0;
    color: var(--jdf-muted);
}

.jdf-prize-spotlight > span,
.jdf-winner-card > span {
    display: inline-flex;
    margin-top: 20px;
    padding: 8px 12px;
    border: 1px solid rgba(215, 183, 106, .46);
    border-radius: 999px;
    color: var(--jdf-gold-dark);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.jdf-raffle-dashboard {
    position: relative;
    z-index: 2;
    margin-top: -34px;
    padding-bottom: 68px;
}

.jdf-raffle-grid {
    display: grid;
    grid-template-columns: minmax(0, 780px);
    gap: 20px;
    align-items: stretch;
    justify-content: center;
}

.jdf-raffle-card {
    min-height: 260px;
    padding: 28px;
    border: 1px solid var(--jdf-line);
    border-radius: var(--jdf-radius);
    background: var(--jdf-white);
    box-shadow: var(--jdf-shadow);
}

.jdf-raffle-card h2 {
    margin: 0 0 12px;
    font-family: var(--jdf-serif);
    font-size: 33px;
    line-height: 1.05;
}

.jdf-raffle-card p {
    color: var(--jdf-muted);
}

.jdf-winner-card {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(215, 183, 106, .22), transparent 38%),
        var(--jdf-black);
    color: var(--jdf-white);
}

.jdf-winner-card > * {
    position: relative;
    z-index: 2;
}

.jdf-winner-card.jdf-has-winner {
    border-color: rgba(215, 183, 106, .62);
    animation: jdf-winner-reveal .8s cubic-bezier(.2, .8, .2, 1) both;
}

.jdf-winner-card.jdf-has-winner::before {
    position: absolute;
    z-index: 1;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(215, 183, 106, .3), rgba(215, 183, 106, 0) 68%);
    content: "";
    inset: -92px -72px auto auto;
    animation: jdf-winner-glow 4s ease-in-out infinite;
}

.jdf-winner-card.jdf-has-winner::after {
    position: absolute;
    z-index: 1;
    width: 46%;
    background: linear-gradient(100deg, transparent, rgba(255, 235, 174, .2), transparent);
    content: "";
    inset: 0 auto 0 -60%;
    transform: skewX(-18deg);
    animation: jdf-winner-shine 3.6s 1s ease-in-out infinite;
}

.jdf-winner-badge {
    display: grid;
    width: 50px;
    height: 50px;
    margin-bottom: 18px;
    border: 1px solid rgba(215, 183, 106, .7);
    border-radius: 50%;
    background: rgba(215, 183, 106, .12);
    color: var(--jdf-gold);
    font-size: 23px;
    place-items: center;
    animation: jdf-winner-badge 2.2s ease-in-out infinite;
}

.jdf-winner-name {
    background: linear-gradient(90deg, #fff 10%, #f6df9d 48%, #fff 86%);
    background-clip: text;
    color: transparent;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation:
        jdf-winner-name .8s .2s ease-out both,
        jdf-winner-name-glow 2.4s 1s ease-in-out infinite;
}

.jdf-winner-celebration {
    position: absolute;
    z-index: 1;
    inset: 0;
    pointer-events: none;
}

.jdf-winner-celebration span {
    position: absolute;
    color: var(--jdf-gold);
    font-size: 24px;
    text-shadow: 0 0 14px rgba(255, 224, 139, .85);
    opacity: 0;
    animation: jdf-winner-sparkle 2.4s ease-in-out infinite;
}

.jdf-winner-celebration span:nth-child(1) { top: 16%; right: 16%; }
.jdf-winner-celebration span:nth-child(2) { top: 30%; right: 8%; animation-delay: .7s; }
.jdf-winner-celebration span:nth-child(3) { right: 26%; bottom: 15%; animation-delay: 1.4s; }
.jdf-winner-celebration span:nth-child(4) { top: 12%; left: 46%; animation-delay: 2.1s; }

@keyframes jdf-winner-reveal {
    from { opacity: 0; transform: translateY(18px) scale(.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes jdf-winner-name {
    from { opacity: 0; transform: translateX(-14px); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes jdf-winner-name-glow {
    0%, 100% { filter: drop-shadow(0 0 0 rgba(215, 183, 106, 0)); }
    50% { filter: drop-shadow(0 0 9px rgba(215, 183, 106, .72)); }
}

@keyframes jdf-winner-glow {
    0%, 100% { opacity: .45; transform: scale(.9); }
    50% { opacity: 1; transform: scale(1.12); }
}

@keyframes jdf-winner-badge {
    0%, 100% { box-shadow: 0 0 0 0 rgba(215, 183, 106, 0); transform: translateY(0) rotate(-5deg) scale(1); }
    50% { box-shadow: 0 0 34px rgba(215, 183, 106, .5); transform: translateY(-8px) rotate(7deg) scale(1.08); }
}

@keyframes jdf-winner-sparkle {
    0%, 55%, 100% { opacity: 0; transform: scale(.35) rotate(0deg); }
    70%, 84% { opacity: 1; transform: scale(1.35) rotate(35deg); }
}

@keyframes jdf-winner-shine {
    0%, 22% { left: -60%; opacity: 0; }
    35% { opacity: 1; }
    62%, 100% { left: 125%; opacity: 0; }
}

.jdf-winner-card p:not(.jdf-kicker) {
    color: rgba(255, 255, 255, .74);
}

@media (prefers-reduced-motion: reduce) {
    .jdf-winner-card.jdf-has-winner,
    .jdf-winner-card.jdf-has-winner::before,
    .jdf-winner-card.jdf-has-winner::after,
    .jdf-winner-badge,
    .jdf-winner-name,
    .jdf-winner-celebration span {
        animation: none;
    }
}

.jdf-leaderboard {
    display: grid;
    gap: 10px;
}

.jdf-leaderboard-row {
    display: grid;
    grid-template-columns: 38px 58px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    min-height: 76px;
    padding: 6px 0;
    border-bottom: 1px solid var(--jdf-line);
}

.jdf-leaderboard-row.is-top-1 {
    margin: 0 -8px;
    padding-inline: 8px;
    border: 1px solid rgba(80, 190, 215, .35);
    border-radius: 13px;
    background: linear-gradient(135deg, rgba(226, 250, 255, .9), rgba(255, 255, 255, .75));
    box-shadow: 0 8px 22px rgba(56, 157, 180, .1);
}

.jdf-leaderboard-row:last-child {
    border-bottom: 0;
}

.jdf-leaderboard-row.is-top-1:last-child {
    border-bottom: 1px solid rgba(80, 190, 215, .35);
}

.jdf-leaderboard-row strong {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: var(--jdf-soft);
    color: var(--jdf-gold-dark);
}

.jdf-leaderboard-member {
    display: grid;
    justify-items: start;
    gap: 5px;
    min-width: 0;
}

.jdf-leaderboard-member b {
    display: block;
    max-width: 100%;
    overflow: hidden;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.jdf-leaderboard-member small {
    color: var(--jdf-muted);
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.jdf-rank-medal {
    display: grid;
    width: 58px;
    height: 68px;
    place-items: center;
}

.jdf-rank-medal img {
    display: block;
    width: 54px;
    height: 64px;
    object-fit: contain;
    filter: drop-shadow(0 5px 5px rgba(26, 19, 10, .2));
}

.jdf-rank-medal i {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: var(--jdf-soft);
    color: var(--jdf-gold-dark);
    font-size: 20px;
    font-style: normal;
}

.jdf-leaderboard-row.is-top-1 .jdf-rank-medal img {
    width: 58px;
    height: 68px;
}

.jdf-leaderboard-row.is-top-1 > strong { background: #d7f7ff; color: #17667b; box-shadow: inset 0 0 0 1px #86d5e6; }
.jdf-leaderboard-row.is-top-2 > strong { background: #edf1f4; color: #465762; }
.jdf-leaderboard-row.is-top-3 > strong { background: #fff1c2; color: #75530e; }
.jdf-leaderboard-row.is-top-4 > strong { background: #f2f4f6; color: #5d666e; }
.jdf-leaderboard-row.is-top-5 > strong { background: #f7e2d5; color: #7b452b; }

.jdf-leaderboard-row em {
    color: var(--jdf-muted);
    font-style: normal;
    font-weight: 900;
}

@media (max-width: 480px) {
    .jdf-leaderboard-row {
        grid-template-columns: 32px 48px minmax(0, 1fr) auto;
        gap: 7px;
        min-height: 67px;
    }

    .jdf-leaderboard-row > strong {
        width: 30px;
        height: 30px;
        font-size: 12px;
    }

    .jdf-rank-medal,
    .jdf-rank-medal img,
    .jdf-leaderboard-row.is-top-1 .jdf-rank-medal img {
        width: 48px;
        height: 57px;
    }

    .jdf-leaderboard-row em {
        font-size: 11px;
    }
}

.jdf-leaderboard-empty {
    padding: 18px;
    border: 1px dashed var(--jdf-line);
    border-radius: var(--jdf-radius);
    color: var(--jdf-muted);
}

.jdf-points-card input,
.jdf-points-card textarea,
.jdf-points-card select {
    width: 100%;
    min-height: 46px;
    margin-bottom: 12px;
    padding: 11px 13px;
    border: 1px solid var(--jdf-line);
    border-radius: var(--jdf-radius);
    background: var(--jdf-white);
    color: var(--jdf-ink);
    font: inherit;
}

.jdf-section {
    padding: 76px 0;
}

.jdf-feature-strip {
    padding: 0;
    background: var(--jdf-white);
    border-block: 1px solid var(--jdf-line);
}

.jdf-features {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jdf-features article {
    padding: 34px 28px;
    border-right: 1px solid var(--jdf-line);
}

.jdf-features article:first-child {
    border-left: 1px solid var(--jdf-line);
}

.jdf-features span {
    color: var(--jdf-gold-dark);
    font-weight: 900;
}

.jdf-features h2,
.jdf-two-col h2,
.jdf-section-head h2,
.jdf-content h2,
.jdf-content h3 {
    margin: 8px 0 10px;
    font-family: var(--jdf-serif);
    line-height: 1.08;
    letter-spacing: 0;
}

.jdf-features h2 {
    font-size: 26px;
}

.jdf-features p,
.jdf-two-col p {
    margin: 0;
    color: var(--jdf-muted);
}

.jdf-two-col {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 440px);
    gap: 56px;
    align-items: center;
}

.jdf-two-col h2,
.jdf-section-head h2 {
    font-size: clamp(34px, 4vw, 56px);
}

.jdf-shortcode-card,
.jdf-sidebar section,
.jdf-empty {
    padding: 28px;
    border: 1px solid var(--jdf-line);
    border-radius: var(--jdf-radius);
    background: var(--jdf-white);
    box-shadow: var(--jdf-shadow);
}

.jdf-shortcode-card input,
.jdf-content input,
.jdf-content textarea,
.jdf-content select {
    width: 100%;
    min-height: 46px;
    margin-bottom: 12px;
    padding: 11px 13px;
    border: 1px solid var(--jdf-line);
    border-radius: var(--jdf-radius);
    background: var(--jdf-white);
    color: var(--jdf-ink);
    font: inherit;
}

.jdf-text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    color: var(--jdf-gold-dark);
    font-weight: 900;
}

.jdf-text-link::after {
    content: "";
    width: 26px;
    height: 1px;
    background: currentColor;
}

.jdf-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 30px;
}

.jdf-post-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.jdf-post-list {
    display: grid;
    gap: 22px;
}

.jdf-post-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--jdf-line);
    border-radius: var(--jdf-radius);
    background: var(--jdf-white);
    box-shadow: 0 16px 48px rgba(29, 20, 8, .08);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.jdf-post-card:hover {
    transform: translateY(-5px);
    border-color: rgba(169, 130, 50, .4);
    box-shadow: 0 24px 62px rgba(29, 20, 8, .13);
}

.jdf-post-card-media {
    display: grid;
    aspect-ratio: 16 / 10;
    place-items: center;
    overflow: hidden;
    background: var(--jdf-black);
    color: var(--jdf-gold);
    font-family: var(--jdf-serif);
    font-size: 54px;
}

.jdf-post-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}

.jdf-post-card:hover .jdf-post-card-media img {
    transform: scale(1.035);
}

.jdf-post-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 22px;
}

.jdf-card-topline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 12px;
    margin-bottom: 12px;
    color: var(--jdf-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.jdf-card-category {
    color: var(--jdf-gold-dark);
    font-weight: 900;
}

.jdf-post-card-body h3 {
    margin: 0 0 10px;
    font-family: var(--jdf-serif);
    font-size: 25px;
    line-height: 1.13;
}

.jdf-card-excerpt {
    color: var(--jdf-muted);
}

.jdf-card-excerpt p {
    margin: 0;
}

.jdf-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid var(--jdf-line);
    color: var(--jdf-muted);
    font-size: 12px;
    font-weight: 800;
}

.jdf-card-footer a {
    color: var(--jdf-ink);
    font-size: 13px;
}

.jdf-card-footer a:hover {
    color: var(--jdf-gold-dark);
}

.jdf-topic-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: -4px 0 30px;
}

.jdf-topic-nav a,
.jdf-back-link {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 14px;
    border: 1px solid var(--jdf-line);
    border-radius: 999px;
    background: rgba(255, 255, 255, .65);
    color: var(--jdf-muted);
    font-size: 12px;
    font-weight: 850;
}

.jdf-topic-nav a:hover,
.jdf-back-link:hover {
    border-color: var(--jdf-gold-dark);
    background: var(--jdf-white);
    color: var(--jdf-ink);
}

.jdf-topic-nav-dark {
    margin-top: 0;
}

.jdf-back-link {
    margin-bottom: 28px;
}

@media (min-width: 901px) {
    .jdf-home-feed > .jdf-post-card:first-child {
        grid-column: span 2;
    }

    .jdf-home-feed > .jdf-post-card:first-child .jdf-post-card-media {
        aspect-ratio: 16 / 7;
    }

    .jdf-home-feed > .jdf-post-card:first-child .jdf-post-card-body h3 {
        max-width: 760px;
        font-size: 34px;
    }
}

.jdf-page-hero,
.jdf-single-hero {
    padding: 86px 0 62px;
    background:
        radial-gradient(circle at top right, rgba(215, 183, 106, .22), transparent 32%),
        var(--jdf-black);
    color: var(--jdf-white);
}

.jdf-page-hero p,
.jdf-single-hero p {
    color: rgba(255, 255, 255, .74);
}

.jdf-single-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 20px;
    margin-bottom: 20px;
    color: rgba(255, 255, 255, .72);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.jdf-single-meta a {
    color: var(--jdf-gold);
}

.jdf-single-meta span + span::before {
    content: "•";
    margin-right: 20px;
    color: rgba(255, 255, 255, .36);
}

.jdf-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 34px;
    align-items: start;
}

.jdf-featured-image {
    margin: -34px 0 42px;
    overflow: hidden;
    border-radius: var(--jdf-radius);
    box-shadow: var(--jdf-shadow);
    background: var(--jdf-white);
}

.jdf-featured-image img {
    display: block;
    width: 100%;
    max-height: 520px;
    object-fit: cover;
}

.jdf-content {
    max-width: 860px;
    padding: 52px;
    border: 1px solid var(--jdf-line);
    border-radius: var(--jdf-radius);
    background: var(--jdf-white);
    box-shadow: var(--jdf-shadow);
}

.jdf-content > *:first-child {
    margin-top: 0;
}

.jdf-content a {
    color: var(--jdf-gold-dark);
    font-weight: 700;
}

.jdf-content h2 {
    margin-top: 42px;
    font-size: 34px;
}

.jdf-content h3 {
    margin-top: 30px;
    font-size: 26px;
}

.jdf-content p,
.jdf-content li {
    color: #312b24;
}

.jdf-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 28px 0;
}

.jdf-content th,
.jdf-content td {
    padding: 12px;
    border: 1px solid var(--jdf-line);
    text-align: left;
}

.jdf-content th {
    background: var(--jdf-soft);
}

.jdf-post-navigation {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    padding: 34px 0 76px;
}

.jdf-post-navigation > div:last-child {
    text-align: right;
}

.jdf-post-navigation a {
    display: flex;
    height: 100%;
    flex-direction: column;
    gap: 8px;
    padding: 22px;
    border: 1px solid var(--jdf-line);
    border-radius: var(--jdf-radius);
    background: var(--jdf-white);
}

.jdf-post-navigation span {
    color: var(--jdf-gold-dark);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.jdf-post-navigation strong {
    font-family: var(--jdf-serif);
    font-size: 21px;
    line-height: 1.2;
}

.jdf-blog-grid .pagination,
.jdf-blog-grid .nav-links {
    grid-column: 1 / -1;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 3px solid rgba(215, 183, 106, .65);
    outline-offset: 3px;
}

.jdf-footer {
    padding: 52px 0 24px;
    background: var(--jdf-black);
    color: var(--jdf-white);
}

.jdf-footer-grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr .8fr;
    gap: 34px;
}

.jdf-footer-brand {
    display: flex;
    gap: 16px;
    align-items: center;
}

.jdf-footer-brand strong,
.jdf-footer h2 {
    font-family: var(--jdf-serif);
    font-size: 24px;
}

.jdf-footer p,
.jdf-footer a {
    color: rgba(255, 255, 255, .72);
}

.jdf-footer-links {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.jdf-footer-links a:hover {
    color: var(--jdf-gold);
}

.jdf-footer-bottom {
    margin-top: 40px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, .12);
    font-size: 14px;
}

.pagination,
.nav-links {
    display: flex;
    gap: 8px;
    margin-top: 28px;
}

.page-numbers {
    min-width: 38px;
    padding: 8px 12px;
    border: 1px solid var(--jdf-line);
    border-radius: var(--jdf-radius);
    background: var(--jdf-white);
}

.page-numbers.current {
    background: var(--jdf-black);
    color: var(--jdf-white);
}

@media (max-width: 900px) {
    body.jdf-menu-open {
        overflow: hidden;
    }
    .jdf-header-inner {
        min-height: 74px;
    }

    .jdf-brand-text small {
        display: none;
    }

    .jdf-menu-toggle {
        display: inline-block;
    }

    .jdf-nav {
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        display: none;
        padding: 16px 20px 22px;
        background: var(--jdf-black);
        border-bottom: 1px solid rgba(215, 183, 106, .28);
    }

    .jdf-nav.is-open {
        display: block;
    }

    .jdf-nav-list {
        display: grid;
        gap: 4px;
        justify-content: stretch;
    }

    .jdf-nav-list a {
        min-height: 42px;
    }

    .jdf-hero {
        min-height: auto;
    }

    .jdf-hero-media {
        background:
            linear-gradient(180deg, rgba(251, 247, 239, .98) 0%, rgba(251, 247, 239, .9) 54%, rgba(251, 247, 239, .5) 100%),
            url("../img/jd-fragance-hero.jpg") center bottom / cover no-repeat;
    }

    .jdf-raffle-hero {
        min-height: auto;
        background:
            radial-gradient(circle at 80% 0%, rgba(215, 183, 106, .22), transparent 30%),
            linear-gradient(180deg, #070707 0%, #15100b 62%, #fbf7ef 62%, #fbf7ef 100%);
    }

    .jdf-raffle-hero::before {
        background: linear-gradient(180deg, rgba(8, 8, 8, .88), rgba(8, 8, 8, .56) 58%, transparent 100%);
    }

    .jdf-hero-inner,
    .jdf-raffle-hero-inner,
    .jdf-two-col,
    .jdf-layout,
    .jdf-footer-grid {
        grid-template-columns: 1fr;
    }

    .jdf-hero-inner {
        padding: 70px 0 42px;
    }

    .jdf-raffle-hero-inner {
        padding: 48px 0 36px;
    }

    .jdf-hero-panel {
        max-width: 360px;
    }

    .jdf-raffle-grid {
        grid-template-columns: 1fr;
    }

    .jdf-raffle-dashboard {
        margin-top: 0;
        padding-top: 22px;
    }

    .jdf-prize-spotlight {
        max-width: 560px;
    }

    .jdf-features,
    .jdf-post-grid {
        grid-template-columns: 1fr;
    }

    .jdf-features article,
    .jdf-features article:first-child {
        border-inline: 1px solid var(--jdf-line);
        border-bottom: 1px solid var(--jdf-line);
    }

    .jdf-section-head {
        display: grid;
    }

    .jdf-content {
        padding: 30px 22px;
    }

    .jdf-post-navigation {
        grid-template-columns: 1fr;
    }

    .jdf-post-navigation > div:last-child {
        text-align: left;
    }
}

@media (max-width: 520px) {
    .jdf-shell {
        width: min(100% - 24px, 1180px);
    }

    .jdf-logo {
        width: 50px;
        height: 50px;
    }

    .jdf-brand-text strong {
        font-size: 20px;
    }

    .jdf-actions,
    .jdf-button {
        width: 100%;
    }

    .jdf-card-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .jdf-hero-metrics {
        grid-template-columns: 1fr;
    }

    .jdf-hero-copy h1,
    .jdf-page-hero h1,
    .jdf-single-hero h1 {
        font-size: 44px;
    }

    .jdf-raffle-hero .jdf-hero-copy h1 {
        font-size: 40px;
    }

    .jdf-section {
        padding: 54px 0;
    }
}

/* Plugin pages: true edge-to-edge presentation on member/referral screens. */
body.jdf-plugin-fullwidth .jdf-section {
    padding-left: 0;
    padding-right: 0;
}

body.jdf-plugin-fullwidth .jdf-section > .jdf-shell.jdf-content {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.jdf-plugin-fullwidth .jdf-content .srp-mi-club {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
}

@media (max-width: 640px) {
    body.jdf-plugin-fullwidth .jdf-section {
        padding-top: 0;
        padding-bottom: 0;
    }

    body.jdf-plugin-fullwidth .jdf-section > .jdf-shell.jdf-content {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding: 0;
        overflow-x: hidden;
    }

    body.jdf-plugin-fullwidth .jdf-content .srp-mi-club {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.jdf-plugin-fullwidth .jdf-content .srp-mi-club-card {
        width: 100%;
        max-width: none;
        margin: 0;
        border-left: 0;
        border-right: 0;
        border-radius: 0;
        box-shadow: none;
    }
}

/* =========================================================
   JD Fragance 1.2.0 — UX / Club / rendimiento visual
   ========================================================= */
:root {
    --jdf-serif: Georgia, "Times New Roman", serif;
    --jdf-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.jdf-button-gold {
    background: var(--jdf-gold);
    color: #15100b;
    border-color: var(--jdf-gold);
}

.jdf-button-gold:hover {
    background: #e4c77f;
    color: #15100b;
}

.jdf-button-ghost {
    background: rgba(255, 255, 255, .08);
    color: var(--jdf-white);
    border-color: rgba(255, 255, 255, .3);
}

.jdf-button-ghost:hover {
    background: rgba(255, 255, 255, .14);
    border-color: var(--jdf-gold);
}

.jdf-nav-cta {
    display: none;
}

.jdf-menu-backdrop {
    display: none;
}

.jdf-club-status {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    max-width: 650px;
    margin-top: 28px;
}

.jdf-club-status > div {
    min-width: 0;
    padding: 14px 15px;
    border: 1px solid rgba(215, 183, 106, .28);
    border-radius: var(--jdf-radius);
    background: rgba(255, 255, 255, .06);
}

.jdf-club-status strong,
.jdf-club-status span {
    display: block;
}

.jdf-club-status strong {
    color: #fff;
    font-family: var(--jdf-serif);
    font-size: 20px;
    line-height: 1.1;
}

.jdf-club-status span {
    margin-top: 5px;
    color: rgba(255,255,255,.64);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.jdf-prize-price {
    margin: 0 0 12px !important;
    color: var(--jdf-gold-dark) !important;
    font-size: 22px;
    font-weight: 900;
}

.jdf-draw-strip {
    position: relative;
    z-index: 3;
    background: #11100e;
    color: #fff;
    border-block: 1px solid rgba(215,183,106,.32);
}

.jdf-draw-strip-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    min-height: 122px;
    padding-block: 18px;
}

.jdf-draw-strip .jdf-kicker {
    margin-bottom: 4px;
    color: var(--jdf-gold);
}

.jdf-draw-strip-inner > div:first-child > strong {
    font-family: var(--jdf-serif);
    font-size: clamp(22px, 3vw, 34px);
}

.jdf-countdown {
    display: grid;
    grid-template-columns: repeat(4, minmax(68px, 1fr));
    gap: 9px;
}

.jdf-countdown > div {
    min-width: 0;
    padding: 11px 12px;
    text-align: center;
    border: 1px solid rgba(215,183,106,.26);
    border-radius: var(--jdf-radius);
    background: rgba(255,255,255,.06);
}

.jdf-countdown strong,
.jdf-countdown span {
    display: block;
}

.jdf-countdown strong {
    color: #fff;
    font-size: 27px;
    line-height: 1;
}

.jdf-countdown span {
    margin-top: 5px;
    color: var(--jdf-gold);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.jdf-draw-live {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border: 1px solid rgba(215,183,106,.35);
    border-radius: 999px;
    font-weight: 900;
}

.jdf-draw-live span {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--jdf-gold);
    box-shadow: 0 0 0 6px rgba(215,183,106,.12);
}

.jdf-campaign-banner {
    padding: 14px 0;
    background: var(--jdf-gold);
    color: #16110a;
}

.jdf-campaign-banner .jdf-shell {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.jdf-campaign-banner strong {
    font-weight: 900;
}

.jdf-how-section {
    background: #fff;
}

.jdf-how-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 18px;
}

.jdf-how-grid article {
    padding: 28px;
    border: 1px solid var(--jdf-line);
    border-radius: var(--jdf-radius);
    background: var(--jdf-cream);
}

.jdf-how-grid article > span {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 50%;
    background: var(--jdf-black);
    color: var(--jdf-gold);
    font-weight: 900;
}

.jdf-how-grid h3 {
    margin: 18px 0 8px;
    font-family: var(--jdf-serif);
    font-size: 26px;
}

.jdf-how-grid p {
    margin: 0;
    color: var(--jdf-muted);
}

.jdf-club-dashboard {
    padding-top: 10px;
}

.jdf-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 22px;
}

.jdf-dashboard-grid .jdf-raffle-card {
    min-height: 100%;
}

.jdf-home-blog {
    background: #fff;
    border-top: 1px solid var(--jdf-line);
}

.jdf-blog-search {
    display: flex;
    gap: 9px;
    width: min(680px, 100%);
    margin-top: 28px;
}

.jdf-blog-search input[type="search"] {
    flex: 1;
    min-width: 0;
    min-height: 50px;
    padding: 12px 15px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: var(--jdf-radius);
    background: rgba(255,255,255,.1);
    color: #fff;
    font: inherit;
}

.jdf-blog-search input[type="search"]::placeholder {
    color: rgba(255,255,255,.62);
}

.jdf-blog-search button {
    background: var(--jdf-gold);
    color: #15100b;
}

.jdf-topic-nav a.is-active {
    border-color: var(--jdf-gold-dark);
    background: var(--jdf-black);
    color: #fff;
}

.jdf-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 9px;
    margin-bottom: 22px;
    color: rgba(255,255,255,.7);
    font-size: 12px;
}

.jdf-breadcrumbs a {
    color: var(--jdf-gold);
}

.jdf-breadcrumbs [aria-current="page"] {
    max-width: min(520px, 70vw);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.jdf-article-layout {
    display: block;
}

.jdf-article-main {
    max-width: 900px;
    margin-inline: auto;
}

.jdf-toc {
    margin: 0 0 18px;
    padding: 18px 20px;
    border: 1px solid var(--jdf-line);
    border-radius: var(--jdf-radius);
    background: #fff;
}

.jdf-toc summary {
    cursor: pointer;
    color: var(--jdf-ink);
    font-weight: 900;
}

.jdf-toc ol {
    display: grid;
    gap: 8px;
    margin: 14px 0 0;
    padding-left: 22px;
}

.jdf-toc a {
    color: var(--jdf-gold-dark);
    font-weight: 700;
}

.jdf-article-content {
    max-width: none;
}

.jdf-article-content h2,
.jdf-article-content h3 {
    scroll-margin-top: 100px;
}

.jdf-article-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 22px;
    padding: 26px 28px;
    border: 1px solid rgba(215,183,106,.42);
    border-radius: var(--jdf-radius);
    background: var(--jdf-black);
    color: #fff;
}

.jdf-article-cta h2 {
    margin: 0 0 6px;
    font-family: var(--jdf-serif);
}

.jdf-article-cta p:not(.jdf-kicker) {
    margin: 0;
    color: rgba(255,255,255,.72);
}

.jdf-related-posts {
    margin-top: 54px;
    background: #fff;
    border-block: 1px solid var(--jdf-line);
}

.jdf-whatsapp-float {
    position: fixed;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
    z-index: 45;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 48px;
    padding: 10px 16px;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 999px;
    background: #168c48;
    color: #fff;
    box-shadow: 0 12px 34px rgba(0,0,0,.22);
    font-size: 13px;
    font-weight: 850;
}

.jdf-whatsapp-float:hover {
    background: #107a3c;
    color: #fff;
}

.jdf-footer {
    padding-top: 36px;
}

.jdf-footer-grid {
    gap: 26px;
}

.jdf-footer-brand .jdf-logo {
    width: 52px;
    height: 52px;
}

.jdf-footer-brand strong,
.jdf-footer h2 {
    font-size: 20px;
}

.jdf-footer-bottom {
    margin-top: 28px;
}

/* Plugin screens: remove duplicate page hero and preserve true edge-to-edge. */
body.jdf-plugin-fullwidth .jdf-page-hero {
    display: none;
}

body.jdf-plugin-fullwidth .jdf-plugin-section {
    padding-top: 0;
}

@media (max-width: 900px) {
    .jdf-header-inner {
        min-height: 68px;
    }

    .jdf-logo {
        width: 48px;
        height: 48px;
    }

    .jdf-menu-toggle {
        position: relative;
        z-index: 72;
    }

    .jdf-nav {
        position: fixed;
        z-index: 70;
        top: 68px;
        right: 0;
        bottom: 0;
        left: auto;
        display: block;
        width: min(88vw, 360px);
        padding: 22px;
        border-left: 1px solid rgba(215,183,106,.24);
        border-bottom: 0;
        background: #0b0b0b;
        transform: translateX(105%);
        transition: transform .24s ease;
        overflow-y: auto;
    }

    .jdf-nav.is-open {
        transform: translateX(0);
    }

    .jdf-nav-list {
        gap: 6px;
    }

    .jdf-nav-list a {
        min-height: 50px;
        padding: 8px 10px;
        border: 1px solid rgba(255,255,255,.08);
        border-radius: var(--jdf-radius);
    }

    .jdf-nav-cta {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 50px;
        margin-top: 18px;
        padding: 12px;
        border-radius: var(--jdf-radius);
        background: var(--jdf-gold);
        color: #15100b;
        font-weight: 900;
    }

    .jdf-menu-backdrop {
        position: fixed;
        z-index: 60;
        inset: 68px 0 0;
        width: 100%;
        height: auto;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: rgba(0,0,0,.56);
        opacity: 0;
        pointer-events: none;
        display: block;
        transition: opacity .24s ease;
    }

    body.jdf-menu-open .jdf-menu-backdrop {
        opacity: 1;
        pointer-events: auto;
    }

    .jdf-raffle-hero-inner {
        gap: 26px;
        padding-top: 42px;
    }

    .jdf-club-status,
    .jdf-how-grid,
    .jdf-dashboard-grid {
        grid-template-columns: 1fr;
    }

    .jdf-club-status {
        max-width: none;
    }

    .jdf-draw-strip-inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .jdf-countdown {
        width: 100%;
    }

    .jdf-article-cta {
        align-items: stretch;
        flex-direction: column;
    }

    .jdf-article-cta .jdf-button {
        width: 100%;
    }

    .jdf-footer-grid {
        grid-template-columns: 1fr 1fr;
    }

    .jdf-footer-brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .jdf-brand-text strong {
        font-size: 19px;
    }

    .jdf-brand-text small {
        display: none;
    }

    .jdf-raffle-hero .jdf-hero-copy h1 {
        font-size: 38px;
        line-height: .98;
    }

    .jdf-club-status {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .jdf-club-status > div:last-child {
        grid-column: 1 / -1;
    }

    .jdf-countdown {
        grid-template-columns: repeat(4, minmax(0,1fr));
        gap: 6px;
    }

    .jdf-countdown > div {
        padding: 9px 4px;
    }

    .jdf-countdown strong {
        font-size: 22px;
    }

    .jdf-how-grid article,
    .jdf-raffle-card {
        padding: 22px;
    }

    .jdf-blog-search {
        flex-direction: column;
    }

    .jdf-blog-search button {
        width: 100%;
    }

    .jdf-breadcrumbs [aria-current="page"] {
        max-width: 55vw;
    }

    .jdf-toc {
        padding: 16px;
    }

    .jdf-footer {
        padding: 28px 0 18px;
    }

    .jdf-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 20px 16px;
    }

    .jdf-footer-brand {
        grid-column: 1 / -1;
    }

    .jdf-footer-brand p {
        margin: 2px 0 0;
        font-size: 13px;
    }

    .jdf-footer h2 {
        margin: 0 0 8px;
        font-size: 18px;
    }

    .jdf-footer-links {
        gap: 5px;
        font-size: 13px;
    }

    .jdf-footer-bottom {
        margin-top: 20px;
        padding-top: 14px;
        font-size: 12px;
    }

    .jdf-whatsapp-float {
        width: 48px;
        height: 48px;
        min-height: 48px;
        padding: 0;
        justify-content: center;
        font-size: 20px;
    }

    .jdf-whatsapp-float span:last-child {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .jdf-nav,
    .jdf-menu-backdrop {
        transition: none;
    }
}

/* v1.2.3 — Mobile navigation categories and right-to-left drawer */
.jdf-mobile-categories {
    display: none;
}

@media (max-width: 900px) {
    .jdf-nav {
        transform: translate3d(100%, 0, 0);
        transition: transform .32s cubic-bezier(.22, .61, .36, 1);
        will-change: transform;
    }

    .jdf-nav.is-open {
        transform: translate3d(0, 0, 0);
    }

    .jdf-mobile-categories {
        display: block;
        margin-top: 22px;
        padding-top: 18px;
        border-top: 1px solid rgba(215, 183, 106, .28);
    }

    .jdf-mobile-categories-title {
        margin: 0 0 10px;
        color: var(--jdf-gold);
        font-size: 12px;
        font-weight: 900;
        letter-spacing: .12em;
        text-transform: uppercase;
    }

    .jdf-mobile-category-list {
        display: grid;
        gap: 6px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .jdf-mobile-category-list a {
        display: flex;
        align-items: center;
        min-height: 46px;
        padding: 9px 11px;
        border: 1px solid rgba(255, 255, 255, .08);
        border-radius: var(--jdf-radius);
        color: rgba(255, 255, 255, .9);
        font-size: 14px;
        font-weight: 750;
        text-decoration: none;
    }

    .jdf-mobile-category-list a:hover,
    .jdf-mobile-category-list a:focus-visible {
        border-color: rgba(215, 183, 106, .55);
        color: var(--jdf-white);
        background: rgba(215, 183, 106, .08);
    }
}

@media (prefers-reduced-motion: reduce) {
    .jdf-nav {
        transition: none !important;
    }
}


/* v1.2.7 — Independent BODY-level mobile drawer.
   Does not share any stacking context with header, countdowns, plugin panels or page content. */
.jdf-mobile-drawer,
.jdf-mobile-menu-backdrop {
    display: none;
}

@media (max-width: 900px) {
    .jdf-nav-desktop {
        display: none !important;
    }

    body.jdf-menu-open {
        overflow: hidden !important;
        touch-action: none;
    }

    body > .jdf-mobile-menu-backdrop {
        display: block !important;
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        height: 100dvh !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: rgba(0,0,0,.68) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        z-index: 2147483646 !important;
        transition: opacity .22s ease, visibility 0s linear .22s !important;
        -webkit-appearance: none !important;
        appearance: none !important;
    }

    body.jdf-menu-open > .jdf-mobile-menu-backdrop {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transition: opacity .22s ease !important;
    }

    body > .jdf-mobile-drawer {
        display: block !important;
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        width: min(88vw, 370px) !important;
        max-width: 370px !important;
        height: 100vh !important;
        height: 100dvh !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: max(18px, env(safe-area-inset-top)) 20px max(22px, env(safe-area-inset-bottom)) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        background: #080808 !important;
        color: #fff !important;
        border: 0 !important;
        border-left: 1px solid rgba(215,183,106,.34) !important;
        opacity: 1 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateX(101%) !important;
        -webkit-transform: translateX(101%) !important;
        transition: transform .30s cubic-bezier(.22,.61,.36,1), visibility 0s linear .30s !important;
        z-index: 2147483647 !important;
        isolation: isolate !important;
        contain: layout paint !important;
    }

    body > .jdf-mobile-drawer.is-open {
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateX(0) !important;
        -webkit-transform: translateX(0) !important;
        transition: transform .30s cubic-bezier(.22,.61,.36,1) !important;
    }

    .jdf-mobile-drawer-head {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        min-height: 52px;
        margin: 0 0 14px;
        padding-bottom: 13px;
        border-bottom: 1px solid rgba(215,183,106,.28);
    }

    .jdf-mobile-drawer-head strong {
        color: #f1ce7b;
        font-size: 15px;
        letter-spacing: .1em;
        text-transform: uppercase;
    }

    .jdf-mobile-drawer-close {
        width: 44px;
        height: 44px;
        padding: 0;
        border: 1px solid rgba(215,183,106,.35);
        border-radius: 10px;
        background: #141414;
        color: #fff;
        font-size: 30px;
        line-height: 1;
        cursor: pointer;
    }

    body > .jdf-mobile-drawer .jdf-nav-list {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 7px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    body > .jdf-mobile-drawer .jdf-nav-list a,
    body > .jdf-mobile-drawer .jdf-mobile-category-list a {
        display: flex !important;
        align-items: center !important;
        min-height: 48px !important;
        padding: 10px 12px !important;
        box-sizing: border-box !important;
        border: 1px solid rgba(255,255,255,.10) !important;
        border-radius: 10px !important;
        background: #111 !important;
        color: #fff !important;
        text-decoration: none !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    body > .jdf-mobile-drawer .jdf-mobile-categories {
        display: block !important;
        margin-top: 20px !important;
        padding-top: 17px !important;
        border-top: 1px solid rgba(215,183,106,.28) !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    body > .jdf-mobile-drawer .jdf-mobile-category-list {
        display: grid !important;
        gap: 7px !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    body > .jdf-mobile-drawer .jdf-nav-cta {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 50px !important;
        margin-top: 20px !important;
        padding: 12px !important;
        border-radius: 10px !important;
        background: #d7b76a !important;
        color: #15100b !important;
        font-weight: 900 !important;
        text-decoration: none !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    /* Never hide the page to solve menu layering. */
    body.jdf-menu-open .jdf-main,
    body.jdf-menu-open .jdf-whatsapp-float {
        visibility: visible !important;
    }
}

@media (min-width: 901px) {
    .jdf-nav-desktop {
        display: flex;
    }
}

@media (prefers-reduced-motion: reduce) {
    body > .jdf-mobile-drawer,
    body > .jdf-mobile-menu-backdrop {
        transition: none !important;
    }
}


/* v1.3.1 — Compact premium information carousel */
.jdf-how-section {
    padding-top: 52px;
    padding-bottom: 52px;
}
.jdf-how-head {
    margin-bottom: 22px;
}
.jdf-how-head h2 {
    margin-bottom: 8px;
}
.jdf-how-intro {
    max-width: 680px;
    margin: 0;
    color: #6c6257;
}
.jdf-how-slider {
    position: relative;
    max-width: 920px;
    margin: 0 auto;
    padding: 0 58px 34px;
}
.jdf-how-viewport {
    overflow: hidden;
    border: 1px solid rgba(188, 145, 62, .26);
    border-radius: 24px;
    background:
        radial-gradient(circle at 90% 10%, rgba(218,177,88,.18), transparent 32%),
        linear-gradient(135deg, #0c0b09 0%, #17130e 100%);
    box-shadow: 0 22px 60px rgba(18, 13, 6, .18);
}
.jdf-how-track {
    display: flex;
    width: 100%;
    transform: translate3d(0,0,0);
    transition: transform .58s cubic-bezier(.22,.61,.36,1);
    will-change: transform;
}
.jdf-how-slide {
    flex: 0 0 100%;
    min-width: 100%;
    min-height: 250px;
    box-sizing: border-box;
    padding: 38px 48px;
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    align-items: center;
    gap: 30px;
    color: #fff;
}
.jdf-how-icon {
    width: 92px;
    height: 92px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(145deg, #e7c875, #b48632);
    color: #0a0907;
    font-size: 30px;
    font-weight: 900;
    box-shadow: 0 12px 30px rgba(211,171,79,.2), inset 0 1px 0 rgba(255,255,255,.45);
}
.jdf-how-icon-star {
    font-size: 42px;
}
.jdf-how-icon-chat {
    font-size: 38px;
}
.jdf-how-label {
    display: block;
    margin-bottom: 8px;
    color: #e6c56f;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.jdf-how-slide h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.08;
}
.jdf-how-slide p {
    max-width: 650px;
    margin: 0;
    color: rgba(255,255,255,.76);
    font-size: 17px;
    line-height: 1.65;
}
.jdf-how-slide-priority {
    background: linear-gradient(115deg, rgba(175,126,34,.13), transparent 60%);
}
.jdf-how-slide-whatsapp {
    background: linear-gradient(115deg, rgba(36,155,91,.10), transparent 65%);
}
.jdf-how-whatsapp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    margin-top: 18px;
    padding: 10px 18px;
    border-radius: 12px;
    background: #daba69;
    color: #111 !important;
    font-weight: 850;
    text-decoration: none !important;
    box-shadow: 0 8px 24px rgba(218,186,105,.16);
    transition: transform .2s ease, filter .2s ease;
}
.jdf-how-whatsapp-btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.06);
}
.jdf-how-arrow {
    position: absolute;
    top: calc(50% - 17px);
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(190,147,61,.32);
    border-radius: 50%;
    background: #11100e;
    color: #e3c36e;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
    box-shadow: 0 8px 22px rgba(0,0,0,.16);
    z-index: 2;
}
.jdf-how-prev { left: 0; }
.jdf-how-next { right: 0; }
.jdf-how-dots {
    position: absolute;
    left: 50%;
    bottom: 5px;
    display: flex;
    gap: 8px;
    transform: translateX(-50%);
}
.jdf-how-dots button {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #d8cdbb;
    cursor: pointer;
    transition: width .25s ease, background .25s ease;
}
.jdf-how-dots button.is-active {
    width: 26px;
    background: #bd9342;
}

@media (max-width: 640px) {
    .jdf-how-section {
        padding-top: 34px;
        padding-bottom: 38px;
    }
    .jdf-how-head {
        margin-bottom: 16px;
    }
    .jdf-how-head h2 {
        font-size: clamp(30px, 9vw, 42px);
        line-height: 1.03;
    }
    .jdf-how-intro {
        font-size: 14px;
        line-height: 1.5;
    }
    .jdf-how-slider {
        padding: 0 0 29px;
    }
    .jdf-how-viewport {
        border-radius: 20px;
    }
    .jdf-how-slide {
        min-height: 310px;
        padding: 28px 24px 30px;
        grid-template-columns: 1fr;
        align-content: center;
        gap: 17px;
    }
    .jdf-how-icon {
        width: 66px;
        height: 66px;
        font-size: 22px;
    }
    .jdf-how-icon-star,
    .jdf-how-icon-chat {
        font-size: 30px;
    }
    .jdf-how-slide h3 {
        font-size: 27px;
    }
    .jdf-how-slide p {
        font-size: 15px;
        line-height: 1.55;
    }
    .jdf-how-whatsapp-btn {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
        font-size: 14px;
    }
    .jdf-how-arrow {
        top: auto;
        bottom: -2px;
        width: 34px;
        height: 34px;
        font-size: 24px;
        background: transparent;
        box-shadow: none;
        border-color: transparent;
    }
    .jdf-how-prev { left: 2px; }
    .jdf-how-next { right: 2px; }
    .jdf-how-dots {
        bottom: 9px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .jdf-how-track,
    .jdf-how-dots button,
    .jdf-how-whatsapp-btn {
        transition: none !important;
    }
}


/* v1.3.2 — carousel cache/fallback hardening */
.jdf-how-slider:not(.jdf-how-ready) .jdf-how-slide:not(:first-child) {
    visibility: hidden;
}
.jdf-how-slider.jdf-how-ready .jdf-how-slide {
    visibility: visible;
}


/* ============================================================
   v1.4.0 — Full visual refresh / organized homepage
   ============================================================ */
:root{
    --jdf-black:#080808;
    --jdf-black-2:#11100e;
    --jdf-cream:#f7f2e9;
    --jdf-gold:#d8b967;
    --jdf-gold-dark:#9f7428;
    --jdf-line:rgba(179,139,58,.22);
    --jdf-muted:#766d63;
    --jdf-radius-lg:26px;
    --jdf-shadow:0 20px 60px rgba(18,13,6,.12);
}

body{
    background:var(--jdf-cream);
}

.jdf-section{
    padding-top:64px;
    padding-bottom:64px;
}

.jdf-home-hero{
    position:relative;
    overflow:hidden;
    padding:70px 0 64px;
    background:
        radial-gradient(circle at 82% 14%,rgba(218,185,103,.2),transparent 26%),
        linear-gradient(135deg,#050505 0%,#12100d 62%,#20170d 100%);
    color:#fff;
}
.jdf-home-hero:before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(115deg,transparent 0 58%,rgba(255,255,255,.025) 58% 65%,transparent 65%);
}
.jdf-home-hero-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(340px,.72fr);
    gap:56px;
    align-items:center;
}
/* Nuevo hero centrado — sin columna lateral */
.jdf-home-hero-copy-only{
    position:relative;
    z-index:1;
    max-width:860px;
    margin-inline:auto;
    text-align:center;
}
.jdf-home-hero-copy-only h1{
    margin:10px 0 22px;
    color:#fff;
    font-size:clamp(40px,5.5vw,72px);
    line-height:1;
    letter-spacing:-.035em;
}
.jdf-home-hero-copy-only .jdf-home-hero-lead{
    max-width:640px;
    margin-inline:auto;
}
.jdf-home-hero-copy-only .jdf-home-actions{
    justify-content:center;
}
.jdf-home-hero-copy-only .jdf-home-mini-benefits{
    justify-content:center;
}
.jdf-home-hero-copy h1{
    max-width:760px;
    margin:10px 0 22px;
    color:#fff;
    font-size:clamp(46px,6vw,78px);
    line-height:.98;
    letter-spacing:-.035em;
}
.jdf-home-hero-lead{
    max-width:680px;
    margin:0;
    color:rgba(255,255,255,.72);
    font-size:19px;
    line-height:1.65;
}
.jdf-home-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:30px;
}
.jdf-button-dark{
    border:1px solid rgba(216,185,103,.5)!important;
    background:#171512!important;
    color:#fff!important;
}
.jdf-home-mini-benefits{
    display:flex;
    flex-wrap:wrap;
    gap:10px 20px;
    margin-top:24px;
    color:rgba(255,255,255,.65);
    font-size:13px;
    font-weight:700;
}
.jdf-home-prize-card{
    overflow:hidden;
    border:1px solid rgba(216,185,103,.34);
    border-radius:28px;
    background:rgba(12,11,9,.84);
    box-shadow:0 28px 80px rgba(0,0,0,.34);
    backdrop-filter:blur(8px);
}
.jdf-home-prize-media{
    position:relative;
    aspect-ratio:1.14/1;
    overflow:hidden;
    background:#17110e;
}
.jdf-home-prize-media:after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:38%;
    background:linear-gradient(transparent,rgba(5,5,5,.72));
}
.jdf-home-prize-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.jdf-home-prize-body{
    padding:24px 26px 28px;
}
.jdf-home-prize-body h2{
    margin:0 0 8px;
    color:#fff;
    font-size:30px;
    line-height:1.08;
}
.jdf-home-chip{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:4px 10px;
    border:1px solid rgba(216,185,103,.3);
    border-radius:999px;
    background:rgba(216,185,103,.08);
    color:#e5c56e;
    font-size:11px;
    font-weight:900;
    letter-spacing:.09em;
    text-transform:uppercase;
}
.jdf-home-prize-price{
    color:#e7c875;
    font-size:22px;
}

.jdf-home-campaign{
    background:#d5b668;
    color:#18110a;
}
.jdf-home-campaign-inner{
    min-height:62px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    text-align:center;
}
.jdf-home-campaign-inner div{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px 14px;
}
.jdf-home-campaign-badge{
    flex:0 0 auto;
    padding:5px 9px;
    border-radius:999px;
    background:#111;
    color:#fff;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.jdf-home-draw{
    padding-top:42px;
    padding-bottom:42px;
}
.jdf-home-draw-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:38px;
    align-items:center;
    padding:34px 40px;
    border:1px solid var(--jdf-line);
    border-radius:var(--jdf-radius-lg);
    background:#fff;
    box-shadow:var(--jdf-shadow);
}
.jdf-home-draw-copy h2{
    margin:7px 0 8px;
    font-size:clamp(30px,4vw,46px);
}
.jdf-home-draw-copy p:last-child{
    max-width:620px;
    margin-bottom:0;
    color:var(--jdf-muted);
}
.jdf-home-countdown{
    display:grid;
    grid-template-columns:repeat(4,86px);
    gap:10px;
}
.jdf-home-countdown div{
    min-height:88px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:2px;
    border:1px solid rgba(159,116,40,.28);
    border-radius:18px;
    background:linear-gradient(145deg,#15120e,#211a11);
    color:#fff;
}
.jdf-home-countdown strong{
    color:#efd079;
    font-size:29px;
    line-height:1;
}
.jdf-home-countdown span{
    color:rgba(255,255,255,.64);
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
}

.jdf-how-section{
    background:#fff;
}
.jdf-how-head{
    max-width:860px;
}
.jdf-how-slider{
    max-width:980px;
}
.jdf-how-viewport{
    border-radius:28px;
}

.jdf-home-advantage{
    background:#0a0908;
    color:#fff;
}
.jdf-home-advantage-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
}
.jdf-home-feature-card{
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    gap:22px;
    align-items:start;
    padding:32px;
    border:1px solid rgba(216,185,103,.22);
    border-radius:24px;
    background:
        radial-gradient(circle at 90% 0,rgba(216,185,103,.10),transparent 35%),
        #11100e;
}
.jdf-home-feature-icon{
    width:62px;
    height:62px;
    display:grid;
    place-items:center;
    border-radius:18px;
    background:linear-gradient(145deg,#e0c16e,#aa7d2c);
    color:#111;
    font-size:20px;
    font-weight:900;
}
.jdf-home-feature-card h2{
    margin:6px 0 10px;
    color:#fff;
    font-size:30px;
}
.jdf-home-feature-card p:last-child{
    margin:0;
    color:rgba(255,255,255,.66);
    line-height:1.65;
}

.jdf-home-community{
    background:var(--jdf-cream);
}
.jdf-home-community .jdf-dashboard-grid{
    align-items:stretch;
}
.jdf-home-community .jdf-raffle-card{
    border-radius:24px;
    box-shadow:var(--jdf-shadow);
}
.jdf-card-topline{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:flex-start;
    margin-bottom:18px;
}
.jdf-card-topline h3{
    margin:4px 0 0;
    font-size:29px;
}
.jdf-home-community .jdf-winner-card{
    position:relative;
    overflow:hidden;
}
.jdf-home-community .jdf-winner-card h3{
    font-size:31px;
    line-height:1.08;
}

.jdf-home-prize-showcase{
    background:#fff;
}
.jdf-home-prize-showcase-inner{
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(0,.86fr) minmax(420px,1.14fr);
    min-height:490px;
    border:1px solid var(--jdf-line);
    border-radius:30px;
    background:#0b0a08;
    box-shadow:0 30px 80px rgba(12,9,5,.16);
}
.jdf-home-prize-showcase-copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:56px;
    color:#fff;
}
.jdf-home-prize-showcase-copy h2{
    margin:8px 0 14px;
    color:#fff;
    font-size:clamp(38px,5vw,62px);
    line-height:1;
}
.jdf-home-prize-showcase-copy p{
    color:rgba(255,255,255,.7);
    line-height:1.7;
}
.jdf-home-showcase-meta{
    display:flex;
    gap:12px;
    align-items:center;
    margin:10px 0 24px;
}
.jdf-home-showcase-meta strong,
.jdf-home-showcase-meta span{
    padding:8px 12px;
    border:1px solid rgba(216,185,103,.25);
    border-radius:999px;
    color:#e5c56f;
}
.jdf-home-prize-showcase-copy .jdf-button{
    align-self:flex-start;
}
.jdf-home-prize-showcase-media{
    min-height:490px;
    background:#160c09;
}
.jdf-home-prize-showcase-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.jdf-home-blog{
    background:var(--jdf-cream);
    padding-top:58px;
}
.jdf-home-blog .jdf-post-grid{
    gap:22px;
}
.jdf-home-blog .jdf-post-card{
    overflow:hidden;
    border:1px solid var(--jdf-line);
    border-radius:22px;
    background:#fff;
    box-shadow:0 12px 32px rgba(21,15,8,.06);
    transition:transform .2s ease,box-shadow .2s ease;
}
.jdf-home-blog .jdf-post-card:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 42px rgba(21,15,8,.11);
}

/* Shared polish */
.jdf-section-head h2{
    margin-top:7px;
    letter-spacing:-.025em;
}
.jdf-kicker{
    color:#a9782a;
    font-weight:900;
    letter-spacing:.12em;
}
.jdf-button{
    border-radius:14px!important;
    box-shadow:none!important;
    transition:transform .2s ease,filter .2s ease!important;
}
.jdf-button:hover{
    transform:translateY(-2px);
    filter:brightness(1.04);
}

@media(max-width:900px){
    .jdf-section{
        padding-top:46px;
        padding-bottom:46px;
    }
    .jdf-home-hero{
        padding:40px 0 42px;
    }
    .jdf-home-hero-grid{
        grid-template-columns:1fr;
        gap:30px;
    }
    .jdf-home-hero-copy h1{
        font-size:clamp(42px,12vw,62px);
    }
    .jdf-home-prize-card{
        max-width:620px;
        width:100%;
    }
    .jdf-home-draw-card{
        grid-template-columns:1fr;
        gap:24px;
        padding:28px;
    }
    .jdf-home-countdown{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
    .jdf-home-advantage-grid{
        grid-template-columns:1fr;
    }
    .jdf-home-prize-showcase-inner{
        grid-template-columns:1fr;
    }
    .jdf-home-prize-showcase-media{
        min-height:360px;
        order:-1;
    }
    .jdf-home-prize-showcase-copy{
        padding:38px;
    }
}

@media(max-width:640px){
    .jdf-section{
        padding-top:34px;
        padding-bottom:34px;
    }
    .jdf-home-hero{
        padding-top:30px;
    }
    .jdf-home-hero-copy h1{
        margin-bottom:16px;
        font-size:clamp(38px,11.3vw,52px);
        line-height:1;
    }
    .jdf-home-hero-lead{
        font-size:16px;
    }
    .jdf-home-actions{
        display:grid;
        grid-template-columns:1fr;
    }
    .jdf-home-actions .jdf-button{
        width:100%;
        box-sizing:border-box;
        justify-content:center;
        text-align:center;
    }
    .jdf-home-mini-benefits{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px 12px;
    }
    .jdf-home-prize-card{
        border-radius:22px;
    }
    .jdf-home-prize-media{
        aspect-ratio:1.25/1;
    }
    .jdf-home-prize-body{
        padding:20px;
    }
    .jdf-home-campaign-inner{
        padding-top:12px;
        padding-bottom:12px;
        flex-direction:column;
        gap:7px;
    }
    .jdf-home-draw{
        padding-top:24px;
        padding-bottom:24px;
    }
    .jdf-home-draw-card{
        padding:22px 18px;
        border-radius:20px;
    }
    .jdf-home-draw-copy h2{
        font-size:30px;
    }
    .jdf-home-countdown{
        gap:7px;
    }
    .jdf-home-countdown div{
        min-height:72px;
        border-radius:14px;
    }
    .jdf-home-countdown strong{
        font-size:24px;
    }
    .jdf-home-feature-card{
        grid-template-columns:56px minmax(0,1fr);
        gap:16px;
        padding:22px 18px;
        border-radius:20px;
    }
    .jdf-home-feature-icon{
        width:52px;
        height:52px;
        border-radius:15px;
        font-size:17px;
    }
    .jdf-home-feature-card h2{
        font-size:24px;
    }
    .jdf-card-topline{
        flex-direction:column;
        align-items:flex-start;
    }
    .jdf-home-prize-showcase-inner{
        border-radius:22px;
    }
    .jdf-home-prize-showcase-media{
        min-height:280px;
    }
    .jdf-home-prize-showcase-copy{
        padding:26px 20px 28px;
    }
    .jdf-home-prize-showcase-copy h2{
        font-size:38px;
    }
    .jdf-home-showcase-meta{
        flex-wrap:wrap;
    }
}

/* v1.6.0 — Catálogo de productos. */
.jdf-home-products{
    position:relative;
    overflow:hidden;
    background:linear-gradient(180deg,#fbf7ef 0%,#f6eee1 100%);
}
.jdf-home-products::before{
    content:"";
    position:absolute;
    top:-220px;
    right:-180px;
    width:480px;
    height:480px;
    border:1px solid rgba(180,132,46,.11);
    border-radius:50%;
    pointer-events:none;
}
.jdf-product-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(210px,260px));
    justify-content:center;
    gap:clamp(14px,2vw,20px);
}
.jdf-product-card{
    position:relative;
    width:100%;
    max-width:260px;
    min-width:0;
    overflow:hidden;
    border:1px solid rgba(170,126,47,.24);
    border-radius:18px;
    background:linear-gradient(180deg,#fff 0%,#fdfaf5 100%);
    box-shadow:0 11px 28px rgba(48,34,14,.09);
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.jdf-product-card::after{
    content:"";
    position:absolute;
    right:16px;
    bottom:0;
    left:16px;
    height:3px;
    border-radius:999px 999px 0 0;
    background:linear-gradient(90deg,transparent,#d6aa50,transparent);
    opacity:.65;
}
.jdf-product-card:hover{
    transform:translateY(-5px);
    border-color:rgba(170,126,47,.5);
    box-shadow:0 18px 38px rgba(48,34,14,.15);
}
.jdf-product-card-media{
    position:relative;
    display:block;
    aspect-ratio:1/1;
    overflow:hidden;
    border-bottom:1px solid rgba(170,126,47,.16);
    background:radial-gradient(circle at 50% 34%,#fff 0%,#f6efe3 58%,#ece0cd 100%);
}
.jdf-product-card-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .5s cubic-bezier(.2,.65,.25,1);
}
.jdf-product-card:hover .jdf-product-card-media img{
    transform:scale(1.045);
}
.jdf-product-placeholder{
    display:flex;
    width:100%;
    height:100%;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:#a5792b;
    text-align:center;
}
.jdf-product-placeholder strong{
    font:700 clamp(42px,6vw,66px)/.85 Georgia,serif;
    letter-spacing:-.08em;
}
.jdf-product-placeholder small{
    margin-top:10px;
    font-size:11px;
    font-weight:900;
    letter-spacing:.35em;
    text-transform:uppercase;
}
.jdf-product-status{
    position:absolute;
    top:10px;
    left:10px;
    z-index:2;
    display:inline-flex;
    min-height:26px;
    align-items:center;
    padding:6px 9px;
    border:1px solid rgba(255,255,255,.5);
    border-radius:999px;
    background:rgba(26,21,14,.9);
    color:#fff;
    font-size:9px;
    font-weight:900;
    line-height:1;
    letter-spacing:.08em;
    text-transform:uppercase;
    box-shadow:0 7px 20px rgba(18,13,8,.18);
    backdrop-filter:blur(8px);
}
.jdf-product-status.is-disponible{
    background:rgba(26,103,56,.92);
}
.jdf-product-status.is-agotado{
    background:rgba(120,38,31,.92);
}
.jdf-product-status.is-proximamente{
    background:rgba(156,103,25,.94);
}
.jdf-product-card-body{
    padding:14px 15px 16px;
}
.jdf-product-category{
    display:inline-flex;
    margin-bottom:6px;
    color:#a57322!important;
    font-size:9px;
    font-weight:900;
    letter-spacing:.15em;
    text-decoration:none!important;
    text-transform:uppercase;
}
.jdf-product-card h3{
    display:-webkit-box;
    min-height:2.3em;
    margin:0;
    overflow:hidden;
    font:700 clamp(18px,1.7vw,22px)/1.15 Georgia,"Times New Roman",serif;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}
.jdf-product-card h3 a{
    color:#19140e!important;
    text-decoration:none!important;
}
.jdf-product-card-body>p{
    display:none;
}
.jdf-product-card-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:11px;
    padding-top:11px;
    border-top:1px solid #eee4d5;
}
.jdf-product-card-footer strong{
    color:#17120d;
    font-size:clamp(17px,1.7vw,20px);
    line-height:1;
}
.jdf-product-card-footer a{
    display:inline-flex;
    align-items:center;
    gap:5px;
    color:#8d621e!important;
    font-size:10px;
    font-weight:900;
    text-decoration:none!important;
}
.jdf-product-card-footer a span{
    transition:transform .2s ease;
}
.jdf-product-card-footer a:hover span{
    transform:translateX(4px);
}
.jdf-catalog-hero{
    position:relative;
    overflow:hidden;
    padding:clamp(30px,4vw,46px) 0 clamp(28px,4vw,42px);
    background:
        radial-gradient(circle at 80% 10%,rgba(209,165,78,.25),transparent 34%),
        radial-gradient(circle at 10% 100%,rgba(111,80,31,.18),transparent 30%),
        linear-gradient(145deg,#0c0a08,#211a11 62%,#332719);
    color:#fff;
    text-align:center;
}
.jdf-catalog-hero .jdf-kicker{
    color:#eccb7d;
}
.jdf-catalog-hero h1{
    max-width:900px;
    margin:5px auto 9px;
    color:#fff;
    font-size:clamp(38px,5vw,58px);
    line-height:1.02;
}
.jdf-catalog-hero .jdf-shell>p:last-of-type{
    max-width:690px;
    margin-right:auto;
    margin-left:auto;
    color:#e1d7c9;
    font-size:clamp(14px,1.5vw,17px);
}
.jdf-catalog-search{
    max-width:650px;
    margin:17px auto 0;
    padding:6px;
    border:1px solid rgba(237,204,125,.3);
    border-radius:17px;
    background:rgba(255,255,255,.09);
    box-shadow:0 18px 40px rgba(0,0,0,.24);
    backdrop-filter:blur(10px);
}
.jdf-catalog-search input[type="search"]{
    min-height:44px;
    border-radius:11px!important;
}
.jdf-catalog-search button{
    min-height:44px;
    padding-top:9px!important;
    padding-bottom:9px!important;
    border-radius:11px!important;
    background:linear-gradient(135deg,#f0d28a,#bd862c)!important;
    color:#17110a!important;
    font-weight:900!important;
}
.jdf-catalog-grid{
    margin-top:clamp(20px,3vw,30px);
}
.jdf-catalog-hero+.jdf-section{
    padding-top:clamp(26px,4vw,42px);
}
/* El contador pertenece a la portada del Club, no al catálogo. */
.jdf-products-catalog .srp-proximo-sorteo{
    display:none!important;
}
.jdf-catalog-grid .pagination,
.jdf-catalog-grid .nav-links{
    grid-column:1/-1;
}
.jdf-catalog-empty{
    grid-column:1/-1;
    padding:clamp(35px,7vw,72px);
    border:1px solid rgba(174,126,43,.24);
    border-radius:24px;
    background:linear-gradient(135deg,#fff,#f8f0e3);
    color:#6f6558;
    text-align:center;
    box-shadow:0 18px 45px rgba(48,34,14,.07);
}
.jdf-catalog-empty>span{
    display:grid;
    width:58px;
    height:58px;
    margin:0 auto 15px;
    place-items:center;
    border-radius:18px;
    background:#17130e;
    color:#e9c978;
    font-size:23px;
}
.jdf-catalog-empty h2,
.jdf-catalog-empty h3{
    margin:8px auto 12px;
    color:#1d1710;
    font-size:clamp(27px,4vw,42px);
}
.jdf-catalog-empty p:last-child{
    max-width:660px;
    margin:0 auto;
    line-height:1.65;
}
.jdf-product-single{
    padding:clamp(34px,6vw,72px) 0 clamp(60px,9vw,110px);
    background:
        radial-gradient(circle at 90% 0,rgba(208,165,81,.14),transparent 33%),
        #faf6ee;
}
.jdf-product-back{
    display:inline-flex;
    margin-bottom:25px;
    color:#76511a!important;
    font-size:13px;
    font-weight:900;
    text-decoration:none!important;
}
.jdf-product-single-grid{
    display:grid;
    grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);
    align-items:start;
    gap:clamp(35px,6vw,78px);
}
.jdf-product-gallery{
    position:relative;
    overflow:hidden;
    min-height:530px;
    border:1px solid rgba(167,122,45,.23);
    border-radius:30px;
    background:radial-gradient(circle at 50% 35%,#fff,#eee1ce);
    box-shadow:0 28px 70px rgba(53,37,15,.14);
}
.jdf-product-gallery>img{
    display:block;
    width:100%;
    height:auto;
    min-height:530px;
    object-fit:cover;
}
.jdf-product-placeholder.is-large{
    min-height:530px;
}
.jdf-product-summary{
    padding-top:clamp(8px,2vw,28px);
}
.jdf-product-summary .jdf-kicker{
    color:#9b6919;
}
.jdf-product-summary h1{
    margin:10px 0 18px;
    color:#18130d;
    font:700 clamp(42px,6vw,70px)/.98 Georgia,"Times New Roman",serif;
    letter-spacing:-.035em;
}
.jdf-product-price{
    display:inline-flex;
    margin-bottom:24px;
    padding:12px 17px;
    border:1px solid rgba(183,132,42,.28);
    border-radius:12px;
    background:#fff;
    color:#8c601a;
    font-size:clamp(24px,3vw,34px);
    font-weight:900;
    box-shadow:0 9px 25px rgba(62,43,14,.07);
}
.jdf-product-description{
    color:#5f574d;
    font-size:16px;
    line-height:1.75;
}
.jdf-product-description>*:first-child{
    margin-top:0;
}
.jdf-product-assurances{
    display:grid;
    gap:9px;
    margin:25px 0;
    padding:18px 0;
    border-top:1px solid #dfd2bd;
    border-bottom:1px solid #dfd2bd;
    color:#50473c;
    font-size:14px;
}
.jdf-product-assurances strong{
    margin-right:7px;
    color:#9b6a1b;
}
.jdf-product-whatsapp{
    display:inline-flex;
    min-height:56px;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:14px 23px;
    border:1px solid #11753a;
    border-radius:13px;
    background:linear-gradient(135deg,#199750,#106d37);
    color:#fff!important;
    font-weight:900;
    text-decoration:none!important;
    box-shadow:0 16px 35px rgba(17,117,58,.22);
    transition:transform .2s ease,box-shadow .2s ease;
}
.jdf-product-whatsapp:hover{
    transform:translateY(-2px);
    box-shadow:0 20px 42px rgba(17,117,58,.3);
}
.jdf-product-help{
    max-width:520px;
    margin:13px 0 0;
    color:#84796d;
    font-size:12px;
    line-height:1.55;
}
.jdf-related-products{
    border-top:1px solid rgba(170,126,47,.16);
    background:#fff;
}
@media(max-width:900px){
    .jdf-product-grid{
        grid-template-columns:repeat(auto-fill,minmax(200px,245px));
    }
    .jdf-product-single-grid{
        grid-template-columns:1fr;
    }
    .jdf-product-gallery,
    .jdf-product-gallery>img,
    .jdf-product-placeholder.is-large{
        min-height:420px;
    }
}
@media(max-width:600px){
    .jdf-product-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:11px;
    }
    .jdf-product-card{
        max-width:none;
        border-radius:14px;
    }
    .jdf-product-card-media{
        aspect-ratio:1/1;
    }
    .jdf-product-card-body{
        padding:11px 10px 13px;
    }
    .jdf-product-category{
        margin-bottom:4px;
        font-size:8px;
        letter-spacing:.1em;
    }
    .jdf-product-card h3{
        font-size:clamp(15px,4.6vw,19px);
    }
    .jdf-product-card-footer{
        gap:6px;
        margin-top:8px;
        padding-top:8px;
    }
    .jdf-product-card-footer strong{
        font-size:clamp(15px,4.4vw,18px);
    }
    .jdf-product-card-footer a{
        font-size:0;
    }
    .jdf-product-card-footer a span{
        display:grid;
        width:25px;
        height:25px;
        place-items:center;
        border-radius:50%;
        background:#17120d;
        color:#eac66e;
        font-size:13px;
    }
    .jdf-catalog-hero{
        padding:26px 0 28px;
    }
    .jdf-catalog-hero h1{
        font-size:clamp(34px,11vw,44px);
    }
    .jdf-catalog-search{
        display:grid;
        margin-top:14px;
    }
    .jdf-product-gallery,
    .jdf-product-gallery>img,
    .jdf-product-placeholder.is-large{
        min-height:340px;
        border-radius:22px;
    }
    .jdf-product-summary h1{
        font-size:clamp(38px,12vw,54px);
    }
    .jdf-product-whatsapp{
        width:100%;
    }
}
@media(prefers-reduced-motion:reduce){
    .jdf-product-card,
    .jdf-product-card-media img,
    .jdf-product-card-footer a span,
    .jdf-product-whatsapp{
        transition:none!important;
    }
}

/* v1.8.0 — filtros, promociones e inteligencia comercial */
.jdf-catalog-filters{
    position:relative;
    z-index:2;
    margin-top:18px;
    padding:16px;
    border:1px solid rgba(170,126,47,.22);
    border-radius:18px;
    background:linear-gradient(135deg,#fff,#fbf6ed);
    box-shadow:0 12px 30px rgba(48,34,14,.07);
}
.jdf-catalog-filter-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:10px;
}
.jdf-catalog-filter-grid label{
    display:grid;
    min-width:0;
    gap:5px;
}
.jdf-catalog-filter-grid label>span{
    color:#736654;
    font-size:9px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.jdf-catalog-filter-grid select{
    width:100%;
    min-width:0;
    min-height:42px;
    padding:8px 30px 8px 10px;
    border:1px solid #dfd3c2;
    border-radius:10px;
    background-color:#fff;
    color:#2c241a;
    font-size:11px;
    font-weight:750;
}
.jdf-catalog-filter-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:13px;
    margin-top:12px;
}
.jdf-catalog-filter-actions button{
    min-height:40px;
    padding:9px 17px;
    border:1px solid #17120d;
    border-radius:10px;
    background:#17120d;
    color:#efcc78;
    font-size:11px;
    font-weight:900;
    cursor:pointer;
}
.jdf-catalog-filter-actions a{
    color:#886021;
    font-size:10px;
    font-weight:850;
}
.jdf-catalog-results-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-top:18px;
    color:#7d7163;
    font-size:11px;
}
.jdf-catalog-results-head strong{
    color:#2c2319;
    font-size:13px;
}
.jdf-catalog-results-head+.jdf-catalog-grid{
    margin-top:15px;
}
.jdf-product-badge{
    position:absolute;
    top:10px;
    right:10px;
    z-index:2;
    display:inline-flex;
    min-height:26px;
    align-items:center;
    padding:6px 9px;
    border:1px solid rgba(255,255,255,.55);
    border-radius:999px;
    background:#d8aa4f;
    color:#17110a;
    font-size:8px;
    font-weight:950;
    line-height:1;
    letter-spacing:.08em;
    text-transform:uppercase;
    box-shadow:0 7px 18px rgba(18,13,8,.16);
}
.jdf-product-badge.is-oferta{
    background:#d84d3f;
    color:#fff;
}
.jdf-product-badge.is-recomendado{
    background:#563c83;
    color:#fff;
}
.jdf-product-badge.is-mas-vendido{
    background:#17120d;
    color:#efca73;
}
.jdf-product-low-stock,
.jdf-product-card-body>p.jdf-product-low-stock{
    display:flex;
    margin:8px 0 0;
    color:#a14d31;
    font-size:9px;
    font-weight:900;
}
.jdf-product-card-price{
    display:grid;
    gap:3px;
}
.jdf-product-card-price del{
    color:#9b8e7e;
    font-size:10px;
    font-weight:700;
}
.jdf-product-price{
    align-items:center;
    gap:11px;
}
.jdf-product-price strong{
    color:#8c601a;
}
.jdf-product-price del{
    color:#978a7a;
    font-size:14px;
    font-weight:700;
}
.jdf-product-single-low-stock{
    display:flex;
    width:max-content;
    max-width:100%;
    margin:-13px 0 20px;
    padding:7px 10px;
    border:1px solid #edcdbf;
    border-radius:999px;
    background:#fff4ee;
    color:#9a432c;
    font-size:10px;
    font-weight:900;
}
@media(max-width:1040px){
    .jdf-catalog-filter-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}
@media(max-width:600px){
    .jdf-catalog-filters{
        margin-top:13px;
        padding:12px;
        border-radius:14px;
    }
    .jdf-catalog-filter-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:9px 7px;
    }
    .jdf-catalog-filter-grid select{
        min-height:40px;
        padding-left:8px;
        font-size:10px;
    }
    .jdf-catalog-filter-actions{
        justify-content:stretch;
    }
    .jdf-catalog-filter-actions button{
        flex:1;
    }
    .jdf-catalog-results-head{
        align-items:flex-start;
        flex-direction:column;
        gap:2px;
        margin-top:14px;
    }
    .jdf-product-badge{
        top:8px;
        right:7px;
        min-height:22px;
        max-width:53%;
        padding:5px 7px;
        overflow:hidden;
        font-size:7px;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .jdf-product-status{
        top:8px;
        left:7px;
        min-height:22px;
        padding:5px 7px;
        font-size:7px;
    }
    .jdf-product-card-price strong{
        font-size:clamp(14px,4vw,17px);
    }
    .jdf-product-price{
        flex-wrap:wrap;
    }
}

/* Slightly more refined site-wide chrome */
.jdf-site-header{
    box-shadow:0 1px 0 rgba(216,185,103,.17);
}
.jdf-site-footer{
    border-top:1px solid rgba(216,185,103,.16);
}


/* v1.9.1 — Sello mensual grande sobre la parte superior del anuncio */
.jdf-month-prize-badge{
    position:absolute;
    z-index:3;
    top:18px;
    left:18px;
    display:inline-flex;
    align-items:center;
    gap:12px;
    width:max-content;
    max-width:calc(100% - 36px);
    padding:11px 18px 11px 11px;
    overflow:hidden;
    border:1px solid rgba(245,207,105,.82);
    border-radius:16px;
    background:linear-gradient(135deg,rgba(20,15,9,.94),rgba(52,37,15,.9));
    box-shadow:0 12px 30px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.1);
    backdrop-filter:blur(7px);
}
.jdf-month-prize-badge:after{
    content:"";
    position:absolute;
    top:-60%;
    left:-35%;
    width:28%;
    height:220%;
    transform:rotate(18deg);
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);
    animation:jdfPrizeShine 4.8s ease-in-out infinite;
}
.jdf-month-prize-badge-icon{
    position:relative;
    z-index:1;
    width:44px;
    height:44px;
    flex:0 0 44px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:linear-gradient(145deg,#f4d67b,#ad7927);
    color:#171008;
    font-size:20px;
    box-shadow:0 5px 14px rgba(0,0,0,.22);
}
.jdf-month-prize-badge > span:last-child{
    position:relative;
    z-index:1;
    display:grid;
    gap:1px;
}
.jdf-month-prize-badge small{
    color:rgba(255,255,255,.84);
    font-size:11px;
    font-weight:850;
    line-height:1.15;
    letter-spacing:.09em;
    text-transform:uppercase;
}
.jdf-month-prize-badge strong{
    color:#f5d675;
    font-size:16px;
    line-height:1.2;
    letter-spacing:.08em;
}
@keyframes jdfPrizeShine{
    0%,70%{left:-35%}
    100%{left:125%}
}
@media(prefers-reduced-motion:reduce){
    .jdf-month-prize-badge:after{animation:none}
}
@media(max-width:640px){
    .jdf-month-prize-badge{
        top:12px;
        left:12px;
        max-width:calc(100% - 24px);
        gap:9px;
        padding:9px 13px 9px 9px;
        border-radius:13px
    }
    .jdf-month-prize-badge-icon{
        width:39px;height:39px;flex-basis:39px;font-size:17px
    }
    .jdf-month-prize-badge small{font-size:9px}
    .jdf-month-prize-badge strong{font-size:13px}
}


/* v1.4.3 — Homepage cleanup after removing duplicated blocks */
.jdf-how-section + .jdf-home-community{
    border-top:1px solid rgba(179,139,58,.12);
}
.jdf-home-community{
    padding-top:52px;
}
.jdf-home-community + .jdf-home-blog{
    border-top:1px solid rgba(179,139,58,.12);
}
@media(max-width:640px){
    .jdf-home-community{
        padding-top:36px;
    }
}

/* v1.5.1 — Cabecera premium para las páginas funcionales del Club. */
.jdf-plugin-heading{
    position:relative;
    overflow:hidden;
    padding:clamp(54px,8vw,92px) 0 clamp(28px,4vw,42px);
    border-bottom:1px solid rgba(178,130,46,.18);
    background:
        radial-gradient(circle at 50% -20%,rgba(209,169,88,.22),transparent 52%),
        linear-gradient(180deg,#fbf8f1 0%,#f7f0e5 100%);
    text-align:center;
}
.jdf-plugin-heading::before,
.jdf-plugin-heading::after{
    content:"";
    position:absolute;
    width:260px;
    height:260px;
    border:1px solid rgba(182,135,52,.09);
    border-radius:50%;
    pointer-events:none;
}
.jdf-plugin-heading::before{
    top:-180px;
    left:-80px;
}
.jdf-plugin-heading::after{
    right:-95px;
    bottom:-205px;
}
.jdf-plugin-heading .jdf-shell{
    position:relative;
    z-index:1;
}
.jdf-plugin-heading .jdf-kicker{
    display:inline-flex;
    min-height:50px;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin:0 auto 19px;
    padding:12px 23px;
    border:1px solid rgba(176,126,38,.34);
    border-radius:999px;
    background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(245,230,199,.92));
    color:#9b6919;
    font-size:clamp(13px,1.4vw,16px);
    font-weight:900;
    line-height:1.2;
    letter-spacing:.19em;
    box-shadow:0 10px 28px rgba(101,70,18,.1),inset 0 1px 0 #fff;
}
.jdf-plugin-heading .jdf-kicker::before,
.jdf-plugin-heading .jdf-kicker::after{
    content:"✦";
    color:#c89a44;
    font-size:11px;
    line-height:1;
}
.jdf-plugin-heading h1{
    max-width:880px;
    margin:0 auto;
    color:#18130d;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(43px,6vw,70px);
    font-weight:700;
    line-height:1;
    letter-spacing:-.035em;
    text-shadow:0 2px 0 rgba(255,255,255,.8);
}
.jdf-plugin-heading h1::after{
    content:"";
    display:block;
    width:78px;
    height:3px;
    margin:22px auto 0;
    border-radius:999px;
    background:linear-gradient(90deg,transparent,#c6943d,transparent);
}
.jdf-plugin-heading + .jdf-plugin-section{
    padding-top:clamp(30px,5vw,52px);
}
.jdf-home-blog-empty{
    grid-column:1/-1;
    padding:clamp(28px,5vw,52px);
    border:1px solid rgba(167,122,45,.22);
    border-radius:22px;
    background:linear-gradient(135deg,#fff,#f7efe1);
    box-shadow:0 18px 45px rgba(48,34,14,.08);
}
.jdf-home-blog-empty h3{
    margin:8px 0 12px;
    font-size:clamp(25px,3vw,38px);
}
.jdf-home-blog-empty p:last-child{
    max-width:760px;
    margin-bottom:0;
    color:var(--jdf-muted);
}
.jdf-menu-toggle:focus-visible,
.jdf-mobile-drawer-close:focus-visible{
    outline:3px solid var(--jdf-gold);
    outline-offset:3px;
}
@media(max-width:640px){
    .jdf-plugin-heading{
        padding:46px 0 26px;
    }
    .jdf-plugin-heading .jdf-kicker{
        min-height:46px;
        margin-bottom:16px;
        padding:11px 17px;
        font-size:12px;
        letter-spacing:.14em;
    }
    .jdf-plugin-heading h1{
        font-size:clamp(39px,12vw,52px);
    }
    .jdf-plugin-heading h1::after{
        margin-top:17px;
    }
}

/* v1.6.3 — Carrusel de beneficios más compacto. */
.jdf-how-section{
    padding-top:38px;
    padding-bottom:38px;
}
.jdf-how-head{
    max-width:780px;
    margin-right:auto;
    margin-bottom:14px;
    margin-left:auto;
}
.jdf-how-intro{
    font-size:14px;
}
.jdf-how-slider{
    max-width:820px;
    padding:0 46px 27px;
}
.jdf-how-viewport{
    border-radius:20px;
    box-shadow:0 16px 42px rgba(18,13,6,.15);
}
.jdf-how-slide{
    min-height:190px;
    grid-template-columns:76px minmax(0,1fr);
    gap:22px;
    padding:25px 32px;
}
.jdf-how-icon{
    width:68px;
    height:68px;
    font-size:24px;
    box-shadow:0 9px 22px rgba(211,171,79,.18),inset 0 1px 0 rgba(255,255,255,.45);
}
.jdf-how-icon-star{
    font-size:32px;
}
.jdf-how-icon-chat{
    font-size:29px;
}
.jdf-how-label{
    margin-bottom:5px;
    font-size:10px;
}
.jdf-how-slide h3{
    margin-bottom:7px;
    font-size:clamp(25px,2.5vw,32px);
}
.jdf-how-slide p{
    font-size:14px;
    line-height:1.5;
}
.jdf-how-whatsapp-btn{
    min-height:40px;
    margin-top:12px;
    padding:8px 14px;
    font-size:13px;
}
.jdf-how-arrow{
    top:calc(50% - 14px);
    width:36px;
    height:36px;
    font-size:25px;
}
.jdf-how-dots{
    bottom:4px;
    gap:6px;
}
.jdf-how-dots button{
    width:7px;
    height:7px;
}
.jdf-how-dots button.is-active{
    width:21px;
}
@media(max-width:640px){
    .jdf-how-section{
        padding-top:27px;
        padding-bottom:30px;
    }
    .jdf-how-head{
        margin-bottom:12px;
    }
    .jdf-how-head h2{
        font-size:clamp(27px,8vw,36px);
    }
    .jdf-how-slider{
        padding:0 0 27px;
    }
    .jdf-how-viewport{
        border-radius:16px;
    }
    .jdf-how-slide{
        min-height:230px;
        grid-template-columns:1fr;
        align-content:center;
        gap:11px;
        padding:19px 18px 21px;
    }
    .jdf-how-icon{
        width:54px;
        height:54px;
        font-size:19px;
    }
    .jdf-how-icon-star,
    .jdf-how-icon-chat{
        font-size:25px;
    }
    .jdf-how-slide h3{
        font-size:23px;
    }
    .jdf-how-slide p{
        font-size:13px;
        line-height:1.45;
    }
    .jdf-how-whatsapp-btn{
        min-height:38px;
        margin-top:9px;
        font-size:12px;
    }
    .jdf-how-arrow{
        top:auto;
        bottom:-2px;
        width:32px;
        height:32px;
        font-size:22px;
    }
    .jdf-how-dots{
        bottom:9px;
    }
}

/* v1.7.0 — catálogo comercial, galería y pedido por WhatsApp */
.jdf-product-grid{
    grid-template-columns:repeat(auto-fill,minmax(195px,238px));
    gap:clamp(12px,1.7vw,18px);
}
.jdf-product-card{
    max-width:238px;
    border-radius:16px;
    box-shadow:0 10px 26px rgba(48,34,14,.09);
}
.jdf-product-card-body{
    padding:12px 13px 13px;
}
.jdf-product-card-specs{
    display:flex;
    min-height:24px;
    flex-wrap:wrap;
    gap:5px;
    margin-top:8px;
}
.jdf-product-card-specs span{
    display:inline-flex;
    align-items:center;
    min-height:21px;
    padding:4px 7px;
    border:1px solid #eadfcf;
    border-radius:999px;
    background:#fff;
    color:#746758;
    font-size:8px;
    font-weight:800;
    line-height:1;
}
.jdf-product-card-footer{
    margin-top:9px;
    padding-top:9px;
}
.jdf-product-card-add,
.jdf-product-add{
    appearance:none;
    display:flex;
    width:100%;
    min-height:38px;
    align-items:center;
    justify-content:center;
    gap:7px;
    margin-top:10px;
    padding:9px 11px;
    border:1px solid #1d1811;
    border-radius:10px;
    background:linear-gradient(135deg,#211a12,#0d0b08);
    color:#f1cf7c;
    font:800 11px/1.15 inherit;
    text-decoration:none;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(21,16,10,.14);
    transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.jdf-product-card-add:hover,
.jdf-product-add:hover{
    transform:translateY(-1px);
    background:#2c2115;
    box-shadow:0 11px 23px rgba(21,16,10,.2);
}
.jdf-product-card-add.is-disabled{
    border-color:#ded5ca;
    background:#eee9e1;
    color:#887d70;
    box-shadow:none;
    cursor:not-allowed;
}
.jdf-product-gallery{
    overflow:visible;
    min-height:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
.jdf-product-gallery-main{
    position:relative;
    overflow:hidden;
    min-height:500px;
    border:1px solid rgba(167,122,45,.23);
    border-radius:26px;
    background:radial-gradient(circle at 50% 35%,#fff,#eee1ce);
    box-shadow:0 24px 60px rgba(53,37,15,.13);
}
.jdf-product-gallery-main>img{
    display:block;
    width:100%;
    min-height:500px;
    aspect-ratio:1/1;
    object-fit:cover;
}
.jdf-product-thumbnails{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:8px;
    margin-top:11px;
}
.jdf-product-thumbnail{
    appearance:none;
    position:relative;
    overflow:hidden;
    padding:0;
    border:2px solid transparent;
    border-radius:11px;
    background:#eee5d8;
    cursor:pointer;
    opacity:.72;
    transition:border-color .2s ease,opacity .2s ease,transform .2s ease;
}
.jdf-product-thumbnail img{
    display:block;
    width:100%;
    aspect-ratio:1/1;
    object-fit:cover;
}
.jdf-product-thumbnail:hover,
.jdf-product-thumbnail.is-active{
    border-color:#b78534;
    opacity:1;
    transform:translateY(-1px);
}
.jdf-product-specifications{
    margin-top:24px;
    padding:18px;
    border:1px solid #e4d8c7;
    border-radius:16px;
    background:rgba(255,255,255,.68);
}
.jdf-product-specifications h2{
    margin:0 0 12px;
    color:#241c13;
    font:700 20px/1.15 Georgia,"Times New Roman",serif;
}
.jdf-product-specifications dl{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 20px;
    margin:0;
}
.jdf-product-specifications dl>div{
    display:flex;
    min-width:0;
    justify-content:space-between;
    gap:12px;
    padding:9px 0;
    border-top:1px solid #eee4d6;
}
.jdf-product-specifications dt{
    color:#817362;
    font-size:11px;
    font-weight:800;
}
.jdf-product-specifications dd{
    margin:0;
    color:#2d241a;
    font-size:12px;
    font-weight:850;
    text-align:right;
}
.jdf-product-purchase{
    display:grid;
    grid-template-columns:auto 76px minmax(190px,1fr);
    align-items:center;
    gap:9px;
    max-width:530px;
}
.jdf-product-purchase label{
    color:#6e6255;
    font-size:12px;
    font-weight:800;
}
.jdf-product-purchase input{
    width:76px;
    min-height:48px;
    padding:8px;
    border:1px solid #d8c9b4;
    border-radius:11px;
    background:#fff;
    color:#211a12;
    font-weight:900;
    text-align:center;
}
.jdf-product-add{
    min-height:48px;
    margin:0;
    font-size:13px;
}
.jdf-product-whatsapp.is-secondary{
    min-height:44px;
    margin-top:10px;
    padding:10px 15px;
    border-color:#d7c8b2;
    background:transparent;
    color:#176f3d!important;
    box-shadow:none;
    font-size:12px;
}
.jdf-product-whatsapp.is-secondary:hover{
    background:#fff;
    box-shadow:0 9px 22px rgba(42,31,15,.08);
}
.jdf-product-unavailable{
    display:grid;
    gap:3px;
    max-width:520px;
    padding:14px 16px;
    border:1px solid #e0d4c3;
    border-radius:12px;
    background:#fff;
    color:#716557;
    font-size:12px;
}
.jdf-product-unavailable strong{
    color:#7b3029;
    font-size:14px;
}
.jdf-cart-trigger{
    position:fixed;
    right:max(16px,env(safe-area-inset-right));
    bottom:max(76px,calc(env(safe-area-inset-bottom) + 76px));
    z-index:46;
    display:flex;
    min-height:48px;
    align-items:center;
    gap:8px;
    padding:9px 12px 9px 15px;
    border:1px solid rgba(238,202,115,.55);
    border-radius:999px;
    background:#17120d;
    color:#fff;
    font-weight:850;
    cursor:pointer;
    box-shadow:0 12px 34px rgba(0,0,0,.25);
}
.jdf-cart-trigger[hidden],
.jdf-cart-backdrop[hidden],
.jdf-cart-footer[hidden],
.jdf-cart-empty[hidden]{
    display:none!important;
}
.jdf-cart-trigger strong{
    display:grid;
    min-width:25px;
    height:25px;
    padding:0 5px;
    place-items:center;
    border-radius:999px;
    background:#dfb95e;
    color:#17120d;
    font-size:11px;
}
.jdf-cart-backdrop{
    position:fixed;
    inset:0;
    z-index:2147483644;
    width:100%;
    height:100%;
    border:0;
    background:rgba(6,5,4,.68);
    cursor:pointer;
    opacity:0;
    transition:opacity .22s ease;
}
.jdf-cart-backdrop.is-open{
    opacity:1;
}
.jdf-cart-drawer{
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    z-index:2147483645;
    display:flex;
    width:min(92vw,430px);
    height:100vh;
    height:100dvh;
    flex-direction:column;
    padding:max(20px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom));
    overflow-y:auto;
    background:#fbf7f0;
    color:#211a12;
    box-shadow:-24px 0 60px rgba(0,0,0,.25);
    transform:translate3d(105%,0,0);
    visibility:hidden;
    transition:transform .3s cubic-bezier(.22,.61,.36,1),visibility .3s;
}
.jdf-cart-drawer.is-open{
    transform:translate3d(0,0,0);
    visibility:visible;
}
body.jdf-cart-open{
    overflow:hidden!important;
}
.jdf-cart-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:15px;
    padding-bottom:17px;
    border-bottom:1px solid #e4d8c6;
}
.jdf-cart-head span{
    color:#a17225;
    font-size:9px;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.jdf-cart-head h2{
    margin:4px 0 0;
    font:700 31px/1 Georgia,"Times New Roman",serif;
}
.jdf-cart-head button{
    display:grid;
    width:42px;
    height:42px;
    flex:0 0 42px;
    padding:0;
    place-items:center;
    border:1px solid #ddd0bd;
    border-radius:50%;
    background:#fff;
    color:#201910;
    font-size:25px;
    cursor:pointer;
}
.jdf-cart-items{
    display:grid;
    gap:10px;
    padding:16px 0;
}
.jdf-cart-item{
    display:grid;
    grid-template-columns:76px minmax(0,1fr);
    gap:12px;
    padding:10px;
    border:1px solid #e8ddce;
    border-radius:14px;
    background:#fff;
}
.jdf-cart-item-media{
    display:grid;
    overflow:hidden;
    aspect-ratio:1/1;
    place-items:center;
    border-radius:10px;
    background:#f0e8dc;
    color:#9a6c24;
    font:800 19px/1 Georgia,serif;
}
.jdf-cart-item-media img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.jdf-cart-item-body{
    display:flex;
    min-width:0;
    flex-direction:column;
    align-items:flex-start;
}
.jdf-cart-item-body>a{
    display:-webkit-box;
    overflow:hidden;
    color:#251d14;
    font:700 15px/1.15 Georgia,"Times New Roman",serif;
    text-decoration:none;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}
.jdf-cart-item-body small{
    margin-top:3px;
    color:#8a7c6c;
    font-size:10px;
}
.jdf-cart-item-body>strong{
    margin-top:5px;
    color:#8b5f19;
    font-size:13px;
}
.jdf-cart-item-controls{
    display:flex;
    align-items:center;
    gap:5px;
    margin-top:auto;
    padding-top:7px;
}
.jdf-cart-item-controls button:not(.jdf-cart-item-remove){
    display:grid;
    width:27px;
    height:27px;
    padding:0;
    place-items:center;
    border:1px solid #dfd3c3;
    border-radius:7px;
    background:#faf7f2;
    color:#211a12;
    cursor:pointer;
}
.jdf-cart-item-controls>span{
    min-width:23px;
    color:#2b2117;
    font-size:11px;
    font-weight:900;
    text-align:center;
}
.jdf-cart-item-remove{
    margin-left:4px;
    padding:3px;
    border:0;
    background:transparent;
    color:#9c4b41;
    font-size:9px;
    font-weight:800;
    cursor:pointer;
    text-decoration:underline;
}
.jdf-cart-empty{
    margin:auto 0;
    padding:45px 20px;
    color:#776b5d;
    text-align:center;
}
.jdf-cart-empty>span{
    display:block;
    color:#bc8a38;
    font-size:44px;
}
.jdf-cart-empty strong{
    display:block;
    margin:9px 0 5px;
    color:#2b2218;
    font:700 22px/1.15 Georgia,"Times New Roman",serif;
}
.jdf-cart-empty p{
    margin:0;
    font-size:12px;
    line-height:1.55;
}
.jdf-cart-footer{
    margin-top:auto;
    padding-top:15px;
    border-top:1px solid #e4d8c6;
}
.jdf-cart-total-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-bottom:12px;
}
.jdf-cart-total-row span{
    color:#776b5d;
    font-size:11px;
    font-weight:800;
}
.jdf-cart-total-row strong{
    color:#251c12;
    font-size:19px;
}
.jdf-cart-order-form{
    position:relative;
    display:grid;
    gap:9px;
    margin:0 0 13px;
    padding:13px;
    border:1px solid #e2d5c3;
    border-radius:12px;
    background:#fff;
}
.jdf-cart-order-form>p:first-child{
    margin:0 0 2px;
    color:#6f6355;
    font-size:11px;
    line-height:1.45;
}
.jdf-cart-order-grid{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
    gap:8px;
}
.jdf-cart-order-form label:not(.jdf-cart-order-check):not(.jdf-order-honeypot){
    display:grid;
    gap:4px;
    color:#50463b;
    font-size:10px;
    font-weight:850;
}
.jdf-cart-order-form input[type="text"],
.jdf-cart-order-form input[type="tel"],
.jdf-cart-order-form textarea{
    display:block;
    width:100%;
    min-width:0;
    margin:0;
    padding:9px 10px;
    border:1px solid #d9cdbd;
    border-radius:8px;
    outline:0;
    background:#fcfaf7;
    color:#251d14;
    font:600 12px/1.35 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    box-shadow:none;
}
.jdf-cart-order-form textarea{
    min-height:48px;
    resize:vertical;
}
.jdf-cart-order-form input:focus,
.jdf-cart-order-form textarea:focus{
    border-color:#bd8a35;
    box-shadow:0 0 0 3px rgba(189,138,53,.14);
}
.jdf-cart-delivery{
    min-width:0;
    margin:2px 0;
    padding:0;
    border:0;
}
.jdf-cart-delivery legend{
    margin:0 0 6px;
    padding:0;
    color:#50463b;
    font-size:10px;
    font-weight:850;
}
.jdf-cart-delivery-options{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
}
.jdf-cart-delivery-option{
    display:grid;
    grid-template-columns:18px 30px minmax(0,1fr);
    gap:7px;
    align-items:center;
    min-width:0;
    min-height:68px;
    margin:0;
    padding:9px;
    border:1px solid #ded2c1;
    border-radius:10px;
    background:linear-gradient(145deg,#fff,#faf6ef);
    color:#41382e;
    cursor:pointer;
    transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.jdf-cart-delivery-option:hover{
    border-color:#bd934d;
    transform:translateY(-1px);
}
.jdf-cart-delivery-option:has(input:checked){
    border-color:#b7812b;
    background:linear-gradient(145deg,#fffaf0,#f5e8c8);
    box-shadow:0 0 0 2px rgba(183,129,43,.11),0 8px 18px rgba(76,50,12,.08);
}
.jdf-cart-delivery-option input[type="radio"]{
    appearance:none;
    -webkit-appearance:none;
    display:block;
    width:18px;
    height:18px;
    margin:0;
    border:1px solid #b9aa95;
    border-radius:5px;
    background:#fff;
    box-shadow:inset 0 0 0 4px #fff;
    cursor:pointer;
}
.jdf-cart-delivery-option input[type="radio"]:checked{
    border-color:#96671d;
    background:#b98229;
}
.jdf-cart-delivery-option input[type="radio"]:focus-visible{
    outline:2px solid #8e641f;
    outline-offset:3px;
}
.jdf-cart-delivery-icon{
    display:grid;
    width:30px;
    height:30px;
    place-items:center;
    border-radius:9px;
    background:#eee5d5;
    color:#80591d;
}
.jdf-cart-delivery-icon svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.jdf-cart-delivery-copy{
    display:grid;
    min-width:0;
    gap:2px;
}
.jdf-cart-delivery-copy strong{
    color:#33291f;
    font-size:10px;
    line-height:1.15;
}
.jdf-cart-delivery-copy small{
    color:#786d60;
    font-size:8px;
    font-weight:600;
    line-height:1.3;
}
.jdf-cart-order-check{
    display:flex;
    align-items:flex-start;
    gap:7px;
    color:#62574a;
    font-size:9.5px;
    font-weight:650;
    line-height:1.4;
}
.jdf-cart-order-check input{
    width:15px;
    height:15px;
    flex:0 0 15px;
    margin:0;
}
.jdf-cart-order-check a{
    color:#855a18;
}
.jdf-order-honeypot{
    position:absolute!important;
    left:-10000px!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
}
.jdf-cart-order-error{
    margin:0!important;
    padding:8px 9px;
    border-radius:7px;
    background:#fff0ed;
    color:#8a3028;
    font-size:10px;
    font-weight:750;
    line-height:1.4;
}
.jdf-cart-checkout{
    display:flex;
    width:100%;
    min-height:50px;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:12px;
    border:1px solid #107139;
    border-radius:12px;
    background:linear-gradient(135deg,#199750,#106d37);
    color:#fff;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 13px 28px rgba(17,117,58,.2);
}
.jdf-cart-checkout:disabled{
    cursor:wait;
    filter:saturate(.55);
    opacity:.75;
}
.jdf-cart-clear{
    display:block;
    margin:11px auto 0;
    padding:4px;
    border:0;
    background:transparent;
    color:#8b7761;
    font-size:10px;
    font-weight:800;
    cursor:pointer;
    text-decoration:underline;
}
.jdf-product-card-add:focus-visible,
.jdf-product-add:focus-visible,
.jdf-product-thumbnail:focus-visible,
.jdf-cart-trigger:focus-visible,
.jdf-cart-drawer button:focus-visible{
    outline:3px solid #e2b95c;
    outline-offset:3px;
}
@media(max-width:900px){
    .jdf-product-gallery-main,
    .jdf-product-gallery-main>img{
        min-height:420px;
    }
}
@media(max-width:600px){
    .jdf-product-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }
    .jdf-product-card{
        max-width:none;
    }
    .jdf-product-card-specs{
        gap:4px;
    }
    .jdf-product-card-specs span{
        max-width:100%;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .jdf-product-card-add{
        min-height:35px;
        margin-top:8px;
        padding:8px 6px;
        font-size:9px;
    }
    .jdf-product-gallery-main,
    .jdf-product-gallery-main>img,
    .jdf-product-placeholder.is-large{
        min-height:320px;
        border-radius:20px;
    }
    .jdf-product-thumbnails{
        grid-template-columns:repeat(5,minmax(0,1fr));
        gap:6px;
    }
    .jdf-product-specifications dl{
        grid-template-columns:1fr;
    }
    .jdf-product-purchase{
        grid-template-columns:auto 72px;
    }
    .jdf-product-purchase input{
        width:72px;
    }
    .jdf-product-add{
        grid-column:1/-1;
    }
    .jdf-cart-trigger{
        width:48px;
        height:48px;
        min-height:48px;
        justify-content:center;
        padding:0;
    }
    .jdf-cart-trigger>span:nth-child(2){
        display:none;
    }
    .jdf-cart-trigger strong{
        position:absolute;
        top:-5px;
        right:-5px;
        min-width:21px;
        height:21px;
        font-size:9px;
    }
    .jdf-cart-drawer{
        width:min(96vw,430px);
        padding-right:15px;
        padding-left:15px;
    }
    .jdf-cart-order-grid{
        grid-template-columns:1fr;
    }
}
@media(prefers-reduced-motion:reduce){
    .jdf-product-card-add,
    .jdf-product-add,
    .jdf-product-thumbnail,
    .jdf-cart-backdrop,
    .jdf-cart-drawer{
        transition:none!important;
    }
    .jdf-cart-delivery-option{
        transition:none!important;
    }
}

/* ========================================================
   RIFAS ACTIVAS — ESTILOS PREMIUM JD FRAGANCE
   ======================================================== */
.jdf-rifas-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 32px;
    margin-top: 32px;
}
.jdf-rifa-card {
    overflow: hidden;
    border: 1px solid rgba(216, 185, 103, 0.35);
    border-radius: 24px;
    background: linear-gradient(145deg, #14110e 0%, #1c1712 100%);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.jdf-rifa-card:hover {
    transform: translateY(-4px);
    border-color: rgba(216, 185, 103, 0.7);
    box-shadow: 0 28px 70px rgba(216, 185, 103, 0.15);
}
.jdf-rifa-media {
    position: relative;
    aspect-ratio: 16/10;
    overflow: hidden;
    background: #0a0806;
}
.jdf-rifa-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}
.jdf-rifa-card:hover .jdf-rifa-media img {
    transform: scale(1.05);
}
.jdf-rifa-badge-overlay {
    position: absolute;
    top: 14px;
    left: 14px;
    right: 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 2;
}
.jdf-rifa-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(8, 8, 8, 0.85);
    border: 1px solid rgba(216, 185, 103, 0.4);
    color: #e5c56e;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    backdrop-filter: blur(8px);
}
.jdf-rifa-tag-gold {
    background: linear-gradient(135deg, #d7b76a, #a98232);
    color: #080808;
    border: none;
    font-weight: 900;
}
.jdf-rifa-body {
    padding: 24px 26px 28px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
.jdf-rifa-body h3 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 24px;
    line-height: 1.15;
    font-family: var(--jdf-serif);
}
.jdf-rifa-prize {
    color: #d7b76a;
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 16px;
}
.jdf-rifa-pricing-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.jdf-rifa-pricing-row span {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.55);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.jdf-rifa-price-big {
    color: #fff;
    font-size: 24px;
    font-weight: 900;
}
.jdf-rifa-price-big small {
    color: #d7b76a;
    font-size: 15px;
    margin-right: 4px;
}
.jdf-rifa-progress {
    margin-bottom: 20px;
}
.jdf-rifa-progress-meta {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.65);
    margin-bottom: 6px;
}
.jdf-rifa-progress-meta strong {
    color: #e5c56e;
}
.jdf-rifa-bar {
    height: 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    overflow: hidden;
}
.jdf-rifa-bar-fill {
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #d7b76a, #f1d78d);
    transition: width 0.6s ease;
}
.jdf-rifa-btn {
    width: 100%;
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 12px 24px;
    border-radius: 12px;
    background: linear-gradient(135deg, #d7b76a 0%, #b8913d 100%);
    color: #080808;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition: transform 0.2s ease, filter 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 8px 24px rgba(215, 183, 106, 0.25);
}
.jdf-rifa-btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.08);
    box-shadow: 0 12px 30px rgba(215, 183, 106, 0.4);
    color: #000;
}
.jdf-rifa-empty-state {
    text-align: center;
    padding: 48px 24px;
    border: 1px dashed rgba(216, 185, 103, 0.3);
    border-radius: 20px;
    background: rgba(12, 11, 9, 0.6);
    max-width: 600px;
    margin: 32px auto 0;
}
.jdf-rifa-empty-state h3 {
    color: #d7b76a;
    font-size: 22px;
    margin: 12px 0 8px;
}
.jdf-rifa-empty-state p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 15px;
    margin: 0;
}

