/* ============================================================
   Tony — Micuțul Campion | Story Theme
   Primary: #5BC8F5 (sky blue from logo)
   Secondary: #F4A261 (warm amber)
   ============================================================ */

:root {
    --tony-blue: #5BC8F5;
    --tony-blue-dark: #2baad8;
    --tony-blue-deep: #0a4d7a;
    --tony-warm: #F4A261;
    --tony-warm-dark: #e07d2e;
    --tony-deep: #1a2744;
    --tony-pale: #f0f9ff;
    --tony-cream: #fffcfa;
    --tony-text: #2d3748;
    --tony-text-light: #5a6a7e;
    --tony-white: #ffffff;
    --tony-shadow: 0 20px 60px rgba(91, 200, 245, 0.13);
    --tony-shadow-warm: 0 20px 60px rgba(244, 162, 97, 0.13);
    --tony-radius: 24px;
    --tony-radius-sm: 14px;
}

/* Override base theme vars to Tony colours */
:root {
    --mc-blue: #5BC8F5;
    --mc-secondary: #F4A261;
    --accent-color: #F4A261;
}

/* ===== GLOBAL OVERRIDES ===== */

/* Remove the old blue-green body gradient completely */
body {
    background: #ffffff !important;
    background-image: none !important;
    background-color: #ffffff !important;
    color: var(--tony-text) !important;
}

/* All headings: use dark color — override the old --mc-blue heading rule */
h1, h2, h3, h4, h5, h6 {
    color: var(--tony-deep);
}

/* Main wrapper: ensure solid white, no leaking */
#main-wrapper {
    background: #ffffff !important;
    padding-top: 0 !important;
}

/* Sections: ensure white baseline so body gradient never bleeds */
.tony-chapter {
    background: #ffffff;
}

/* ===== HEADER ===== */
#site-header {
    background: rgba(255, 255, 255, 0.97) !important;
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(91, 200, 245, 0.2) !important;
    position: sticky !important;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 20px rgba(91, 200, 245, 0.1);
}

/* ===== HERO ===== */
.tony-hero {
    min-height: 100vh;
    background: linear-gradient(160deg, #e4f5fe 0%, #f0f9ff 45%, #fff8f4 100%);
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    padding: 120px 0 80px;
}

.tony-hero::before {
    content: '';
    position: absolute;
    top: -40%;
    right: -15%;
    width: 700px;
    height: 700px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(91, 200, 245, 0.18) 0%, transparent 70%);
    pointer-events: none;
}

.tony-hero::after {
    content: '';
    position: absolute;
    bottom: -25%;
    left: -10%;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(244, 162, 97, 0.14) 0%, transparent 70%);
    pointer-events: none;
}

.tony-hero-inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.tony-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(91, 200, 245, 0.15);
    border: 1px solid rgba(91, 200, 245, 0.35);
    color: var(--tony-blue-dark);
    border-radius: 100px;
    padding: 7px 18px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.5px;
    margin-bottom: 24px;
}

.tony-hero-title {
    font-size: clamp(2.4rem, 5vw, 4rem);
    font-weight: 700;
    line-height: 1.15;
    color: var(--tony-deep);
    margin-bottom: 20px;
}

.tony-hero-title span {
    color: var(--tony-blue-dark);
}

.tony-hero-subtitle {
    font-size: 1.15rem;
    line-height: 1.75;
    color: var(--tony-text-light);
    margin-bottom: 36px;
    max-width: 480px;
}

.tony-hero-actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.tony-hero-visual {
    display: flex;
    justify-content: center;
    align-items: center;
}

.tony-logo-wrap {
    position: relative;
    animation: tony-float 4s ease-in-out infinite;
}

.tony-logo-wrap img {
    max-width: 380px;
    width: 100%;
    filter: drop-shadow(0 30px 60px rgba(91, 200, 245, 0.3));
}

@keyframes tony-float {
    0%, 100% { transform: translateY(0); }
    50%       { transform: translateY(-18px); }
}

/* floating hearts */
.tony-hearts {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}

.tony-heart {
    position: absolute;
    animation: tony-heart-float linear infinite;
    opacity: 0.55;
    user-select: none;
}

.tony-heart:nth-child(1) { left: 8%;  font-size: 18px; animation-duration: 9s;  animation-delay: 0s; }
.tony-heart:nth-child(2) { left: 28%; font-size: 14px; animation-duration: 11s; animation-delay: 2s; }
.tony-heart:nth-child(3) { left: 55%; font-size: 22px; animation-duration: 8s;  animation-delay: 1s; }
.tony-heart:nth-child(4) { left: 78%; font-size: 16px; animation-duration: 12s; animation-delay: 3s; }
.tony-heart:nth-child(5) { left: 45%; font-size: 12px; animation-duration: 7s;  animation-delay: 4.5s; }

@keyframes tony-heart-float {
    0%   { transform: translateY(110vh) rotate(0deg);  opacity: 0.55; }
    100% { transform: translateY(-10vh)  rotate(25deg); opacity: 0; }
}

/* ===== BUTTONS ===== */
.tony-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 100px;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none !important;
    transition: all 0.28s ease;
    cursor: pointer;
    border: none;
}

.tony-btn-primary {
    background: var(--tony-blue-dark);
    color: #fff !important;
    box-shadow: 0 8px 24px rgba(43, 170, 216, 0.35);
}
.tony-btn-primary:hover {
    background: var(--tony-blue-deep);
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(43, 170, 216, 0.45);
    color: #fff !important;
}

.tony-btn-warm {
    background: var(--tony-warm);
    color: #fff !important;
    box-shadow: 0 8px 24px rgba(244, 162, 97, 0.35);
}
.tony-btn-warm:hover {
    background: var(--tony-warm-dark);
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(244, 162, 97, 0.45);
    color: #fff !important;
}

.tony-btn-outline {
    background: transparent;
    color: var(--tony-blue-dark) !important;
    border: 2px solid var(--tony-blue);
}
.tony-btn-outline:hover {
    background: var(--tony-blue);
    color: #fff !important;
    transform: translateY(-2px);
}

.tony-btn-white {
    background: #fff;
    color: var(--tony-warm-dark) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
}
.tony-btn-white:hover {
    background: #fff8f4;
    color: var(--tony-warm-dark) !important;
    transform: translateY(-2px);
}

.tony-btn-ghost-white {
    background: rgba(255, 255, 255, 0.15);
    color: #fff !important;
    border: 2px solid rgba(255, 255, 255, 0.4);
}
.tony-btn-ghost-white:hover {
    background: rgba(255, 255, 255, 0.28);
    color: #fff !important;
    transform: translateY(-2px);
}

/* ===== CHAPTER SYSTEM ===== */
.tony-chapter {
    padding: 88px 0;
    position: relative;
}

.tony-chapter-alt  { background: var(--tony-pale); }
.tony-chapter-warm { background: var(--tony-cream); }
.tony-chapter-dark { background: var(--tony-deep); color: #fff; }

.tony-chapter-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    color: var(--tony-blue-dark);
    margin-bottom: 16px;
}
.tony-chapter-dark .tony-chapter-label { color: var(--tony-blue); }

.tony-chapter-title {
    font-size: clamp(1.8rem, 3.5vw, 2.8rem);
    font-weight: 700;
    line-height: 1.2;
    color: var(--tony-deep);
    margin-bottom: 20px;
}
.tony-chapter-dark .tony-chapter-title { color: #fff; }

.tony-chapter-intro {
    font-size: 1.1rem;
    line-height: 1.8;
    color: var(--tony-text-light);
    max-width: 700px;
}
.tony-chapter-dark .tony-chapter-intro { color: rgba(255,255,255,0.75); }

/* ===== QUOTE BLOCKS ===== */
.tony-quote {
    background: #fff;
    border-left: 5px solid var(--tony-blue);
    border-radius: 0 var(--tony-radius-sm) var(--tony-radius-sm) 0;
    padding: 28px 32px 28px 40px;
    margin: 32px 0;
    box-shadow: var(--tony-shadow);
    position: relative;
}

.tony-quote::before {
    content: '\201C';
    position: absolute;
    top: -8px;
    left: 20px;
    font-size: 90px;
    color: var(--tony-blue);
    opacity: 0.13;
    font-family: Georgia, serif;
    line-height: 1;
}

.tony-quote p {
    font-size: 1.1rem;
    line-height: 1.8;
    color: var(--tony-text);
    font-style: italic;
    margin: 0;
    position: relative;
    z-index: 1;
}

.tony-quote-warm {
    border-left-color: var(--tony-warm);
}
.tony-quote-warm::before { color: var(--tony-warm); }

/* ===== NARRATIVE TEXT ===== */
.tony-narrative {
    font-size: 1.05rem;
    line-height: 1.9;
    color: var(--tony-text);
}
.tony-narrative p { margin-bottom: 20px; }
.tony-narrative strong { color: var(--tony-deep); }

/* ===== STATS ROW ===== */
.tony-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 20px;
    margin: 48px 0 0;
}

.tony-stat {
    background: #fff;
    border-radius: var(--tony-radius-sm);
    padding: 28px 20px;
    text-align: center;
    box-shadow: var(--tony-shadow);
    border-top: 3px solid var(--tony-blue);
}

.tony-stat-value {
    font-size: 2rem;
    font-weight: 700;
    color: var(--tony-blue-dark);
    display: block;
    margin-bottom: 6px;
}

.tony-stat-label {
    font-size: 13px;
    color: var(--tony-text-light);
    line-height: 1.45;
}

/* ===== DIAGNOSIS CARD ===== */
.tony-diagnosis-card {
    background: #fff;
    border-radius: var(--tony-radius);
    padding: 32px;
    box-shadow: var(--tony-shadow);
}

.tony-diagnosis-card h3 {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--tony-deep);
    margin-bottom: 20px;
}

.tony-tag-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.tony-tag-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    color: var(--tony-text);
}

.tony-tag {
    background: rgba(91, 200, 245, 0.14);
    color: var(--tony-blue-dark);
    border-radius: 100px;
    padding: 4px 12px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    flex-shrink: 0;
}

/* ===== THERAPY JOURNEY ===== */
.tony-therapy-chapters {
    display: flex;
    flex-direction: column;
    gap: 80px;
    margin-top: 64px;
}

.tony-therapy-chapter {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: center;
}

.tony-therapy-chapter:nth-child(even) {
    direction: rtl;
}
.tony-therapy-chapter:nth-child(even) > * {
    direction: ltr;
}

/* photo grid */
.tony-therapy-photos {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 12px;
}

.tony-photo {
    border-radius: var(--tony-radius-sm);
    overflow: hidden;
    background: linear-gradient(135deg, #e4f5fe, #cce8f8);
    aspect-ratio: 4 / 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--tony-blue-dark);
    font-size: 12px;
    font-weight: 500;
    text-align: center;
    padding: 16px;
    border: 2px dashed rgba(91, 200, 245, 0.4);
    transition: border-color 0.25s;
}

.tony-photo:first-child {
    grid-column: 1 / -1;
    aspect-ratio: 16 / 7;
}

.tony-photo svg {
    width: 36px;
    height: 36px;
    margin-bottom: 8px;
    opacity: 0.45;
}

.tony-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--tony-radius-sm);
}

/* photo dark (inside dark card) */
.tony-photo--dark {
    background: rgba(255,255,255,0.08);
    border-color: rgba(255,255,255,0.22);
    color: rgba(255,255,255,0.65);
}

/* city badge */
.tony-city-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--tony-blue-dark);
    color: #fff;
    border-radius: 100px;
    padding: 5px 16px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.tony-city-badge--warm { background: var(--tony-warm); }

.tony-therapy-period {
    font-size: 13px;
    color: var(--tony-blue-dark);
    font-weight: 600;
    margin-bottom: 14px;
}

.tony-therapy-title {
    font-size: 1.55rem;
    font-weight: 700;
    color: var(--tony-deep);
    margin-bottom: 16px;
    line-height: 1.3;
}

/* ===== VIENNA HIGHLIGHT ===== */
.tony-highlight {
    background: linear-gradient(135deg, var(--tony-blue-deep) 0%, #0a6fa3 100%);
    border-radius: var(--tony-radius);
    padding: 56px;
    color: #fff;
    position: relative;
    overflow: hidden;
}

.tony-highlight::after {
    content: '';
    position: absolute;
    top: -30%;
    right: -8%;
    width: 350px;
    height: 350px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.05);
    pointer-events: none;
}

.tony-highlight-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    border-radius: 100px;
    padding: 5px 16px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    margin-bottom: 18px;
    border: 1px solid rgba(255, 255, 255, 0.25);
}

.tony-highlight-title {
    font-size: 1.9rem;
    font-weight: 700;
    margin-bottom: 18px;
    line-height: 1.25;
}

.tony-highlight p {
    font-size: 1.05rem;
    line-height: 1.8;
    opacity: 0.9;
    margin-bottom: 16px;
}

.tony-highlight-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}

/* ===== CRISIS CARD ===== */
.tony-crisis {
    background: linear-gradient(135deg, #fff2f2, #fff8f4);
    border-radius: var(--tony-radius);
    padding: 52px;
    border-left: 6px solid #e05c5c;
}

.tony-crisis-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(224, 92, 92, 0.12);
    color: #c0392b;
    border-radius: 100px;
    padding: 5px 16px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    margin-bottom: 18px;
}

.tony-crisis-title {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--tony-deep);
    margin-bottom: 20px;
}

/* ===== BUCHAREST THERAPY TAGS ===== */
.tony-therapy-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}

.tony-therapy-tag {
    background: rgba(91, 200, 245, 0.13);
    color: var(--tony-blue-dark);
    border-radius: 100px;
    padding: 7px 16px;
    font-size: 13px;
    font-weight: 600;
}

.tony-cost-box {
    margin-top: 20px;
    padding: 18px 20px;
    background: var(--tony-pale);
    border-radius: var(--tony-radius-sm);
    border-left: 4px solid var(--tony-blue);
}

.tony-cost-box .amount {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--tony-blue-dark);
    display: block;
}

.tony-cost-box .label {
    font-size: 13px;
    color: var(--tony-text-light);
}

/* ===== TWO-COL GRID ===== */
.tony-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
}

/* ===== DIVIDER ===== */
.tony-divider {
    display: flex;
    align-items: center;
    gap: 16px;
    color: var(--tony-text-light);
    font-size: 20px;
}

.tony-divider::before,
.tony-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: rgba(91, 200, 245, 0.28);
}

/* ===== DONATE CTA ===== */
.tony-donate {
    background: linear-gradient(135deg, var(--tony-warm) 0%, #e07d2e 100%);
    border-radius: var(--tony-radius);
    padding: 72px 56px;
    text-align: center;
    color: #fff;
    position: relative;
    overflow: hidden;
}

.tony-donate::before {
    content: '🤍';
    position: absolute;
    font-size: 220px;
    top: -30px;
    right: -10px;
    opacity: 0.07;
    pointer-events: none;
    line-height: 1;
}

.tony-donate-title {
    font-size: clamp(1.8rem, 3.5vw, 2.6rem);
    font-weight: 700;
    margin-bottom: 18px;
    line-height: 1.25;
}

.tony-donate > p {
    font-size: 1.1rem;
    opacity: 0.9;
    margin-bottom: 36px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.tony-donate-actions {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

/* ===== SOCIAL ===== */
.tony-social-section {
    margin-top: 64px;
    text-align: center;
}

.tony-social-section h3 {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--tony-deep);
    margin-bottom: 6px;
}

.tony-social-section p {
    color: var(--tony-text-light);
    margin-bottom: 28px;
}

.tony-social-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    max-width: 580px;
    margin: 0 auto;
}

.tony-social-card {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #fff;
    border-radius: var(--tony-radius-sm);
    padding: 20px 24px;
    text-decoration: none !important;
    color: var(--tony-text) !important;
    box-shadow: var(--tony-shadow);
    transition: all 0.28s;
    border: 2px solid transparent;
}

.tony-social-card:hover {
    transform: translateY(-4px);
    border-color: var(--tony-blue);
}

.tony-social-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #fff;
}

.tony-social-icon--ig {
    background: linear-gradient(135deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
}

.tony-social-icon--fb {
    background: #1877f2;
}

.tony-social-card strong {
    display: block;
    font-weight: 700;
    font-size: 14px;
    color: var(--tony-deep);
}

.tony-social-card span {
    font-size: 12px;
    color: var(--tony-text-light);
}

/* ===== NAV ACTIVE STATE ===== */
.navbar-nav .nav-link.active,
.navbar-nav .nav-item.active > .nav-link,
.navbar-nav .nav-link:hover {
    color: var(--tony-warm) !important;
}

/* ===== FOOTER OVERRIDE ===== */
.mc-footer {
    background: var(--tony-deep) !important;
}

.mc-footer p,
.mc-footer li,
.mc-footer-bottom {
    color: rgba(255, 255, 255, 0.6) !important;
}

.mc-footer-title {
    color: #fff !important;
}

.mc-footer-links a {
    color: rgba(255, 255, 255, 0.65) !important;
}

.mc-footer-links a:hover {
    color: var(--tony-blue) !important;
}

.mc-footer-bottom {
    border-top-color: rgba(255, 255, 255, 0.08) !important;
}

/* Contact card din footer are fundal alb — textul trebuie să fie întunecat */
.mc-footer-contact-card .mc-footer-title {
    color: var(--tony-deep) !important;
}

.mc-footer-contact-card .mc-footer-links li,
.mc-footer-contact-card .mc-footer-links li span {
    color: var(--tony-deep) !important;
}

.mc-footer-contact-card .mc-footer-links a {
    color: var(--tony-deep) !important;
}

.mc-footer-contact-card .mc-footer-links a:hover {
    color: var(--tony-blue) !important;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 991px) {
    .tony-hero-inner {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 40px;
    }

    .tony-hero-subtitle {
        margin-left: auto;
        margin-right: auto;
    }

    .tony-hero-actions {
        justify-content: center;
    }

    .tony-therapy-chapter,
    .tony-therapy-chapter:nth-child(even) {
        grid-template-columns: 1fr;
        direction: ltr;
    }

    .tony-highlight-grid,
    .tony-two-col {
        grid-template-columns: 1fr;
    }

    .tony-highlight {
        padding: 36px 28px;
    }

    .tony-social-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .tony-chapter {
        padding: 60px 0;
    }

    .tony-hero {
        padding: 100px 0 60px;
        min-height: auto;
    }

    .tony-crisis,
    .tony-donate {
        padding: 36px 24px;
    }

    .tony-therapy-photos {
        grid-template-columns: 1fr;
    }

    .tony-therapy-photos .tony-photo:first-child {
        grid-column: auto;
        aspect-ratio: 16 / 9;
    }
}

/* ============================================================
   INNER PAGE HERO
   ============================================================ */

.tony-inner-hero {
    background: linear-gradient(135deg, var(--tony-blue-deep) 0%, #0e6399 60%, var(--tony-blue-dark) 100%);
    padding: 80px 0 70px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.tony-inner-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 50%, rgba(91,200,245,.18) 0%, transparent 60%),
        radial-gradient(circle at 80% 30%, rgba(244,162,97,.12) 0%, transparent 50%);
    pointer-events: none;
}

.tony-inner-hero-content {
    position: relative;
    z-index: 1;
    max-width: 700px;
    margin: 0 auto;
}

.tony-inner-hero .tony-chapter-label {
    color: rgba(255,255,255,.7);
    border-color: rgba(255,255,255,.25);
    background: rgba(255,255,255,.1);
    display: inline-block;
    margin-bottom: 18px;
}

.tony-inner-hero-title {
    font-size: clamp(2rem, 5vw, 3rem);
    font-weight: 800;
    color: #fff;
    line-height: 1.2;
    margin: 0 0 18px;
}

.tony-inner-hero-subtitle {
    font-size: 1.1rem;
    color: rgba(255,255,255,.82);
    line-height: 1.6;
    margin: 0;
}

/* ============================================================
   DONATE PAGE GRID
   ============================================================ */

.tony-donate-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 28px;
    margin-top: 48px;
}

.tony-donate-card {
    background: #fff;
    border-radius: var(--tony-radius);
    padding: 32px;
    box-shadow: var(--tony-shadow);
}

.tony-donate-card--soft {
    background: var(--tony-pale);
    box-shadow: none;
    border: 1px solid rgba(91,200,245,.18);
}

.tony-donate-card-icon {
    font-size: 2.2rem;
    margin-bottom: 14px;
    display: block;
}

.tony-donate-card h3 {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--tony-deep);
    margin-bottom: 10px;
}

.tony-donate-card p {
    font-size: .95rem;
    color: var(--tony-text-light);
    margin-bottom: 0;
}

.tony-bank-details {
    margin-top: 20px;
    border-top: 1px solid rgba(91,200,245,.15);
    padding-top: 16px;
}

.tony-bank-row {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(0,0,0,.05);
}

.tony-bank-row:last-child {
    border-bottom: none;
}

.tony-bank-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--tony-text-light);
    font-weight: 600;
}

.tony-bank-value {
    font-size: .9rem;
    color: var(--tony-deep);
    font-weight: 500;
}

.tony-bank-iban {
    font-family: monospace;
    font-size: .85rem;
    color: var(--tony-blue-dark);
    letter-spacing: .05em;
}

/* ============================================================
   DONATE USES GRID
   ============================================================ */

.tony-donate-uses {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 28px;
    margin-top: 48px;
}

.tony-donate-use {
    text-align: center;
    padding: 28px 20px;
    background: #fff;
    border-radius: var(--tony-radius);
    box-shadow: 0 4px 20px rgba(0,0,0,.05);
}

.tony-donate-use-icon {
    font-size: 2.4rem;
    display: block;
    margin-bottom: 14px;
}

.tony-donate-use h3 {
    font-size: .95rem;
    font-weight: 700;
    color: var(--tony-deep);
    margin-bottom: 8px;
}

.tony-donate-use p {
    font-size: .88rem;
    color: var(--tony-text-light);
    margin: 0;
    line-height: 1.55;
}

/* ============================================================
   STEPS (formular page)
   ============================================================ */

.tony-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 28px;
    margin-top: 48px;
}

.tony-step {
    text-align: center;
    padding: 36px 24px;
    background: #fff;
    border-radius: var(--tony-radius);
    box-shadow: var(--tony-shadow);
    position: relative;
}

.tony-step-number {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--tony-blue), var(--tony-blue-dark));
    color: #fff;
    font-size: 1.4rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 18px;
    box-shadow: 0 8px 20px rgba(43,170,216,.3);
}

.tony-step h3 {
    font-size: 1rem;
    font-weight: 700;
    color: var(--tony-deep);
    margin-bottom: 10px;
}

.tony-step p {
    font-size: .9rem;
    color: var(--tony-text-light);
    line-height: 1.55;
    margin: 0;
}

/* ============================================================
   DOWNLOAD BOX
   ============================================================ */

.tony-download-box {
    display: flex;
    align-items: center;
    gap: 20px;
    background: var(--tony-pale);
    border: 1px solid rgba(91,200,245,.25);
    border-radius: var(--tony-radius-sm);
    padding: 24px 28px;
    flex-wrap: wrap;
}

.tony-download-icon {
    font-size: 2.2rem;
    flex-shrink: 0;
}

.tony-download-box > div {
    flex: 1;
}

.tony-download-box h3 {
    font-size: 1rem;
    font-weight: 700;
    color: var(--tony-deep);
    margin: 0 0 4px;
}

.tony-download-box p {
    font-size: .88rem;
    color: var(--tony-text-light);
    margin: 0;
}

/* ============================================================
   CONTACT PAGE
   ============================================================ */

.tony-contact-layout {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 36px;
    align-items: start;
}

.tony-contact-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.tony-contact-list li {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(0,0,0,.07);
    font-size: .95rem;
    color: var(--tony-text);
}

.tony-contact-list li:last-child {
    border-bottom: none;
}

.tony-contact-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--tony-text-light);
    font-weight: 600;
}

.tony-contact-form-card h3 {
    margin-bottom: 6px;
}

.tony-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

.tony-form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 16px;
}

.tony-form-group label {
    font-size: .85rem;
    font-weight: 600;
    color: var(--tony-deep);
}

.tony-form-group input,
.tony-form-group textarea {
    border: 1.5px solid rgba(91,200,245,.3);
    border-radius: var(--tony-radius-sm);
    padding: 12px 16px;
    font-size: .95rem;
    color: var(--tony-text);
    background: #fff;
    transition: border-color .2s;
    outline: none;
    font-family: inherit;
    width: 100%;
    box-sizing: border-box;
}

.tony-form-group input:focus,
.tony-form-group textarea:focus {
    border-color: var(--tony-blue-dark);
}

.tony-form-group textarea {
    resize: vertical;
}

.tony-form-actions {
    margin-top: 8px;
}

.tony-form-group--gdpr {
    margin-top: 4px;
}

.tony-gdpr-label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    font-size: .85rem;
    color: #4a5568;
    font-weight: 400;
    line-height: 1.5;
}

.tony-gdpr-label input[type="checkbox"] {
    margin-top: 2px;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    accent-color: var(--tony-blue-dark);
    cursor: pointer;
}

.tony-gdpr-label a {
    color: var(--tony-blue-dark);
    text-decoration: underline;
}

.tony-form-message {
    padding: 14px 20px;
    border-radius: var(--tony-radius-sm);
    font-size: .9rem;
    margin-bottom: 20px;
    font-weight: 500;
}

.tony-form-message--success {
    background: #d1fae5;
    color: #065f46;
    border: 1px solid #a7f3d0;
}

.tony-form-message--error {
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #fca5a5;
}

/* Tony btn outline variant */
.tony-btn-outline {
    background: transparent;
    border: 2px solid var(--tony-blue-dark);
    color: var(--tony-blue-dark);
    border-radius: 50px;
    padding: 13px 28px;
    font-size: .95rem;
    font-weight: 700;
    text-decoration: none;
    display: inline-block;
    transition: background .2s, color .2s;
    cursor: pointer;
}

.tony-btn-outline:hover {
    background: var(--tony-blue-dark);
    color: #fff;
    text-decoration: none;
}

@media (max-width: 900px) {
    .tony-contact-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .tony-form-row {
        grid-template-columns: 1fr;
    }

    .tony-inner-hero {
        padding: 60px 0 50px;
    }

    .tony-steps,
    .tony-donate-grid,
    .tony-donate-uses {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   PHOTO CAROUSEL (with arrows)
   ============================================================ */

.tony-carousel {
    position: relative;
    width: 100%;
    margin-top: 32px;
    overflow: visible;
}

.tony-carousel-viewport {
    overflow: hidden;
    width: 100%;
    border-radius: var(--tony-radius);
}

.tony-carousel-track {
    display: flex;
    align-items: center;
    gap: 14px;
    transition: transform .45s cubic-bezier(.4,0,.2,1);
    will-change: transform;
}

.tony-carousel-slide {
    flex: 0 0 calc(25% - 11px);
    aspect-ratio: 1 / 1;
    border-radius: var(--tony-radius-sm);
    overflow: hidden;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tony-carousel-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    transition: transform .35s ease;
}

.tony-carousel-slide:hover img {
    transform: scale(1.04);
}

.tony-carousel-controls {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    margin-top: 20px;
}

.tony-carousel-btn {
    position: static;
    transform: none;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: none;
    background: var(--tony-blue-dark);
    color: #fff;
    font-size: 1.6rem;
    cursor: pointer;
    box-shadow: 0 6px 20px rgba(43,170,216,.35);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s, transform .2s, box-shadow .2s;
    flex-shrink: 0;
}

.tony-carousel-btn:hover {
    background: var(--tony-warm);
    transform: scale(1.1);
    box-shadow: 0 8px 24px rgba(244,162,97,.45);
}

.tony-carousel-prev,
.tony-carousel-next {
    left: auto;
    right: auto;
}

/* dark section variant */
.tony-chapter-dark .tony-carousel-btn {
    background: rgba(255,255,255,.18);
    box-shadow: 0 6px 20px rgba(0,0,0,.3);
}
.tony-chapter-dark .tony-carousel-btn:hover {
    background: var(--tony-warm);
    box-shadow: 0 8px 24px rgba(244,162,97,.45);
}

/* warm section variant */
.tony-chapter-warm .tony-carousel-btn {
    background: var(--tony-warm-dark);
    box-shadow: 0 6px 20px rgba(224,125,46,.35);
}
.tony-chapter-warm .tony-carousel-btn:hover {
    background: var(--tony-blue-dark);
    box-shadow: 0 8px 24px rgba(43,170,216,.45);
}

/* highlight (Viena) variant */
.tony-highlight .tony-carousel-btn {
    background: rgba(255,255,255,.2);
}
.tony-highlight .tony-carousel-btn:hover {
    background: var(--tony-warm);
}

/* în layout-ul two-col (home terapii) — 2 poze pe desktop */
.tony-loc .tony-carousel-slide {
    flex: 0 0 calc(50% - 7px);
}

@media (max-width: 900px) {
    .tony-carousel-slide { flex: 0 0 calc(50% - 7px); }
}

@media (max-width: 540px) {
    .tony-carousel-slide,
    .tony-loc .tony-carousel-slide { flex: 0 0 100%; }
    .tony-carousel-btn { width: 48px; height: 48px; }
}

/* ============================================================
   PHOTO GALLERY (full-page, all images per city)
   ============================================================ */

.tony-photo-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 10px;
    margin-top: 28px;
}

/* In a gallery, all items equal height — override first-child rule */
.tony-photo-gallery .tony-photo,
.tony-photo-gallery .tony-photo:first-child {
    grid-column: auto;
    aspect-ratio: 4 / 3;
}

@media (max-width: 600px) {
    .tony-photo-gallery {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ============================================================
   DARK CHAPTER THEME
   ============================================================ */

.tony-chapter-dark {
    background: linear-gradient(135deg, var(--tony-blue-deep) 0%, #0a6fa3 100%);
}

.tony-chapter-dark .tony-therapy-title,
.tony-chapter-dark h2,
.tony-chapter-dark h3 {
    color: #fff;
}

.tony-chapter-dark .tony-narrative p {
    color: rgba(255,255,255,.82);
}

.tony-chapter-dark .tony-therapy-period {
    color: rgba(91,200,245,.9);
}

.tony-chapter-dark .tony-chapter-label {
    color: var(--tony-blue);
}

.tony-chapter-dark .tony-therapy-tag {
    background: rgba(255,255,255,.12);
    color: #fff;
    border-color: rgba(255,255,255,.2);
}

.tony-chapter-dark .tony-cost-box {
    background: rgba(255,255,255,.1);
    border-color: rgba(255,255,255,.2);
}

.tony-chapter-dark .tony-cost-box .amount {
    color: #fff;
}

.tony-chapter-dark .tony-cost-box .label {
    color: rgba(255,255,255,.75);
}

.tony-chapter-dark .tony-quote {
    border-left-color: rgba(91,200,245,.5);
    background: rgba(255,255,255,.05);
}

.tony-chapter-dark .tony-quote p {
    color: rgba(255,255,255,.85);
}

/* ============================================================
   LOCATION LAYOUT (.tony-loc)
   ============================================================ */

.tony-loc {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: center;
}

/* flip: photos go left on desktop */
.tony-loc--flip .tony-therapy-photos {
    order: -1;
}

@media (max-width: 860px) {
    .tony-loc,
    .tony-loc--flip {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    /* always show photos AFTER text on mobile */
    .tony-loc--flip .tony-therapy-photos {
        order: 1;
    }
}

/* white outline button for dark sections */
.tony-btn-outline-white {
    background: transparent;
    border: 2px solid rgba(255,255,255,.7);
    color: #fff;
    border-radius: 50px;
    padding: 13px 28px;
    font-size: .95rem;
    font-weight: 700;
    text-decoration: none;
    display: inline-block;
    transition: background .2s, color .2s;
    cursor: pointer;
}

.tony-btn-outline-white:hover {
    background: #fff;
    color: var(--tony-blue-deep);
    text-decoration: none;
}

/* ============================================================
   DIAGNOSIS SECTION BOTTOM ROW
   ============================================================ */

.tony-diag-bottom {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
    align-items: stretch;
    margin-top: 48px;
    padding-top: 40px;
    border-top: 1px solid rgba(91,200,245,.2);
}

.tony-diag-quote {
    background: linear-gradient(135deg, var(--tony-blue-deep), #0e6399);
    border-radius: var(--tony-radius);
    padding: 32px 28px;
    color: #fff;
    font-size: 1.1rem;
    line-height: 1.8;
    font-style: italic;
    font-family: Georgia, 'Times New Roman', serif;
    position: relative;
    display: flex;
    align-items: center;
}

.tony-diag-quote::before {
    content: '\201E';
    position: absolute;
    top: -10px;
    left: 20px;
    font-size: 5rem;
    line-height: 1;
    color: rgba(255,255,255,.25);
    font-style: normal;
    font-family: Georgia, serif;
}

.tony-diag-quote p {
    margin: 0;
    position: relative;
    z-index: 1;
}

.tony-diag-photos {
    display: contents;
}

.tony-diag-photos .tony-photo {
    aspect-ratio: unset;
    height: 100%;
    min-height: 220px;
    border: none;
    background: none;
    padding: 0;
}

.tony-diag-photos .tony-photo:first-child {
    grid-column: auto;
    aspect-ratio: unset;
}

.tony-diag-photos .tony-photo img {
    border-radius: var(--tony-radius);
}

@media (max-width: 860px) {
    .tony-diag-bottom {
        grid-template-columns: 1fr 1fr;
    }
    .tony-diag-quote {
        grid-column: 1 / -1;
    }
}

/* ============================================================
   STORY PHOTO (single portrait in chapter 1)
   ============================================================ */

.tony-story-photo {
    border-radius: var(--tony-radius);
    overflow: hidden;
    box-shadow: 0 16px 48px rgba(0,0,0,.13);
    width: 100%;
    height: 420px;
}

.tony-story-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
}

/* ============================================================
   PHOTO SLIDER (infinite auto-scroll marquee)
   ============================================================ */

.tony-slider {
    overflow: hidden;
    width: 100%;
    margin-top: 36px;
    /* Fade edges */
    -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%);
    mask-image: linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%);
}

.tony-slider-track {
    display: flex;
    gap: 14px;
    width: max-content;
    animation: tony-marquee linear infinite;
}


.tony-slide {
    flex-shrink: 0;
    width: 320px;
    height: 240px;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 18px rgba(0,0,0,.10);
}

.tony-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}

.tony-slide:hover img {
    transform: scale(1.05);
}

@keyframes tony-marquee {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* ============================================================
   READING PROGRESS BAR
   ============================================================ */

#tony-reading-bar {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    width: 0%;
    background: linear-gradient(to right, var(--tony-blue), var(--tony-warm));
    z-index: 99999;
    transition: width .1s linear;
    pointer-events: none;
}

/* ============================================================
   FADE-IN ON SCROLL
   ============================================================ */

.tony-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .65s ease, transform .65s ease;
}

.tony-reveal.tony-visible {
    opacity: 1;
    transform: translateY(0);
}

/* ============================================================
   CAVEAT FONT — quotes & chapter labels
   ============================================================ */

.tony-quote p,
.tony-quote-warm p {
    font-family: 'Caveat', cursive;
    font-size: 1.4rem;
    line-height: 1.6;
    font-style: normal;
}

.tony-chapter-label {
    font-family: 'Caveat', cursive;
    font-size: 1rem;
    letter-spacing: .02em;
}

.tony-inner-hero .tony-chapter-label {
    font-size: 1.05rem;
}

/* ============================================================
   DROP CAP — first letter of chapter opening paragraphs
   ============================================================ */

.tony-chapter-open > p:first-of-type::first-letter {
    font-size: 3.8em;
    font-weight: 800;
    float: left;
    line-height: 0.78;
    margin: 4px 10px 0 0;
    color: var(--tony-blue-deep);
    font-family: Georgia, 'Times New Roman', serif;
}

/* ============================================================
   QUOTE RESTYLING — sepia/crem, book-like
   ============================================================ */

.tony-quote {
    background: #fdf8f0;
    border-left: 4px solid var(--tony-warm);
    border-radius: 0 var(--tony-radius-sm) var(--tony-radius-sm) 0;
    padding: 24px 32px 24px 40px;
    position: relative;
}

.tony-quote::before {
    content: '\201C';
    font-family: Georgia, serif;
    font-size: 7rem;
    color: var(--tony-warm);
    opacity: 0.25;
    position: absolute;
    top: -12px;
    left: 12px;
    line-height: 1;
    pointer-events: none;
}

.tony-quote p {
    color: var(--tony-deep);
    position: relative;
    z-index: 1;
}

/* quote inside dark/warm sections */
.tony-chapter-dark .tony-quote {
    background: rgba(255,255,255,.08);
    border-left-color: var(--tony-warm);
}

.tony-chapter-dark .tony-quote p {
    color: rgba(255,255,255,.88);
}

/* ============================================================
   CHAPTER SEPARATOR ORNAMENT
   ============================================================ */

.tony-chapter-sep {
    text-align: center;
    padding: 8px 0;
    font-size: 1.2rem;
    color: var(--tony-warm);
    opacity: 0.55;
    letter-spacing: 12px;
    user-select: none;
}

/* ============================================================
   DECORATIVE BG CHAPTER NUMBER
   ============================================================ */

.tony-chapter-num {
    position: absolute;
    right: 0;
    top: -20px;
    font-size: clamp(5rem, 12vw, 10rem);
    font-weight: 900;
    color: var(--tony-blue);
    opacity: 0.05;
    line-height: 1;
    pointer-events: none;
    user-select: none;
    z-index: 0;
}

.tony-chapter > .container,
.tony-chapter-alt > .container,
.tony-chapter-warm > .container,
.tony-chapter-dark > .container {
    position: relative;
}

/* ============================================================
   TIMELINE MARKER (therapy sections)
   ============================================================ */

.tony-timeline-marker {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 28px;
}

.tony-timeline-dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--tony-warm);
    flex-shrink: 0;
    box-shadow: 0 0 0 4px rgba(244,162,97,.22);
}

.tony-chapter-dark .tony-timeline-dot {
    background: #fff;
    box-shadow: 0 0 0 4px rgba(255,255,255,.18);
}

.tony-timeline-year {
    font-family: 'Caveat', cursive;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--tony-warm);
    letter-spacing: .02em;
}

.tony-chapter-dark .tony-timeline-year {
    color: rgba(255,255,255,.75);
}


/* ============================================================
   TERAPII PAGE — centrat
   ============================================================ */
#tony-terapii .tony-chapter-label,
#tony-terapii .tony-chapter-title,
#tony-terapii .tony-therapy-period,
#tony-terapii .tony-therapy-title,
#tony-terapii .tony-city-badge {
    display: block;
    text-align: center;
}

#tony-terapii .tony-narrative {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

#tony-terapii .tony-therapy-tags {
    justify-content: center;
}

#tony-terapii .tony-quote {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

/* ============================================================
   BACKGROUND CAPITOLE 2 & 3
   ============================================================ */
.tony-cap2-bg {
    background-color: var(--tony-pale) !important;
    background-image: url('../images/bg-cap2-v2.svg') !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

.tony-cap3-bg {
    background-color: var(--tony-cream) !important;
    background-image: url('../images/bg-cap3.svg') !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

.tony-cap-acasa-bg {
    background-color: var(--tony-pale) !important;
    background-image: url('../images/home.png') !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    position: relative !important;
}

.tony-cap-acasa-bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(240,249,255,0.82);
    pointer-events: none;
    z-index: 0;
}

.tony-cap-acasa-bg > .container {
    position: relative;
    z-index: 1;
}

/* ============================================================
   COMING SOON NOTICE
   ============================================================ */
.tony-coming-soon-notice {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    background: linear-gradient(135deg, #fff8f0, #fff3e6);
    border: 2px solid var(--tony-warm);
    border-radius: var(--tony-radius);
    padding: 28px 32px;
    max-width: 780px;
    margin: 0 auto;
}

.tony-coming-soon-icon {
    font-size: 2.2rem;
    line-height: 1;
    flex-shrink: 0;
    margin-top: 2px;
}

.tony-coming-soon-notice h3 {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--tony-warm-dark);
    margin: 0 0 8px;
}

.tony-coming-soon-notice p {
    font-size: 0.98rem;
    line-height: 1.7;
    color: var(--tony-text);
    margin: 0;
}

.tony-coming-soon-notice p + p {
    margin-top: 10px;
}

.tony-coming-soon-notice--warning {
    background: linear-gradient(135deg, #fff5f5, #ffe8e8);
    border-color: #e53e3e;
    max-width: 860px;
}

.tony-coming-soon-notice--warning h3 {
    color: #c53030;
}

/* ============================================================
   CAMPANII
   ============================================================ */
.tony-campaign-story {
    max-width: 820px;
    margin: 0 auto 48px;
    text-align: center;
}
.tony-campaign-story p {
    font-size: 1.05rem;
    line-height: 1.9;
    color: rgba(255,255,255,.82);
    margin-bottom: 16px;
}
.tony-campaign-story strong {
    color: var(--tony-warm);
}

.tony-campaign-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 48px;
}

@media (max-width: 900px) {
    .tony-campaign-grid { grid-template-columns: 1fr; }
}

.tony-campaign-card {
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: var(--tony-radius);
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.tony-campaign-card-header {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.tony-campaign-icon {
    font-size: 2rem;
    line-height: 1;
    flex-shrink: 0;
}

.tony-campaign-card-header h3 {
    font-size: 1.05rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 4px;
}

.tony-campaign-date {
    font-size: 0.82rem;
    color: var(--tony-warm);
    font-weight: 600;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.tony-campaign-card > p {
    font-size: 0.93rem;
    line-height: 1.7;
    color: rgba(255,255,255,.72);
    margin: 0;
    flex: 1;
}

.tony-campaign-costs {
    border-top: 1px solid rgba(255,255,255,.12);
    padding-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.tony-campaign-cost-row {
    display: flex;
    justify-content: space-between;
    font-size: 0.9rem;
    color: rgba(255,255,255,.70);
}

.tony-campaign-cost-row strong {
    color: #fff;
}

.tony-campaign-cost-total {
    border-top: 1px solid rgba(255,255,255,.15);
    padding-top: 8px;
    font-weight: 700;
}

.tony-campaign-cost-total span,
.tony-campaign-cost-total strong {
    color: var(--tony-warm);
    font-size: 1rem;
}

.tony-campaign-family-photo {
    margin: 0 auto 40px;
    max-width: 380px;
    border-radius: var(--tony-radius);
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0,0,0,.2);
}

.tony-campaign-family-photo img {
    width: 100%;
    height: auto;
    display: block;
}

.tony-campaign-total-bar {
    background: rgba(244,162,97,.12);
    border: 2px solid var(--tony-warm);
    border-radius: var(--tony-radius);
    padding: 40px;
    text-align: center;
    max-width: 680px;
    margin: 0 auto;
}

.tony-campaign-total-label {
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--tony-warm);
    margin-bottom: 8px;
}

.tony-campaign-total-amount {
    font-size: clamp(2.4rem, 5vw, 3.8rem);
    font-weight: 800;
    color: #fff;
    line-height: 1;
    margin-bottom: 16px;
}

.tony-campaign-total-bar > p {
    font-size: 0.97rem;
    line-height: 1.7;
    color: rgba(255,255,255,.75);
    margin: 0;
}
