/* Keep native iOS date fields within their grid tracks and prevent focus zoom. */
dialog { max-width:calc(100vw - 28px); }
.dialog-inner, .form-grid, .field { min-width:0; }
.form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.field input, .field textarea, .field select {
  box-sizing:border-box; min-width:0; max-width:100%; width:100%; font-size:16px;
}
.field input[type="date"] { display:block; appearance:none; -webkit-appearance:none; min-height:48px; }
.field input[type="date"]::-webkit-date-and-time-value { text-align:left; min-width:0; }
.dialog-inner > .flex:first-child { align-items:flex-start; }
.dialog-inner h2 { min-width:0; overflow-wrap:anywhere; }
.close { flex-shrink:0; min-width:44px; min-height:44px; }
.cart-row { display:flex; flex-wrap:wrap; gap:12px; }
.cart-name { flex:1 1 160px; min-width:0; font-size:14px; }
.quantity-controls { display:flex; align-items:center; gap:4px; margin-left:auto; }
.quantity-button { width:44px; height:44px; border:1px solid #d6dde1; border-radius:4px; background:#f3f5f5; color:#17232f; font-size:24px; line-height:1; }
.quantity-button:hover:not(:disabled) { background:#f3ed44; }
.quantity-button:disabled { opacity:.35; cursor:default; }
.quantity-value { min-width:28px; text-align:center; font-size:16px; font-weight:700; }
.remove-product { margin-left:8px; background:white; }
.remove-product:hover:not(:disabled) { background:#fee2e2; color:#991b1b; }
@media(max-width:640px) { .form-grid { grid-template-columns:minmax(0,1fr)!important; } }
.floating-cart { position:fixed; right:24px; bottom:calc(20px + env(safe-area-inset-bottom,0px)); z-index:40; display:flex; align-items:center; justify-content:space-between; gap:32px; min-width:290px; padding:16px 22px; border:1px solid #d7d12c; border-radius:6px; background:#f3ed44; color:#17232f; text-align:left; box-shadow:0 6px 28px #17232f30; }
.floating-cart strong { display:block; font-size:16px; }
.floating-cart-summary { display:block; margin-top:3px; font-size:14px; }
.floating-cart-arrow { font-size:26px; }
.floating-cart:hover { background:#e8e135; }
body.has-cart { padding-bottom:calc(110px + env(safe-area-inset-bottom,0px)); }
body.has-cart #toast { bottom:calc(120px + env(safe-area-inset-bottom,0px)); width:max-content; max-width:calc(100vw - 32px); }
.add.just-added,.btn.just-added { background:#f3ed44; color:#17232f; }
.card .card-footer { flex-direction:column; align-items:stretch; gap:18px; }
.daily-price span { display:block; color:#63707a; font-size:14px; margin-bottom:4px; }
.daily-price strong { display:block; font-size:21px; line-height:1.3; }
.product-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.read-more { display:flex; align-items:center; justify-content:center; gap:10px; border:1px solid #cdd5db; border-radius:3px; padding:12px 10px; font-size:14px; font-weight:600; min-height:46px; }
.read-more:hover { background:#f0f3f5; border-color:#17232f; }
.detail-price { margin-top:28px; padding:20px; background:#f3f5f5; border-radius:4px; }
.detail-price strong { font-size:28px; }
@media(max-width:640px) { .floating-cart { left:16px; right:16px; min-width:0; bottom:calc(12px + env(safe-area-inset-bottom,0px)); } }

.daily-price small { display:block; margin-top:5px; font-size:13px; color:#63707a; }
