:root{--ink:#10253a;--cream:#f7f4ed;--paper:#fffdf9;--gold:#a77d36;--line:#e7e0d3;--muted:#75808a;--green:#3d8064;--shadow:0 18px 50px rgba(16,37,58,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.container{width:min(1160px,calc(100% - 48px));margin:auto}.site-header{height:78px;background:rgba(247,244,237,.92);backdrop-filter:blur(14px);position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(16,37,58,.06)}.nav{height:100%;display:flex;align-items:center;gap:34px}.logo{display:flex;align-items:center;gap:10px;margin-right:auto}.logo-image{width:38px;height:38px;object-fit:contain;border-radius:8px;flex-shrink:0}.logo-icon,.brand-mark{width:32px;height:32px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold)}.logo b{display:block;font-size:11px;letter-spacing:.02em}.logo small{display:block;color:var(--gold);font-size:8px;letter-spacing:.2em;margin-top:1px}.nav nav{display:flex;gap:25px;color:#66717b;font-size:13px}.nav nav a:hover,.text-link:hover{color:var(--gold)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:18px;padding:15px 20px;border-radius:7px;border:1px solid transparent;font-weight:700;font-size:13px;transition:.18s ease;cursor:pointer}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(16,37,58,.12)}.btn:active{transform:scale(.98)}.btn-dark{background:var(--ink);color:#fff}.btn-light{background:#fff;color:var(--ink)}.btn-light-dark{background:#e9e3d7;color:var(--ink)}.btn-outline{border-color:var(--ink);background:transparent;color:var(--ink)}.btn-muted{background:#ded9ce;color:#777}.btn-sm{padding:11px 15px;font-size:12px}.btn-full{width:100%}.hero{min-height:560px;background:radial-gradient(circle at 83% 25%,rgba(208,194,156,.32),transparent 28%),linear-gradient(120deg,#fbfaf5,#eee8d9);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr 430px;align-items:center;gap:60px;min-height:560px}.pill{display:inline-block;border:1px solid #ded7c8;border-radius:50px;padding:5px 11px;color:var(--gold);font-size:9px;letter-spacing:.15em;font-weight:700}.hero h1,h1,h2{font-family:'Playfair Display',serif;font-weight:500;line-height:1.08;letter-spacing:-.04em}.hero h1{font-size:67px;max-width:610px;margin:22px 0}.hero h1 em,h1 em,h2 em{color:var(--gold);font-weight:500}.hero p{max-width:520px;color:#68737c;font-size:15px}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:28px}.text-link{font-size:13px;font-weight:700;color:var(--gold)}.event-meta{border-top:1px solid #ded9ce;display:flex;gap:32px;margin-top:38px;padding-top:17px;color:#68737c;font-size:11px}.hero-art{display:grid;place-items:center}.art-card{width:310px;height:310px;padding:23px;color:#f7f1e7;text-align:center;border-radius:14px;box-shadow:25px 28px 45px rgba(16,37,58,.24);background:radial-gradient(circle at 50% 38%,#b48c55 0 12%,transparent 13%),linear-gradient(145deg,#d4c7ad 0 8%,#182f43 9% 72%,#091a2b 73%);position:relative}.art-card:before{content:'';position:absolute;inset:13px;border:1px solid rgba(255,255,255,.35);border-radius:8px}.art-top{font-size:8px;letter-spacing:.1em;position:relative}.art-star{font-size:58px;line-height:1;margin:30px 0 10px;color:#dec58f}.art-card strong{font-family:'Playfair Display';font-size:22px;line-height:.95;position:relative}.art-card i{color:#e4c990;font-style:italic}.art-bottom{position:absolute;bottom:22px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:end;border-top:1px solid rgba(255,255,255,.3);padding-top:10px;font-size:9px;text-align:left}.art-bottom>b{font-size:32px;font-family:'Playfair Display'}.art-bottom span{text-align:right}.section{padding:115px 0}.section-white,.faq{background:var(--paper)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:95px}.eyebrow{display:block;color:var(--gold);font-weight:700;letter-spacing:.17em;font-size:10px;margin-bottom:15px}.section h2{font-size:43px;margin:0 0 25px}.rich{color:#6b747a;font-size:14px;max-width:470px}.rich p{margin-top:0;margin-bottom:22px}.schedule{background:#eee9de}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.section-head p{max-width:330px;color:#68737c;font-size:13px}.timeline{display:grid;grid-template-columns:90px 1fr 100px;gap:32px}.time-col{border-top:1px solid var(--gold);padding-top:12px}.time-col b{font-family:'Playfair Display';font-size:25px;font-weight:500}.time-col span{display:block;font-size:9px;letter-spacing:.18em;color:var(--gold);margin-top:4px}.time-col.end{text-align:right}.timeline-items article{border-top:1px solid #d6cdbd;padding:18px 0;display:flex;gap:50px}.timeline-items time{font-size:12px;color:var(--gold);font-weight:700;min-width:50px}.timeline-items h3{margin:0;font-size:15px}.timeline-items p{margin:4px 0 0;color:#7a7f80;font-size:12px}.location{background:#f4f0e8}.location p{color:#68737c;max-width:370px;font-size:14px}.map-card{background:linear-gradient(145deg,#ddd6c5,#c3bdad);min-height:240px;border-radius:11px;padding:28px;display:flex;flex-direction:column;justify-content:end;color:var(--ink);box-shadow:var(--shadow)}.map-card>span{font-size:35px;color:var(--gold);margin-bottom:auto}.map-card strong{font-size:18px}.map-card p{margin:0!important;color:var(--ink)}.map-card small{color:#6f746f}.cta{background:var(--ink);color:#fff;padding:90px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between}.cta h2{font-size:47px;margin:0}.cta p{color:#b4bec4}.faq h2{font-size:43px}.faq>p{color:#68737c}.faq-list details{border-top:1px solid var(--line);padding:18px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;font-weight:700;font-size:14px;display:flex;justify-content:space-between}summary:after{content:'+';color:var(--gold);font-size:20px;font-weight:400}details[open] summary:after{content:'−'}details p{color:#738088;font-size:13px;max-width:520px;margin:12px 0 0}.footer{background:#f0eadf;padding:55px 0 20px}.footer-grid{display:flex;justify-content:space-between}.footer strong{font-family:'Playfair Display';font-size:18px}.footer p{font-size:13px;color:#70797c}.footer-grid a{display:block;margin-top:8px;color:var(--gold);font-size:13px;font-weight:700}.footer-bottom{border-top:1px solid #ddd3c3;margin-top:40px;padding-top:15px;color:#8b8d8a;font-size:11px;display:flex;justify-content:space-between}.form-page{min-height:calc(100vh - 78px);padding:60px 0 100px}.narrow{max-width:650px}.back-link{color:var(--gold);font-size:12px;font-weight:700}.form-intro{text-align:center;margin:44px 0 30px}.form-intro h1{font-size:48px;margin:0 0 12px}.form-intro p{color:#707b80}.form-card,.success-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:34px;box-shadow:var(--shadow)}label{display:block;font-size:12px;font-weight:700;margin-bottom:20px}input{font:inherit}input:not([type=checkbox]):not([type=radio]){display:block;width:100%;margin-top:8px;padding:14px 15px;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:14px}fieldset{border:0;padding:6px 0 0;margin:0 0 23px}legend{font-size:12px;font-weight:700;margin-bottom:10px}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{margin:0}.choice input{display:none}.choice span{display:block;border:1px solid var(--line);padding:14px;border-radius:7px;text-align:center;color:#68737c;font-size:12px}.choice input:checked+span{border-color:var(--gold);background:#f7f0e2;color:var(--ink)}.shirt-area{background:#f5f0e7;padding:20px;border-radius:9px;margin-bottom:22px}.shirt-head{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);margin-bottom:5px}.shirt-head h3{margin:0 0 12px;font-family:'Playfair Display';font-size:22px;font-weight:500}.price-tag{font-size:11px;color:var(--gold);font-weight:700}.shirt-line{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:10px 0;font-size:13px}.shirt-line input{width:70px!important;margin:0!important;text-align:center}.total-line{display:flex;justify-content:space-between;padding-top:15px;font-size:12px}.total-line strong{font-size:16px}.consent{font-weight:400;display:flex;gap:8px;font-size:11px;color:#6f7a80;align-items:flex-start}.consent input{margin-top:3px}.review-person{display:flex;align-items:center;gap:15px;padding-bottom:25px;border-bottom:1px solid var(--line)}.avatar{width:40px;height:40px;border-radius:50%;background:#eadfc9;color:var(--gold);display:grid;place-items:center}.review-person strong,.review-person span{display:block}.review-person span{font-size:12px;color:#7e8586}.review-block{padding:22px 0;border-bottom:1px solid var(--line)}.review-row,.totals>div{display:flex;justify-content:space-between;font-size:13px;padding:7px 0}.muted{font-size:12px;color:#8a908f}.totals{border:0}.totals .grand{font-size:16px;padding-top:15px}.success-card{text-align:center;padding:48px 38px}.success-icon{background:#dcebe2;color:var(--green);width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;font-size:25px}.success-card h1{font-size:45px;margin:0 0 14px}.success-card>p{color:#6d777c;max-width:480px;margin:0 auto 28px}.code-box{background:#f4eee2;border-radius:8px;padding:15px;margin-bottom:25px}.code-box span,.summary-grid span{display:block;color:var(--gold);font-size:9px;letter-spacing:.15em;font-weight:700}.code-box strong{font-size:21px;letter-spacing:.08em}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;text-align:left;border-top:1px solid var(--line);padding-top:22px}.summary-grid b{display:block;font-size:13px;margin-top:4px}.status{color:var(--gold)}.success-actions{margin-top:30px}.success-actions .text-link{display:block;margin-top:17px}.pix-card{display:grid;grid-template-columns:180px 1fr;gap:25px;align-items:center}.pix-qr{height:180px;border:1px dashed var(--gold);display:grid;place-items:center;font-family:'Playfair Display';font-size:38px;color:var(--gold);text-align:center}.pix-qr small{font:10px 'DM Sans';color:#777}.pix-value{display:block;font:32px 'Playfair Display';margin:5px 0 18px}.pix-info p{font-size:12px;color:#6b747a}.copy-box{font-size:10px;word-break:break-all;background:#f5f0e7;padding:10px;border-radius:5px;margin:15px 0;color:#6c7479}
@media(max-width:800px){.logo-image{width:32px;height:32px;border-radius:6px}.logo b{font-size:10px}.logo small{font-size:7px}.container{width:min(100% - 32px,650px)}.nav nav{display:none}.hero-grid,.two-col{grid-template-columns:1fr;gap:45px}.hero{padding:65px 0}.hero-grid{min-height:auto}.hero h1{font-size:48px}.hero-art{order:-1}.art-card{width:245px;height:245px}.art-star{font-size:45px;margin:20px 0 8px}.art-card strong{font-size:18px}.section{padding:75px 0}.section-head,.cta-inner,.footer-grid{display:block}.section-head p{margin-top:20px}.timeline{grid-template-columns:70px 1fr}.time-col.end{display:none}.timeline-items article{gap:15px}.cta .btn{margin-top:30px}.footer-grid>div+div{margin-top:30px}.footer-bottom{display:block}.footer-bottom a{display:block;margin-top:8px}.form-intro h1{font-size:40px}.form-card,.success-card{padding:25px 20px}.pix-card{grid-template-columns:1fr}.pix-qr{width:180px;margin:auto}.choice-row,.summary-grid{grid-template-columns:1fr}.event-meta{gap:15px;flex-wrap:wrap}}
.admin-shell{min-height:100vh;background:#f4f6f7;display:flex}.admin-sidebar{width:250px;background:#10253a;color:#fff;padding:25px 16px;flex-shrink:0}.admin-brand{padding:10px 15px 35px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:22px}.admin-brand b{display:block;font-family:'Playfair Display';font-size:18px}.admin-brand small{color:#aebbc3;font-size:10px}.admin-nav a{display:flex;gap:12px;align-items:center;padding:12px 15px;color:#aebbc3;border-radius:7px;font-size:13px;margin:3px 0}.admin-nav a:hover,.admin-nav a.active{background:#1d3a50;color:#fff}.admin-nav .nav-label{font-size:10px;letter-spacing:.15em;color:#728995;padding:20px 15px 7px}.admin-main{flex:1;min-width:0}.admin-topbar{height:76px;background:#fff;border-bottom:1px solid #e4e8ea;display:flex;align-items:center;justify-content:space-between;padding:0 35px}.admin-topbar h1{font:500 25px 'Playfair Display';margin:0}.admin-user{font-size:12px;color:#6f7b80}.admin-content{padding:35px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metric{background:#fff;border:1px solid #e7ebec;border-radius:10px;padding:20px}.metric .label{color:#77848b;font-size:11px}.metric strong{display:block;font:500 29px 'Playfair Display';margin:7px 0}.metric small{color:#3d8064;font-size:10px}.admin-card{background:#fff;border:1px solid #e7ebec;border-radius:10px;padding:22px;margin-top:22px}.admin-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.admin-card h2{font:500 22px 'Playfair Display';margin:0}.admin-table{width:100%;border-collapse:collapse;font-size:12px}.admin-table th{text-align:left;color:#8a969b;font-size:10px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #e7ebec;padding:11px 8px}.admin-table td{border-bottom:1px solid #f0f2f3;padding:14px 8px;color:#42525b}.badge{display:inline-block;padding:4px 8px;border-radius:20px;font-size:10px}.badge-green{background:#e1f0e7;color:#327254}.badge-gold{background:#f6ecd7;color:#9b722f}.admin-filters{display:flex;gap:10px;margin-bottom:18px}.admin-filters input,.admin-filters select{padding:10px;border:1px solid #e1e6e7;border-radius:6px;font-size:12px;background:#fff}.chart{height:160px;display:flex;align-items:end;gap:16px;padding:15px 10px;border-bottom:1px solid #e7ebec}.bar{background:#c6a66c;border-radius:5px 5px 0 0;flex:1;min-height:20px}.chart-labels{display:flex;justify-content:space-around;color:#93a0a5;font-size:10px;padding-top:8px}@media(max-width:850px){.admin-sidebar{width:68px;padding:15px 8px}.admin-brand{padding:10px 6px 25px}.admin-brand b{font-size:0}.admin-brand b:after{content:'✦';font-size:24px}.admin-brand small,.admin-nav a span,.admin-nav .nav-label{display:none}.admin-nav a{justify-content:center;padding:13px 5px}.admin-content{padding:20px}.metric-grid{grid-template-columns:1fr 1fr}.admin-topbar{padding:0 20px}.admin-table{min-width:700px}.admin-card{overflow:auto}}
.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 80% 20%,#cbb88b55,transparent 30%),var(--cream)}.login-box{width:min(420px,calc(100% - 32px));background:var(--paper);border-radius:14px;padding:38px;box-shadow:var(--shadow);border:1px solid var(--line)}.login-box h1{font-size:36px;margin:12px 0}.login-box p{color:#748087;font-size:13px}.alert{background:#fae8e5;color:#a44b42;border-radius:6px;padding:10px;font-size:12px;margin-bottom:15px} 
.report-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #eef1f2;font-size:13px}.report-row:last-child{border:0}.report-row .green{color:#3d8064}.report-row .gold{color:#a77d36}

.registration-container{max-width:940px}.registration-card{background:#fff;border:1px solid #ddd;border-radius:24px;padding:52px;box-shadow:0 15px 40px rgba(16,37,58,.06)}.registration-heading h1{font-family:'DM Sans',sans-serif;font-size:42px;letter-spacing:-.04em;margin:0 0 14px;font-weight:500}.registration-heading p{color:#77818a;font-size:16px;max-width:680px;margin:0 0 35px}.registration-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.registration-divider{border-top:1px solid #ddd;margin:5px 0 28px}.shirt-question{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:35px}.shirt-question strong,.shirt-question small{display:block}.shirt-question small{color:#999;font-size:13px}.segmented-control{display:flex;background:#f2f0e9;padding:4px;border-radius:12px}.segmented-control label{margin:0}.segmented-control input{display:none}.segmented-control span{display:block;padding:12px 22px;border-radius:9px;color:#888}.segmented-control input:checked+span{background:#fff;color:#173047;box-shadow:0 1px 5px #17304718;font-weight:700}.shirt-selection{border-bottom:1px solid #ddd;padding-bottom:23px;margin-bottom:22px}.shirt-order-row{display:grid;grid-template-columns:112px 106px 1fr 25px;align-items:center;gap:16px;margin:12px 0}.shirt-order-row select,.quantity-control{height:48px;border:1px solid #dfe1e1;border-radius:11px;background:#fff}.shirt-order-row select{padding:0 16px;font:inherit}.quantity-control{display:flex;align-items:center;justify-content:space-around}.quantity-control button,.remove-shirt{border:0;background:none;color:#999;font-size:21px;cursor:pointer}.quantity-control input{width:28px;border:0!important;margin:0!important;padding:0!important;text-align:center;font-weight:700}.shirt-row-total{text-align:right;font-size:13px}.add-shirt{border:0;background:none;color:#91743b;font-weight:700;font-size:13px;padding:8px 0;cursor:pointer}.registration-total{display:flex;justify-content:space-between;align-items:center;padding:5px 0 28px;border-bottom:1px solid #ddd;margin-bottom:25px}.registration-total span,.registration-total small{display:block}.registration-total small{color:#999}.registration-total strong{font-size:24px}.registration-submit{width:100%;border:0;border-radius:12px;background:#102f48;color:#fff;padding:19px;font-size:18px;cursor:pointer}.privacy-note{text-align:center;color:#999;font-size:12px;margin:18px 0 0}@media(max-width:700px){.registration-card{padding:30px 20px}.registration-fields{grid-template-columns:1fr}.shirt-question{align-items:flex-start;flex-direction:column}.segmented-control{align-self:stretch}.segmented-control label{flex:1;text-align:center}.shirt-order-row{grid-template-columns:1fr 108px 25px;gap:8px}.shirt-order-row .shirt-row-total{grid-column:1/3;text-align:left}}

.admin-mobile-toggle,.admin-mobile-overlay{display:none}@media(max-width:850px){.admin-shell{position:relative;display:block;min-height:100vh}.admin-sidebar{position:fixed;z-index:50;left:0;top:0;bottom:0;width:272px;transform:translateX(-105%);transition:transform .22s ease;box-shadow:12px 0 30px rgba(0,0,0,.2);overflow-y:auto}.admin-sidebar.is-open{transform:translateX(0)}.admin-mobile-toggle{display:grid;place-items:center;position:fixed;z-index:40;top:16px;left:16px;width:42px;height:42px;border:0;border-radius:10px;background:#10253a;color:#fff;font-size:22px;cursor:pointer}.admin-mobile-overlay{position:fixed;z-index:45;inset:0;background:rgba(16,37,58,.45)}.admin-mobile-overlay.is-visible{display:block}.admin-topbar{padding-left:76px;min-height:76px;height:auto;padding-top:18px;padding-bottom:18px}.admin-content{padding:20px 16px;overflow:hidden}.admin-card{overflow-x:auto}.metric-grid{grid-template-columns:1fr 1fr}.admin-filters{flex-wrap:wrap}.admin-filters input{min-width:100%}}@media(max-width:480px){.metric-grid{grid-template-columns:1fr}.admin-topbar h1{font-size:22px}}

.footer-logo{width:52px;height:52px;object-fit:contain;border-radius:9px;display:block;margin-bottom:12px}.shirt-admin-form{display:grid;grid-template-columns:1fr 1fr 100px auto auto;gap:12px;align-items:center}.shirt-admin-form input:not([type=checkbox]),.inline-input{padding:11px;border:1px solid #e1e6e7;border-radius:6px;font:inherit}.check{display:flex;align-items:center;gap:6px;font-size:12px;margin:0}.inline-input.small{width:105px}.inline-form{display:inline;margin-left:6px}.btn-danger{background:#f8e5e2;color:#a34d43;border-color:#eccac5}.admin-table-wrap{overflow-x:auto}.admin-table-wrap .admin-table{min-width:760px}.pdf-report{background:#fff!important;color:#10253a!important}.pdf-report .admin-sidebar,.pdf-report .admin-topbar,.pdf-report .no-print{display:none}.pdf-report .admin-content{padding:30px;max-width:1000px;margin:auto}.pdf-report .admin-card{break-inside:avoid;box-shadow:none}@media print{.pdf-report{background:#fff}.pdf-report .admin-card{border:1px solid #ddd}.pdf-report .admin-content{padding:0}.no-print{display:none!important}}@media(max-width:700px){.shirt-admin-form{grid-template-columns:1fr 1fr}.shirt-admin-form input:first-of-type{grid-column:1/-1}.shirt-admin-form .btn{grid-column:1/-1}.footer-logo{width:44px;height:44px}}

.admin-logo{width:44px;height:44px;object-fit:contain;border-radius:8px;display:block;margin-bottom:10px}@media(max-width:850px){.admin-logo{width:38px;height:38px}.admin-brand b{font-size:16px!important}.admin-brand small{display:block!important}}
.pagination{display:flex;gap:6px;justify-content:center;margin-top:22px}.pagination a{padding:8px 12px;border:1px solid #dfe5e7;border-radius:6px;font-size:12px}.pagination a.active{background:#10253a;color:#fff;border-color:#10253a}

.dialog-backdrop{position:fixed;inset:0;z-index:100;background:rgba(16,37,58,.5);backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px}.dialog-card{position:relative;width:min(480px,100%);background:#fff;border-radius:20px;padding:34px;box-shadow:0 25px 80px rgba(16,37,58,.28);animation:dialogIn .18s ease-out}.dialog-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#f8ecd4;color:#9a702d;font-size:23px;font-weight:700;margin-bottom:17px}.dialog-card h2{font-family:'DM Sans',sans-serif;font-size:27px;letter-spacing:-.03em;margin:7px 0 10px}.dialog-card p{color:#6d777c;font-size:14px;line-height:1.65;margin:0}.dialog-close{position:absolute;right:17px;top:13px;border:0;background:none;color:#718089;font-size:27px;cursor:pointer}.dialog-actions{display:flex;gap:10px;margin-top:25px;flex-wrap:wrap}.dialog-actions .btn{flex:1;min-width:170px}@keyframes dialogIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}

.login-logo-image{display:block;width:100%;max-width:280px;height:72px;object-fit:contain;object-position:center;margin:0 auto 22px;border-radius:7px}@media(max-width:520px){.login-logo-image{max-width:240px;height:62px;margin-bottom:18px}}

/* Registration flow v2 */
.flow-steps{display:flex;align-items:center;justify-content:center;gap:10px;margin:26px auto 8px;color:#a0a3a0;font-size:10px;font-weight:700;letter-spacing:.04em}.flow-steps span{display:flex;align-items:center;gap:6px;white-space:nowrap}.flow-steps b{width:25px;height:25px;border:1px solid #d8d2c6;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700}.flow-steps i{height:1px;width:38px;background:#ddd7cb}.flow-steps .current,.flow-steps .done{color:var(--gold)}.flow-steps .current b{background:var(--gold);border-color:var(--gold);color:#fff}.flow-steps .done b{background:#f5eddf;border-color:#d8bd86;color:var(--gold)}.review-page .form-intro{margin-top:28px}.review-card{padding:30px}.review-person{position:relative}.review-edit{margin-left:auto;color:var(--gold);font-size:11px;font-weight:700;text-decoration:underline}.review-block-head{display:flex;align-items:center;justify-content:space-between}.review-block-head a{color:var(--gold);font-size:11px;font-weight:700}.review-row small{color:#8c9290;font-size:11px}.review-notice{display:flex;gap:11px;align-items:flex-start;background:#edf6ef;border:1px solid #d5e8d9;border-radius:11px;padding:13px;margin:0 0 18px;color:#3c7554}.review-notice>span{width:20px;height:20px;border-radius:50%;background:#d3e9d9;display:grid;place-items:center;font-size:12px;flex:0 0 auto}.review-notice p{font-size:11px;line-height:1.5;margin:0}.review-notice strong{font-size:12px}.review-submit{min-height:52px}.privacy-note{font-size:11px}.registration-card{overflow:hidden}.shirt-order-row{min-height:48px}.quantity-control button{min-width:38px;min-height:38px;border-radius:8px}.remove-shirt{min-width:34px;min-height:34px}.registration-submit{min-height:52px}@media(max-width:600px){.flow-steps{gap:5px;font-size:9px}.flow-steps i{width:18px}.flow-steps b{width:23px;height:23px}.review-card{padding:22px 18px}.review-row{gap:12px;align-items:flex-start}.review-row b{white-space:nowrap}.review-person{padding-right:0}.review-edit{position:absolute;right:0;top:10px}.review-notice{padding:12px}.registration-card{padding:28px 17px}.registration-heading h1{font-size:34px}.registration-heading p{font-size:14px}.shirt-area{padding:15px}.shirt-order-row{grid-template-columns:1fr 1fr 28px!important;gap:8px!important}.shirt-order-row select{grid-column:1/-1}.shirt-row-total{font-size:12px}.registration-total{padding-bottom:20px}.form-page{padding-top:32px}.success-next{margin-top:14px}}

/* Journey continuity: steps 2 and 3 follow the same spacious card language as step 1. */
.review-page{max-width:940px}.review-page .form-intro{text-align:left;max-width:700px;margin-left:0}.review-page .form-intro h1{font-family:'DM Sans',sans-serif;font-size:42px;font-weight:500;letter-spacing:-.04em}.review-page .form-intro p{font-size:16px}.review-card{border-radius:24px;padding:42px 52px;box-shadow:0 15px 40px rgba(16,37,58,.06)}.review-card .review-person{padding:0 0 27px}.review-card .review-block{padding:25px 0}.review-card .review-block:first-of-type{padding-top:26px}.review-card .review-row{font-size:14px;padding:10px 0}.review-card .totals{padding-top:23px}.review-card .totals .grand{font-size:18px}.review-card .review-notice{margin-top:4px;border-radius:12px;padding:16px}.confirmation-card{position:relative;overflow:hidden;border-radius:24px;padding:52px}.confirmation-card:before{content:'✦';position:absolute;right:39px;top:24px;font-size:58px;line-height:1;color:#d9bd84;opacity:.18;transform:rotate(15deg)}.confirmation-card .receipt-head{text-align:left;padding-bottom:28px}.confirmation-card .receipt-head .eyebrow{margin-bottom:17px}.confirmation-card .receipt-title{font-family:'DM Sans',sans-serif;font-size:42px;font-weight:500;letter-spacing:-.045em;line-height:1.08}.confirmation-card .receipt-subtitle{margin:10px 0 0;max-width:530px;font-size:15px}.confirmation-card .receipt-code{display:flex;align-items:center;justify-content:space-between;text-align:left;border-radius:14px;padding:19px 22px;background:linear-gradient(110deg,#10283d,#183d59)}.confirmation-card .receipt-code strong{font-family:'DM Sans',sans-serif;font-weight:700}.confirmation-card .receipt-meta{gap:13px}.confirmation-card .receipt-box{background:#fff;border-radius:13px;padding:16px;border-color:#e6e8e5}.confirmation-card .success-next{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}.confirmation-card .next-step{background:#faf8f3;border:0;border-radius:12px;padding:15px}.confirmation-card .receipt-message{text-align:left;border-radius:13px;padding:17px}.confirmation-card .receipt-actions{margin-top:22px}.confirmation-card .receipt-actions .btn{min-height:48px}@media(max-width:600px){.review-page .form-intro{text-align:left;margin-top:24px}.review-page .form-intro h1{font-size:34px}.review-page .form-intro p{font-size:14px}.review-card{border-radius:22px;padding:27px 18px}.confirmation-card{border-radius:22px;padding:26px 18px}.confirmation-card:before{right:18px;top:18px;font-size:42px}.confirmation-card .receipt-head{text-align:left;padding-bottom:22px}.confirmation-card .receipt-title{font-size:34px;max-width:280px}.confirmation-card .receipt-subtitle{font-size:14px;max-width:310px}.confirmation-card .receipt-code{display:block;padding:18px}.confirmation-card .receipt-code strong{display:block;margin-top:8px}.confirmation-card .receipt-box{padding:15px}.confirmation-card .success-next{padding-top:16px}.confirmation-card .receipt-message{text-align:center}.confirmation-card .receipt-actions{gap:9px}}

/* PIX payment experience */
.pix-page .form-intro{text-align:left;max-width:620px;margin-left:0}.pix-page .form-intro h1{font-family:'DM Sans',sans-serif;font-size:42px;font-weight:500;letter-spacing:-.045em}.pix-page .form-intro p{font-size:16px}.pix-card-v2{display:block;padding:34px 42px;border-radius:24px}.pix-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:24px;border-bottom:1px solid var(--line)}.pix-card-header h2{font-family:'DM Sans',sans-serif;font-size:22px;font-weight:500;margin:5px 0 0}.pix-status{background:#e8f4eb;color:#397152;border-radius:30px;padding:7px 11px;font-size:10px;font-weight:700;white-space:nowrap}.pix-payment-grid{display:grid;grid-template-columns:240px 1fr;gap:38px;align-items:center;padding:30px 0}.pix-qr-wrap{display:flex;flex-direction:column;align-items:center;gap:12px}.pix-qr{width:220px;height:220px;border:1px solid #e1dacd;border-radius:16px;background:#fff;display:grid;place-items:center;padding:10px;box-shadow:0 8px 22px rgba(16,37,58,.06)}.pix-qr img{width:100%;height:100%;image-rendering:auto}.qr-placeholder{font:42px 'Playfair Display';color:var(--gold)}.qr-caption{font-size:11px;color:#7a8385;text-align:center}.pix-value{display:block;font:40px 'DM Sans',sans-serif;font-weight:500;letter-spacing:-.05em;margin:7px 0 18px}.pix-recipient{border-left:2px solid var(--gold);padding:1px 0 1px 13px;margin-bottom:22px}.pix-recipient span,.pix-recipient small{display:block;color:#8a908f;font-size:10px}.pix-recipient b{display:block;font-size:13px;margin:3px 0}.pix-copy-label{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:7px}.pix-copy-label span{font-size:11px;font-weight:700}.pix-copy-label small{font-size:10px;color:#8a908f}.copy-box{position:relative;display:block;width:100%;min-height:66px;padding:12px 72px 12px 12px;border:1px solid #dfd8cc;border-radius:9px;background:#faf8f3;color:#697476;font:10px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all;text-align:left;cursor:pointer}.copy-box:hover{border-color:var(--gold)}.copy-hint{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:#10253a;color:#fff;border-radius:6px;padding:6px 7px;font:700 10px 'DM Sans',sans-serif;white-space:nowrap}.copy-feedback{min-height:17px;color:#397152;font-size:11px;margin:8px 0 0;opacity:0;transition:opacity .2s}.copy-feedback.visible{opacity:1}.pix-missing{background:#faf4e8;border-radius:9px;padding:13px;color:#756345;font-size:12px}.pix-how{border-top:1px solid var(--line);padding-top:22px}.pix-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.pix-steps div{display:flex;align-items:center;gap:9px;background:#faf8f3;border-radius:10px;padding:11px}.pix-steps b{width:23px;height:23px;border-radius:50%;background:#eadfc9;color:var(--gold);display:grid;place-items:center;font-size:11px;flex:0 0 auto}.pix-steps span{font-size:10px;line-height:1.35}.pix-primary{margin-top:22px;min-height:50px}@media(max-width:600px){.pix-page .form-intro h1{font-size:34px}.pix-page .form-intro p{font-size:14px}.pix-card-v2{padding:24px 18px;border-radius:22px}.pix-card-header{display:block;padding-bottom:18px}.pix-status{display:inline-block;margin-top:12px}.pix-payment-grid{grid-template-columns:1fr;gap:24px;padding:23px 0}.pix-qr{width:205px;height:205px}.pix-value{font-size:34px}.pix-copy-label{display:block}.pix-copy-label small{display:block;margin-top:3px}.copy-box{min-height:83px;padding-right:68px}.pix-steps{grid-template-columns:1fr;gap:7px}.pix-steps div{padding:10px}.pix-primary{margin-top:18px}}

/* Shared journey surface: all stages use the same visual frame. */
.registration-page .registration-card,.review-page .review-card,.confirmation-page .confirmation-card,.pix-container .pix-card-v2{width:100%;max-width:940px;min-height:560px}.confirmation-page .confirmation-card,.pix-container .pix-card-v2{margin-left:auto;margin-right:auto}.success-check{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#e4f4e8;border:7px solid #f5fbf6;color:#25834f;font:700 34px/1 'DM Sans',sans-serif;box-shadow:0 8px 22px rgba(37,131,79,.13);margin:0 0 18px}.confirmation-card .receipt-head .success-check{display:grid}.confirmation-card .receipt-head .eyebrow{display:block}@media(max-width:600px){.registration-page .registration-card,.review-page .review-card,.confirmation-page .confirmation-card,.pix-container .pix-card-v2{min-height:0}.success-check{width:56px;height:56px;font-size:29px;margin-bottom:15px}.confirmation-card .receipt-head .success-check{margin-bottom:15px}}


/* Confirmation redesign v3: a calm, celebratory success surface with deliberate spacing. */
.confirmation-page .confirmation-card{padding:56px 64px;min-height:620px;background:linear-gradient(180deg,#fffdf9 0%,#fff 100%)}.confirmation-page .confirmation-card:before{content:'✦';right:42px;top:31px;font-size:64px;color:#d2b06c;opacity:.22}.confirmation-page .receipt-head{display:flex;flex-direction:column;align-items:center;text-align:center;padding-bottom:31px;margin-bottom:27px;border-bottom:1px solid #eee9df}.confirmation-page .success-check{width:76px;height:76px;border-width:8px;margin:0 auto 22px;background:#dff3e5;color:#23834d;font-size:40px;box-shadow:0 10px 28px rgba(35,131,77,.16)}.confirmation-page .receipt-head .eyebrow{margin-bottom:13px}.confirmation-page .receipt-title{max-width:620px;margin:0;font-size:44px;line-height:1.08}.confirmation-page .receipt-subtitle{max-width:520px;margin:14px auto 0;font-size:15px;line-height:1.65}.confirmation-page .receipt-code{margin:0 auto 24px;max-width:620px;display:flex;align-items:center;justify-content:space-between;padding:22px 25px;border-radius:16px;box-shadow:0 10px 24px rgba(16,40,61,.12)}.confirmation-page .receipt-code span{font-size:10px}.confirmation-page .receipt-code strong{font-size:25px}.confirmation-page .receipt-meta{max-width:620px;margin:0 auto;gap:12px}.confirmation-page .receipt-box{min-height:78px;display:flex;flex-direction:column;justify-content:center;padding:15px 17px}.confirmation-page .success-next{max-width:620px;margin:26px auto 0;padding-top:26px;gap:12px}.confirmation-page .next-step{min-height:88px;padding:15px 14px}.confirmation-page .receipt-message{max-width:620px;margin:21px auto 0}.confirmation-page .receipt-actions{max-width:620px;margin:24px auto 0;gap:11px}.confirmation-page .receipt-actions .btn{min-height:50px}@media(max-width:600px){.confirmation-page .confirmation-card{padding:31px 18px;min-height:0}.confirmation-page .confirmation-card:before{right:17px;top:20px;font-size:43px}.confirmation-page .receipt-head{padding-bottom:25px;margin-bottom:22px}.confirmation-page .success-check{width:64px;height:64px;font-size:34px;margin-bottom:18px}.confirmation-page .receipt-title{font-size:35px;max-width:300px}.confirmation-page .receipt-subtitle{font-size:14px;line-height:1.55;max-width:315px}.confirmation-page .receipt-code{display:block;margin-bottom:20px;padding:19px 17px}.confirmation-page .receipt-code strong{font-size:22px;margin-top:9px;display:block;letter-spacing:.045em}.confirmation-page .receipt-meta{gap:10px}.confirmation-page .receipt-box{min-height:72px;padding:13px 14px}.confirmation-page .success-next{margin-top:21px;padding-top:21px;gap:8px}.confirmation-page .next-step{min-height:0;padding:13px}.confirmation-page .receipt-message{margin-top:17px;padding:15px}.confirmation-page .receipt-actions{margin-top:19px;gap:8px}}

/* Spacing QA across the complete registration journey. */
.registration-page .form-intro,.review-page .form-intro,.pix-page .form-intro{margin-bottom:32px}.registration-page .registration-card,.review-page .review-card,.pix-container .pix-card-v2{margin-top:0}.registration-page .registration-submit,.review-card .review-submit,.pix-card-v2 .pix-primary{margin-top:8px}.registration-page .privacy-note,.review-card .privacy-note{margin-top:15px}.review-card .review-notice{margin-bottom:22px}.pix-card-v2>.btn-light-dark{margin-top:12px}@media(max-width:600px){.registration-page .form-intro,.review-page .form-intro,.pix-page .form-intro{margin-bottom:24px}.registration-page .registration-submit,.review-card .review-submit,.pix-card-v2 .pix-primary{margin-top:6px}.registration-page .privacy-note,.review-card .privacy-note{margin-top:13px}.pix-card-v2>.btn-light-dark{margin-top:10px}}

/* Receipt sharing action */
.confirmation-page .receipt-actions .btn-whatsapp{grid-column:1/-1;background:#23834f;border-color:#23834f;color:#fff;box-shadow:0 8px 18px rgba(35,131,79,.16)}.confirmation-page .receipt-actions .btn-whatsapp:hover{background:#1c7043;border-color:#1c7043}.share-feedback{min-height:18px;margin:10px auto 0;max-width:620px;text-align:center;color:#397152;font-size:11px}.share-feedback:empty{display:none}@media(max-width:600px){.confirmation-page .receipt-actions .btn-whatsapp{grid-column:auto}.share-feedback{line-height:1.45;margin-top:9px}}

/* Form validation dialog */
.dialog-backdrop{padding:18px}.dialog-card{width:min(500px,100%);padding:36px 34px;border:1px solid rgba(167,125,54,.16)}.dialog-card .dialog-icon{background:#fff4df;color:#a77d36;box-shadow:0 0 0 7px #fffaf1}.dialog-card .dialog-actions{gap:10px}.dialog-card .dialog-actions .btn{min-height:46px}.dialog-card[role=alertdialog] h2{font-family:'DM Sans',sans-serif;font-weight:600;letter-spacing:-.035em}.dialog-card[role=alertdialog] p{line-height:1.65}@media(max-width:600px){.dialog-card{padding:30px 22px;border-radius:18px}.dialog-card .dialog-actions{display:grid;grid-template-columns:1fr}.dialog-card .dialog-actions .btn{width:100%;min-width:0}}

/* WhatsApp is always the positive sharing action, including on the PIX screen. */
.pix-page .btn-whatsapp{background:#23834f;border-color:#23834f;color:#fff;box-shadow:0 8px 18px rgba(35,131,79,.16)}.pix-page .btn-whatsapp:hover{background:#1c7043;border-color:#1c7043}.pix-page .share-feedback{color:#397152}

/* PIX actions must never touch: each CTA gets its own vertical breathing room. */
.pix-card-v2>.btn{display:flex;width:100%;margin-left:0!important}.pix-card-v2>.btn+.btn{margin-top:12px}.pix-card-v2>.pix-primary{margin-top:22px}.pix-card-v2>.btn-whatsapp{margin-top:12px!important}.pix-card-v2>.btn-light-dark{margin-top:12px!important}@media(max-width:600px){.pix-card-v2>.btn+.btn{margin-top:12px}.pix-card-v2>.pix-primary{margin-top:18px}.pix-card-v2>.btn-whatsapp,.pix-card-v2>.btn-light-dark{margin-top:12px!important}}

/* Inner PIX action stack: use gap instead of fragile adjacent margins. */
.pix-card-v2>.btn{margin-top:0!important}.pix-card-v2>.btn-whatsapp{margin-top:0!important}.pix-card-v2>.btn-light-dark{margin-top:0!important}.pix-card-v2>.pix-primary{margin-top:0!important}.pix-card-v2>.btn:first-of-type{margin-top:0!important}.pix-card-v2>.btn{position:relative}.pix-card-v2>.btn+.btn{margin-top:0!important}.pix-card-v2>.btn-light-dark{margin-top:0!important}.pix-card-v2>.btn-whatsapp{margin-top:0!important}
.pix-card-v2>.pix-primary,.pix-card-v2>.btn-whatsapp,.pix-card-v2>.btn-light-dark{margin-bottom:12px!important}.pix-card-v2>.btn-light-dark{margin-bottom:0!important}@media(max-width:600px){.pix-card-v2>.pix-primary,.pix-card-v2>.btn-whatsapp{margin-bottom:12px!important}.pix-card-v2>.btn-light-dark{margin-bottom:0!important}}

/* PIX: breathing room between instructions and the first CTA, plus between CTAs. */
.pix-card-v2>.pix-primary{margin-top:24px!important;margin-bottom:16px!important}.pix-card-v2>.btn-whatsapp{margin-top:24px!important;margin-bottom:16px!important}.pix-card-v2>.btn-light-dark{margin-top:0!important}.pix-card-v2>.pix-how{padding-bottom:0}@media(max-width:600px){.pix-card-v2>.pix-primary,.pix-card-v2>.btn-whatsapp{margin-top:24px!important;margin-bottom:16px!important}}

/* Hard separation: the instruction panel owns its bottom breathing room. */
.pix-card-v2>.pix-how{padding-bottom:28px!important;margin-bottom:0!important;border-bottom:1px solid #eee8dc}.pix-card-v2>.pix-how+.btn-whatsapp{margin-top:0!important}.pix-card-v2>.pix-how+.pix-primary{margin-top:0!important}.pix-card-v2>.pix-how~.btn-whatsapp{margin-top:0!important}.pix-card-v2>.pix-how~.btn-light-dark{margin-top:0!important}@media(max-width:600px){.pix-card-v2>.pix-how{padding-bottom:28px!important}}

/* Location panel: practical address presentation. */
.location-panel{position:relative;overflow:hidden;border:1px solid #dfd8c9;border-radius:18px;background:#fffdf9;box-shadow:0 18px 50px rgba(16,37,58,.08);padding:20px}.location-panel-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.location-badge,.location-status{font-size:9px;font-weight:800;letter-spacing:.13em}.location-badge{color:var(--gold)}.location-status{padding:6px 9px;border-radius:999px;background:#eaf4ed;color:#3d8064;letter-spacing:.04em}.location-visual{height:130px;margin:16px 0 18px;border-radius:12px;position:relative;overflow:hidden;background:#edf0e9}.map-grid{position:absolute;inset:-20%;background:linear-gradient(28deg,transparent 47%,rgba(255,255,255,.95) 48% 51%,transparent 52%),linear-gradient(112deg,transparent 45%,rgba(255,255,255,.85) 46% 49%,transparent 50%),linear-gradient(160deg,transparent 55%,rgba(197,184,148,.55) 56% 58%,transparent 59%),repeating-linear-gradient(8deg,transparent 0 24px,rgba(113,137,125,.14) 25px 27px);transform:rotate(-5deg)}.map-pin{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:38px;height:38px;border:7px solid rgba(255,255,255,.78);border-radius:50%;background:var(--gold);color:#fff;font-size:10px;box-shadow:0 5px 12px rgba(87,66,29,.25);transform:translate(-50%,-50%)}.location-copy{display:flex;flex-direction:column}.location-type{color:#89918f;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.location-copy strong{margin-top:5px;font-family:'Playfair Display',serif;font-size:25px;font-weight:500;line-height:1.1}.location-copy p{margin:9px 0 3px!important;color:#3d4c52!important;font-size:14px!important;line-height:1.45}.location-copy small{color:#89918f;font-size:11px}.location-route{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid #eee8dc;color:var(--gold);font-size:12px;font-weight:800}.location-route span{font-size:17px}@media(max-width:800px){.location-panel{padding:16px}.location-visual{height:115px}.location-copy strong{font-size:22px}}

.location-note{display:flex;align-items:flex-start;gap:11px;margin-top:28px;padding:14px 15px;border:1px solid #e6dfd2;border-radius:12px;background:rgba(255,253,249,.72);max-width:370px}.location-note-mark{width:9px;height:9px;margin-top:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px #f1e8d7;flex:0 0 auto}.location-note strong,.location-note small{display:block}.location-note strong{font-size:12px}.location-note small{margin-top:3px;color:#788288;font-size:11px;line-height:1.45}


/* Step 2 participant identity card: polished summary treatment. */
.review-card .review-person{display:flex;align-items:center;gap:16px;min-height:72px;margin:0 0 2px;padding:14px 16px!important;border:1px solid #e8e1d4!important;border-radius:16px;background:linear-gradient(135deg,#fffdf9 0%,#faf7f0 100%);box-shadow:0 8px 22px rgba(92,73,40,.06)}.review-card .review-person .avatar{width:48px;height:48px;flex:0 0 48px;border:5px solid #f5eee1;background:#e9dec7;color:#927444;font-size:17px;box-shadow:0 3px 10px rgba(120,91,42,.12)}.review-card .review-person>div{display:flex;min-width:0;flex:1;flex-direction:column;gap:5px}.review-card .review-person strong{font-size:15px;line-height:1.2;color:#24384a;letter-spacing:-.01em;overflow-wrap:anywhere}.review-card .review-person span{font-size:12px;line-height:1.2;color:#7b817f;letter-spacing:.02em}.review-card .review-edit{position:static!important;display:inline-flex;align-items:center;justify-content:center;min-height:32px;margin-left:auto!important;padding:0 13px;border:1px solid #d8c08b;border-radius:9px;background:#fffaf0;color:#80632d;font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap;transition:background .16s ease,border-color .16s ease}.review-card .review-edit:hover{background:#f5ead3;border-color:#c6a96d}.review-card .review-person+.review-block{border-top:0}
@media(max-width:600px){.review-card .review-person{gap:12px;min-height:64px;padding:12px 13px!important;border-radius:14px}.review-card .review-person .avatar{width:44px;height:44px;flex-basis:44px}.review-card .review-person strong{font-size:14px}.review-card .review-person span{font-size:11px}.review-card .review-edit{min-height:30px;padding:0 10px;font-size:10px}}


/* Step 2: personal monogram avatar instead of a generic symbol. */
.review-card .review-person .avatar{display:grid;place-items:center;background:linear-gradient(145deg,#173f59 0%,#2c6a7b 100%);border:5px solid #e7f0ef;color:#fff;font-family:'Manrope',sans-serif;font-size:15px;font-weight:800;letter-spacing:.04em;box-shadow:0 5px 14px rgba(23,63,89,.22)}.review-person-label{display:block;color:#a17b3d!important;font-size:8px!important;font-weight:800!important;letter-spacing:.14em!important;line-height:1!important}.review-card .review-person strong{margin-top:0}
@media(max-width:600px){.review-card .review-person .avatar{font-size:14px}.review-person-label{font-size:7px!important}}


/* Faith-inspired participant medallion for the retreat review step. */
.review-card .review-person .faith-medallion{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 52px;width:52px;height:52px;border:3px solid #c8a86a;border-radius:50%;background:radial-gradient(circle at 50% 38%,#fff9e9 0 18%,#e8c982 19% 22%,#1d4d67 23% 100%);color:#fff;box-shadow:0 0 0 5px #f4ead4,0 6px 16px rgba(113,78,27,.18);overflow:visible}.review-card .review-person .faith-medallion:before{content:'';position:absolute;inset:-7px;border:1px solid rgba(198,160,85,.5);border-radius:50%;pointer-events:none}.review-card .review-person .avatar-symbol{position:absolute;top:5px;left:50%;z-index:2;transform:translateX(-50%);font-size:13px;line-height:1;color:#fff6d8;text-shadow:0 1px 2px rgba(41,27,8,.35)}.review-card .review-person .avatar-initials{margin-top:12px;color:#fff;font-family:'Manrope',sans-serif;font-size:12px;font-weight:850;letter-spacing:.04em}.review-person-label{letter-spacing:.12em!important}
@media(max-width:600px){.review-card .review-person .faith-medallion{flex-basis:48px;width:48px;height:48px}.review-card .review-person .avatar-symbol{top:4px;font-size:12px}.review-card .review-person .avatar-initials{margin-top:11px;font-size:11px}}


/* Step 2: clean profile avatar. */
.review-card .review-person .profile-avatar{position:relative;display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border:0;border-radius:50%;background:linear-gradient(145deg,#eadfc9,#d9c39a);color:#8a6b38;box-shadow:inset 0 0 0 1px rgba(255,255,255,.65),0 5px 14px rgba(113,78,27,.14);overflow:hidden}.review-card .review-person .profile-avatar:after{content:'';position:absolute;inset:4px;border:1px solid rgba(255,255,255,.58);border-radius:50%}.review-card .review-person .profile-avatar svg{position:relative;z-index:1;width:35px;height:35px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.review-card .review-person .profile-avatar svg circle{fill:currentColor;stroke:none}.review-card .review-person .profile-avatar svg path{fill:currentColor;stroke:none}.review-card .review-person .avatar-symbol,.review-card .review-person .avatar-initials{display:none!important}
@media(max-width:600px){.review-card .review-person .profile-avatar{flex-basis:48px;width:48px;height:48px}.review-card .review-person .profile-avatar svg{width:32px;height:32px}}


/* PIX copy confirmation: branded, readable and non-intrusive. */
.pix-page .copy-feedback{display:flex;align-items:center;gap:9px;min-height:0;margin:10px 0 0;padding:10px 12px;border:1px solid #cfe5d6;border-radius:11px;background:linear-gradient(135deg,#f0f9f2,#e8f5eb);color:#286743;font-size:11px;line-height:1.35;opacity:0;transform:translateY(-3px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}.pix-page .copy-feedback.visible{opacity:1;transform:translateY(0)}.pix-page .copy-feedback-icon{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;border-radius:50%;background:#2c8a55;color:#fff;font-size:12px;font-weight:800}.pix-page .copy-feedback-text{font-weight:700}.pix-page .share-feedback{padding:0 4px;line-height:1.45}
@media(max-width:600px){.pix-page .copy-feedback{align-items:flex-start;padding:11px 12px;font-size:10px}.pix-page .copy-feedback-icon{margin-top:1px}}


/* The PIX box contains only the payload; the action label is intentionally omitted. */
.pix-page .copy-box{padding-right:12px!important}.pix-page .pix-payload-visible{display:block;width:100%;padding:0;margin:0}


/* Restore the visible action label; copyPix() still reads only data-pix-payload. */
.pix-page .copy-box{padding-right:72px!important}.pix-page .copy-hint{display:block!important}


/* Mobile PIX copied dialog: floating confirmation with safe-area support. */
@media(max-width:600px){.pix-page .copy-feedback{position:fixed!important;left:16px!important;right:16px!important;bottom:calc(18px + env(safe-area-inset-bottom,0px))!important;z-index:120!important;display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;align-items:center!important;gap:11px!important;width:auto!important;max-width:none!important;min-height:64px!important;margin:0!important;padding:13px 15px!important;border:1px solid rgba(80,151,104,.28)!important;border-radius:16px!important;background:rgba(244,251,246,.98)!important;box-shadow:0 18px 48px rgba(19,51,38,.22),0 3px 10px rgba(19,51,38,.10)!important;color:#245d3d!important;font-size:12px!important;line-height:1.45!important;opacity:0!important;visibility:hidden!important;transform:translateY(24px) scale(.98)!important;pointer-events:none!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s!important}.pix-page .copy-feedback.visible{opacity:1!important;visibility:visible!important;transform:translateY(0) scale(1)!important;transition-delay:0s!important}.pix-page .copy-feedback-icon{width:36px!important;height:36px!important;flex-basis:36px!important;margin:0!important;border:5px solid #dff1e5!important;background:#2e8b57!important;font-size:14px!important;box-shadow:0 3px 8px rgba(46,139,87,.16)!important}.pix-page .copy-feedback-text{display:block!important;min-width:0!important;font-size:12px!important;font-weight:750!important;letter-spacing:-.005em!important}.pix-page .copy-feedback-text:before{content:'PIX copiado';display:block;margin-bottom:2px;color:#173f2b;font-size:13px;font-weight:850;letter-spacing:-.01em}}
@media(max-width:360px){.pix-page .copy-feedback{left:12px!important;right:12px!important;bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;padding:12px 13px!important}.pix-page .copy-feedback-text{font-size:11px!important}}

@media(max-width:600px){.pix-page .copy-feedback.is-error{border-color:#efcccc!important;background:rgba(255,247,247,.98)!important;color:#8a3535!important;box-shadow:0 18px 48px rgba(93,30,30,.18),0 3px 10px rgba(93,30,30,.08)!important}.pix-page .copy-feedback.is-error .copy-feedback-icon{border-color:#f8dddd!important;background:#c85050!important}.pix-page .copy-feedback.is-error .copy-feedback-text:before{content:'Não foi possível copiar';color:#6f2929}}


/* Copy label is visual-only: pseudo content never enters text selection or clipboard. */
.pix-page .copy-hint{font-size:0!important;user-select:none!important;-webkit-user-select:none!important}.pix-page .copy-hint:before{content:'⧉ Copiar';font:700 10px 'DM Sans',sans-serif;white-space:nowrap}


/* Landing mobile header: one-line CTA with original typography and tighter title spacing. */
.site-header .nav>.btn-sm{flex:0 0 auto;min-width:max-content;white-space:nowrap}
@media(max-width:800px){.site-header .nav{gap:8px}.site-header .logo{min-width:0;gap:6px;margin-right:auto}.site-header .logo>span{min-width:0}.site-header .nav>.btn-sm{min-height:40px;padding:10px 11px;font-size:12px;line-height:1.1;letter-spacing:0}}
@media(max-width:380px){.site-header .logo small{display:none}.site-header .logo b{display:block;max-width:105px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-header .nav{gap:5px}.site-header .nav>.btn-sm{padding-left:9px;padding-right:9px}}
@media(max-width:330px){.site-header .logo b{max-width:68px}.site-header .logo-image{width:30px;height:30px}.site-header .logo{gap:4px}.site-header .nav>.btn-sm{padding-left:8px;padding-right:8px}}

@media (min-width:701px){#shirts-area .shirt-order-row{grid-template-columns:minmax(120px,160px) minmax(120px,140px) minmax(0,1fr);gap:16px;align-items:center}#shirts-area .shirt-order-row select,#shirts-area .shirt-order-row input[type="number"]{width:100%;height:48px;box-sizing:border-box;border:1px solid #dfe1e1;border-radius:11px;background:#fff;padding:0 14px;font:inherit;color:#26333b}#shirts-area .shirt-order-row strong{height:48px;display:flex;align-items:center;justify-content:flex-start;font-size:18px;white-space:nowrap}}
@media (min-width:701px){#shirts-area .shirt-order-row{grid-template-columns:112px 106px minmax(0,1fr);gap:16px;align-items:center}#shirts-area .shirt-order-row select,#shirts-area .shirt-order-row .quantity-control{height:48px;width:100%;box-sizing:border-box}#shirts-area .shirt-order-row .quantity-control{border:1px solid #dfe1e1;border-radius:11px;background:#fff}#shirts-area .shirt-order-row .shirt-row-total{height:48px;display:flex;align-items:center;justify-content:flex-start;font-size:18px;white-space:nowrap}}

.text-link.privacy-modal-trigger{border:0;background:none;padding:0;font:inherit;cursor:pointer;text-decoration:underline}.privacy-modal-open{overflow:hidden}.privacy-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}.privacy-modal[hidden]{display:none}.privacy-modal-backdrop{position:absolute;inset:0;background:rgba(16,37,58,.55);backdrop-filter:blur(4px)}.privacy-modal-card{position:relative;width:min(560px,100%);max-height:min(720px,calc(100vh - 40px));overflow:auto;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:0 24px 70px rgba(16,37,58,.25)}.privacy-modal-card h2{margin:4px 0 20px;font-size:30px}.privacy-modal-content{color:#68737c;font-size:13px;line-height:1.7}.privacy-modal-close{position:absolute;right:16px;top:12px;border:0;background:none;color:#68737c;font-size:28px;line-height:1;cursor:pointer}.privacy-modal-close:hover{color:var(--ink)}@media(max-width:600px){.privacy-modal{padding:12px}.privacy-modal-card{padding:28px 22px;border-radius:15px}.privacy-modal-card h2{font-size:25px}}

/* Quantity controls use only the explicit minus/plus buttons. */
.quantity-control input[type="number"],#shirts-area input[type="number"]{-moz-appearance:textfield;appearance:textfield}.quantity-control input[type="number"]::-webkit-inner-spin-button,.quantity-control input[type="number"]::-webkit-outer-spin-button,#shirts-area input[type="number"]::-webkit-inner-spin-button,#shirts-area input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

/* Collaborator direct registration follows the public registration field rhythm. */
.collaborator-direct-form{display:flex!important;flex-direction:column!important;gap:14px!important}.collaborator-direct-form .two-col{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}.collaborator-direct-form label{width:100%!important;min-width:0!important}.collaborator-direct-form input,.collaborator-direct-form select,.collaborator-direct-form textarea{width:100%!important;box-sizing:border-box!important}
/* Keep shirt controls inside the card on every viewport. */
#shirts-area .shirt-order-row{width:100%;min-width:0;box-sizing:border-box}#shirts-area .shirt-order-row>*{min-width:0;box-sizing:border-box}#shirts-area .quantity-control{min-width:0;overflow:hidden;box-sizing:border-box}#shirts-area .quantity-control input{min-width:0!important;width:34px!important;box-sizing:border-box!important;text-align:center}@media(max-width:700px){#shirts-area .shirt-order-row{grid-template-columns:minmax(0,1fr) minmax(92px,106px) auto!important;gap:8px!important}#shirts-area .shirt-order-row select{min-width:0!important;width:100%!important}#shirts-area .shirt-row-total{font-size:16px!important;white-space:nowrap!important}}
/* Mobile shirt row: size and quantity stay side by side; remove sits in the corner. */
@media(max-width:700px){
  #shirts-area .shirt-order-row{position:relative;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(100px,.8fr)!important;grid-template-areas:"size quantity" "total total";gap:8px!important;padding:0 28px 0 0!important;align-items:center!important}
  #shirts-area .shirt-order-row select{grid-area:size!important;grid-column:auto!important;width:100%!important}
  #shirts-area .shirt-order-row .quantity-control{grid-area:quantity;width:100%!important}
  #shirts-area .shirt-order-row .shirt-row-total{grid-area:total;justify-content:flex-start!important}
  #shirts-area .shirt-order-row .remove-shirt{position:absolute!important;top:0!important;right:0!important;width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important;padding:0!important;display:grid!important;place-items:center!important}
  #shirts-area .shirt-order-row:only-child .remove-shirt{display:none!important}
}
/* Unified shirt row on desktop: remove control stays in the top-right corner. */
@media(min-width:701px){
  #shirts-area .shirt-order-row{position:relative;display:grid!important;grid-template-columns:minmax(112px,140px) minmax(106px,134px) minmax(0,1fr)!important;grid-template-areas:"size quantity total";gap:16px!important;padding-right:34px!important;align-items:center!important}
  #shirts-area .shirt-order-row select{grid-area:size!important;grid-column:auto!important}
  #shirts-area .shirt-order-row .quantity-control{grid-area:quantity!important}
  #shirts-area .shirt-order-row .shirt-row-total{grid-area:total!important}
  #shirts-area .shirt-order-row .remove-shirt{position:absolute!important;top:50%!important;right:0!important;transform:translateY(-50%)!important;width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important;padding:0!important;display:grid!important;place-items:center!important}
  #shirts-area .shirt-order-row:only-child .remove-shirt{display:none!important}
}

/* Location visual: parish photo replaces the decorative map. */
.location-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.82) contrast(1.06) brightness(.9);transform:scale(1.04);transition:transform .35s ease,filter .35s ease}.location-visual:hover .location-photo{transform:scale(1.09);filter:saturate(1) contrast(1.08) brightness(.96)}
/* Frame the parish building instead of the sky in the location photo. */
.location-photo{object-position:center 68%!important}

/* Mobile logo: keep the event name on the requested two lines. */
@media(max-width:600px){.site-header .logo .site-logo-name{max-width:180px!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;font-size:10px!important;line-height:1.25!important}.site-header .logo .site-logo-name{font-size:0!important}.site-header .logo .site-logo-name:after{content:"2º Retiro da Comunidade\A Nossa Senhora Aparecida";white-space:pre;display:block;font-size:10px;line-height:1.25}}

/* Mobile footer logo: use the same two-line event name treatment as the header. */
@media(max-width:600px){.footer .footer-event-name{font-size:0!important;display:block;line-height:1.25}.footer .footer-event-name:after{content:"2º Retiro da Comunidade\A Nossa Senhora Aparecida";white-space:pre;display:block;font-size:13px;line-height:1.25}}
/* Keep the second logo line intact on narrow screens. */
@media(max-width:600px){
  .site-header .logo .site-logo-name:after,
  .footer .footer-event-name:after{display:block!important;width:max-content;max-width:none;white-space:pre!important;word-break:keep-all;overflow:visible}
}
/* Slightly larger mobile logo typography while preserving the two-line break. */
@media(max-width:600px){
  .site-header .logo .site-logo-name:after{font-size:11px!important;line-height:1.28}
  .footer .footer-event-name:after{font-size:14px!important;line-height:1.28}
}
/* Footer brand: place the event image beside its name. */
.footer-grid>div:first-child{display:grid!important;grid-template-columns:auto minmax(0,1fr);column-gap:12px;align-items:center}
.footer-grid>div:first-child>.footer-logo,.footer-grid>div:first-child>.brand-mark{grid-column:1;grid-row:1 / span 2;margin:0}
.footer-grid>div:first-child>.footer-event-name,.footer-grid>div:first-child>strong{grid-column:2;grid-row:1;margin:0}
.footer-grid>div:first-child>p{grid-column:2;grid-row:2;margin:4px 0 0}
/* Footer brand final alignment: name beside image, slogan below the full brand row. */
.footer-grid>div:first-child{grid-template-columns:auto minmax(0,1fr);align-items:center}
.footer-grid>div:first-child>.footer-logo,.footer-grid>div:first-child>.brand-mark{grid-column:1;grid-row:1;margin:0}
.footer-grid>div:first-child>.footer-event-name,.footer-grid>div:first-child>strong{grid-column:2;grid-row:1;align-self:center;margin:0}
.footer-grid>div:first-child>p{grid-column:1 / -1;grid-row:2;margin:10px 0 0}
@media(max-width:600px){.footer .footer-event-name:after{font-size:16px!important;line-height:1.25}}
/* Footer brand unified across desktop and mobile. */
.footer .footer-event-name{font-size:0!important;display:block;line-height:1.25}
.footer .footer-event-name:after{content:"2º Retiro da Comunidade\A Nossa Senhora Aparecida";display:block;width:max-content;max-width:none;white-space:pre!important;word-break:keep-all;overflow:visible;font-size:18px!important;line-height:1.25}
/* Footer bottom links share one line. */
.footer-bottom a{display:inline-block!important;margin:8px 14px 0 0!important;white-space:nowrap}

/* Footer copyright stays separate from the two utility links. */
.footer-bottom .footer-copy{display:block}
.footer-bottom .footer-links{display:flex;align-items:center;gap:14px}
.footer-bottom .footer-links a{display:inline-block!important;margin:0!important;white-space:nowrap}
@media(max-width:600px){.footer-bottom .footer-links{margin-top:8px;justify-content:flex-start;gap:14px}.footer-bottom .footer-copy{display:block}}
