*{box-sizing:border-box}html{font-family:Arial,Helvetica,sans-serif}body{margin:0;min-height:100vh;background:#f8f5f0;color:#2e1722;display:flex;justify-content:center;align-items:flex-start;padding:13px 16px 32px}.card{background:#fff;border:1px solid #e7ddd3;border-radius:18px;width:min(100%,720px);padding:42px 42px 38px;box-shadow:0 4px 16px #32251808}.header{text-align:center;margin-bottom:68px}.logo{display:block;width:210px;height:210px;object-fit:cover;border-radius:50%;margin:0 auto 25px;box-shadow:0 4px 10px #1b090c10}.header h1{font-weight:400;font-size:34px;line-height:1.25;margin:0 0 16px;color:#4b152c}.header p{margin:0 auto;max-width:620px;font-size:21px;line-height:1.45;color:#a7213e}.header strong{font-weight:700}.field{margin-bottom:47px}.field label{display:block;font-size:20px;font-weight:700;margin-bottom:11px}.required{color:#a92141}input{display:block;width:100%;font:inherit;font-size:21px;color:#40202e;background:#fff;border:1px solid #d8c6b6;border-radius:12px;min-height:65px;padding:14px 20px;outline-offset:3px}input::placeholder{color:#a99e97}input:focus{border-color:#8e2443;outline:2px solid #f2ccd6}input[aria-invalid=true]{border-color:#c12c42}.hint{font-size:13px;color:#73646a;margin-top:7px}.products{border:0;padding:0;margin:0}.products .field{margin-bottom:48px}button{width:100%;padding:22px 20px;border:0;border-radius:12px;background:#8d2544;color:white;font-size:20px;font-weight:700;cursor:pointer;margin-top:37px}button:hover{background:#711b36}button:disabled{opacity:.6;cursor:wait}#status{text-align:center;font-size:16px;line-height:1.4;min-height:1.5em;margin:17px 0 0}.error{color:#aa1734}.success{color:#1b743a}.hp,.sr-only{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}@media(max-width:600px){body{padding:12px}.card{padding:26px 22px 30px}.logo{width:150px;height:150px}.header{margin-bottom:48px}.header h1{font-size:25px}.header p{font-size:17px}.field label{font-size:17px}input{min-height:55px;font-size:18px}.field,.products .field{margin-bottom:32px}button{font-size:18px}}

.quantidade-ajuda{font-size:15px;line-height:1.5;color:#805a65;margin:0 0 26px}.products input[aria-invalid="true"]{border-color:#c12c42;background:#fff9fa}

/* Controles de caixas: número de garrafas sempre calculado, nunca digitado. */
.quantity-control{display:flex;align-items:stretch;gap:8px;max-width:100%}
.step-button{width:62px;min-width:62px;min-height:65px;margin:0;padding:0;border:1px solid #8d2544;border-radius:12px;font-size:31px;line-height:1;background:#8d2544;color:#fff}
.box-count{flex:1;min-width:0;position:relative}
.box-count .boxes-input{width:100%;text-align:center;padding:12px 60px 12px 12px;font-variant-numeric:tabular-nums}
.box-count span{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:13px;color:#805a65;pointer-events:none}
.bottles-count{margin:9px 0 0;color:#805a65;font-size:15px}
.bottles-count strong{color:#4b152c;font-variant-numeric:tabular-nums}
@media(max-width:600px){.step-button{min-height:55px;min-width:48px;width:48px;font-size:27px}.box-count .boxes-input{padding-right:54px}}

/* Caixa e total de garrafas lado a lado */
.product-amounts{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(150px,1fr);align-items:stretch;gap:14px}
.product-amounts .quantity-control{min-width:0}
.product-amounts .bottles-count{margin:0;border:1px solid #e1d1c5;border-radius:12px;background:#faf7f4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:7px 10px;text-align:center;min-height:65px}
.bottles-label{font-size:12px;color:#805a65;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.product-amounts .bottles-count strong{font-size:25px;line-height:1.1;color:#7e203d;overflow-wrap:anywhere}
.bottles-note{font-size:11px;color:#805a65}
@media(max-width:600px){.product-amounts{grid-template-columns:minmax(0,1.7fr) minmax(110px,1fr);gap:8px}.product-amounts .step-button{min-width:40px;width:40px}.product-amounts .box-count .boxes-input{padding-left:4px;padding-right:4px;font-size:18px}.product-amounts .box-count span{position:static;display:block;transform:none;text-align:center;margin-top:3px;font-size:11px}.product-amounts .bottles-count{min-height:55px;padding:5px}.product-amounts .bottles-count strong{font-size:20px}.bottles-label{font-size:10px}.bottles-note{font-size:10px}}
@media(max-width:360px){.product-amounts{grid-template-columns:1fr;}.product-amounts .bottles-count{min-height:55px}}

.session-alert { padding: 12px 14px; margin: 0 0 20px; border-radius: 8px; background: #fff0f0; border: 1px solid #ad3850; color: #70223b; font-size: .95rem; }

/* Interação confortável em Android e iOS */
.step-button { touch-action: manipulation; -webkit-tap-highlight-color: transparent; -webkit-user-select: none; user-select: none; position: relative; z-index: 2; }
.step-button:active { filter: brightness(.9); transform: scale(.98); }
.boxes-input { font-size: 16px !important; touch-action: manipulation; }
@media(max-width:600px) { .product-amounts .step-button {min-width:44px; width:44px; min-height:50px;} .quantity-control {gap:5px;} }
