@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&family=Great+Vibes&display=swap');
:root{--bg:#faf6f1;--paper:#fffdfb;--ink:#46332e;--sub:#75645e;--marsala:#762f3c;--rose:#b37d64;--line:#e9d9cd;--sand:#f1e7dc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 'DM Sans',sans-serif}a{text-decoration:none;color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.14}h2{font-size:clamp(31px,4vw,46px);margin:10px 0 20px}em{color:var(--marsala);font-weight:400}p{line-height:1.75}.top{height:70px;background:#fffaf6f5;position:sticky;top:0;z-index:15;padding:0 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ede0d6}.mark{font:29px Georgia,serif;letter-spacing:1.5px}.mark span,footer span{color:var(--marsala);font-style:italic}.top nav{display:flex;gap:25px;font-size:12px}.top nav a:hover{color:var(--rose)}.menu-toggle{display:none;border:0;background:none;color:var(--ink);font-size:23px}.hero{min-height:625px;position:relative;display:grid;place-items:center;text-align:center;color:#fff;padding:65px 18px}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-photo{object-position:center 42%}.hero-shade{background:linear-gradient(90deg,#26141488,#190d1070)}.hero-copy{position:relative;max-width:850px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:3px;color:var(--rose)}.hero .eyebrow{color:white}.hero-script{font-family:'Great Vibes',cursive;font-size:clamp(32px,5vw,65px);margin:15px 0 0}.hero h1{font-size:clamp(55px,7vw,92px);margin:4px 0 20px;color:white}.hero h1 em{color:#eac3b0}.event-line{font-weight:700;letter-spacing:2px;font-size:13px}.hero p{font-size:19px;max-width:690px;margin:22px auto 30px}.hero-buttons{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.primary,.secondary{border-radius:4px;padding:14px 25px;font-weight:700;font-size:13px;background:var(--marsala);color:white;border:1px solid var(--marsala)}.hero .primary{background:#ae7d65;border-color:#ae7d65}.hero .secondary{background:#ffffff12;border-color:#fff;color:white}.countdown-section{text-align:center;background:#f2e8dc;padding:63px 20px 65px}.countdown-section h2{margin:15px 0 28px}.countdown{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}.countdown>div{background:white;border:1px solid #e2cdbb;min-width:135px;padding:21px 14px}.countdown strong{display:block;font:44px 'Playfair Display';line-height:1.15}.countdown span{font-size:11px;letter-spacing:2px;color:var(--rose)}.countdown-section>p{color:var(--sub);margin-top:27px}.story{display:grid;grid-template-columns:.9fr 1fr;gap:8%;max-width:1120px;padding:96px 24px;margin:auto;align-items:center}.story-image{position:relative;height:470px;border-radius:44% 44% 8px 8px;overflow:hidden;border:1px solid var(--rose)}.story-image img{width:100%;height:100%;object-fit:cover}.story-copy p{color:var(--sub);font-size:17px}.signature{font:35px 'Great Vibes',cursive;color:var(--rose)}.rsvp-section{text-align:center;padding:77px 20px;background:#efe3d6}.rsvp-section>p{color:var(--sub)}.rsvp-panel{text-align:left;display:grid;grid-template-columns:1fr 1fr;gap:36px;background:#fffaf7;max-width:1050px;margin:34px auto 12px;padding:38px;border:1px solid var(--line);box-shadow:0 12px 35px #84543e0b}.rsvp-panel label{display:block;font-weight:700;font-size:13px}.rsvp-panel input:not([type=radio]),.rsvp-panel textarea{width:100%;padding:13px;margin:8px 0 20px;border:1px solid #dbc5b8;background:white;border-radius:4px;font-weight:400}.rsvp-panel textarea{resize:vertical}.rsvp-panel fieldset{border:0;padding:0;margin:0}.rsvp-panel legend{font-weight:700;margin-bottom:12px;font-size:13px}.rsvp-radio{font-weight:400!important;margin:8px 0}.rsvp-radio input{accent-color:var(--marsala)}.counter{display:flex;align-items:center;justify-content:center;gap:34px;margin:12px 0}.counter button{background:#f3e8dd;border:1px solid #e0c9bb;width:40px;height:40px}.counter strong{font:25px 'Playfair Display'}.total-people{text-align:center;background:#f6eee7;padding:8px}.rsvp-submit{width:100%;margin-top:11px}.feedback{font-size:13px;margin-top:12px;color:var(--marsala)}.warning-preview{font-size:12px;color:#795e52;text-align:center}.gifts{padding:90px max(3vw,16px) 105px;text-align:center}.gifts-intro{max-width:850px;margin:0 auto 34px;color:var(--sub)}.categories{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;max-width:1100px;margin:0 auto 22px}.category{background:white;border:1px solid var(--line);padding:23px 12px;min-height:103px;color:var(--ink);font:17px 'Playfair Display';display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.category span{font:24px sans-serif}.category.active{background:#ead7c7;border-color:#b38b72}.palette-hint{display:flex;align-items:center;justify-content:center;gap:15px;flex-wrap:wrap;max-width:970px;padding:10px 20px;margin:5px auto 40px;border:1px solid #ead7c9;border-radius:50px;color:var(--marsala);font-size:13px}.swatches{display:flex;gap:5px}.swatches i{display:block;width:19px;height:19px;border:1px solid #cab9b0;border-radius:50%}.toolbar{max-width:1100px;display:flex;justify-content:space-between;gap:20px;align-items:center;margin:auto}.toolbar h3{font-size:24px}.search-wrap{border:1px solid var(--line);background:white;border-radius:7px;padding:7px 15px}.search-wrap input{border:none;outline:none;max-width:200px}.count{max-width:1100px;text-align:left;margin:0 auto 12px;font-size:12px;color:var(--sub)}.gift-grid{max-width:1100px;margin:22px auto;display:grid;grid-template-columns:repeat(4,1fr);gap:17px;text-align:left}.gift-card{border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;overflow:hidden;border-radius:6px}.gift-art{height:185px;background:#f4ede5;display:grid;place-items:center}.gift-art img{width:100%;height:100%;object-fit:cover}.emoji{font-size:64px}.gift-details{padding:13px;flex:1;display:flex;flex-direction:column;gap:3px}.gift-cat{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--rose)}.gift-details h3{font-size:19px;margin:5px 0}.gift-price{font-weight:700}.gift-quota{font-size:12px;color:var(--sub);margin-bottom:10px}.gift-details button{margin-top:auto;background:var(--marsala);color:white;border:0;border-radius:4px;padding:10px}.info{text-align:center;background:#f2e7dc;padding:75px 20px}.info p,.fine{color:var(--sub)}footer{text-align:center;padding:35px;font:23px 'Playfair Display'}footer small{display:block;font:12px 'DM Sans';color:var(--sub)}dialog{border:0;border-radius:12px;max-height:88vh;overflow:auto;width:min(93vw,600px);padding:0;box-shadow:0 15px 70px #23171855}dialog::backdrop{background:#251113a1}.close{position:sticky;top:8px;float:right;border:0;background:#f7f0e8;border-radius:50%;margin:9px;width:38px;height:38px;font-size:23px;z-index:2}.modal-body{padding:29px}.modal-gift{display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding-bottom:18px}.modal-thumb{width:110px;height:110px;background:#f5ede4;display:grid;place-items:center;overflow:hidden;flex-shrink:0}.modal-thumb img{width:100%;height:100%;object-fit:cover}.modal-gift h2{font-size:25px;margin:0 0 4px}.modal-gift p{color:var(--sub);margin:0}.modal-title{font-weight:700;margin:20px 0 12px}.method,.choice{display:flex;gap:10px;align-items:center;margin:9px 0;font-size:14px;cursor:pointer}.method input,.choice input{accent-color:var(--marsala)}.field{display:block;font-weight:700;font-size:13px;margin:16px 0 6px}.field-input{width:100%;padding:12px;border:1px solid var(--line);border-radius:5px}.help{background:#faf5f0;border:1px solid var(--line);padding:13px;margin-top:16px;font-size:13px;color:var(--sub)}.quota-controls{display:flex;gap:15px;align-items:center;margin:10px 0}.quota-controls button{background:white;border:1px solid var(--line);padding:6px 13px}.quota-controls strong{margin-left:auto}.modal-action{width:100%;margin-top:15px;padding:12px;color:white;background:var(--marsala);border:0;border-radius:5px}.state-note{color:var(--marsala);font-size:13px;margin-top:12px}.pix-key{font-weight:700}.fine{font-size:12px}@media(max-width:850px){.top nav{display:none;position:absolute;top:70px;left:0;right:0;padding:25px;flex-direction:column;background:#fffaf6}.top nav.open{display:flex}.menu-toggle{display:block}.categories{grid-template-columns:repeat(2,1fr)}.gift-grid{grid-template-columns:repeat(3,1fr)}.story{gap:5%}}@media(max-width:640px){.hero{min-height:570px}.hero h1{font-size:51px}.hero p{font-size:16px}.hero-script{font-size:42px}.countdown>div{min-width:70px;flex:1;padding:15px 5px}.countdown{gap:7px}.countdown strong{font-size:32px}.countdown span{font-size:9px}.story,.rsvp-panel{grid-template-columns:1fr}.story{padding:65px 22px}.story-image{height:330px}.rsvp-panel{padding:22px;gap:10px}.gift-grid{grid-template-columns:repeat(2,1fr);gap:9px}.gift-art{height:130px}.gift-details{padding:10px}.gift-details h3{font-size:16px}.gift-quota{font-size:11px}.toolbar{flex-direction:column;align-items:stretch}.categories{gap:8px}.category{min-height:95px;font-size:14px}.modal-body{padding:20px}.modal-thumb{width:80px;height:90px}}
/* Encerramento restaurado + mensagens independentes */
.rsvp-two-panels{display:grid;grid-template-columns:1fr 1fr;max-width:1100px;gap:22px;margin:32px auto 15px;align-items:stretch}
.rsvp-two-panels .rsvp-panel{display:block;width:100%;margin:0;max-width:none;padding:30px}
.rsvp-two-panels h3{font-size:23px;margin:0 0 23px}
.rsvp-two-panels .message-only p{font-size:13px;color:var(--sub);margin-bottom:19px}
.rsvp-two-panels .rsvp-only .rsvp-submit{margin-top:24px}
.how-section{text-align:center;padding:85px 20px;background:var(--bg)}
.how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:980px;margin:30px auto 22px}
.how-grid article{background:var(--paper);border:1px solid var(--line);padding:30px 22px 35px;min-height:220px}
.how-grid h3{font-size:22px;margin:10px 0 12px}.how-grid p{color:var(--sub);font-size:13px;line-height:1.8}
.how-symbol{font:36px Georgia,serif;color:var(--marsala)}
.info{padding:78px 20px 65px;background:#eadaca}.meeting-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:780px;margin:35px auto 25px}
.meeting-grid>div{padding:5px 20px;border-right:1px solid #c9a994}.meeting-grid>div:last-child{border:0}
.meeting-icon{color:var(--marsala);font-size:24px}.meeting-grid h3{margin:5px 0;font-size:21px}.meeting-grid p{font-size:14px;margin:8px 0 13px}.meeting-grid span{font-size:12px;color:var(--sub)}
.map-button{display:inline-block;padding:10px 16px;border:1px solid var(--marsala);color:var(--marsala);font-weight:600;font-size:12px;border-radius:3px}
.map-button:hover{background:var(--marsala);color:white}.map-button[aria-disabled=true]{opacity:.5;pointer-events:none}
.meeting-message{margin-top:30px;font:italic 17px Georgia,serif!important}
.closing{position:relative;min-height:280px;display:grid;place-items:center;text-align:center;color:white;padding:45px 20px;overflow:hidden}
.closing>img,.closing-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.closing-shade{background:#1c1411ac}
.closing-text{position:relative;max-width:700px}.closing h2{font-size:clamp(28px,3vw,40px);margin:0 0 14px}.closing p{font-size:14px}.closing .signature{color:#f5dbc9}
@media(max-width:700px){.rsvp-two-panels,.how-grid{grid-template-columns:1fr}.rsvp-two-panels .rsvp-panel{padding:22px}.meeting-grid{grid-template-columns:1fr;gap:25px}.meeting-grid>div{border-right:0;border-bottom:1px solid #c9a994;padding-bottom:22px}.meeting-grid>div:last-child{border-bottom:0}}

/* Revisão da paleta por categoria - ilustrações até a escolha de fotografias */
.gift-art{position:relative;background:linear-gradient(135deg,#f8f5f0,#ede5da);overflow:hidden}
.gift-art:has(.emoji):before{content:"";position:absolute;width:66%;height:80%;right:-25%;bottom:-40%;border-radius:50%;background:#c8a48138}
.gift-art .emoji{position:relative;filter:drop-shadow(0 6px 7px #241c1a30);font-size:clamp(37px,5vw,70px)}
.gift-card[data-palette="cozinha"] .gift-art{background:linear-gradient(145deg,#f8f4ec,#d4d0ca)}
.gift-card[data-palette="eletro"] .gift-art{background:linear-gradient(145deg,#ffffff,#d1d4d6)}
.gift-card[data-palette="cantinho"] .gift-art{background:linear-gradient(145deg,#f9f7f3,#e5d2c2)}
.gift-card[data-palette="decoracao"] .gift-art{background:linear-gradient(145deg,#f7f0e8,#cfa989)}
.gift-card[data-palette="servico"] .gift-art{background:linear-gradient(145deg,#f6f6f5,#d3d4d4)}
.gift-card[data-palette="divertidos"] .gift-art,.gift-card[data-palette="sonhos"] .gift-art{background:linear-gradient(145deg,#f5eae5,#d6b2ba)}
.gift-art .image-caption{position:absolute;bottom:8px;left:8px;right:8px;padding:3px 7px;background:#fffdfbdb;color:#5d514d;font:10px system-ui,sans-serif;letter-spacing:.02em;text-align:center;border-radius:3px}
.gift-art:has(img) .image-caption{display:none}
.gift-details h3{font-size:clamp(17px,1.65vw,21px);line-height:1.25;letter-spacing:-.015em}
.gift-details .gift-quota{line-height:1.45}
@media(max-width:650px){.gift-details h3{font-size:16px}.gift-art .image-caption{font-size:9px}}
