/* =========================================================
   TEMPLO DA ORAÇÃO V4 - TEMA CLARO MÁRMORE / DOURADO
   Baseado nos mockups aprovados enviados em 21/08/2026.
   ========================================================= */

:root {
    --v4-bg: #fbfaf6;
    --v4-paper: rgba(255,255,255,.92);
    --v4-paper-2: #fffdf8;
    --v4-text: #2b2927;
    --v4-muted: #756f66;
    --v4-gold: #b77a12;
    --v4-gold-2: #d99b25;
    --v4-gold-dark: #7f5310;
    --v4-line: rgba(190,132,35,.35);
    --v4-line-soft: rgba(190,132,35,.16);
    --v4-shadow: 0 10px 26px rgba(78, 60, 32, .10);
    --v4-serif: 'Cormorant Garamond', Georgia, serif;
    --v4-sans: 'Inter', Arial, sans-serif;
}

body.theme-light-v4 {
    color: var(--v4-text);
    background:
        radial-gradient(circle at 7% 18%, rgba(213,166,85,.08), transparent 25%),
        radial-gradient(circle at 83% 8%, rgba(211,158,63,.08), transparent 22%),
        linear-gradient(135deg, rgba(200,164,103,.035) 1px, transparent 1px) 0 0/46px 46px,
        #fbfaf6;
    font-family: var(--v4-sans);
}

body.theme-light-v4::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    opacity: .32;
    background-image: url('../img/v4/marble_section.jpg');
    background-size: 1450px auto;
    background-repeat: repeat-y;
    background-position: center top;
    mix-blend-mode: multiply;
}

.theme-light-v4 .container { width: min(1180px, calc(100% - 54px)); }
.theme-light-v4 .icon { width: 20px; height: 20px; }

/* HEADER */
.theme-light-v4 .site-header {
    height: 88px;
    border-bottom: 1px solid rgba(128, 97, 48, .16);
    background: rgba(255,255,255,.94);
    backdrop-filter: blur(16px);
    box-shadow: 0 2px 10px rgba(70, 54, 35, .05);
}
.theme-light-v4 .header-inner {
    width: min(1180px, calc(100% - 54px));
    gap: 24px;
}
.theme-light-v4 .brand-image {
    min-width: 205px;
    width: 205px;
    height: 76px;
    overflow: hidden;
    display: flex;
    align-items: center;
}
.theme-light-v4 .brand-image img {
    width: 185px;
    height: auto;
    object-fit: contain;
}
.theme-light-v4 .main-nav { gap: 31px; }
.theme-light-v4 .main-nav a {
    color: #3c3833;
    font-family: var(--v4-serif);
    font-size: 17px;
    font-weight: 600;
}
.theme-light-v4 .main-nav a:hover,
.theme-light-v4 .main-nav a.is-active { color: var(--v4-gold-dark); }
.theme-light-v4 .main-nav a::after { background: var(--v4-gold-2); height: 2px; bottom: 16px; }
.theme-light-v4 .header-account { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.theme-light-v4 .account-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: #5c5142;
    font-size: 12px;
    white-space: nowrap;
}
.theme-light-v4 .account-login {
    padding: 8px 10px;
    font-family: var(--v4-serif);
    font-weight: 700;
    font-size: 15px;
}
.theme-light-v4 .account-avatar {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 1px solid var(--v4-line);
    background: #fffaf0;
    color: var(--v4-gold-dark);
    font: 700 16px/1 var(--v4-serif);
}
.theme-light-v4 .account-copy small,
.theme-light-v4 .account-copy strong { display: block; line-height: 1.05; }
.theme-light-v4 .account-copy strong { font-size: 12px; }
.theme-light-v4 .btn {
    color: var(--v4-gold-dark);
    border-color: rgba(187,126,22,.48);
    background: rgba(255,255,255,.78);
    border-radius: 7px;
    box-shadow: none;
}
.theme-light-v4 .btn:hover { background: #fffaf0; border-color: var(--v4-gold-2); }
.theme-light-v4 .btn-gold {
    color: #fff;
    border-color: #d2911f;
    background: linear-gradient(135deg, #c38316, #e0a532 55%, #bb7810);
    box-shadow: 0 7px 18px rgba(166,102,14,.2), inset 0 1px 0 rgba(255,255,255,.32);
}
.theme-light-v4 .header-cta {
    min-width: 178px;
    min-height: 44px;
    text-transform: none;
    font: 700 15px/1 var(--v4-serif);
}
.theme-light-v4 .mobile-menu-button { border-color: var(--v4-line); }
.theme-light-v4 .mobile-menu-button span { background: var(--v4-gold); }

/* FLASH */
.theme-light-v4 .flash {
    width: min(1120px, calc(100% - 40px));
    margin: 14px auto;
    border-radius: 10px;
    box-shadow: var(--v4-shadow);
}
.theme-light-v4 .flash-info { color: #6b4b13; background: #fff6df; border: 1px solid #e8c676; }

/* NOVA HOME */
.v4-hero {
    position: relative;
    min-height: 475px;
    overflow: hidden;
    border-bottom: 1px solid rgba(181,122,27,.38);
    background:
        linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.96) 48%, rgba(255,255,255,.44) 65%, rgba(255,255,255,.05) 100%),
        url('../img/v4/hero_candle.jpg') right center / 52% 100% no-repeat,
        #f8f5ee;
}
.v4-hero::before {
    content: '';
    position: absolute;
    inset: 0 48% 0 0;
    opacity: .75;
    background:
        linear-gradient(116deg, transparent 0 32%, rgba(191,134,39,.14) 32.4%, transparent 33%),
        linear-gradient(65deg, transparent 0 56%, rgba(191,134,39,.10) 56.5%, transparent 57%);
}
.v4-hero-inner {
    position: relative;
    width: min(1180px, calc(100% - 54px));
    min-height: 475px;
    margin: auto;
    display: flex;
    align-items: center;
}
.v4-hero-copy { width: 55%; padding: 34px 0 32px; text-align: center; }
.v4-cross-ornament { color: #c78b23; font-size: 33px; line-height: 1; margin-bottom: 5px; }
.v4-cross-ornament::before,
.v4-cross-ornament::after {
    content: '';
    display: inline-block;
    width: 92px;
    height: 1px;
    margin: 0 15px 9px;
    background: linear-gradient(90deg, transparent, #c99030);
}
.v4-cross-ornament::after { background: linear-gradient(90deg, #c99030, transparent); }
.v4-hero h1 {
    margin: 0;
    color: #8b5a0b;
    font: 600 clamp(55px, 6vw, 82px)/.82 var(--v4-serif);
    letter-spacing: .015em;
    text-transform: uppercase;
    text-shadow: 0 1px 0 #fff, 0 2px 3px rgba(135,83,4,.16);
}
.v4-hero h1 span { display: block; font-size: 1.16em; }
.v4-title-divider {
    width: 330px;
    max-width: 80%;
    height: 18px;
    margin: 18px auto 12px;
    position: relative;
}
.v4-title-divider::before {
    content: '';
    position: absolute;
    left: 0; right: 0; top: 9px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #c58a25 18%, #c58a25 82%, transparent);
}
.v4-title-divider::after {
    content: '◆';
    position: absolute;
    left: 50%; top: -1px;
    transform: translateX(-50%) rotate(45deg);
    color: #c58a25;
    background: #faf7f1;
    padding: 0 8px;
    font-size: 9px;
}
.v4-hero-subtitle {
    margin: 0 auto;
    max-width: 460px;
    color: #4d4841;
    font: 600 21px/1.2 var(--v4-serif);
}
.v4-hero-text {
    max-width: 430px;
    margin: 6px auto 0;
    color: #5f5a52;
    font: 500 16px/1.45 var(--v4-serif);
}
.v4-hero-actions { display: flex; justify-content: center; gap: 16px; margin-top: 25px; }
.v4-hero-actions .btn { min-height: 48px; padding-inline: 23px; font-family: var(--v4-serif); font-size: 15px; }

.v4-section {
    width: min(1180px, calc(100% - 54px));
    margin: 0 auto;
    padding: 30px 0 10px;
}
.v4-section-title {
    margin: 0 0 18px;
    text-align: center;
    color: #87570b;
    font: 600 34px/1.05 var(--v4-serif);
}
.v4-section-title::after {
    content: '◆';
    display: block;
    width: 150px;
    margin: 7px auto 0;
    border-top: 1px solid rgba(188,127,28,.6);
    color: #c88d27;
    font-size: 8px;
    line-height: 1px;
}
.v4-how-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; }
.v4-how-card {
    display: grid;
    grid-template-columns: 62px 1fr;
    gap: 14px;
    align-items: center;
    min-height: 118px;
    padding: 16px 18px;
    border: 1px solid rgba(121,99,66,.16);
    border-radius: 12px;
    background: rgba(255,255,255,.83);
    box-shadow: 0 8px 19px rgba(66,53,35,.08);
}
.v4-how-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border: 1px solid #d29a36;
    border-radius: 50%;
    color: #a66e12;
}
.v4-how-icon .icon { width: 30px; height: 30px; }
.v4-how-card h3 { margin: 0 0 5px; color: #8a5910; font: 700 17px/1 var(--v4-serif); text-transform: uppercase; }
.v4-how-card h3 b { font-size: 25px; margin-right: 8px; font-weight: 500; }
.v4-how-card p { margin: 0; color: #5b554d; font: 500 13px/1.45 var(--v4-serif); }

.v4-section-head { display:flex; align-items:center; justify-content:center; position:relative; }
.v4-section-head .v4-section-title { flex: 1; }
.v4-see-all { position:absolute; right:0; top:8px; color:#8b5b10; text-decoration:none; font:700 13px var(--v4-serif); }
.v4-see-all:hover { text-decoration:underline; }
.v4-prayer-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; }
.v4-prayer-card {
    overflow:hidden;
    border:1px solid rgba(144,109,54,.26);
    border-radius:9px;
    background:#fff;
    box-shadow:0 8px 18px rgba(60,50,35,.08);
}
.v4-prayer-card figure { height:118px; margin:0; position:relative; overflow:hidden; }
.v4-prayer-card figure img { width:100%; height:100%; object-fit:cover; }
.v4-badge {
    position:absolute; top:8px; left:8px;
    padding:4px 8px;
    border-radius:4px;
    color:#fff;
    background:linear-gradient(135deg,#b4750b,#d69a28);
    font:700 10px/1 var(--v4-serif);
}
.v4-prayer-body { padding:12px 13px 10px; }
.v4-prayer-body h3 { margin:0 0 5px; font:700 18px/1.05 var(--v4-serif); color:#2e2b28; }
.v4-prayer-body p { min-height:48px; margin:0; color:#5f5a54; font:500 12px/1.35 var(--v4-serif); }
.v4-card-meta { margin-top:10px; padding-top:8px; border-top:1px solid rgba(123,107,83,.11); display:flex; justify-content:space-between; color:#6e675e; font-size:10px; }
.v4-card-meta .heart { color:#be7d12; }

.v4-memory-carousel { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:15px; }
.v4-memory-card {
    min-height:195px;
    display:grid;
    grid-template-columns:46% 54%;
    overflow:hidden;
    border:1px solid rgba(186,129,37,.55);
    border-radius:9px;
    background:rgba(255,255,255,.88);
    box-shadow:0 7px 15px rgba(65,52,33,.07);
}
.v4-memory-photo { position:relative; overflow:hidden; min-height:195px; }
.v4-memory-photo img { width:100%; height:100%; object-fit:cover; }
.v4-memory-photo::after {
    content:'🕯'; position:absolute; right:4px; bottom:2px; font-size:22px;
    filter:drop-shadow(0 2px 2px rgba(0,0,0,.12));
}
.v4-memory-body { padding:12px 10px; }
.v4-memory-body h3 { margin:0 0 8px; color:#8d5b0d; font:700 16px/1.05 var(--v4-serif); }
.v4-memory-dates { display:grid; gap:3px; color:#5b554f; font:500 10px var(--v4-serif); }
.v4-memory-quote { margin-top:11px; padding-top:8px; border-top:1px solid rgba(187,128,31,.3); color:#5f5951; font:italic 10px/1.35 var(--v4-serif); }

/* MURAL DE LUZES */
.v4-mural-hero {
    min-height:255px;
    border-bottom:1px solid rgba(185,128,34,.32);
    background:
        linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.9) 56%, rgba(255,255,255,.25) 78%, transparent),
        url('../img/v4/mural_candle.jpg') right center/35% 100% no-repeat,
        #faf7f0;
}
.v4-mural-hero-inner { width:min(1180px,calc(100% - 54px)); min-height:255px; margin:auto; display:flex; align-items:center; gap:50px; }
.v4-mural-copy { flex:1; }
.v4-mural-copy h1 { margin:0; color:#8c5c0f; font:600 63px/.95 var(--v4-serif); }
.v4-mural-copy p { max-width:500px; margin:17px 0 0 40px; text-align:center; color:#5c564f; font:500 15px/1.5 var(--v4-serif); }
.v4-mural-stats { display:flex; gap:10px; margin-left:auto; margin-right:210px; }
.v4-stat {
    width:95px; min-height:122px; display:grid; place-items:center; align-content:center; gap:6px;
    border:1px solid rgba(129,104,65,.16); border-radius:9px; background:rgba(255,255,255,.86); box-shadow:var(--v4-shadow);
    text-align:center; color:#8a5c11;
}
.v4-stat .icon { width:28px; height:28px; }
.v4-stat strong { font:600 29px/1 var(--v4-serif); }
.v4-stat small { color:#5d574f; font:500 10px/1.25 var(--v4-serif); }
.v4-filter-bar {
    width:min(1180px,calc(100% - 54px));
    margin:16px auto 14px;
    display:grid;
    grid-template-columns:1.6fr .9fr .9fr .9fr 52px;
    gap:14px;
}
.v4-filter-bar .input,
.v4-filter-bar .select { min-height:52px; background:rgba(255,255,255,.88); border:1px solid rgba(191,132,35,.38); color:#5b554d; }
.v4-filter-icon { min-height:52px; display:grid; place-items:center; border:1px solid rgba(191,132,35,.38); border-radius:8px; color:#aa7010; background:#fff; }
.v4-mural-grid { width:min(1180px,calc(100% - 54px)); margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; padding-bottom:16px; }
.v4-mural-card {
    position:relative; min-height:200px; display:grid; grid-template-columns:94px 1fr; gap:14px;
    padding:14px;
    border:1px solid rgba(190,132,35,.36); border-radius:10px; background:rgba(255,255,255,.84); box-shadow:0 4px 12px rgba(72,58,35,.06);
}
.v4-mural-card .v4-badge { z-index:2; }
.v4-mural-candle { width:92px; height:102px; margin-top:23px; overflow:hidden; border-radius:46px 46px 7px 7px; border:1px solid rgba(181,127,31,.45); }
.v4-mural-candle img { width:100%; height:100%; object-fit:cover; }
.v4-mural-card h3 { margin:13px 0 1px; color:#86580e; font:700 21px/1 var(--v4-serif); }
.v4-mural-city { color:#5e5850; font:600 11px var(--v4-serif); }
.v4-mural-card p { min-height:54px; margin:6px 0; color:#55504a; font:500 11px/1.45 var(--v4-serif); }
.v4-mural-meta { display:flex; justify-content:space-between; margin:8px 0 7px; color:#69635b; font-size:10px; }
.v4-mural-actions { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.v4-mural-actions .btn { min-height:32px; padding:5px 8px; font:700 11px var(--v4-serif); }
.v4-load-more { width:min(360px,90%); margin:0 auto 28px; display:block; text-align:center; }

/* LIGHT OVERRIDES FOR EXISTING PAGES */
.theme-light-v4 .card,
.theme-light-v4 .form-card,
.theme-light-v4 .preview-card,
.theme-light-v4 .prayer-page-card,
.theme-light-v4 .memory-card,
.theme-light-v4 .featured-memory,
.theme-light-v4 .candle-card {
    color:var(--v4-text);
    border-color:rgba(185,127,34,.28);
    background:rgba(255,255,255,.88);
    box-shadow:var(--v4-shadow);
}
.theme-light-v4 .page-hero {
    min-height:190px;
    color:#3c3731;
    border-color:rgba(185,127,34,.3);
    background:
        linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.65)),
        url('../img/v4/mural_hero_reference.jpg') center/cover no-repeat;
}
.theme-light-v4 .page-hero-copy h1 { color:#86580d; font-family:var(--v4-serif); font-size:45px; }
.theme-light-v4 .page-hero-copy p { color:#5e5851; }
.theme-light-v4 .page-hero-symbol,
.theme-light-v4 .hero-counter { color:#b77711; border-color:rgba(183,119,17,.35); background:rgba(255,255,255,.78); }
.theme-light-v4 .hero-counter small { color:#6d665c; }
.theme-light-v4 .input,
.theme-light-v4 .select,
.theme-light-v4 .textarea {
    color:#38342f;
    border-color:rgba(158,121,64,.28);
    background:rgba(255,255,255,.92);
}
.theme-light-v4 .input::placeholder,
.theme-light-v4 .textarea::placeholder { color:#9b948a; }
.theme-light-v4 .field label { color:#4b453f; }
.theme-light-v4 .help { color:#7a736a; }
.theme-light-v4 .choice { color:#4e4841; border-color:rgba(173,123,39,.28); background:#fff; }
.theme-light-v4 .choice:has(input:checked) { border-color:#cf9023; background:#fff9ed; }
.theme-light-v4 .form-card h2,
.theme-light-v4 .preview-card h3,
.theme-light-v4 .section-title { color:#84560e; font-family:var(--v4-serif); }
.theme-light-v4 .eyebrow { color:#b67a14; }
.theme-light-v4 .capela-shell { width:min(1180px,calc(100% - 54px)); }
.theme-light-v4 .filter-panel { border-color:rgba(186,126,31,.28); background:rgba(255,255,255,.75); }
.theme-light-v4 .duration-tabs a { color:#7b5a20; border-color:rgba(179,125,38,.28); background:#fff; }
.theme-light-v4 .duration-tabs a.is-active { color:#fff; background:#c98a22; }
.theme-light-v4 .candle-card-body h3,
.theme-light-v4 .memory-card-body h3 { color:#80530d; font-family:var(--v4-serif); }
.theme-light-v4 .candle-category,
.theme-light-v4 .candle-author,
.theme-light-v4 .candle-meta,
.theme-light-v4 .memory-card-body p { color:#6b645b; }
.theme-light-v4 .status { color:#7b5a20; }
.theme-light-v4 .table-wrap { border-color:rgba(185,127,34,.28); background:#fff; }
.theme-light-v4 .table { color:#423d37; }
.theme-light-v4 .table th { color:#81540d; background:#fff8eb; }
.theme-light-v4 .table td { border-color:rgba(145,119,77,.13); }

/* AUTH / USER AREA */
.auth-shell { width:min(960px,calc(100% - 40px)); margin:38px auto 65px; display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.auth-panel,
.user-panel {
    padding:28px;
    border:1px solid rgba(182,126,35,.28);
    border-radius:14px;
    background:rgba(255,255,255,.9);
    box-shadow:var(--v4-shadow);
}
.auth-side {
    min-height:520px;
    padding:38px;
    border-radius:14px;
    color:#fff;
    background:
        linear-gradient(180deg,rgba(101,62,5,.15),rgba(70,42,4,.42)),
        url('../img/v4/hero_candle.jpg') center/cover no-repeat;
    box-shadow:var(--v4-shadow);
    display:flex; flex-direction:column; justify-content:flex-end;
}
.auth-side h2 { margin:0 0 8px; font:700 39px/1 var(--v4-serif); }
.auth-side p { max-width:420px; margin:0; font:600 15px/1.45 var(--v4-serif); text-shadow:0 1px 4px rgba(0,0,0,.24); }
.auth-panel h1 { margin:0 0 6px; color:#87580d; font:700 38px/1 var(--v4-serif); }
.auth-panel > p { color:#756e65; margin:0 0 24px; }
.form-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-actions { display:flex; gap:10px; align-items:center; margin-top:18px; }
.auth-note { margin-top:18px; font-size:12px; color:#7a7369; }
.auth-note a { color:#9b6510; font-weight:700; }

.user-shell { width:min(1180px,calc(100% - 54px)); margin:26px auto 60px; }
.user-top { display:grid; grid-template-columns:1.3fr .7fr; gap:18px; margin-bottom:18px; }
.user-welcome h1 { margin:0; color:#82530b; font:700 38px/1 var(--v4-serif); }
.user-welcome p { color:#70695f; }
.credit-balance-card {
    padding:22px; border:1px solid rgba(186,128,34,.36); border-radius:14px; background:linear-gradient(135deg,#fffdf7,#fff5dd); box-shadow:var(--v4-shadow);
    display:flex; align-items:center; justify-content:space-between;
}
.credit-balance-card strong { display:block; color:#a76c0e; font:700 44px/1 var(--v4-serif); }
.credit-balance-card span { color:#685f53; font-size:12px; }
.user-actions-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:20px; }
.user-action-card { text-decoration:none; padding:17px; border:1px solid rgba(177,126,44,.25); border-radius:12px; background:#fff; color:#534c43; box-shadow:0 5px 13px rgba(70,55,34,.05); }
.user-action-card .icon { color:#b87811; width:26px; height:26px; }
.user-action-card strong { display:block; margin:9px 0 3px; color:#85570d; font:700 18px var(--v4-serif); }
.history-table { width:100%; border-collapse:collapse; }
.history-table th,
.history-table td { padding:11px 10px; border-bottom:1px solid rgba(124,105,77,.12); text-align:left; font-size:12px; }
.history-table th { color:#81530c; font-family:var(--v4-serif); font-size:13px; background:#fff9ef; }
.credit-plus { color:#2e7d32; font-weight:700; }
.credit-minus { color:#a0472c; font-weight:700; }

/* GATE LOGIN ACENDER */
.login-gate { width:min(820px,calc(100% - 40px)); margin:45px auto 70px; text-align:center; padding:42px 35px; border:1px solid rgba(185,127,34,.3); border-radius:16px; background:rgba(255,255,255,.92); box-shadow:var(--v4-shadow); }
.login-gate .gate-icon { width:72px; height:72px; margin:0 auto 15px; display:grid; place-items:center; border:1px solid #d3952d; border-radius:50%; color:#b5750d; }
.login-gate .gate-icon .icon { width:35px; height:35px; }
.login-gate h1 { margin:0; color:#86560c; font:700 42px/1 var(--v4-serif); }
.login-gate p { max-width:600px; margin:12px auto 24px; color:#6d655b; }
.login-gate-actions { display:flex; gap:12px; justify-content:center; }

/* memorial manager */
.memorial-manager-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.memorial-manage-card { overflow:hidden; border:1px solid rgba(184,127,37,.3); border-radius:12px; background:#fff; box-shadow:0 6px 16px rgba(66,52,32,.07); }
.memorial-manage-card img { width:100%; height:220px; object-fit:cover; }
.memorial-manage-body { padding:15px; }
.memorial-manage-body h3 { margin:0 0 3px; color:#85550d; font:700 22px var(--v4-serif); }
.memorial-manage-body p { color:#6f685f; font-size:12px; }
.memorial-manage-actions { display:flex; gap:8px; flex-wrap:wrap; }

/* plans */
.plan-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.plan-card { padding:28px; border:1px solid rgba(183,126,36,.33); border-radius:15px; background:#fff; box-shadow:var(--v4-shadow); }
.plan-card.featured { background:linear-gradient(145deg,#fffdf7,#fff3d5); border-color:#d29427; }
.plan-card h2 { margin:0 0 3px; color:#86560b; font:700 34px var(--v4-serif); }
.plan-price { color:#9b6410; font:700 45px/1 var(--v4-serif); }
.plan-price small { font-size:15px; color:#6f685f; }
.plan-list { margin:20px 0; padding:0; list-style:none; display:grid; gap:8px; color:#5f584f; }
.plan-list li::before { content:'✓'; color:#b97811; font-weight:700; margin-right:8px; }

/* FOOTER */
.theme-light-v4 .site-footer {
    margin-top:28px;
    color:#625b53;
    border-top:1px solid rgba(185,127,34,.35);
    background:rgba(255,255,255,.82);
}
.theme-light-v4 .footer-inner { width:min(1180px,calc(100% - 54px)); }
.footer-grid-v4 { display:grid !important; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:34px; padding:28px 0 22px !important; }
.footer-brand-col .brand-image { width:170px; min-width:170px; height:60px; }
.footer-brand-col .brand-image img { width:155px; }
.footer-brand-col p { max-width:260px; font:500 12px/1.45 var(--v4-serif); }
.footer-grid-v4 h4 { margin:5px 0 9px; color:#87570d; font:700 13px var(--v4-serif); }
.footer-links-v4 { display:grid; gap:5px; }
.footer-links-v4 a { color:#625c55; text-decoration:none; font:500 11px var(--v4-serif); }
.footer-links-v4 a:hover { color:#a36a0e; }
.theme-light-v4 .footer-bottom {
    width:min(1180px,calc(100% - 54px));
    color:#756e65;
    border-color:rgba(185,127,34,.22);
}
.footer-cross { color:#b87b16; font-size:20px; }

@media (max-width: 1120px) {
    .theme-light-v4 .main-nav { gap:18px; }
    .theme-light-v4 .main-nav a { font-size:15px; }
    .theme-light-v4 .brand-image { min-width:165px; width:165px; }
    .theme-light-v4 .brand-image img { width:155px; }
    .theme-light-v4 .header-cta { min-width:150px; padding-inline:12px; }
    .theme-light-v4 .account-copy { display:none; }
    .v4-mural-stats { margin-right:150px; }
}

@media (max-width: 900px) {
    .theme-light-v4 .site-header { height:74px; }
    .theme-light-v4 .header-inner { width:calc(100% - 28px); }
    .theme-light-v4 .brand-image { width:150px; min-width:150px; height:62px; }
    .theme-light-v4 .brand-image img { width:145px; }
    .theme-light-v4 .mobile-menu-button { display:block; margin-left:auto; }
    .theme-light-v4 .main-nav {
        position:absolute; top:74px; left:14px; right:14px; display:none; height:auto; padding:12px;
        flex-direction:column; gap:0; border:1px solid var(--v4-line); border-radius:10px; background:#fff; box-shadow:var(--v4-shadow);
    }
    .theme-light-v4 .main-nav.is-open { display:flex; }
    .theme-light-v4 .main-nav a { padding:12px 10px; }
    .theme-light-v4 .main-nav a::after { display:none; }
    .theme-light-v4 .account-link { display:none; }
    .theme-light-v4 .header-cta { min-width:auto; }
    .v4-hero { min-height:650px; background:linear-gradient(180deg,rgba(255,255,255,.98) 0 53%,rgba(255,255,255,.1) 76%),url('../img/v4/hero_candle.jpg') center bottom/100% 53% no-repeat; }
    .v4-hero-inner { min-height:650px; align-items:flex-start; }
    .v4-hero-copy { width:100%; padding-top:34px; }
    .v4-how-grid,
    .v4-prayer-grid { grid-template-columns:1fr 1fr; }
    .v4-memory-carousel { grid-template-columns:1fr 1fr; }
    .v4-mural-hero-inner { flex-direction:column; align-items:flex-start; padding:28px 0; }
    .v4-mural-stats { margin:0; }
    .v4-filter-bar { grid-template-columns:1fr 1fr; }
    .v4-filter-icon { display:none; }
    .v4-mural-grid { grid-template-columns:1fr 1fr; }
    .auth-shell { grid-template-columns:1fr; }
    .auth-side { min-height:280px; }
    .user-top { grid-template-columns:1fr; }
    .user-actions-grid { grid-template-columns:1fr 1fr; }
    .memorial-manager-grid { grid-template-columns:1fr 1fr; }
    .footer-grid-v4 { grid-template-columns:1fr 1fr; }
}

@media (max-width: 620px) {
    .theme-light-v4 .header-cta span { display:none; }
    .theme-light-v4 .header-cta { width:44px; min-width:44px; padding:0; }
    .v4-hero h1 { font-size:49px; }
    .v4-cross-ornament::before,
    .v4-cross-ornament::after { width:55px; }
    .v4-section,
    .v4-mural-grid,
    .v4-filter-bar,
    .v4-mural-hero-inner,
    .theme-light-v4 .container,
    .user-shell { width:calc(100% - 28px); }
    .v4-how-grid,
    .v4-prayer-grid,
    .v4-memory-carousel,
    .v4-mural-grid,
    .form-grid-2,
    .user-actions-grid,
    .memorial-manager-grid,
    .plan-grid,
    .footer-grid-v4 { grid-template-columns:1fr; }
    .v4-see-all { position:static; margin-left:10px; }
    .v4-memory-card { min-height:180px; }
    .v4-mural-copy h1 { font-size:48px; }
    .v4-mural-copy p { margin-left:0; text-align:left; }
    .v4-mural-stats { width:100%; display:grid; grid-template-columns:repeat(3,1fr); }
    .v4-stat { width:auto; }
    .v4-filter-bar { grid-template-columns:1fr; }
    .v4-mural-card { grid-template-columns:82px 1fr; }
    .auth-panel,
    .auth-side { padding:24px; }
    .login-gate-actions { flex-direction:column; }
}
