/*
Theme Name:   Memorial Awards
Theme URI:    https://scoonews.com
Description:  ScooNews Memorial Awards 2026 — built with Elementor
Author:       ScooNews
Author URI:   https://scoonews.com
Template:     hello-elementor
Version:      1.0.0
Text Domain:  memorial-awards
*/

/* ── Nominations page ────────────────────────────────────── */
.nom-page-hero {
  background: linear-gradient(140deg, #07111d 0%, #0d1b2a 50%, #152030 100%);
  padding: 130px 0 72px; position: relative; overflow: hidden; text-align: center;
}
.nom-page-hero::after {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, transparent, #CA2027, transparent);
}
.nom-page-hero-decor { position: absolute; border-radius: 50%; border: 1px solid rgba(202,32,39,.06); pointer-events: none; }
.nom-page-hero-decor-1 { width: 500px; height: 500px; top: -150px; right: -100px; }
.nom-page-hero-decor-2 { width: 320px; height: 320px; bottom: -80px; left: 5%; }
.how-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 40px; }
.how-step  { text-align: center; padding: 32px 24px; background: #fff; border-radius: 14px; box-shadow: var(--shadow-sm); border-top: 3px solid var(--red); }
.how-step-num { width:44px;height:44px;background:var(--red);color:#fff;border-radius:50%;font-family:'Playfair Display',serif;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 16px; }
.how-step h5 { font-size:16px;color:var(--navy);margin-bottom:8px; }
.how-step p  { font-size:13.5px;color:var(--text-mid);line-height:1.65;margin:0; }
.award-picker { display:flex;flex-direction:column;gap:3px;margin:32px 0; }
.award-pick-row { display:flex;align-items:center;gap:16px;padding:14px 20px;border-radius:10px;border:1.5px solid rgba(0,0,0,.07);background:#fff;cursor:pointer;transition:all .25s; }
.award-pick-row:hover,.award-pick-row.selected { border-color:var(--red);background:#fff8f8; }
.award-pick-row.selected { box-shadow:0 0 0 3px rgba(202,32,39,.1); }
.award-pick-photo { width:48px;height:48px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid rgba(202,32,39,.3);flex-shrink:0; }
.award-pick-info { flex:1; }
.award-pick-name { font-family:'Playfair Display',serif;font-size:14.5px;font-weight:700;color:var(--navy);line-height:1.3; }
.award-pick-for  { font-size:12px;color:var(--text-mid);font-style:italic;margin-top:2px; }
.award-pick-check { width:22px;height:22px;border-radius:50%;border:2px solid rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s; }
.award-pick-row.selected .award-pick-check { background:var(--red);border-color:var(--red);color:#fff; }
.nom-form-wrap { background:#fff;border-radius:18px;padding:48px;box-shadow:var(--shadow-lg); }
.nom-form-section-title { font-family:'Playfair Display',serif;font-size:18px;color:var(--navy);margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--red-pale);display:flex;align-items:center;gap:10px; }
.nom-form-section-title i { color:var(--red);font-size:16px; }
input[type="file"].form-control { padding:9px 14px;cursor:pointer; }
.nom-submit-btn { display:inline-flex;align-items:center;gap:10px;background:var(--red);color:#fff;border:none;border-radius:8px;padding:15px 40px;font-size:14px;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:background .25s;width:100%;justify-content:center; }
.nom-submit-btn:hover { background:var(--red-dark); }
.nom-submit-btn:disabled { background:#94a3b8;cursor:not-allowed; }
.form-note { font-size:12px;color:var(--text-mid);text-align:center;margin-top:14px;line-height:1.6; }
.word-counter { font-size:12px;color:#64748b;text-align:right;margin-top:5px;transition:color .2s; }
.form-check-input:checked { background-color:var(--red);border-color:var(--red); }
.form-check-input:focus { box-shadow:0 0 0 3px rgba(202,32,39,.1);border-color:var(--red); }
.nom-success { display:none;background:#f0fdf4;border:1.5px solid #86efac;border-radius:12px;padding:40px 32px;text-align:center; }
.nom-success i { font-size:44px;color:#16a34a;margin-bottom:16px;display:block; }
.nom-success h4 { color:var(--navy);margin-bottom:8px;font-family:'Playfair Display',serif;font-size:22px; }
.nom-success p  { color:var(--text-mid);font-size:14px;margin:0; }
@media (max-width:767px) { .nom-form-wrap{padding:28px 20px;} .how-steps{grid-template-columns:1fr 1fr;} }
@media (max-width:575px) { .how-steps{grid-template-columns:1fr;} }

/* ── Hide WordPress page title on Elementor pages ───────── */
.elementor-page .entry-title,
.elementor-page .page-title,
.elementor-page .entry-header,
.elementor-page h1.entry-title,
.page .entry-header { display: none !important; }

/* ── Elementor full-width overrides ─────────────────────── */

/* Remove Elementor's inner max-width so our sections go edge-to-edge */
.e-con,
.e-con-inner,
.elementor-section,
.elementor-container,
.elementor-row { max-width: 100% !important; width: 100% !important; }

/* Remove all Elementor padding wrappers */
.e-con,
.e-con-inner,
.elementor-widget-container,
.elementor-section-wrap { padding: 0 !important; }

/* HTML widget must be full width */
.elementor-widget-html,
.elementor-html { width: 100% !important; }

/* Remove Elementor's default margin between sections */
.elementor-section, .e-con { margin: 0 !important; }

/* ── WordPress / Hello Elementor resets ─────────────────── */

/* Remove all default page/body margins WP adds */
body { margin: 0 !important; padding: 0 !important; }
#page, .site, .site-content, .content-area, #primary, #main,
.entry, .entry-content, .post-content { margin: 0 !important; padding: 0 !important; }

/* Remove max-width constraints from WP content area */
.site-content, #primary, #main { max-width: none !important; width: 100% !important; }

/* Remove Hello Elementor's built-in header and footer when we have our own */
.hello-elementor header.entry-header,
header.entry-header,
.hello-elementor .page-header { display: none !important; }

/* Elementor canvas */
.elementor-section-wrap { padding: 0 !important; }
.elementor-page .site-header { display: none; }

/* Make sure our sections are truly full-width */
.memorial-banner,
.about-section,
.awards-grid-section,
.nominations-section,
.nom-page-hero,
.content-band,
.breadcrumb-strip,
.site-footer { width: 100% !important; max-width: none !important; }

/* Remove any WP admin bar offset on front end in dev */
html { margin-top: 0 !important; }
#wpadminbar { display: none; }
