/* ==========================================================
   DINOS OF THE WILD WEST — rustic western theme + section template
   Loaded after style.css: overrides the :root palette and adds the
   .t-* section classes used by index.php. Placeholder boxes (.ph)
   are swapped for real <img> tags as art arrives.
   ========================================================== */

:root {
    --primary: #8b4a1f;          /* saddle brown */
    --primary-light: #a8602b;
    --primary-dark: #5e3114;
    --secondary: #2b1d12;
    --accent: #d9a441;           /* brass */
    --accent-glow: rgba(217, 164, 65, 0.3);
    --bg-dark: #1a120b;          /* dark leather */
    --bg-card: #2a1c11;
    --bg-card-hover: #36251a;
    --bg-input: #efe0c0;         /* parchment */
    --text-primary: #efe3cc;
    --text-secondary: #cdb893;
    --text-muted: #9a8466;
    --border: #5a4330;
    --font-display: Georgia, 'Times New Roman', serif;
}

body { background: var(--bg-dark); }

/* ---- Placeholder image boxes ---- */
.ph {
    display: flex; align-items: center; justify-content: center;
    width: 100%;
    background: repeating-linear-gradient(135deg, #3a281a 0 14px, #33231a 14px 28px);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--text-muted);
    font: 600 .8rem/1 var(--font-body);
    letter-spacing: .08em; text-transform: uppercase;
}
.ph--book   { aspect-ratio: 4 / 3; }
.ph--portrait { aspect-ratio: 2 / 3; }
.ph--spread { aspect-ratio: 4 / 3; }
.ph--wide   { aspect-ratio: 16 / 9; }
.ph--banner { aspect-ratio: 2 / 1; }
.ph--square { aspect-ratio: 1 / 1; }

/* ---- Video placeholder: swap the .t-video__frame contents for an <iframe>/<video> ---- */
.t-video { background: #0f0a06; padding: 0; }
.t-video__frame {
    position: relative; width: 100%; max-width: 1368px; margin: 0 auto;
    aspect-ratio: 16 / 9;
    background: repeating-linear-gradient(135deg, #2c1d12 0 18px, #261910 18px 36px);
    display: flex; align-items: center; justify-content: center;
}
.t-video__play {
    width: 88px; height: 88px; border-radius: 50%;
    background: var(--accent); display: flex; align-items: center; justify-content: center;
    box-shadow: var(--shadow-lg);
}
.t-video__play::before {
    content: ''; margin-left: 8px;
    border-style: solid; border-width: 16px 0 16px 28px;
    border-color: transparent transparent transparent var(--bg-dark);
}
.t-video__label {
    position: absolute; left: 1rem; bottom: .9rem;
    color: var(--text-muted); font: 600 .8rem/1 var(--font-body);
    letter-spacing: .08em; text-transform: uppercase;
}

/* ---- Section template ---- */
.t-section { padding: 3.5rem 0; }
.t-section--alt { background: var(--secondary); }
.t-section--band { background: var(--bg-card); padding: 2.5rem 0; border-block: 1px solid var(--border); }

.t-title { font-family: var(--font-display); color: var(--accent); margin-bottom: .75rem; }
.t-heading-center { text-align: center; font-family: var(--font-display); color: var(--accent); margin-bottom: 1.75rem; font-size: 1.8rem; }

.t-split { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; align-items: center; }
.t-split--text-left .t-split__media { order: 2; }
.t-split__text h2, .t-split__text h3 { font-family: var(--font-display); color: var(--accent); margin-bottom: .75rem; }
.t-split__text p { color: var(--text-secondary); margin-bottom: .75rem; }
.t-split__text ul { margin: .5rem 0 .75rem 1.2rem; color: var(--text-secondary); }
.t-split__text li { margin-bottom: .35rem; }

.t-hero { padding: 3rem 0; background: linear-gradient(180deg, #25170d, var(--bg-dark)); }
.t-hero .t-title { font-size: 2.2rem; }

.t-band { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: center; }
.t-band h3 { font-family: var(--font-display); color: var(--text-primary); font-size: 1.15rem; margin-bottom: .35rem; }

.t-cols3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.75rem; }
.t-cols3 h3 { font-family: var(--font-display); color: var(--accent); margin-bottom: .5rem; }
.t-cols3 p { color: var(--text-secondary); margin-bottom: .6rem; }
.t-cols3__media { margin-top: 1rem; }

.t-banner { position: relative; }
.t-banner__text { text-align: center; max-width: 720px; margin: 1.25rem auto 0; }
.t-banner__text h2 { font-family: var(--font-display); color: var(--accent); margin-bottom: .5rem; }

@media (max-width: 760px) {
    .t-split, .t-band, .t-cols3 { grid-template-columns: 1fr; }
    .t-split--text-left .t-split__media { order: 0; }
    .t-section { padding: 2.5rem 0; }
}
