/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   page-samples.css — DigitiseMyBooks
   Samples page
   Place in your Astra child theme folder alongside page-samples.php
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ── 1. Custom properties & reset ─────────────────────── */
.dmb-samples-page {
    --p-bg:        #ffffff;
    --p-bg-alt:    #f4f3f0;
    --p-ink:       #1f2a24;
    --p-ink-soft:  #566159;
    --p-ink-dim:   #8a8d83;
    --p-sage:      #4a6b4f;
    --p-sage-deep: #33503a;
    --p-sage-soft: rgba(74, 107, 79, 0.10);
    --p-rust:      #c0673b;
    --p-rust-soft: #e0a98a;
    --p-cream:     #fdfaf2;
    --p-rule:      rgba(31, 42, 36, 0.12);

    --p-display: "Space Grotesk", -apple-system, system-ui, sans-serif;
    --p-body:    "Geist", -apple-system, system-ui, sans-serif;
    --p-serif:   "Instrument Serif", Georgia, serif;
    --p-mono:    "JetBrains Mono", ui-monospace, monospace;

    font-family: var(--p-body);
    color: var(--p-ink);
    background: var(--p-bg);
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
}

.dmb-samples-page *, .dmb-samples-page *::before, .dmb-samples-page *::after { box-sizing: border-box; }
.dmb-samples-page a                          { text-decoration: none; }
.dmb-samples-page ul                         { list-style: none; margin: 0; padding: 0; }
.dmb-samples-page button                     { cursor: pointer; font-family: var(--p-body); }
.dmb-samples-page h1, .dmb-samples-page h2,
.dmb-samples-page h3, .dmb-samples-page p   { margin: 0; }

/* ── 2. Nav ───────────────────────────────────────────── */
.dmb-samples-page .p-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 48px;
    background: var(--p-bg);
    border-bottom: 1px solid var(--p-rule);
    position: sticky;
    top: 0;
    z-index: 100;
    gap: 16px;
}

.dmb-samples-page .p-nav__logo {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.dmb-samples-page .p-nav__logo-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
}

.dmb-samples-page .p-nav__logo-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.dmb-samples-page .p-nav__logo-name {
    font-family: var(--p-display);
    font-weight: 600;
    font-size: 18px;
    color: var(--p-ink);
    letter-spacing: -0.01em;
}

.dmb-samples-page .p-nav__links {
    display: flex;
    gap: 22px;
}

.dmb-samples-page .p-nav__links a {
    font-family: var(--p-body);
    font-size: 13.5px;
    color: var(--p-ink-soft);
    border-bottom: 2px solid transparent;
    padding-bottom: 2px;
    white-space: nowrap;
    transition: color 0.15s;
}

.dmb-samples-page .p-nav__links a:hover  { color: var(--p-ink); }
.dmb-samples-page .p-nav__links a.active {
    color: var(--p-ink);
    font-weight: 500;
    border-bottom-color: var(--p-rust);
}

.dmb-samples-page .p-nav__actions {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
}

.dmb-samples-page .p-nav__login {
    font-family: var(--p-body);
    font-size: 13.5px;
    color: var(--p-ink-soft);
    transition: color 0.15s;
}
.dmb-samples-page .p-nav__login:hover { color: var(--p-ink); }

.dmb-samples-page .p-nav__shop-btn {
    font-family: var(--p-body);
    font-weight: 500;
    font-size: 14px;
    color: var(--p-cream);
    background: var(--p-rust);
    padding: 11px 20px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    box-shadow: 0 6px 16px -4px rgba(192, 103, 59, 0.45);
    transition: opacity 0.15s;
}
.dmb-samples-page .p-nav__shop-btn:hover { opacity: 0.9; color: var(--p-cream); }
.dmb-samples-page .p-nav__cart { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; transition: opacity 0.15s; }
.dmb-samples-page .p-nav__cart:hover { opacity: 0.65; }
.dmb-samples-page .p-nav__cart-count { position: absolute; top: -2px; right: -4px; background: var(--p-rust); color: #fff !important; font-family: var(--p-mono); font-size: 10px; line-height: 1; padding: 3px 5px; border-radius: 999px; min-width: 16px; text-align: center; }

/* ── 3. Icon helper ───────────────────────────────────── */
.dmb-samples-page .p-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* ── 4. Hero ──────────────────────────────────────────── */
.smp-hero {
    padding: 80px 48px 72px;
    background: var(--p-bg-alt);
    border-bottom: 1px solid var(--p-rule);
}

.smp-hero__inner {
    max-width: 640px;
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.smp-hero__eyebrow {
    font-family: var(--p-mono);
    font-size: 11px;
    color: var(--p-rust);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin-bottom: 18px;
}

.smp-hero__title {
    font-family: var(--p-display);
    font-weight: 500;
    font-size: 58px;
    letter-spacing: -0.035em;
    line-height: 1.02;
    color: var(--p-ink);
    margin-bottom: 20px;
}

.smp-hero__sub {
    font-family: var(--p-body);
    font-size: 16px;
    color: var(--p-ink-soft);
    line-height: 1.65;
    max-width: 480px;
    text-align: center !important;
}

/* ── 5. Samples section ───────────────────────────────── */
.smp-section {
    padding: 72px 48px 80px;
    background: var(--p-bg);
}

.smp-section__inner {
    max-width: 980px;
    margin: 0 auto;
}

/* 6-column base grid so 3+2 centered rows work cleanly */
.smp-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 28px;
    margin-bottom: 40px;
}

.smp-card:nth-child(1) { grid-column: 1 / 3; }
.smp-card:nth-child(2) { grid-column: 3 / 5; }
.smp-card:nth-child(3) { grid-column: 5 / 7; }
.smp-card:nth-child(4) { grid-column: 2 / 4; }
.smp-card:nth-child(5) { grid-column: 4 / 6; }

/* ── 6. Sample card ───────────────────────────────────── */
.smp-card {
    display: flex;
    flex-direction: column;
    gap: 14px;
    color: var(--p-ink);
}

.smp-card__img-wrap {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 16px;
    overflow: hidden;
    background: var(--p-bg-alt);
    position: relative;
    box-shadow: 0 2px 12px rgba(31, 42, 36, 0.08);
    transition: box-shadow 0.2s, transform 0.2s;
}

.smp-card:hover .smp-card__img-wrap {
    box-shadow: 0 8px 32px rgba(31, 42, 36, 0.14);
    transform: translateY(-3px);
}

.smp-card__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.smp-card:hover .smp-card__img-wrap img {
    transform: scale(1.04);
}

.smp-card__placeholder {
    width: 100%;
    height: 100%;
    background: var(--p-bg-alt);
}

.smp-card__label {
    font-family: var(--p-display);
    font-weight: 500;
    font-size: 16px;
    letter-spacing: -0.01em;
    color: var(--p-ink);
    text-align: center;
    transition: color 0.15s;
}

.smp-card:hover .smp-card__label {
    color: var(--p-rust);
}

/* ── 7. Note ──────────────────────────────────────────── */
.smp-note {
    font-family: var(--p-mono);
    font-size: 11px;
    letter-spacing: 0.1em;
    color: var(--p-ink-dim);
    text-transform: uppercase;
    text-align: center;
}

/* ── 8. CTA strip ─────────────────────────────────────── */
.smp-cta {
    padding: 64px 48px;
    background: var(--p-ink);
}

.smp-cta__inner {
    max-width: 980px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.smp-cta__eyebrow {
    font-family: var(--p-mono);
    font-size: 10px;
    color: var(--p-rust-soft);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.smp-cta__heading {
    font-family: var(--p-display);
    font-weight: 500;
    font-size: 36px;
    letter-spacing: -0.025em;
    color: var(--p-cream);
    line-height: 1.1;
}

.smp-cta__btn {
    font-family: var(--p-body);
    font-weight: 500;
    font-size: 15px;
    color: var(--p-cream);
    background: var(--p-rust);
    padding: 15px 28px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
    flex-shrink: 0;
    box-shadow: 0 6px 20px -4px rgba(192, 103, 59, 0.55);
    transition: opacity 0.15s;
}
.smp-cta__btn:hover { opacity: 0.9; color: var(--p-cream); }

/* ── 9. Footer ────────────────────────────────────────── */
.dmb-samples-page .p-footer {
    padding: 64px 48px 32px;
    background: var(--p-ink);
    color: var(--p-cream);
}

.dmb-samples-page .p-footer__grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1fr 1fr;
    gap: 40px;
    margin-bottom: 48px;
}

.dmb-samples-page .p-footer__brand {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

.dmb-samples-page .p-footer__brand-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: var(--p-rust);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.dmb-samples-page .p-footer__brand-name {
    font-family: var(--p-display);
    font-weight: 600;
    font-size: 18px;
    color: var(--p-cream);
}

.dmb-samples-page .p-footer__address {
    font-family: var(--p-body);
    font-size: 13px;
    color: rgba(253, 250, 242, 0.60);
    line-height: 1.7;
}

.dmb-samples-page .p-footer__address a { color: inherit; }
.dmb-samples-page .p-footer__address a:hover { color: rgba(253, 250, 242, 0.85); }

.dmb-samples-page .p-footer__est {
    margin-top: 18px;
    font-family: var(--p-mono);
    font-size: 10px;
    color: var(--p-rust-soft);
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.dmb-samples-page .p-footer__col-head {
    font-family: var(--p-mono);
    font-size: 10px;
    letter-spacing: 0.18em;
    color: var(--p-rust-soft);
    text-transform: uppercase;
    margin-bottom: 14px;
}

.dmb-samples-page .p-footer__links {
    font-family: var(--p-body);
    font-size: 13px;
    color: rgba(253, 250, 242, 0.70);
    line-height: 2;
}

.dmb-samples-page .p-footer__links a { color: inherit; transition: color 0.15s; }
.dmb-samples-page .p-footer__links a:hover { color: var(--p-cream); }

.dmb-samples-page .p-footer__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: var(--p-mono);
    font-size: 10px;
    letter-spacing: 0.14em;
    color: rgba(253, 250, 242, 0.50);
    text-transform: uppercase;
    padding-top: 24px;
    border-top: 1px solid rgba(253, 250, 242, 0.10);
}

/* ── 10. Responsive ───────────────────────────────────── */
@media (max-width: 1024px) {
    .dmb-samples-page .p-nav__links { display: none; }
    .dmb-samples-page .p-footer__grid { grid-template-columns: 1fr 1fr; }
    .smp-hero__title { font-size: 48px; }
}

@media (max-width: 800px) {
    .dmb-samples-page .p-nav { padding: 16px 20px; }
    .smp-hero { padding: 56px 20px 52px; }
    .smp-hero__title { font-size: 40px; }
    .smp-section { padding: 48px 20px 64px; }
    /* 3+2 collapses to 2 columns on tablet */
    .smp-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    .smp-card:nth-child(1),
    .smp-card:nth-child(2),
    .smp-card:nth-child(3),
    .smp-card:nth-child(4),
    .smp-card:nth-child(5) { grid-column: auto; }
    .smp-cta { padding: 48px 20px; }
    .smp-cta__inner { flex-direction: column; align-items: flex-start; }
    .smp-cta__heading { font-size: 28px; }
    .dmb-samples-page .p-footer { padding: 40px 20px 24px; }
    .dmb-samples-page .p-footer__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 520px) {
    .smp-hero__title { font-size: 34px; }
    .smp-grid { grid-template-columns: 1fr; }
    .dmb-samples-page .p-footer__grid { grid-template-columns: 1fr; }
    .dmb-samples-page .p-footer__bottom { flex-direction: column; gap: 8px; text-align: center; }
}
