/* ===== Botez · „Pastel neutru” =====================================================
   Un singur bloc, pus la finalul <head>, peste site.css-ul nunții (care rămâne neatins).
   1) paleta ca variabile CSS; 2) fiecare regulă care folosea o culoare a nunții
   (verde, auriu, crem, gri-verzui, roz) trece pe aceste variabile. Layout-ul nu se schimbă.
   Ovăz + albastru-gri mineral + piersică + unt + linii de șampanie: merge la fel de bine
   pentru băiat sau fată. Contrastele sunt verificate (text mic ≥ 4.5:1, text mare ≥ 3:1). */
:root{
  /* suprafețe */
  --bg:#f5f1ea;          /* ovăz – fundalul paginii (în locul cremului #faf6ec) */
  --paper:#fdfbf7;       /* hârtie – rama invitației, cardul RSVP, câmpuri, text pe butoane */
  --sand:#eee8de;        /* nisip – fundal până se încarcă pozele, pastile neutre */
  --mist:#e8eef0;        /* ceață minerală – banda RSVP, hover, opțiunea aleasă */
  /* text */
  --ink:#33444c;         /* ardezie – titluri și text (≥ 8.6:1) */
  --muted:#6b6862;       /* piatră – text secundar și mărunt (≥ 4.56:1 pe orice fundal de aici) */
  /* accente */
  --accent:#4a6676;      /* albastru-gri mineral – butoane, linkuri, numele copilului (în locul verdelui) */
  --accent-deep:#3a5260; /* hover pe butoane, text pe ceață */
  --warm:#8c5c48;        /* lut – supratitluri, săgeata din meniu, inelul de focus (≥ 4.79:1) */
  --peach:#b07359;       /* piersică arsă – salutul și cifrele numărătorii (doar text mare, ≥ 3.43:1) */
  --blush:#f6e5da;       /* piersică pal – locul gol al unei poze, decor */
  --butter:#f3e2b3;      /* unt – decor, selecția de text */
  --leaf:#a9bdb5;        /* eucalipt – frunzele din ilustrații */
  /* linii */
  --gold:#cdb48c;        /* șampanie – rama, ornamentele (doar decor, niciodată text mic) */
  --line:#e5ddd0;        /* linii subțiri, separatoare */
  --line-strong:#d6cec2; /* conturul câmpurilor și al butoanelor albe */
  --shadow:29 39 44;     /* baza umbrelor, rgb(var(--shadow) / alfa) */
  /* numele vechi din site.css trimit la paleta nouă */
  --green:var(--accent);
  --cream:var(--bg)
}
::selection{background:var(--butter);color:var(--ink)}

/* — de bază — */
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:var(--warm)}
input:not([type=checkbox]):not([type=radio]),textarea,select{border-color:var(--line-strong);background-color:var(--paper)}
.eyebrow{color:var(--warm)}
.primary-button{color:var(--paper)}
.primary-button:hover{background:var(--accent-deep)}
.tiny-note{color:var(--muted)}
.monogram span{color:var(--warm)}

/* — antet și invitația — */
.preview-banner{background:var(--mist);color:var(--accent-deep)}
.invite-nav span{color:var(--warm)}
.hero-frame{border-color:var(--gold);box-shadow:0 20px 65px rgb(var(--shadow)/.05)}
.hero-frame:before{border-color:var(--line)}
.personal-greeting{color:var(--peach)}
.hero-content h1{color:var(--accent)}
.invite-line{color:var(--muted)}
.ornament:before,.ornament:after{background:var(--gold)}
.family-text{color:var(--muted)}
.section-intro{color:var(--muted)}

/* — programul zilei — */
.venue-card{border-color:var(--line);box-shadow:0 12px 34px rgb(var(--shadow)/.07)}
.venue-photo{background-color:var(--sand)}
.venue-photo-empty{background:linear-gradient(135deg,var(--mist),var(--blush))}
.venue-photo-empty span{color:var(--gold)}
.venue-card h3{color:var(--ink)}
.venue-name{color:var(--ink)}
.venue-address{color:var(--muted)}
.venue-time{color:var(--accent)}
.map-links a{border-color:var(--line-strong)}
.map-links a:hover{background:var(--mist)}
.map-links a:focus-visible{outline-color:var(--warm)}

/* — numărătoarea, povestea, câteva cuvinte — */
.countdown-title,.cd-done{color:var(--accent)}
.cd-unit strong{color:var(--peach)}
.cd-unit span{color:var(--muted)}
.story-item{border-color:var(--line);box-shadow:0 12px 30px rgb(var(--shadow)/.09)}
.story-item:hover,.story-item:focus-visible{box-shadow:0 18px 40px rgb(var(--shadow)/.14)}
.story-print{border-color:var(--line);box-shadow:0 2px 8px rgb(var(--shadow)/.05)}
.lightbox{background:rgb(var(--shadow)/.91)}
.lightbox button{color:var(--ink)}
.personal-note>span:last-child{color:var(--muted)}

/* — confirmarea (RSVP) — */
.rsvp-section{background:var(--mist)}
.rsvp-heading>p:not(.eyebrow){color:var(--muted)}
.rsvp-card{background:var(--paper);border-color:var(--line-strong);box-shadow:0 12px 35px rgb(var(--shadow)/.04)}
.form-hint{color:var(--muted)}
.guest-answer{border-bottom-color:var(--line)}
.guest-name small{color:var(--muted)}
.reply-options span{border-color:var(--line-strong)}
.reply-options input:checked+span{background:var(--mist)}
.reply-options input:focus-visible+span{outline-color:var(--warm)}
.additional-guests p{color:var(--muted)}
.notes-label span{color:var(--muted)}
.attendance-total{color:var(--muted)}
.form-success{color:var(--accent-deep);background:var(--mist)}

/* — „Ți-a plăcut invitația?” și subsol — */
.made-by>p:not(.eyebrow){color:var(--muted)}
.made-by small{color:var(--muted)}
.invite-footer small,.invite-footer .copyright{color:var(--muted)}

/* — pagina de intrare și albumul invitaților — */
.entry-page{background:radial-gradient(ellipse at 20% 0%,var(--mist),transparent 65%),var(--bg)}
.entry-page>p:not(.eyebrow){color:var(--muted)}
.album-sub,.album-gate p,.album-upload .upload-name,.album-upload .upload-name span,.album-count,.album-empty,.album-meta{color:var(--muted)}
.album-gate,.album-upload{background:var(--paper);border-color:var(--line)}
.album-gate{box-shadow:0 14px 34px rgb(var(--shadow)/.06)}
.album-item{background:var(--sand)}

/* — administrare — */
.admin-app{background:var(--bg);color:var(--ink)}
.admin-sidebar{border-right-color:var(--line);border-bottom-color:var(--line)}
.admin-brand>span{color:var(--warm)}
.nav-caption,.admin-sidebar>a:not(.admin-brand),.sidebar-bottom,.logout,.admin-heading p:not(.eyebrow),.side-summary,.archive-filter,.table-subtitle,.empty-state,.icon-button,.link-panel>p,.venue-photo-editor>img,.venue-photo-editor>.venue-photo-empty,.album-link-text>p,.qr-how{color:var(--muted)}
.admin-sidebar>a.active{background:var(--mist);color:var(--accent)}
.stat-grid article,.admin-table-panel,.settings-card,.admin-gallery figure,.album-link,.album-qr{border-color:var(--line)}
.stat-grid article:nth-child(2){background:var(--accent)}
.side-summary b{color:var(--ink)}
.mud-table-head .mud-table-cell{background:var(--paper)!important;color:var(--muted)!important}
.status-pill,.side-pill{background:var(--sand);color:var(--muted)}
.editor-backdrop{background:rgb(var(--shadow)/.31)}
.editor-panel{background:var(--paper);box-shadow:-12px 0 50px rgb(var(--shadow)/.14)}
.editor-footer{border-top-color:var(--line)}
.saved-notes{background:var(--mist)}
.link-panel hr,.link-danger{border-top-color:var(--line)}
.venue-editor{border-top-color:var(--line)}
.admin-gallery img{background:var(--sand)}
.admin-gallery figcaption button{background:var(--sand);color:var(--ink)}

/* — codul QR de tipărit — */
.qr-print{background:var(--sand)}
.qr-layouts a{border-color:var(--line-strong)}
.qr-layouts a.on{color:var(--paper)}
.qr-sheet{box-shadow:0 18px 50px rgb(var(--shadow)/.15)}
.qr-sheet.poster .qr-card{border-color:var(--gold)}
.qr-sheet.cards .qr-card{border-right-color:var(--line-strong);border-bottom-color:var(--line-strong)}
.qr-lead{color:var(--warm)}

/* — tipar / PDF: regulile de mai sus nu au voie să readucă umbrele scoase la tipar — */
@media print{
  .hero-frame,.venue-card,.story-item,.qr-sheet{box-shadow:none}
  .qr-print{background:#fff}
  /* Ctrl+P fără „grafică de fundal”: butonul își păstrează culoarea, deci și textul rămâne lizibil */
  .primary-button{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
