:root{--cream:#fff8f0;--brown:#54271f;--pink:#f8e0dc;--muted:#89736b;--border:#e9dcd4}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--brown);font-family:Arial,sans-serif}a{color:inherit;text-decoration:none}.brand{max-width:1120px;margin:auto;padding:24px 30px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}.brand a{font:italic 30px Georgia,serif}.brand a span{display:block;font:italic 15px Georgia,serif;margin-top:5px;color:var(--muted)}.brand-heart{font-size:36px;color:#b7756b}.page{max-width:1120px;margin:auto;padding:42px 30px 0}.presentation{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.photo{height:545px;border-radius:160px 160px 18px 18px;background:#f6d8d0 url('assets/brigadeiros.png') no-repeat right bottom;background-size:185% auto;position:relative}.photo>span{position:absolute;bottom:20px;left:20px;background:var(--cream);padding:11px 17px;border-radius:30px;font:italic 16px Georgia,serif}.eyebrow{font-size:9px;font-weight:600;letter-spacing:1.7px}h1{font:46px/1.12 Georgia,serif;margin:17px 0}p{font-size:14px;line-height:1.8;color:var(--muted)}.product>p{max-width:360px;margin:0 0 25px}h2{font:24px Georgia,serif;margin:0 0 18px}.selection{background:#fffdfa;border:1px solid var(--border);border-radius:14px;padding:22px}fieldset{padding:0;border:0;margin:0}.options{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.quantity-option{position:relative;margin:0;cursor:pointer}.quantity-option input{position:absolute;opacity:0;width:1px;height:1px}.quantity-option>span{display:flex;align-items:center;flex-direction:column;gap:7px;border:1px solid var(--border);border-radius:9px;padding:15px 3px}.quantity-option b{font:29px Georgia,serif}.quantity-option small{font-size:9px;font-weight:400;color:var(--muted)}.quantity-option strong{font-size:14px}.quantity-option input:checked+span{background:var(--pink);border-color:#b7756b}.quantity-option input:focus-visible+span{outline:2px solid #9e6054;outline-offset:3px}.total{padding:19px 0;display:flex;align-items:center;justify-content:space-between;font-size:12px}.total small{display:block;font-size:10px;color:var(--muted);margin-top:6px}.total strong{font:28px Georgia,serif}.button{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:var(--brown);color:var(--cream);padding:15px 20px;border-radius:8px;font:600 14px Arial,sans-serif;cursor:pointer;min-height:48px}.button:hover{background:#743b30}.button:focus-visible,.close:focus-visible{outline:3px solid #b9786c;outline-offset:3px}.availability{display:block;margin-top:13px;font-size:10px;line-height:1.6;color:var(--muted)}.info{display:flex;justify-content:center;gap:70px;padding:33px 0;margin-top:35px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.info>div{display:flex;align-items:center;gap:16px}.info>div>span{font-size:28px;color:#b7756b}.info p{font-size:11px;margin:0}.info b{display:block;color:var(--brown);font-size:12px;margin-bottom:3px}footer{text-align:center;font-size:10px;color:var(--muted);padding:24px}dialog{border:1px solid var(--border);border-radius:18px;padding:32px;max-width:530px;width:calc(100% - 28px);max-height:calc(100dvh - 28px);overflow:auto;background:var(--cream);color:var(--brown)}dialog::backdrop{background:#351a1399;backdrop-filter:blur(4px)}dialog h2{margin:13px 30px 20px 0}.close{position:absolute;right:10px;top:6px;border:0;background:none;color:var(--brown);font-size:28px;width:44px;height:44px;cursor:pointer}.checkout-summary{padding:14px;background:var(--pink);border-radius:8px;font-size:13px;margin-bottom:22px;line-height:1.7}label{font-size:12px;font-weight:600;margin-bottom:9px;display:block}input:not([type=radio]),textarea{width:100%;font:14px Arial,sans-serif;background:#fffdfa;border:1px solid var(--border);border-radius:7px;padding:12px;color:var(--brown);margin-bottom:20px;min-height:44px}input:focus,textarea:focus{outline:2px solid #b9786c;outline-offset:2px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.optional{font-weight:400;color:var(--muted);font-size:11px}textarea{resize:vertical}.preview-note{text-align:center;font-size:11px;line-height:1.5;margin:13px 0 0}dl{display:grid;grid-template-columns:120px 1fr;gap:15px;font-size:13px}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.review-info{font-size:12px;line-height:1.6;padding:13px;background:var(--pink);border-radius:7px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body:has(dialog[open]){overflow:hidden}@media(max-width:850px){.presentation{gap:28px}.photo{height:500px}h1{font-size:37px}.selection{padding:18px}.options{gap:6px}.quantity-option small{font-size:8px}.info{gap:30px}}@media(max-width:620px){.brand{padding:20px}.page{padding:25px 20px 0}.presentation{grid-template-columns:1fr;gap:25px}.photo{height:290px;border-radius:100px 100px 14px 14px;background-size:165% auto}.photo>span{font-size:14px;bottom:15px;left:15px}h1{font-size:38px}.product>p{max-width:none;margin-bottom:22px}.selection{padding:20px}.quantity-option small{font-size:9px}.info{justify-content:start;flex-direction:column;gap:18px;padding:24px 0;margin-top:25px}.field-row{grid-template-columns:1fr;gap:0}dialog{padding:25px 20px}dialog h2{font-size:23px}dl{grid-template-columns:100px 1fr}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
/* Imagem retangular e opção avulso. */
.photo{border-radius:12px}.individual{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--border);border-radius:9px;padding:14px;margin-top:12px}.individual:has(input[type=radio]:checked){background:var(--pink);border-color:#b7756b}.unit-label{display:flex;align-items:center;gap:10px;margin:0;cursor:pointer;font-size:14px}.unit-label input{accent-color:var(--brown);width:18px;height:18px}.unit-label small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:5px}.stepper{display:flex;align-items:center;gap:5px}.stepper button{width:36px;height:38px;border:1px solid var(--border);border-radius:6px;background:#fffdfa;color:var(--brown);font-size:22px;cursor:pointer}.stepper button:disabled{opacity:.4;cursor:default}.stepper #units{width:48px;min-height:38px;height:38px;padding:5px;text-align:center;margin:0;appearance:textfield}.stepper #units::-webkit-inner-spin-button,.stepper #units::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.modal-open{overflow:hidden}.fallback-modal[open]{position:fixed;inset:0;z-index:1000;margin:auto;box-shadow:0 0 0 100vmax #351a1399}@media(max-width:620px){.photo{border-radius:12px}}
/* Fotografia de produto sem tabela de preços. */
.photo{background-image:url('assets/brigadeiros-sabrina.png');background-size:cover;background-position:center;border-radius:12px}
@media(max-width:620px){.photo{height:auto;aspect-ratio:1/1;background-size:cover}.brand a{font-size:26px}}
/* Preservar a fotografia inteira, sem cortar os brigadeiros. */
.photo{height:auto;aspect-ratio:3/2;background-size:contain;background-repeat:no-repeat}
@media(max-width:620px){.photo{height:auto;aspect-ratio:3/2;background-size:contain}}
.brand .contact-button{font:600 12px Arial,sans-serif;display:flex;gap:12px;align-items:center;border:1px solid #b7756b;border-radius:30px;padding:12px 17px;white-space:nowrap}.brand .contact-button span{font:16px Arial,sans-serif;margin:0;color:inherit}.contact-button:hover{background:var(--pink)}.whatsapp-button{background:#246947}.whatsapp-button:hover{background:#1a5035}.edit-button{display:block;margin:15px auto 0;border:0;background:transparent;text-decoration:underline;color:var(--brown);cursor:pointer;min-height:40px;font-size:13px}@media(max-width:420px){.brand{padding:18px 14px;gap:12px}.brand>a:first-child{font-size:23px}.brand .contact-button{font-size:11px;padding:10px 12px;gap:5px}}
/* Janela fixa: cabe no ecrã e só permite deslocação vertical. */
html{overflow-x:clip}
dialog{position:fixed;inset:0;margin:auto;width:min(530px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:calc(100vh - 28px);max-height:calc(100dvh - 28px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;overflow-wrap:anywhere}
dialog form,dialog .field-row,dialog .field-row>div{min-width:0;max-width:100%}
dialog input,dialog textarea{min-width:0;max-width:100%;box-sizing:border-box}
dialog input[type=date]{display:block;appearance:none;-webkit-appearance:none}
dialog dl{grid-template-columns:minmax(0,120px) minmax(0,1fr)}
body.modal-open{overflow:hidden;overscroll-behavior:none}
@media(max-width:620px){dialog input,dialog textarea{font-size:16px}dialog dl{grid-template-columns:minmax(0,100px) minmax(0,1fr)}}
.share-section{text-align:center;padding:30px 0 10px}.share-section h2{font-size:22px;margin-bottom:18px}.share-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.share-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:11px 17px;border:1px solid var(--border);border-radius:24px;background:#fffdfa;color:var(--brown);font:600 18px Arial,sans-serif;cursor:pointer}.share-link span{font-size:12px}.share-link:hover{background:var(--pink)}.share-link:focus-visible{outline:2px solid #b9786c;outline-offset:3px}.share-section #share-status{font-size:12px;max-width:480px;margin:12px auto 0}.share-section #share-status:empty{display:none}.share-section #share-manual{max-width:400px;margin:16px auto;text-align:left}#share-manual input{margin-bottom:0}@media(max-width:420px){.share-buttons{display:grid;grid-template-columns:1fr 1fr}.share-link{padding:11px}}
.share-app-note{font-size:11px;margin:12px auto 0;max-width:420px}
