/* Material imprimible Fagani Club */

.print-fid-body {
    margin: 0;
    background: #F5EBE0;
    color: #3F2A1E;
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
}

/* ── Toolbar pantalla ── */
.print-fid-toolbar {
    background: #fff;
    border-bottom: 1px solid #EDE4D8;
    padding: 1.25rem 1rem 1rem;
    box-shadow: 0 4px 20px rgba(63, 42, 30, 0.06);
}

.print-fid-toolbar-inner {
    max-width: 56rem;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: flex-start;
    justify-content: space-between;
}

.print-fid-toolbar-title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 800;
    color: #3F2A1E;
}

.print-fid-toolbar-sub {
    margin: 0.35rem 0 0;
    font-size: 0.9rem;
    color: #5C4633;
    max-width: 36rem;
}

.print-fid-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.print-fid-tips {
    max-width: 56rem;
    margin: 1rem auto 0;
    padding: 0.9rem 1rem;
    background: #FEF3E8;
    border: 1px solid rgba(194, 65, 14, 0.2);
    border-radius: 1rem;
    font-size: 0.85rem;
    color: #5C4633;
}

.print-fid-tips ul {
    margin: 0.4rem 0 0;
    padding-left: 1.2rem;
}

.print-fid-tips li {
    margin-bottom: 0.25rem;
}

.print-fid-jump {
    max-width: 56rem;
    margin: 0.85rem auto 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.print-fid-jump a {
    font-size: 0.8rem;
    font-weight: 700;
    color: #C2410E;
    text-decoration: none;
    padding: 0.35rem 0.75rem;
    background: #fff;
    border: 1px solid #EDE4D8;
    border-radius: 999px;
}

.print-fid-jump a:hover {
    border-color: #C2410E;
}

.print-section-label {
    max-width: 56rem;
    margin: 0 auto 0.75rem;
    padding: 0 0.5rem;
    font-size: 0.8rem;
    font-weight: 700;
    color: #8B6F47;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.print-sheet {
    max-width: 56rem;
    margin: 1.5rem auto;
    padding: 0 0.75rem 1.5rem;
}

/* ═══════════════════════════════════════════════════
   TARJETAS PREMIUM FAGANI CLUB
   Inspiradas en cafeterías specialty + QR mesas
   ═══════════════════════════════════════════════════ */

/* ── Grid 8 tarjetas chicas (billetera) ── */
.stamp-cards-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.55rem;
    background: #F7F0E6;
    padding: 0.55rem;
    border-radius: 0.85rem;
    border: 1px solid #E0D0BC;
}

.stamp-card {
    position: relative;
    border: none;
    border-radius: 0.85rem;
    padding: 0;
    background: #FBF6EF;
    min-height: 9.2rem;
    break-inside: avoid;
    page-break-inside: avoid;
    overflow: hidden;
    box-shadow:
        0 4px 14px rgba(44, 33, 24, 0.1),
        0 0 0 1px rgba(63, 42, 30, 0.08);
}

.stamp-card__shine {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 80% 50% at 100% 0%, rgba(255, 210, 63, 0.12), transparent 50%),
        radial-gradient(ellipse 60% 40% at 0% 100%, rgba(194, 65, 14, 0.08), transparent 50%);
    pointer-events: none;
    z-index: 0;
}

.stamp-card__hero {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.4rem;
    padding: 0.4rem 0.5rem 0.4rem 0.4rem;
    background: linear-gradient(135deg, #2A1A12 0%, #3F2A1E 40%, #6B3D28 75%, #C2410E 100%);
    color: #fff;
}

/* Logo Fagani — esquina superior izquierda */
.stamp-card__logo-wrap {
    background: #fff;
    border-radius: 0.4rem;
    padding: 0.18rem 0.35rem;
    height: 1.65rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.22);
    flex-shrink: 0;
    order: 0;
}

.stamp-card__logo {
    height: 1.28rem;
    width: auto;
    max-width: 4.5rem;
    object-fit: contain;
    object-position: left center;
    display: block;
}

.stamp-card__hero-text {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.1rem;
    min-width: 0;
    margin-left: auto;
}

.stamp-card__club {
    font-size: 0.52rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #FFD23F;
    white-space: nowrap;
}

.stamp-card__club .fa-star {
    font-size: 0.45rem;
}

.stamp-card__serial {
    font-size: 0.58rem;
    font-weight: 800;
    font-family: ui-monospace, Consolas, monospace;
    letter-spacing: 0.04em;
    color: #fff;
    background: rgba(0, 0, 0, 0.25);
    border-radius: 0.25rem;
    padding: 0.1rem 0.35rem;
}

.stamp-card__body {
    position: relative;
    z-index: 1;
    padding: 0.45rem 0.55rem 0.45rem;
}

.stamp-card__offer {
    margin: 0 0 0.35rem;
    font-size: 0.62rem;
    font-weight: 650;
    color: #3F2A1E;
    line-height: 1.25;
}

.stamp-card__offer strong {
    color: #C2410E;
}

/* Compatibilidad clases viejas (por si quedan en HTML) */
.stamp-card-top,
.stamp-card-logo,
.stamp-card-badge,
.stamp-card-serial,
.stamp-card-title,
.stamp-card-premio,
.stamp-card-fields,
.stamp-card-foot {
    /* legacy no-op hooks */
}

.print-serial-bar {
    max-width: 56rem;
    margin: 0.75rem auto 0;
    padding: 0.75rem 1rem;
    background: #fff;
    border: 1px solid #EDE4D8;
    border-radius: 0.85rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    font-size: 0.85rem;
    color: #5C4633;
}

.print-serial-bar label {
    font-weight: 700;
    color: #3F2A1E;
}

.print-serial-bar input {
    width: 5.5rem;
    padding: 0.4rem 0.55rem;
    border: 1.5px solid #EDE4D8;
    border-radius: 0.5rem;
    font-weight: 700;
}

.print-serial-bar .serial-range {
    flex: 1;
    min-width: 12rem;
    font-size: 0.8rem;
    color: #8B6F47;
}

.print-pdf-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 0.9rem;
    background: #3F2A1E;
    color: #fff !important;
    font-weight: 700;
    font-size: 0.85rem;
    border-radius: 999px;
    text-decoration: none;
}

.print-pdf-link:hover {
    background: #C2410E;
}

.stamp-card-title {
    margin: 0 0 0.15rem;
    font-size: 0.72rem;
    font-weight: 800;
    color: #3F2A1E;
    line-height: 1.2;
}

.stamp-card-premio {
    margin: 0 0 0.35rem;
    font-size: 0.58rem;
    color: #5C4633;
    line-height: 1.3;
}

.stamp-card-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.25rem 0.4rem;
    margin-bottom: 0.4rem;
    font-size: 0.52rem;
    color: #8B6F47;
}

.stamp-card-fields span {
    display: block;
    border-bottom: 1px solid #D4C4B0;
    padding-bottom: 0.15rem;
    min-height: 0.95rem;
}

.stamp-card-fields strong {
    color: #5C4633;
    font-weight: 700;
}

/* Sellos / círculos de café */
.stamp-row {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 0.18rem;
    margin-bottom: 0.4rem;
}

.stamp-row--lg {
    gap: 0.35rem;
    margin: 0.75rem 0 1rem;
}

.stamp-dot {
    aspect-ratio: 1;
    border-radius: 50%;
    border: 1.5px solid #D4BFA3;
    background:
        radial-gradient(circle at 35% 30%, #fff 0%, #FBF6EF 45%, #F0E4D4 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    box-shadow: inset 0 1px 2px rgba(63, 42, 30, 0.08);
}

.stamp-dot__cup {
    font-size: 0.55rem;
    line-height: 1;
    opacity: 0.55;
}

.stamp-dot__n {
    font-size: 0.42rem;
    font-weight: 800;
    color: #A08060;
    line-height: 1;
    margin-top: 0.05rem;
}

.stamp-dot--reward {
    border-color: #C2410E;
    background:
        radial-gradient(circle at 35% 30%, #FFF8F0 0%, #F0D9C6 50%, #E8B89A 100%);
    box-shadow: 0 0 0 1px rgba(194, 65, 14, 0.15), inset 0 1px 0 rgba(255,255,255,0.6);
}

.stamp-dot--reward .stamp-dot__icon {
    font-size: 0.55rem;
    color: #C2410E;
    line-height: 1;
}

.stamp-dot--reward .stamp-dot__n {
    color: #C2410E;
}

.stamp-row--lg .stamp-dot__cup,
.stamp-row--lg .stamp-dot__icon {
    font-size: 0.85rem;
}

.stamp-row--lg .stamp-dot__n {
    font-size: 0.55rem;
}

/* Campos nombre / teléfono */
.stamp-card__fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.25rem 0.4rem;
    margin-bottom: 0.35rem;
}

.stamp-field {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    font-size: 0.48rem;
    font-weight: 700;
    color: #8B6F47;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.stamp-field em {
    display: block;
    height: 0.85rem;
    border-bottom: 1px solid #D4C4B0;
    font-style: normal;
}

.stamp-card__foot {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 0.4rem;
}

.stamp-card__meta {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
    font-size: 0.48rem;
    color: #8B6F47;
    line-height: 1.25;
    min-width: 0;
}

.stamp-card__meta strong {
    color: #3F2A1E;
    font-size: 0.52rem;
}

.stamp-card__qr {
    flex-shrink: 0;
    text-align: center;
    background: #fff;
    border: 1px solid #EDE4D8;
    border-radius: 0.4rem;
    padding: 0.2rem;
    box-shadow: 0 2px 6px rgba(63, 42, 30, 0.06);
}

.stamp-card__qr img {
    display: block;
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 0.15rem;
}

.stamp-card__qr span {
    display: block;
    font-size: 0.4rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #C2410E;
    margin-top: 0.1rem;
}

/* ── Tarjetas PREMIUM grandes (4 por hoja, estilo QR mesa) ── */
.premium-cards-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.85rem;
    padding: 0.5rem;
}

.fid-premium-card {
    position: relative;
    background: linear-gradient(165deg, #FFFCFA 0%, #FBF6EF 45%, #F3E9DC 100%);
    border: 2px solid #E0D0BC;
    border-radius: 1.25rem;
    padding: 1rem 1rem 0.85rem;
    overflow: hidden;
    break-inside: avoid;
    page-break-inside: avoid;
    box-shadow: 0 8px 28px rgba(44, 33, 24, 0.1);
    min-height: 14rem;
}

.fid-premium-card__glow {
    position: absolute;
    top: -20%;
    right: -10%;
    width: 55%;
    height: 55%;
    background: radial-gradient(circle, rgba(194, 65, 14, 0.12), transparent 70%);
    pointer-events: none;
}

.fid-premium-card__top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 0.65rem;
    position: relative;
    z-index: 1;
}

.fid-premium-card__brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
}

/* Logo Fagani — esquina superior izquierda */
.fid-premium-card__logo-wrap {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    background: #fff;
    border: 1.5px solid #E0D0BC;
    border-radius: 0.5rem;
    padding: 0.28rem 0.5rem;
    height: 2.35rem;
    box-shadow: 0 2px 8px rgba(44, 33, 24, 0.1);
}

.fid-premium-card__logo,
.fid-premium-card__brand img {
    height: 1.75rem;
    width: auto;
    max-width: 6rem;
    object-fit: contain;
    object-position: left center;
    display: block;
}

.fid-premium-card__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    width: fit-content;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #C2410E;
    background: #fff;
    border: 1px solid rgba(194, 65, 14, 0.25);
    border-radius: 999px;
    padding: 0.25rem 0.65rem;
    box-shadow: 0 2px 8px rgba(194, 65, 14, 0.08);
}

.fid-premium-card__badge .fa-star {
    color: #EAB308;
    font-size: 0.6rem;
}

.fid-premium-card__serial {
    font-family: ui-monospace, Consolas, monospace;
    font-size: 0.72rem;
    font-weight: 800;
    color: #3F2A1E;
    background: #fff;
    border: 1.5px solid #E0D0BC;
    border-radius: 0.5rem;
    padding: 0.3rem 0.5rem;
    letter-spacing: 0.04em;
}

.fid-premium-card__title {
    margin: 0 0 0.2rem;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #2C2118;
    position: relative;
    z-index: 1;
}

.fid-premium-card__sub {
    margin: 0;
    font-size: 0.82rem;
    font-weight: 600;
    color: #7A6654;
    position: relative;
    z-index: 1;
}

.fid-premium-card__bottom {
    display: flex;
    gap: 0.75rem;
    align-items: stretch;
    position: relative;
    z-index: 1;
}

.fid-premium-card__lines {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.55rem;
}

.fid-line {
    border-bottom: 1.5px solid #D4C4B0;
    padding-bottom: 0.15rem;
    min-height: 1.35rem;
}

.fid-line span {
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #8B6F47;
}

.fid-premium-card__hint {
    margin: 0.15rem 0 0;
    font-size: 0.68rem;
    color: #A08060;
    font-weight: 600;
}

.fid-premium-card__qrbox {
    flex-shrink: 0;
    background: #fff;
    border: 2px solid #E0D0BC;
    border-radius: 0.85rem;
    padding: 0.45rem;
    text-align: center;
    box-shadow: 0 4px 14px rgba(44, 33, 24, 0.08);
}

.fid-premium-card__qrbox img {
    display: block;
    width: 5.5rem;
    height: 5.5rem;
    border-radius: 0.35rem;
}

.fid-premium-card__qrbox span {
    display: block;
    margin-top: 0.3rem;
    font-size: 0.58rem;
    font-weight: 800;
    color: #C2410E;
    letter-spacing: 0.02em;
    max-width: 5.8rem;
    line-height: 1.2;
}

.fid-premium-card__footer {
    margin-top: 0.75rem;
    padding-top: 0.5rem;
    border-top: 1px dashed #D4C4B0;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #C2410E;
    text-align: center;
    position: relative;
    z-index: 1;
}

/* ── Cartel poster ── */
.poster-club {
    background: #fff;
    border-radius: 1rem;
    border: 1px solid #EDE4D8;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(63, 42, 30, 0.08);
    position: relative;
    padding: 1.75rem 1.5rem 1.5rem;
    min-height: 26rem;
}

.poster-club-strip {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, #C2410E, #F4D9B8, #FFD23F, #059669);
}

.poster-club-head {
    text-align: center;
    margin-bottom: 1.25rem;
}

.poster-club-logo {
    height: 3.25rem;
    width: auto;
    margin: 0 auto 0.75rem;
    display: block;
    object-fit: contain;
}

.poster-club-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0 0 0.65rem;
    padding: 0.3rem 0.85rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #FEF3E8, #fff);
    border: 1px solid rgba(194, 65, 14, 0.2);
    color: #C2410E;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.poster-club-badge .fa-star {
    color: #EAB308;
}

.poster-club-title {
    margin: 0 0 0.5rem;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.15;
    color: #3F2A1E;
    letter-spacing: -0.02em;
}

.poster-club-sub {
    margin: 0;
    font-size: 0.9rem;
    color: #5C4633;
}

.poster-club-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
    margin-bottom: 1.35rem;
}

.poster-step {
    text-align: center;
    padding: 0.85rem 0.5rem;
    background: #FDF8F3;
    border: 1px solid #EDE4D8;
    border-radius: 1rem;
}

.poster-step-num {
    display: inline-flex;
    width: 1.75rem;
    height: 1.75rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    background: #C2410E;
    color: #fff;
    font-weight: 800;
    font-size: 0.9rem;
    margin-bottom: 0.4rem;
}

.poster-step p {
    margin: 0;
    font-size: 0.8rem;
    color: #5C4633;
    line-height: 1.35;
}

.poster-step strong {
    color: #3F2A1E;
}

.poster-club-qr-row {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: linear-gradient(145deg, #3F2A1E 0%, #6B3D28 50%, #C2410E 100%);
    border-radius: 1.15rem;
    color: #fff;
}

.poster-qr-box {
    text-align: center;
    background: #fff;
    padding: 0.65rem;
    border-radius: 0.85rem;
}

.poster-qr-box img {
    display: block;
    width: 9rem;
    height: 9rem;
    margin: 0 auto;
}

.poster-qr-box p {
    margin: 0.4rem 0 0;
    font-size: 0.7rem;
    color: #5C4633;
    line-height: 1.3;
}

.poster-qr-copy {
    flex: 1;
    min-width: 12rem;
    max-width: 18rem;
}

.poster-highlight {
    margin: 0 0 0.65rem;
    font-size: 0.95rem;
    line-height: 1.4;
}

.poster-qr-copy ul {
    margin: 0 0 0.75rem;
    padding-left: 1.1rem;
    font-size: 0.82rem;
    opacity: 0.92;
    line-height: 1.45;
}

.poster-url {
    margin: 0;
    font-weight: 800;
    font-size: 1rem;
    color: #FFD23F;
}

/* ── Tent / afiche chico (estilo mesa) ── */
.tent-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.85rem;
}

.tent-card {
    border: 2px solid #E0D0BC;
    border-radius: 1.25rem;
    background: linear-gradient(165deg, #FFFCFA 0%, #FBF6EF 100%);
    padding: 0;
    text-align: center;
    break-inside: avoid;
    page-break-inside: avoid;
    position: relative;
    overflow: hidden;
    min-height: 14rem;
    box-shadow: 0 8px 24px rgba(44, 33, 24, 0.1);
}

.tent-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, #C2410E, #F4D9B8, #FFD23F, #059669);
}

.tent-card-inner {
    padding: 1.1rem 1rem 1rem;
}

.tent-card .tent-logo {
    height: 2rem;
    margin: 0.2rem auto 0.55rem;
    display: block;
}

.tent-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #C2410E;
    background: #fff;
    border: 1px solid rgba(194, 65, 14, 0.25);
    border-radius: 999px;
    padding: 0.25rem 0.7rem;
    margin-bottom: 0.5rem;
}

.tent-badge .fa-star {
    color: #EAB308;
}

.tent-card h3 {
    margin: 0 0 0.25rem;
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #2C2118;
}

.tent-card .tent-line {
    margin: 0 0 0.55rem;
    font-size: 0.85rem;
    font-weight: 650;
    color: #C2410E;
    line-height: 1.35;
}

.tent-stamps {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 0.2rem;
    max-width: 14rem;
    margin: 0 auto 0.75rem;
}

.tent-card .tent-qr {
    width: 6rem;
    height: 6rem;
    margin: 0 auto 0.45rem;
    display: block;
    border: 2px solid #E0D0BC;
    border-radius: 0.65rem;
    padding: 0.3rem;
    background: #fff;
    box-shadow: 0 4px 12px rgba(44, 33, 24, 0.08);
}

.tent-card .tent-url {
    font-size: 0.72rem;
    font-weight: 700;
    color: #5A4636;
    margin: 0;
    line-height: 1.35;
}

/* ── Guía equipo ── */
.staff-guide {
    background: #fff;
    border: 1px solid #EDE4D8;
    border-radius: 1rem;
    padding: 1.25rem 1.35rem 1rem;
    box-shadow: 0 4px 16px rgba(63, 42, 30, 0.06);
}

.staff-guide-head {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-bottom: 1rem;
    padding-bottom: 0.85rem;
    border-bottom: 2px solid #FEF3E8;
}

.staff-logo {
    height: 2.25rem;
    width: auto;
    object-fit: contain;
}

.staff-guide-head h2 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 800;
}

.staff-guide-head p {
    margin: 0.15rem 0 0;
    font-size: 0.8rem;
    color: #8B6F47;
}

.staff-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1rem;
}

.staff-cols h3 {
    margin: 0 0 0.45rem;
    font-size: 0.88rem;
    color: #C2410E;
}

.staff-cols ol {
    margin: 0;
    padding-left: 1.15rem;
    font-size: 0.78rem;
    color: #5C4633;
    line-height: 1.45;
}

.staff-cols li {
    margin-bottom: 0.35rem;
}

.staff-rules {
    background: #FDF8F3;
    border: 1px solid #EDE4D8;
    border-radius: 0.75rem;
    padding: 0.75rem 0.9rem;
    margin-bottom: 0.75rem;
}

.staff-rules h3 {
    margin: 0 0 0.4rem;
    font-size: 0.85rem;
    color: #3F2A1E;
}

.staff-rules ul {
    margin: 0;
    padding-left: 1.1rem;
    font-size: 0.78rem;
    color: #5C4633;
    line-height: 1.45;
}

.staff-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.25rem;
    font-size: 0.7rem;
    color: #8B6F47;
    font-weight: 600;
    border-top: 1px solid #EDE4D8;
    padding-top: 0.65rem;
}

/* ── Print ── */
@media print {
    .no-print {
        display: none !important;
    }

    .print-fid-body {
        background: #fff;
    }

    .print-sheet {
        max-width: none;
        margin: 0;
        padding: 0;
    }

    .print-page-break {
        break-before: page;
        page-break-before: always;
    }

    .stamp-cards-grid {
        border: none;
        border-radius: 0;
        padding: 0.12in;
        gap: 0.1in;
        height: auto;
        background: #fff;
    }

    .stamp-card,
    .fid-premium-card,
    .tent-card,
    .poster-club {
        min-height: 0;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .premium-cards-grid {
        gap: 0.15in;
        padding: 0.1in;
    }

    .fid-premium-card {
        box-shadow: none;
        border: 1.5pt solid #3F2A1E;
    }

    .poster-club {
        box-shadow: none;
        border-radius: 0;
        border: none;
        min-height: 0;
        padding: 0.4in 0.45in;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .poster-club-qr-row,
    .poster-step-num,
    .stamp-card::before,
    .tent-card::before {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .tent-grid {
        gap: 0.2in;
        padding: 0.25in;
    }

    .staff-guide {
        box-shadow: none;
        border-radius: 0;
    }

    @page {
        size: letter;
        margin: 0.35in;
    }
}

@media (max-width: 640px) {
    .stamp-cards-grid,
    .tent-grid,
    .staff-cols,
    .poster-club-steps {
        grid-template-columns: 1fr;
    }

    .poster-club-title {
        font-size: 1.5rem;
    }
}
