/* ── TDC: Tea Day Competition 2026 ─────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,700;1,400&family=DM+Sans:wght@300;400;500&display=swap');

:root {
  --tdc-green-deep:  #1a4a2e;
  --tdc-green-mid:   #2e7d32;
  --tdc-green-light: #4caf50;
  --tdc-green-pale:  #e8f5e9;
  --tdc-green-mist:  #f0f7f0;
  --tdc-gold:        #c8a84b;
  --tdc-gold-light:  #fff8e1;
  --tdc-cream:       #faf8f3;
  --tdc-brown:       #5d4037;
  --tdc-text:        #2c2c2c;
  --tdc-muted:       #6b6b6b;
  --tdc-border:      #d4e8d4;
  --tdc-radius:      10px;
  --tdc-shadow:      0 2px 20px rgba(26,74,46,0.08);
}

.tdc-wrap { font-family: 'DM Sans', sans-serif; color: var(--tdc-text); max-width: 960px; margin: 0 auto; padding: 0 1rem 3rem; }

/* ── HERO ───────────────────────────────────────────────────── */
.tdc-hero { background: var(--tdc-green-deep); border-radius: 16px; padding: 5rem 2rem 4rem; text-align: center; position: relative; overflow: hidden; margin-bottom: 0; }
.tdc-hero__leaf { position: absolute; opacity: 0.08; font-size: 7rem; pointer-events: none; }
.tdc-hero__leaf--1 { top: -1rem; left: -1rem; transform: rotate(-30deg); }
.tdc-hero__leaf--2 { bottom: -1rem; right: -1rem; transform: rotate(120deg); }
.tdc-hero__leaf--3 { top: 40%; left: 80%; font-size: 5rem; transform: rotate(60deg); }
.tdc-hero__leaf::before { content: '🍃'; }
.tdc-hero__inner { position: relative; z-index: 1; }
.tdc-hero__eyebrow { font-family: 'DM Sans', sans-serif; font-size: 0.75rem; letter-spacing: 0.15em; text-transform: uppercase; color: #81c784; margin-bottom: 1rem; }
.tdc-hero__title { font-family: 'Playfair Display', serif; font-size: clamp(2.5rem, 6vw, 4.5rem); font-weight: 700; color: #f1f8e9; line-height: 1.1; margin: 0 0 0.75rem; }
.tdc-hero__theme { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(1rem, 2.5vw, 1.4rem); color: var(--tdc-gold); margin: 0 0 1.25rem; }
.tdc-hero__date { display: inline-block; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15); border-radius: 30px; padding: 0.5rem 1.25rem; font-size: 0.875rem; color: #c8e6c9; margin-bottom: 2rem; }
.tdc-hero__cta { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }

/* ── BUTTONS ────────────────────────────────────────────────── */
.tdc-btn { display: inline-block; padding: 0.75rem 2rem; border-radius: 8px; font-family: 'DM Sans', sans-serif; font-size: 0.95rem; font-weight: 500; text-decoration: none; cursor: pointer; transition: all 0.2s ease; border: 2px solid transparent; }
.tdc-btn--primary { background: var(--tdc-gold); color: #1a0e00; border-color: var(--tdc-gold); }
.tdc-btn--primary:hover { background: #e0bc5a; border-color: #e0bc5a; color: #1a0e00; transform: translateY(-1px); box-shadow: 0 4px 16px rgba(200,168,75,0.35); }
.tdc-btn--outline { background: transparent; color: #f1f8e9; border-color: rgba(255,255,255,0.4); }
.tdc-btn--outline:hover { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.7); color: #fff; }
.tdc-btn--full { width: 100%; text-align: center; }
.tdc-btn--lg { font-size: 1.1rem; padding: 1rem 2.5rem; }
.tdc-btn--verify { background: var(--tdc-green-deep); color: #fff; border-color: var(--tdc-green-deep); padding: 0.65rem 1.25rem; border-radius: 8px; font-size: 0.875rem; cursor: pointer; white-space: nowrap; }
.tdc-btn--verify:hover { background: #2e7d32; }

/* ── COUNTDOWN ──────────────────────────────────────────────── */
.tdc-countdown-section { background: var(--tdc-green-deep); padding: 2rem; text-align: center; margin-bottom: 0; border-top: 1px solid rgba(255,255,255,0.06); border-radius: 0 0 16px 16px; }
.tdc-countdown-label { color: #81c784; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.1em; margin: 0 0 1rem; }
.tdc-countdown { display: flex; justify-content: center; align-items: center; gap: 0.5rem; }
.tdc-cd-unit { text-align: center; min-width: 64px; }
.tdc-cd-num { display: block; font-family: 'Playfair Display', serif; font-size: 2.5rem; font-weight: 700; color: #f1f8e9; line-height: 1; }
.tdc-cd-lbl { font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.1em; color: #81c784; }
.tdc-cd-sep { font-size: 2rem; color: rgba(255,255,255,0.3); margin-top: -0.5rem; }

/* ── SECTIONS ───────────────────────────────────────────────── */
.tdc-section { padding: 4rem 1rem; }
.tdc-section--dark { background: var(--tdc-green-deep); border-radius: 16px; margin: 2rem 0; padding: 4rem 2rem; }
.tdc-section--leaf-bg { background: var(--tdc-green-mist); border-radius: 16px; margin: 2rem 0; padding: 3rem 2rem; }
.tdc-section-title { font-family: 'Playfair Display', serif; font-size: 2rem; font-weight: 700; color: var(--tdc-green-deep); text-align: center; margin: 0 0 2.5rem; }
.tdc-section-title--light { color: #f1f8e9; }

/* ── HOW IT WORKS STEPS ─────────────────────────────────────── */
.tdc-steps { display: flex; align-items: flex-start; justify-content: center; flex-wrap: wrap; gap: 0; }
.tdc-step { background: #fff; border: 1px solid var(--tdc-border); border-radius: 12px; padding: 2rem 1.5rem; text-align: center; flex: 1; min-width: 160px; max-width: 200px; position: relative; }
.tdc-step__num { font-family: 'Playfair Display', serif; font-size: 0.75rem; color: var(--tdc-gold); letter-spacing: 0.1em; margin-bottom: 0.5rem; }
.tdc-step__icon { font-size: 2rem; margin-bottom: 0.75rem; }
.tdc-step__title { font-family: 'Playfair Display', serif; font-size: 1.1rem; color: var(--tdc-green-deep); margin: 0 0 0.5rem; }
.tdc-step__desc { font-size: 0.825rem; color: var(--tdc-muted); line-height: 1.6; margin: 0; }
.tdc-step__arrow { font-size: 1.5rem; color: var(--tdc-border); padding: 0 0.25rem; align-self: center; }

/* ── PRIZES ─────────────────────────────────────────────────── */
.tdc-prizes { display: flex; justify-content: center; align-items: flex-end; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.tdc-prize { background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.12); border-radius: 14px; padding: 2rem 1.5rem; text-align: center; position: relative; min-width: 160px; }
.tdc-prize--gold { background: rgba(200,168,75,0.12); border-color: rgba(200,168,75,0.4); transform: scale(1.08); }
.tdc-prize__medal { font-size: 2.5rem; margin-bottom: 0.5rem; }
.tdc-prize__rank { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: #81c784; margin-bottom: 0.5rem; }
.tdc-prize--gold .tdc-prize__rank { color: var(--tdc-gold); }
.tdc-prize__amount { font-family: 'Playfair Display', serif; font-size: 2rem; font-weight: 700; color: #f1f8e9; margin-bottom: 0.25rem; }
.tdc-prize--gold .tdc-prize__amount { color: var(--tdc-gold); }
.tdc-prize__note { font-size: 0.75rem; color: #a5d6a7; }
.tdc-prize__badge { position: absolute; top: -12px; left: 50%; transform: translateX(-50%); background: var(--tdc-gold); color: #1a0e00; font-size: 0.7rem; font-weight: 500; padding: 3px 12px; border-radius: 20px; white-space: nowrap; }
.tdc-special-prize { border: 1px dashed rgba(200,168,75,0.5); border-radius: 10px; padding: 1rem 1.5rem; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 0.5rem; max-width: 500px; margin: 0 auto 1rem; color: #c8e6c9; font-size: 0.9rem; }
.tdc-special-prize__amount { font-family: 'Playfair Display', serif; font-size: 1.4rem; color: var(--tdc-gold); }
.tdc-prizes-note { text-align: center; color: #81c784; font-size: 0.8rem; }

/* ── BENCHMARKS ─────────────────────────────────────────────── */
.tdc-benchmarks { display: flex; justify-content: center; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.tdc-benchmark { background: var(--tdc-green-mist); border: 2px solid var(--tdc-border); border-radius: 14px; padding: 2rem 3rem; text-align: center; }
.tdc-benchmark__num { font-family: 'Playfair Display', serif; font-size: 3rem; font-weight: 700; color: var(--tdc-green-deep); }
.tdc-benchmark__label { font-size: 0.8rem; color: var(--tdc-muted); text-transform: uppercase; letter-spacing: 0.08em; }
.tdc-benchmark__plus { font-size: 2rem; color: var(--tdc-border); }
.tdc-bench-note { text-align: center; color: var(--tdc-muted); font-size: 0.85rem; }

/* ── HASHTAGS ───────────────────────────────────────────────── */
.tdc-hashtags { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; }
.tdc-hashtag { background: var(--tdc-green-deep); color: #c8e6c9; padding: 0.5rem 1.25rem; border-radius: 30px; font-size: 0.85rem; font-family: 'DM Sans', sans-serif; font-weight: 500; }

/* ── CTA SECTION ────────────────────────────────────────────── */
.tdc-cta-section { text-align: center; padding: 4rem 1rem; }
.tdc-cta-title { font-family: 'Playfair Display', serif; font-size: 2.5rem; color: var(--tdc-green-deep); margin: 0 0 0.75rem; }
.tdc-cta-sub { color: var(--tdc-muted); margin: 0 0 2rem; }
.tdc-cta-tiny { margin-top: 1rem; font-size: 0.875rem; color: var(--tdc-muted); }
.tdc-cta-tiny a { color: var(--tdc-green-mid); }

/* ── FOOTER STRIP ───────────────────────────────────────────── */
.tdc-footer-strip { background: var(--tdc-green-deep); color: #81c784; font-size: 0.8rem; padding: 1rem 1.5rem; border-radius: 10px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 0.5rem; margin-top: 2rem; }
.tdc-footer-url { font-family: monospace; color: var(--tdc-gold); }

/* ── PAGE HEADER ────────────────────────────────────────────── */
.tdc-page-header { text-align: center; padding: 3rem 1rem 2rem; }
.tdc-page-header__eyebrow { font-size: 0.75rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--tdc-green-mid); margin-bottom: 0.5rem; }
.tdc-page-header__title { font-family: 'Playfair Display', serif; font-size: clamp(2rem, 5vw, 3rem); font-weight: 700; color: var(--tdc-green-deep); margin: 0 0 0.75rem; }
.tdc-page-header__sub { color: var(--tdc-muted); font-size: 1rem; margin: 0 0 1.25rem; }
.tdc-deadline-pill { display: inline-block; background: #fff8e1; border: 1px solid #ffe082; color: var(--tdc-brown); font-size: 0.85rem; padding: 0.4rem 1rem; border-radius: 30px; }
.tdc-deadline-pill--urgent { background: #fff3e0; border-color: #ffb74d; }

/* ── FORM ───────────────────────────────────────────────────── */
.tdc-form-container { max-width: 640px; margin: 0 auto; }
.tdc-form { background: #fff; border: 1px solid var(--tdc-border); border-radius: 16px; padding: 2.5rem; box-shadow: var(--tdc-shadow); }
.tdc-form-section-label { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--tdc-green-mid); font-weight: 500; border-bottom: 1px solid var(--tdc-border); padding-bottom: 0.5rem; margin: 1.5rem 0 1rem; }
.tdc-form-section-label:first-child { margin-top: 0; }
.tdc-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media(max-width:560px){ .tdc-field-row { grid-template-columns: 1fr; } }
.tdc-field { margin-bottom: 1rem; }
.tdc-label { display: block; font-size: 0.85rem; font-weight: 500; color: var(--tdc-text); margin-bottom: 0.4rem; }
.tdc-req { color: #c62828; }
.tdc-input { width: 100%; padding: 0.7rem 0.9rem; border: 1.5px solid var(--tdc-border); border-radius: 8px; font-family: 'DM Sans', sans-serif; font-size: 0.9rem; color: var(--tdc-text); background: #fafaf8; transition: border-color 0.2s, box-shadow 0.2s; box-sizing: border-box; }
.tdc-input:focus { outline: none; border-color: var(--tdc-green-mid); box-shadow: 0 0 0 3px rgba(46,125,50,0.12); background: #fff; }
.tdc-select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b6b6b' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 2.5rem; }
.tdc-field-hint { font-size: 0.75rem; color: var(--tdc-muted); display: block; margin-top: 0.3rem; }
.tdc-input-prefix-wrap { display: flex; align-items: center; }
.tdc-input-prefix { background: var(--tdc-green-mist); border: 1.5px solid var(--tdc-border); border-right: none; padding: 0.7rem 0.75rem; border-radius: 8px 0 0 8px; color: var(--tdc-muted); font-weight: 500; }
.tdc-input--prefixed { border-radius: 0 8px 8px 0; flex: 1; }

/* Platform selector */
.tdc-platform-select { margin-bottom: 1rem; }
.tdc-platform-options { display: flex; gap: 0.75rem; flex-wrap: wrap; margin-top: 0.5rem; }
.tdc-platform-option { cursor: pointer; }
.tdc-platform-option input { display: none; }
.tdc-platform-btn { display: flex; align-items: center; gap: 0.5rem; padding: 0.6rem 1.25rem; border: 1.5px solid var(--tdc-border); border-radius: 8px; font-size: 0.875rem; background: #fafaf8; transition: all 0.2s; user-select: none; }
.tdc-platform-option input:checked + .tdc-platform-btn { background: var(--tdc-green-mist); border-color: var(--tdc-green-mid); color: var(--tdc-green-deep); font-weight: 500; }
.tdc-platform-icon { font-size: 1.1rem; }

/* Consent & checkbox */
.tdc-consent { margin: 1.5rem 0 1rem; }
.tdc-checkbox-label { display: flex; align-items: flex-start; gap: 0.6rem; font-size: 0.85rem; color: var(--tdc-muted); line-height: 1.5; cursor: pointer; margin-bottom: 0.5rem; }
.tdc-checkbox-label input[type=checkbox] { margin-top: 3px; accent-color: var(--tdc-green-mid); flex-shrink: 0; }

/* Error / Success */
.tdc-error-msg { background: #ffebee; border: 1px solid #ef9a9a; color: #c62828; border-radius: 8px; padding: 0.75rem 1rem; font-size: 0.875rem; margin-bottom: 1rem; }
.tdc-success-panel { background: var(--tdc-green-mist); border: 2px solid var(--tdc-green-light); border-radius: 14px; padding: 2.5rem; text-align: center; }
.tdc-success-icon { font-size: 3rem; margin-bottom: 1rem; }
.tdc-success-title { font-family: 'Playfair Display', serif; font-size: 1.75rem; color: var(--tdc-green-deep); margin: 0 0 0.5rem; }
.tdc-success-sub { color: var(--tdc-muted); margin: 0 0 1.5rem; }
.tdc-reg-id-display { background: #fff; border: 2px dashed var(--tdc-green-light); border-radius: 10px; padding: 1.5rem; display: inline-block; margin: 0 auto 1.5rem; }
.tdc-reg-id-label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--tdc-muted); margin-bottom: 0.25rem; }
.tdc-reg-id-value { font-family: monospace; font-size: 2rem; font-weight: 700; color: var(--tdc-green-deep); letter-spacing: 4px; margin-bottom: 0.75rem; }
.tdc-copy-btn { background: var(--tdc-green-deep); color: #fff; border: none; border-radius: 6px; padding: 0.4rem 1rem; font-size: 0.8rem; cursor: pointer; }
.tdc-success-name { color: var(--tdc-green-mid); font-weight: 500; }
.tdc-next-steps { background: #fff; border-radius: 10px; padding: 1.5rem; text-align: left; margin-top: 1.5rem; }
.tdc-next-steps h3 { font-family: 'Playfair Display', serif; color: var(--tdc-green-deep); font-size: 1rem; margin: 0 0 0.75rem; }
.tdc-next-steps ol, .tdc-next-steps ul { padding-left: 1.25rem; font-size: 0.875rem; color: var(--tdc-muted); line-height: 2; }

/* Form note */
.tdc-form-note { font-size: 0.75rem; color: var(--tdc-muted); text-align: center; margin-top: 1rem; }

/* Verify block */
.tdc-verify-block { margin-bottom: 1.5rem; }
.tdc-verify-row { display: flex; gap: 0.75rem; align-items: center; }
.tdc-verify-result { display: flex; align-items: center; gap: 0.75rem; background: var(--tdc-green-mist); border: 1px solid var(--tdc-border); border-radius: 8px; padding: 0.75rem 1rem; margin-top: 0.75rem; }
.tdc-verified-badge { background: var(--tdc-green-mid); color: #fff; font-size: 0.75rem; padding: 0.25rem 0.75rem; border-radius: 20px; white-space: nowrap; }
.tdc-verified-name { font-weight: 500; color: var(--tdc-green-deep); }

/* File upload */
.tdc-file-upload { border: 2px dashed var(--tdc-border); border-radius: 10px; padding: 2rem; text-align: center; position: relative; background: #fafaf8; cursor: pointer; transition: border-color 0.2s; }
.tdc-file-upload:hover { border-color: var(--tdc-green-mid); }
.tdc-file-input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
.tdc-file-upload__icon { font-size: 2rem; margin-bottom: 0.5rem; }
.tdc-file-upload__text { font-size: 0.875rem; color: var(--tdc-muted); }
.tdc-file-link { color: var(--tdc-green-mid); text-decoration: underline; }
.tdc-file-upload__hint { font-size: 0.75rem; color: #aaa; margin-top: 0.25rem; }
.tdc-file-name { font-size: 0.875rem; color: var(--tdc-green-mid); font-weight: 500; padding: 0.5rem 0; }

/* Hashtag check */
.tdc-hashtag-check { background: var(--tdc-cream); border: 1px solid var(--tdc-border); border-radius: 10px; padding: 1.25rem; margin-bottom: 1rem; }
.tdc-hashtag-check .tdc-label { margin-bottom: 0.75rem; }
.tdc-hashtag-check code { background: var(--tdc-green-mist); color: var(--tdc-green-deep); padding: 2px 6px; border-radius: 4px; font-size: 0.8rem; }
.tdc-consent-check { margin-bottom: 1.5rem; }

/* Sub info cards */
.tdc-sub-info { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 2rem; }
@media(max-width:560px){ .tdc-sub-info { grid-template-columns: 1fr; } }
.tdc-info-card { background: var(--tdc-cream); border: 1px solid var(--tdc-border); border-radius: 12px; padding: 1.5rem; text-align: center; }
.tdc-info-card__icon { font-size: 2rem; margin-bottom: 0.5rem; }
.tdc-info-card h3 { font-family: 'Playfair Display', serif; font-size: 1rem; color: var(--tdc-green-deep); margin: 0 0 0.5rem; }
.tdc-info-card p { font-size: 0.85rem; color: var(--tdc-muted); margin: 0 0 1rem; }

/* Alerts */
.tdc-alert { display: flex; align-items: flex-start; gap: 1rem; background: var(--tdc-gold-light); border: 1px solid #ffe082; border-radius: 12px; padding: 1.25rem 1.5rem; max-width: 600px; margin: 2rem auto; }
.tdc-alert--info { background: #e3f2fd; border-color: #90caf9; }
.tdc-alert__icon { font-size: 1.5rem; }
.tdc-alert p { margin: 0; color: var(--tdc-brown); font-size: 0.9rem; line-height: 1.6; }
.tdc-alert--info p { color: #1565c0; }

/* ── GUIDELINES PAGE ────────────────────────────────────────── */
.tdc-guidelines-wrap { max-width: 720px; margin: 0 auto; }
.tdc-guideline-section { background: #fff; border: 1px solid var(--tdc-border); border-radius: 14px; padding: 2rem; margin-bottom: 1.25rem; }
.tdc-g-title { font-family: 'Playfair Display', serif; font-size: 1.3rem; color: var(--tdc-green-deep); margin: 0 0 1rem; border-left: 4px solid var(--tdc-gold); padding-left: 0.75rem; }
.tdc-g-list { padding-left: 1.25rem; }
.tdc-g-list li { font-size: 0.9rem; color: var(--tdc-muted); margin-bottom: 0.5rem; line-height: 1.6; }
.tdc-g-list--disq li { color: #c62828; }
.tdc-platform-list { display: flex; gap: 0.75rem; flex-wrap: wrap; margin-bottom: 1rem; }
.tdc-plat-badge { padding: 0.4rem 1rem; border-radius: 30px; font-size: 0.85rem; font-weight: 500; }
.tdc-plat-badge--fb { background: #e3f2fd; color: #1565c0; border: 1px solid #90caf9; }
.tdc-plat-badge--ig { background: #fce4ec; color: #880e4f; border: 1px solid #f48fb1; }
.tdc-plat-badge--tw { background: #f1efea; color: #333; border: 1px solid #ddd; }
.tdc-hashtags--guidelines { margin-top: 0.75rem; justify-content: flex-start; }
.tdc-timeline-table { border: 1px solid var(--tdc-border); border-radius: 10px; overflow: hidden; margin-bottom: 0; }
.tdc-tl-row { display: grid; grid-template-columns: 160px 1fr; gap: 1rem; padding: 0.875rem 1.25rem; border-bottom: 1px solid var(--tdc-border); font-size: 0.875rem; }
.tdc-tl-row:last-child { border-bottom: none; }
.tdc-tl-date { font-weight: 500; color: var(--tdc-green-deep); }
.tdc-tl-event { color: var(--tdc-muted); }
.tdc-tl-row--highlight { background: var(--tdc-green-mist); }
.tdc-tl-row--highlight .tdc-tl-event { color: var(--tdc-green-deep); font-weight: 500; }
.tdc-tl-row--winner { background: var(--tdc-gold-light); }
.tdc-tl-row--winner .tdc-tl-event { color: var(--tdc-brown); font-weight: 500; }
.tdc-bench-grid { display: flex; gap: 1.5rem; flex-wrap: wrap; margin: 1rem 0; }
.tdc-bench-item { text-align: center; }
.tdc-bench-num { font-family: 'Playfair Display', serif; font-size: 2.5rem; font-weight: 700; color: var(--tdc-green-deep); }
.tdc-bench-lbl { font-size: 0.8rem; color: var(--tdc-muted); text-transform: uppercase; letter-spacing: 0.06em; }
.tdc-judging-table { border: 1px solid var(--tdc-border); border-radius: 10px; overflow: hidden; margin-bottom: 1rem; }
.tdc-judge-row { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem 1.25rem; border-bottom: 1px solid var(--tdc-border); font-size: 0.875rem; }
.tdc-judge-row:last-child { border-bottom: none; }
.tdc-judge-cat { color: var(--tdc-muted); }
.tdc-judge-weight { font-family: 'Playfair Display', serif; font-size: 1.1rem; font-weight: 700; color: var(--tdc-green-deep); }
.tdc-prize-table { border: 1px solid var(--tdc-border); border-radius: 10px; overflow: hidden; margin-bottom: 0; }
.tdc-pt-row { display: flex; justify-content: space-between; align-items: center; padding: 0.875rem 1.25rem; border-bottom: 1px solid var(--tdc-border); font-size: 0.875rem; flex-wrap: wrap; gap: 0.5rem; }
.tdc-pt-row:last-child { border-bottom: none; }
.tdc-pt-row--gold { background: #fff8e1; }
.tdc-pt-row--silver { background: #fafafa; }
.tdc-pt-row--bronze { background: #fff3e0; }
.tdc-pt-row--part { background: var(--tdc-green-mist); }
.tdc-ideas-list { padding-left: 1.25rem; }
.tdc-ideas-list li { font-size: 0.9rem; color: var(--tdc-muted); margin-bottom: 0.4rem; line-height: 1.6; }
.tdc-guideline-section--cta { background: var(--tdc-green-mist); border-color: var(--tdc-green-light); text-align: center; }
.tdc-g-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 0.5rem; }
@media(max-width:560px){ .tdc-g-cards { grid-template-columns: 1fr; } }
.tdc-g-card { background: var(--tdc-green-mist); border-radius: 10px; padding: 1.25rem; }
.tdc-g-card h3 { font-size: 0.95rem; color: var(--tdc-green-deep); margin: 0 0 0.5rem; }
.tdc-g-card p { font-size: 0.85rem; color: var(--tdc-muted); margin: 0; line-height: 1.6; }

/* Loader state */
.tdc-btn.is-loading .tdc-btn-text { display: none; }
.tdc-btn.is-loading .tdc-btn-loader { display: inline !important; }
.tdc-btn:disabled { opacity: 0.6; cursor: not-allowed; }

@media (max-width: 640px) {
  .tdc-form { padding: 1.5rem; }
  .tdc-hero { padding: 3rem 1.5rem 2.5rem; }
  .tdc-steps { flex-direction: column; align-items: center; }
  .tdc-step__arrow { transform: rotate(90deg); }
  .tdc-prizes { flex-direction: column; align-items: center; }
  .tdc-prize--gold { transform: scale(1); }
  .tdc-tl-row { grid-template-columns: 1fr; gap: 0.25rem; }
}

/* ── VERIFY BLOCK (Option 3: ID + Email) ────────────────────── */
.tdc-verify-intro {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  background: var(--tdc-green-mist);
  border: 1px solid var(--tdc-border);
  border-radius: 10px;
  padding: 1rem 1.25rem;
  margin-bottom: 1.25rem;
}
.tdc-verify-intro__icon { font-size: 1.75rem; flex-shrink: 0; margin-top: 2px; }
.tdc-verify-intro__title {
  font-family: 'Playfair Display', serif;
  font-size: 1rem;
  color: var(--tdc-green-deep);
  margin: 0 0 0.25rem;
}
.tdc-verify-intro__sub { font-size: 0.825rem; color: var(--tdc-muted); margin: 0; line-height: 1.6; }

.tdc-btn--verify-main {
  width: 100%;
  background: var(--tdc-green-deep);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 0.8rem 1.5rem;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.95rem;
  font-weight: 500;
  cursor: pointer;
  margin-top: 0.5rem;
  transition: background 0.2s;
}
.tdc-btn--verify-main:hover { background: var(--tdc-green-mid); }
.tdc-btn--verify-main:disabled { opacity: 0.6; cursor: not-allowed; }
.tdc-btn--verify-main.is-loading .tdc-btn-text { display: none; }
.tdc-btn--verify-main.is-loading .tdc-btn-loader { display: inline !important; }

.tdc-verify-result {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  background: #e8f5e9;
  border: 1.5px solid var(--tdc-green-light);
  border-radius: 8px;
  padding: 0.875rem 1rem;
  margin-top: 0.875rem;
  flex-wrap: wrap;
}
.tdc-verified-badge {
  background: var(--tdc-green-mid);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.3rem 0.875rem;
  border-radius: 20px;
  white-space: nowrap;
}
.tdc-verified-name { font-weight: 500; color: var(--tdc-green-deep); font-size: 0.95rem; }
.tdc-verified-sub { font-size: 0.8rem; color: var(--tdc-green-mid); width: 100%; margin-top: 0.1rem; }

/* Locked fields after verification */
.tdc-input.is-locked {
  background: var(--tdc-green-mist) !important;
  border-color: var(--tdc-border) !important;
  color: var(--tdc-muted);
  cursor: not-allowed;
}

/* Shake animation on wrong credentials */
@keyframes tdc-shake {
  0%,100% { transform: translateX(0); }
  20%      { transform: translateX(-8px); }
  40%      { transform: translateX(8px); }
  60%      { transform: translateX(-5px); }
  80%      { transform: translateX(5px); }
}
.tdc-shake { animation: tdc-shake 0.45s ease; }

/* ── JUDGES FINAL NOTICE ────────────────────────────────────── */
.tdc-judges-final {
  background: #1a4a2e;
  color: #c8e6c9;
  border-radius: 8px;
  padding: 1rem 1.25rem;
  margin-top: 1rem;
  font-size: 0.875rem;
  line-height: 1.7;
}
.tdc-judges-final strong { color: #f1f8e9; }
