.registry-page{--race-red:#c94737;--race-dark:#273e44;--race-blue:#72bfd3;--race-yellow:#efc84b;background:#faf7f1}
.registry-hero{position:relative;overflow:hidden;padding:132px 24px 68px;text-align:center;background:radial-gradient(circle at 20% 70%,#72bfd338,transparent 25%),radial-gradient(circle at 82% 22%,#efc84b28,transparent 20%),linear-gradient(180deg,#eaf7fa,#f8f5ef);border-bottom:1px solid #273e4412}
.registry-hero .checkers{position:absolute;inset:64px 0 auto;height:34px;opacity:.17;background:conic-gradient(var(--race-dark) 25%,#fff 0 50%,var(--race-dark) 0 75%,#fff 0) 0/34px 34px}
.registry-hero:before,.registry-hero:after{content:"⚡";position:absolute;color:var(--race-yellow);font-size:clamp(40px,5vw,72px);filter:drop-shadow(0 3px 0 #c9473733);transform:rotate(-9deg)}
.registry-hero:before{left:9%;top:145px}.registry-hero:after{right:10%;bottom:46px;transform:rotate(12deg) scale(.72)}
.registry-hero .page-hero-eyebrow{position:relative;color:var(--race-red);font-weight:800}
.registry-hero h1{position:relative;margin:8px 0 14px;color:var(--race-dark);font:italic 700 clamp(3rem,7vw,5.4rem)/.95 var(--font-display)}
.registry-hero>p:not(.page-hero-eyebrow){position:relative;max-width:620px;margin:auto;color:#5f7479;font-size:1.02rem}
.event-chip{position:relative;display:inline-flex;margin-top:24px;padding:10px 18px;border:1px solid #273e441f;border-radius:999px;background:#ffffffe8;box-shadow:0 8px 30px #273e4414;color:#a83529;font-size:.84rem;font-weight:800}
.registry-section{padding-top:42px}.registry-intro{display:grid;grid-template-columns:minmax(220px,.8fr) 2fr;gap:34px;padding:32px;border:1px solid #e5e2da;border-radius:24px;background:#fff;box-shadow:0 12px 36px #273e4412}
.intro-kicker,.modal-eyebrow,.admin-kicker{color:var(--race-red);font-size:.68rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.registry-intro h2{margin-top:6px;color:var(--race-dark);font:700 1.8rem/1.1 var(--font-display)}
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0}.how-grid article{position:relative;min-height:126px;padding:18px 16px;border-radius:16px;background:#f2f8f8}.how-grid article>span{position:static;display:block;color:var(--race-red);font-size:.72rem;font-weight:800}.how-grid strong{display:block;margin:6px 0 3px;color:var(--race-dark)}.how-grid p{color:#6f7f82;font-size:.78rem;line-height:1.45}
.registry-summary{display:flex;align-items:center;gap:36px;margin:20px 0;padding:18px 22px;border-radius:18px;background:var(--race-dark);color:#fff;box-shadow:0 10px 28px #273e4424}.registry-summary>div{display:flex;flex-direction:column;min-width:130px}.registry-summary strong{font-size:1.5rem;line-height:1}.registry-summary span{margin-top:4px;opacity:.68;font-size:.72rem}.registry-summary .btn{margin-left:auto}
.btn-racing{justify-content:center;background:var(--race-red);color:#fff;box-shadow:0 6px 16px #c947373d}.btn-racing:hover{background:#a83529;transform:translateY(-1px)}.btn-disabled{background:#e5e7e4;color:#929994;cursor:not-allowed}
.registry-tools{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:12px;margin:26px 0 18px}.registry-tools input,.registry-tools select{width:100%;height:50px;padding:0 16px;border:1px solid #d7dfdc;border-radius:13px;background:#fff;color:#405256;font:600 .88rem var(--font-body);box-shadow:0 3px 12px #273e4409}.gift-search{position:relative}.gift-search span{position:absolute;z-index:1;left:16px;top:10px;color:#84918f;font-size:1.3rem}.gift-search input{padding-left:42px}
.registry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.registry-card{display:flex;flex-direction:column;min-height:318px;padding:21px;border:1px solid #e2e3dd;border-radius:19px;background:#fff;box-shadow:0 4px 16px #273e440b;transition:.2s}.registry-card:not(.is-muted):hover{transform:translateY(-4px);border-color:#b8d7dd;box-shadow:0 15px 32px #273e441a}.gift-card-top{display:flex;justify-content:space-between;align-items:center}.category-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#eaf6f8;color:#3987a0;font-size:1.35rem}
.status{display:inline-flex;width:max-content;padding:5px 9px;border-radius:999px;background:#eee;color:#68726e;font-size:.62rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.status.available,.status.confirmed{background:#e5f3e6;color:#417347}.status.funding,.status.pending{background:#fff2ce;color:#876b16}.status.reserved,.status.purchased{background:#e4f1f5;color:#377589}.status.complete,.status.delivered{background:#e8e8e8;color:#606560}.status.cancelled,.status.expired{background:#f5e4e1;color:#97473b}
.gift-meta{display:flex;gap:6px;margin-top:16px;color:#899694;font-size:.65rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.registry-card h3{margin:8px 0 5px;color:var(--race-dark);font:700 1.25rem/1.18 var(--font-display)}.registry-card>p{color:#778582;font-size:.82rem}.gift-price-eur{margin:auto 0 13px;color:#a83529;font-size:1.18rem;font-weight:800}.registry-card>.btn{width:100%;margin-top:auto}.registry-card.is-muted{opacity:.64}
.progress-wrap{margin:auto 0 15px}.progress-label{display:flex;justify-content:space-between;color:#788583;font-size:.74rem}.progress-label strong{color:#3b626c;font-size:1rem}.progress{height:7px;margin-top:7px;overflow:hidden;border-radius:20px;background:#e8eeec}.progress i{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,var(--race-blue),var(--race-yellow))}.registry-loading,.registry-error,.empty-state{grid-column:1/-1;padding:48px;text-align:center;color:#73817e}
.registry-modal[hidden]{display:none}.registry-modal{position:fixed;z-index:300;inset:0;display:grid;place-items:center;overflow:auto;padding:16px;background:#17272cb3;backdrop-filter:blur(6px)}.registry-modal-card{position:relative;width:min(100%,620px);max-height:calc(100vh - 32px);overflow:auto;padding:32px;border-radius:22px;background:#fff;box-shadow:0 25px 80px #00000047}.modal-x{position:absolute;top:12px;right:17px;color:#788;font-size:1.7rem}.registry-modal h2{margin:5px 32px 8px 0;color:var(--race-dark);font:700 1.8rem var(--font-display)}.modal-lead{margin-bottom:20px;color:#71807e;font-size:.9rem}.registry-modal form{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.registry-modal label:not(.radio-card){display:flex;flex-direction:column;gap:5px;color:#51615f;font-size:.78rem;font-weight:800}.registry-modal input,.registry-modal textarea{padding:11px;border:1px solid #d6ddda;border-radius:10px;font:inherit;resize:vertical}.registry-modal fieldset{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:0}.registry-modal legend{margin-bottom:7px;color:#51615f;font-size:.78rem;font-weight:800}.radio-card{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #dce1df;border-radius:12px;cursor:pointer}.radio-card:has(input:checked){border-color:var(--race-blue);background:#f0f8fa}.radio-card span{display:flex;flex-direction:column;color:#394a4d!important}.radio-card small{color:#84908e;font-size:.68rem}.btn-wide{width:100%}.success-mark{display:grid;place-items:center;width:58px;height:58px;margin-bottom:12px;border-radius:50%;background:#e4f3e7;color:#3b7a47;font-size:1.5rem;font-weight:800}.payment-box{overflow:hidden;margin:16px 0;border:1px solid #dce2df;border-radius:14px}.payment-line{display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:10px;padding:13px;border-bottom:1px solid #e6e9e7;font-size:.76rem}.payment-line:last-child{border:0}.payment-line span{color:#7b8986}.payment-line strong{overflow-wrap:anywhere}.payment-line button,.text-button{color:#a83529;font-weight:800}.reservation-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:16px}.privacy-note{margin-top:16px;color:#8b9694;font-size:.7rem;text-align:center}.toast{position:fixed;z-index:500;bottom:24px;left:50%;padding:11px 18px;border-radius:10px;background:var(--race-dark);color:#fff;opacity:0;pointer-events:none;transform:translate(-50%,30px);transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:820px){.registry-intro{grid-template-columns:1fr;gap:18px}.registry-grid,.how-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.registry-tools{grid-template-columns:1fr 1fr}.gift-search{grid-column:1/-1}}
@media(max-width:560px){.registry-hero{padding:116px 18px 50px}.registry-hero:before,.registry-hero:after{display:none}.event-chip{line-height:1.35}.registry-section{padding-top:24px}.registry-intro{padding:22px}.how-grid,.registry-grid,.registry-tools,.form-row,.registry-modal fieldset{grid-template-columns:1fr}.gift-search{grid-column:auto}.registry-summary{flex-wrap:wrap;gap:15px}.registry-summary .btn{width:100%;margin-left:0}.registry-modal-card{padding:24px 20px}.payment-line{grid-template-columns:1fr auto}.payment-line strong{grid-row:2;grid-column:1/-1}.reservation-actions{flex-direction:column}}

/* Rodapé alinhado com a identidade visual do restante evento. */
.registry-page footer{background:#202522;border-top:6px solid #c94737}
.registry-page .footer-brand,.registry-page .footer-pill{color:#e9c681}
.registry-page .footer-tagline,.registry-page .footer-nav a{color:rgba(255,250,243,.62)}
.registry-page .footer-nav a:hover{color:#fffaf3;background:rgba(255,250,243,.08)}
.registry-page .footer-pill{border-color:rgba(233,198,129,.42)}
.registry-page .footer-copy{color:rgba(255,250,243,.34);border-top-color:rgba(255,250,243,.09)}

.gift-photo{margin:0 0 18px;overflow:hidden;border-radius:12px;background:#f7f7f3}
.gift-photo img{display:block;width:100%;height:200px;padding:12px;object-fit:contain;background:#fff}
.gift-photo figcaption{padding:7px 10px;color:#64716f;font-size:.65rem;line-height:1.5}
.gift-photo figcaption a{text-decoration:underline;text-underline-offset:2px}
.photo-fallback{display:grid;place-items:center;height:200px;color:#64716f;font-size:.85rem}
.gift-kind{font-size:.72rem;font-weight:800;color:#64716f}
.gift-category{grid-column:1/-1;min-width:0}
.gift-category+.gift-category{margin-top:24px}
.gift-category-title{display:flex;align-items:center;gap:18px;margin:0 0 20px;color:var(--race-dark);font:700 clamp(1.4rem,3vw,1.8rem)/1.2 var(--font-display)}
.gift-category-title::after{content:"";flex:1;min-width:24px;height:1px;background:#d7dfdc}
.product-link{color:inherit;text-decoration:underline;text-decoration-color:#c9473766;text-underline-offset:4px}
.product-link:hover{color:var(--race-red)}
.product-link span{font:600 .8em var(--font-body)}
.registry-card>p{margin-bottom:18px}
.registry-card .gift-price-eur,.registry-card .progress-wrap{padding-top:12px}
.progress-wrap small{display:block;margin-top:8px;color:#876b16;font-size:.7rem}
.modal-photo img{height:150px}
.payment-fields{display:flex;flex-direction:column;gap:16px}
.quantity-fields{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:12px;background:#f2f8f8}
.quantity-fields select{width:100%;min-height:44px;padding:11px;border:1px solid #d6ddda;border-radius:10px;background:#fff;color:#394a4d;font:inherit}
.quantity-total{color:#a83529;font-weight:800}
.gift-price-eur small{display:block;margin-bottom:5px;color:#64716f;font-size:.75rem;font-weight:600}
.gift-price-eur span{display:block}
.quantity-progress{margin-top:0}
.amount-note{color:#64716f;font-size:.78rem;line-height:1.5}
.form-error{color:#a83529;font-size:.85rem}
.radio-card:has(input:disabled){opacity:.55;cursor:not-allowed}
.registry-modal input[readonly]{background:#f2f5f3;font-weight:800}
.registry-page [hidden]{display:none!important}
.registry-page :is(a,button,input,select,textarea):focus-visible{outline:3px solid #3987a0;outline-offset:3px}

/* Topo na paleta do evento: creme, kraft, vermelho e amarelo. */
.registry-hero{
  background:
    radial-gradient(circle at 18% 68%,rgba(199,47,44,.13),transparent 25%),
    radial-gradient(circle at 82% 22%,rgba(239,189,56,.18),transparent 22%),
    linear-gradient(180deg,#f2e4d2 0%,#faf7f1 100%);
  border-bottom-color:rgba(32,37,34,.14);
}
.registry-hero .checkers{
  opacity:.42;
  background:conic-gradient(#202522 25%,#f6efe4 0 50%,#202522 0 75%,#f6efe4 0) 0/34px 34px;
}
.registry-hero h1{color:#202522}
.registry-hero>p:not(.page-hero-eyebrow){color:#64645d}
.registry-hero .page-hero-eyebrow{color:#c72f2c}
.registry-hero::before,.registry-hero::after{
  color:#edbd38;
  filter:drop-shadow(0 3px 0 rgba(199,47,44,.28));
}
.event-chip{
  color:#8f201f;
  border-color:rgba(143,32,31,.16);
  background:rgba(255,250,243,.94);
}
