/*
Theme Name: Tonight's Bottle
Theme URI: https://tonightsbottle.com
Author: Field Guide Digital
Author URI: https://fieldguidedigital.com
Description: Tonight's Bottle — wine reviews, synth jams, and honest notes. A Field Guide child theme.
Version: 1.0.7
Template: fieldguide
Requires at least: 6.0
Requires PHP: 7.4
License: Proprietary
Text Domain: tonights-bottle
*/

/* ============================================
   TONIGHT'S BOTTLE — Brand Overrides
   Only styles that differ from the parent theme.
   ============================================ */

/* Wine card placeholders (gradient backgrounds when no featured image) */
.tb-wine-card:nth-child(1) .fg-card-image--placeholder { background: linear-gradient(135deg, #8B4513, #D2691E); }
.tb-wine-card:nth-child(2) .fg-card-image--placeholder { background: linear-gradient(135deg, #F5E6D3, #E8D5B7); }
.tb-wine-card:nth-child(3) .fg-card-image--placeholder { background: linear-gradient(135deg, #FF8C69, #FFB088); }
.tb-wine-card:nth-child(4) .fg-card-image--placeholder { background: linear-gradient(135deg, #722F37, #943543); }
.tb-wine-card:nth-child(5) .fg-card-image--placeholder { background: linear-gradient(135deg, #DAA520, #F4C430); }
.tb-wine-card:nth-child(6) .fg-card-image--placeholder { background: linear-gradient(135deg, #C97B84, #E8A0AE); }

.fg-card-image--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 4rem;
    width: 100%;
    aspect-ratio: 3/4;
    border-radius: var(--fg-radius-md, 8px);
}

/* ============================================
   SYNTHS & SIPS — Equalizer + Vinyl
   ============================================ */
.tb-synths {
    background: var(--fg-color-dark);
    color: #FFFFFF;
    padding: var(--fg-space-section) var(--fg-space-gutter);
    min-height: 100svh;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}

/* Overrides for dark Synths & Sips section */
.tb-synths .fg-eyebrow {
    color: var(--fg-color-primary, #FFC500);
}

.tb-synths .fg-split-body {
    color: rgba(255, 255, 255, 0.75);
}

.tb-synths .fg-btn--primary {
    color: var(--fg-color-dark, #1A1A1A);
}

.tb-equalizer-bg {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 6px;
    padding: 0 5%;
    opacity: 0.08;
    pointer-events: none;
    z-index: 0;
}

.tb-eq-bar {
    flex: 1;
    max-width: 20px;
    background: var(--fg-color-primary);
    border-radius: 4px 4px 0 0;
    transform-origin: bottom;
    animation: tbEqBounce var(--eq-speed, 1.2s) ease-in-out infinite alternate;
    animation-delay: var(--eq-delay, 0s);
}

@keyframes tbEqBounce {
    0% { height: var(--eq-min, 5%); }
    100% { height: var(--eq-max, 60%); }
}

.tb-eq-glow {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--fg-color-primary), transparent);
    opacity: 0.15;
    animation: tbEqGlow 3s ease-in-out infinite;
}

@keyframes tbEqGlow {
    0%, 100% { opacity: 0.08; transform: scaleX(0.5); }
    50% { opacity: 0.2; transform: scaleX(1); }
}

.tb-vinyl-disc {
    width: clamp(280px, 30vw, 450px);
    height: clamp(280px, 30vw, 450px);
    border-radius: 50%;
    background: conic-gradient(
        from 0deg,
        #1a1a1a 0deg, #2a2a2a 30deg,
        #1a1a1a 60deg, #333 90deg,
        #1a1a1a 120deg, #2a2a2a 150deg,
        #1a1a1a 180deg, #333 210deg,
        #1a1a1a 240deg, #2a2a2a 270deg,
        #1a1a1a 300deg, #333 330deg,
        #1a1a1a 360deg
    );
    position: relative;
    box-shadow: 0 0 80px rgba(255, 197, 0, 0.15), inset 0 0 60px rgba(0,0,0,0.5);
    animation: tbSpin 8s linear infinite;
    animation-play-state: paused;
    cursor: pointer;
}

.tb-vinyl-disc.playing { animation-play-state: running; }

.tb-vinyl-disc::before {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 35%; height: 35%;
    border-radius: 50%;
    background: var(--fg-color-primary);
}

.tb-vinyl-disc::after {
    content: '\25B6';
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-45%, -50%);
    font-size: 2rem;
    color: var(--fg-color-dark);
    z-index: 2;
}

@keyframes tbSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.tb-vinyl-grooves {
    position: absolute;
    inset: 8%;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.05);
    pointer-events: none;
}

.tb-vinyl-grooves::before {
    content: '';
    position: absolute;
    inset: 15%;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.04);
}

.tb-vinyl-grooves::after {
    content: '';
    position: absolute;
    inset: 30%;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.03);
}
