/**
 * Fiction Flock — Blurb Swipe Styles
 * ff-blurb-swipe.css
 */

/* ----------------------------------------------------------------
   WRAPPER
   ---------------------------------------------------------------- */
.ff-blurb-swipe-wrap {
    max-width: 560px;
    margin: 0 auto;
    padding: 20px;
    font-family: 'Lato', sans-serif;
    color: #1a2e2e;
}

/* ----------------------------------------------------------------
   LOADING
   ---------------------------------------------------------------- */
.ff-swipe-loading {
    text-align: center;
    padding: 60px 20px;
    color: #5a6a6a;
}
.ff-swipe-spinner {
    width: 36px; height: 36px;
    border: 3px solid #e0ede6;
    border-top-color: #174B4C;
    border-radius: 50%;
    animation: ff-spin 0.8s linear infinite;
    margin: 0 auto 16px;
}
@keyframes ff-spin { to { transform: rotate(360deg); } }

/* ----------------------------------------------------------------
   INTRO
   ---------------------------------------------------------------- */
.ff-swipe-intro-card {
    background: #FAF8F4;
    border-radius: 20px;
    padding: 40px 32px;
    text-align: center;
    box-shadow: 0 2px 16px rgba(23,75,76,0.08);
}
.ff-swipe-intro-icon { font-size: 48px; margin-bottom: 16px; }
.ff-swipe-intro-card h2 {
    font-family: 'Playfair Display', serif;
    font-size: 26px;
    color: #174B4C;
    margin-bottom: 14px;
}
.ff-swipe-intro-card p {
    font-size: 15px;
    color: #5a6a6a;
    margin-bottom: 12px;
    line-height: 1.65;
}
.ff-swipe-intro-hint {
    font-style: italic;
    color: #E89528 !important;
}
.ff-swipe-btn-start {
    margin-top: 24px;
    background: #174B4C;
    color: #fff;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    font-size: 15px;
    padding: 13px 32px;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    transition: background 0.2s;
}
.ff-swipe-btn-start:hover { background: #1d6364; }

/* ----------------------------------------------------------------
   PROGRESS
   ---------------------------------------------------------------- */
.ff-swipe-progress {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}
.ff-swipe-progress-bar {
    flex: 1;
    height: 6px;
    background: #e0ede6;
    border-radius: 10px;
    overflow: hidden;
}
.ff-swipe-progress-fill {
    height: 6px;
    background: #174B4C;
    border-radius: 10px;
    transition: width 0.3s ease;
    width: 0%;
}
.ff-swipe-counter {
    font-size: 12px;
    color: #5a6a6a;
    white-space: nowrap;
    font-weight: 700;
}

/* ----------------------------------------------------------------
   CARD STACK
   ---------------------------------------------------------------- */
.ff-swipe-card-stack {
    position: relative;
    min-height: 260px;
    margin-bottom: 24px;
}
.ff-swipe-card {
    background: #fff;
    border-radius: 20px;
    padding: 32px 28px;
    box-shadow: 0 4px 20px rgba(23,75,76,0.1);
    cursor: grab;
    user-select: none;
    transition: box-shadow 0.2s;
    position: relative;
}
.ff-swipe-card:active { cursor: grabbing; }
.ff-swipe-card.ff-swipe-hint-yes {
    box-shadow: 0 4px 24px rgba(76,175,80,0.25);
    border: 2px solid rgba(76,175,80,0.3);
}
.ff-swipe-card.ff-swipe-hint-no {
    box-shadow: 0 4px 24px rgba(232,80,80,0.2);
    border: 2px solid rgba(232,80,80,0.2);
}

/* Hint labels */
.ff-swipe-card.ff-swipe-hint-yes::before {
    content: "I'd read this ✓";
    position: absolute;
    top: 16px; right: 16px;
    background: rgba(76,175,80,0.15);
    color: #2e7d32;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 20px;
    letter-spacing: 0.04em;
}
.ff-swipe-card.ff-swipe-hint-no::before {
    content: "Not for me ✗";
    position: absolute;
    top: 16px; left: 16px;
    background: rgba(232,80,80,0.1);
    color: #c62828;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 20px;
    letter-spacing: 0.04em;
}

.ff-swipe-blurb {
    font-size: 16px;
    line-height: 1.75;
    color: #1a2e2e;
    margin: 0;
}

/* ----------------------------------------------------------------
   BUTTONS
   ---------------------------------------------------------------- */
.ff-swipe-buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
}
.ff-swipe-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 16px 28px;
    border-radius: 16px;
    border: 2px solid transparent;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    font-size: 13px;
    cursor: pointer;
    transition: all 0.2s;
    min-width: 110px;
}
.ff-swipe-btn-icon { font-size: 22px; }
.ff-swipe-btn-label { letter-spacing: 0.04em; text-transform: uppercase; font-size: 11px; }

.ff-swipe-btn-no {
    background: #fff;
    border-color: #e0ddd8;
    color: #5a6a6a;
}
.ff-swipe-btn-no:hover {
    background: #fff0f0;
    border-color: #e88080;
    color: #c62828;
}

.ff-swipe-btn-yes {
    background: #174B4C;
    border-color: #174B4C;
    color: #fff;
}
.ff-swipe-btn-yes:hover {
    background: #1d6364;
    border-color: #1d6364;
}

/* ----------------------------------------------------------------
   REVEAL
   ---------------------------------------------------------------- */
.ff-swipe-reveal-card {
    background: #FAF8F4;
    border-radius: 20px;
    padding: 36px 28px;
    text-align: center;
    box-shadow: 0 2px 16px rgba(23,75,76,0.08);
}
.ff-swipe-reveal-eyebrow {
    font-size: 13px;
    color: #5a6a6a;
    margin-bottom: 20px;
    font-style: italic;
}
.ff-swipe-reveal-cover {
    max-width: 180px;
    border-radius: 8px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
    margin-bottom: 24px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.ff-swipe-reveal-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}
.ff-swipe-btn-tbr {
    background: #E89528;
    color: #fff;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    font-size: 14px;
    padding: 12px 22px;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    transition: background 0.2s;
}
.ff-swipe-btn-tbr:hover { background: #d4851f; }
.ff-swipe-btn-tbr:disabled { background: #2e7d32; cursor: default; }

.ff-swipe-btn-next {
    background: transparent;
    color: #174B4C;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    font-size: 14px;
    padding: 11px 22px;
    border-radius: 8px;
    border: 2px solid #174B4C;
    cursor: pointer;
    transition: all 0.2s;
}
.ff-swipe-btn-next:hover { background: #174B4C; color: #fff; }

.ff-swipe-tbr-confirm {
    margin-top: 12px;
    font-size: 13px;
    color: #2e7d32;
    font-weight: 700;
}

/* ----------------------------------------------------------------
   END SCREEN
   ---------------------------------------------------------------- */
.ff-swipe-end-card {
    background: #FAF8F4;
    border-radius: 20px;
    padding: 40px 28px;
    text-align: center;
    box-shadow: 0 2px 16px rgba(23,75,76,0.08);
}
.ff-swipe-end-icon { font-size: 48px; margin-bottom: 12px; }
.ff-swipe-end-card h2 {
    font-family: 'Playfair Display', serif;
    font-size: 28px;
    color: #174B4C;
    margin-bottom: 8px;
}
.ff-swipe-end-sub {
    font-size: 15px;
    color: #5a6a6a;
    margin-bottom: 28px;
}

.ff-swipe-yes-books h3 {
    font-family: 'Playfair Display', serif;
    font-size: 18px;
    color: #174B4C;
    margin-bottom: 16px;
}
.ff-swipe-yes-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: center;
    margin-bottom: 24px;
}
.ff-swipe-yes-item {
    text-align: center;
}
.ff-swipe-yes-item img {
    width: 90px;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
    display: block;
    margin-bottom: 8px;
}
.ff-swipe-yes-links {
    display: flex;
    gap: 6px;
    justify-content: center;
    flex-wrap: wrap;
}
.ff-swipe-yes-links a {
    font-size: 11px;
    color: #174B4C;
    text-decoration: none;
    border: 1px solid #174B4C;
    padding: 3px 8px;
    border-radius: 4px;
    font-weight: 700;
}
.ff-swipe-yes-links a:hover { background: #174B4C; color: #fff; }

.ff-swipe-badge-earned {
    margin: 20px 0;
}
.ff-swipe-badge-icon { font-size: 40px; margin-bottom: 6px; }
.ff-swipe-badge-earned p { font-weight: 700; color: #174B4C; }

.ff-swipe-feathers-earned {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 700;
    color: #E89528;
    margin: 16px 0;
}
.ff-swipe-feather-icon { font-size: 20px; }

.ff-swipe-login-prompt {
    margin-top: 24px;
    padding: 20px;
    background: #fff;
    border-radius: 12px;
    border: 1.5px solid #e0ede6;
}
.ff-swipe-login-prompt p { font-size: 14px; color: #5a6a6a; margin-bottom: 10px; }
.ff-swipe-login-link {
    display: inline-block;
    background: #174B4C;
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    padding: 10px 20px;
    border-radius: 8px;
    text-decoration: none;
}

/* ----------------------------------------------------------------
   ERROR
   ---------------------------------------------------------------- */
.ff-swipe-error {
    color: #a00;
    text-align: center;
    padding: 20px;
    font-size: 14px;
}

/* ----------------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------------- */
@media (max-width: 480px) {
    .ff-blurb-swipe-wrap { padding: 12px; }
    .ff-swipe-intro-card,
    .ff-swipe-reveal-card,
    .ff-swipe-end-card { padding: 28px 20px; }
    .ff-swipe-blurb { font-size: 15px; }
    .ff-swipe-btn { min-width: 90px; padding: 14px 18px; }
}
