/* SPVIET Online Shop Checkout Flow v0.15.14.40 */
.spviet-shop-flow-banner,.spviet-shop-cart-pro,.spviet-shop-checkout-pro,.spviet-thankyou-shop-summary{font-family:"Segoe UI","Noto Sans","Noto Sans Vietnamese",Arial,sans-serif!important;color:#0f172a}.spviet-shop-flow-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 18px;padding:14px 16px;border:1px solid #dbeafe;border-radius:20px;background:linear-gradient(135deg,#eff6ff,#fff);box-shadow:0 16px 40px rgba(30,64,175,.08)}.spviet-shop-flow-banner strong{font-size:14px;font-weight:700}.spviet-shop-flow-banner span{font-size:12px;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0;padding:6px 10px}.spviet-shop-flow-banner a{margin-left:auto;border-radius:999px;background:#2563eb;color:#fff!important;text-decoration:none;padding:8px 14px;font-size:12px;font-weight:700}.spviet-shop-cart-pro{display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid #bfdbfe;background:linear-gradient(135deg,#eff6ff,#f8fbff);border-radius:24px;padding:18px 20px;margin:0 0 18px;box-shadow:0 16px 40px rgba(37,99,235,.10)}.spviet-shop-cart-pro b{font-size:16px}.spviet-shop-cart-pro p{margin:6px 0 0;color:#475569;font-size:13px}.spviet-shop-cart-pro-btn{border-radius:16px!important;background:#0ea5e9!important;color:#fff!important;border:0!important;padding:12px 18px!important;font-weight:700!important;white-space:nowrap}.spviet-shop-checkout-pro{margin:0 0 20px}.spviet-shop-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border-radius:28px;background:radial-gradient(circle at 95% -20%,rgba(59,130,246,.45),transparent 38%),linear-gradient(135deg,#0f172a,#1d4ed8);color:#fff;box-shadow:0 24px 70px rgba(15,23,42,.20)}.spviet-shop-hero span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.82}.spviet-shop-hero h2{margin:8px 0 6px!important;color:#fff!important;font-size:22px!important;font-weight:600!important}.spviet-shop-hero p{margin:0;color:#dbeafe;font-size:13px;line-height:1.5}.spviet-shop-step-pill{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:10px 14px;font-size:12px;white-space:nowrap}.spviet-shop-stepper{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:14px 0}.spviet-shop-stepper b{display:flex;align-items:center;justify-content:center;text-align:center;min-height:38px;padding:8px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0;font-size:12px;font-weight:500!important;color:#334155}.spviet-shop-stepper b.is-active{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}.spviet-shop-step-card{border:1px solid #dbeafe;border-radius:24px;background:#fff;padding:18px;margin:14px 0;box-shadow:0 18px 50px rgba(15,23,42,.06)}.spviet-shop-step-card h3{margin:0 0 10px!important;font-size:16px!important;font-weight:600!important;color:#0f172a!important}.spviet-shop-step-card p{font-size:13px;color:#475569;margin:0 0 10px;line-height:1.55}.spviet-shop-note{border-radius:16px;background:#eff6ff;color:#075985;border:1px solid #bfdbfe;padding:12px 14px;font-size:12px;line-height:1.55}.spviet-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.spviet-choice-card{appearance:none;text-align:left;border:1px solid #dbeafe;border-radius:20px;background:#f8fbff;padding:16px;min-height:132px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon title" "icon desc";column-gap:12px;align-content:start;cursor:pointer;transition:.18s ease;color:#0f172a}.spviet-choice-card:hover{transform:translateY(-1px);box-shadow:0 16px 36px rgba(37,99,235,.12);border-color:#93c5fd}.spviet-choice-card i{grid-area:icon;width:42px;height:42px;border-radius:16px;background:#fff;display:grid;place-items:center;font-style:normal;font-size:22px;box-shadow:0 8px 20px rgba(15,23,42,.06)}.spviet-choice-card strong{grid-area:title;font-size:14px;font-weight:600!important;line-height:1.25}.spviet-choice-card span{grid-area:desc;color:#64748b;font-size:12px;line-height:1.45;margin-top:6px}.spviet-choice-card.is-active{background:#e0f2fe;border-color:#0284c7;box-shadow:0 18px 44px rgba(14,165,233,.18)}.spviet-choice-card.is-disabled,.spviet-choice-card:disabled{opacity:.48;filter:grayscale(.2);cursor:not-allowed;background:#f1f5f9}.spviet-choice-card:disabled:hover{transform:none;box-shadow:none}.spviet-quote-box{margin-top:14px;border:1px dashed #93c5fd;background:#f8fbff;border-radius:20px;padding:14px}.spviet-quote-box strong{display:block;font-size:14px;font-weight:600!important}.spviet-quote-box p{font-size:12px;margin:4px 0 10px;color:#475569}.spviet-quote-box ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.spviet-quote-box li,.spviet-quote-total{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:12px;border-bottom:1px solid #e2e8f0;padding:7px 0}.spviet-quote-box li b,.spviet-quote-total b{font-weight:600!important;color:#0f172a}.spviet-quote-total{border-bottom:0;margin-top:8px;border-radius:14px;background:#e0f2fe;padding:12px}.spviet-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.spviet-time-grid label,.spviet-bank-box label{display:grid;gap:7px;font-size:12px;color:#334155}.spviet-time-grid input,.spviet-time-grid select,.spviet-bank-box select{width:100%;border:1px solid #bfdbfe;border-radius:14px;min-height:46px;padding:10px 12px;background:#fff;color:#0f172a}.spviet-bank-box{margin-top:14px;border:1px solid #dbeafe;border-radius:20px;background:#f8fbff;padding:14px}.spviet-bank-list{display:grid;gap:8px;margin-top:10px}.spviet-bank-card{border:1px solid #e2e8f0;border-radius:16px;background:#fff;padding:12px}.spviet-bank-card b{display:block;font-size:13px;font-weight:600!important}.spviet-bank-card span{display:block;margin-top:4px;color:#64748b;font-size:12px}.spviet-payment-gateway-hint{border-radius:16px;background:#ecfeff;border:1px solid #a5f3fc;color:#155e75;padding:12px 14px;margin:10px 0;font-size:12px}.spviet-confirm-card{border:2px solid #bfdbfe;border-radius:24px;background:linear-gradient(135deg,#ffffff,#eff6ff);padding:18px;margin:16px 0;box-shadow:0 18px 54px rgba(37,99,235,.10)}.spviet-confirm-card h3{margin:0 0 12px!important;font-size:16px!important;font-weight:600!important;color:#0f172a!important}.spviet-confirm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.spviet-confirm-grid div{border:1px solid #dbeafe;background:#fff;border-radius:16px;padding:12px}.spviet-confirm-grid span{display:block;font-size:11px;color:#64748b}.spviet-confirm-grid b{display:block;font-size:13px;font-weight:600!important;color:#0f172a;margin-top:3px}.spviet-confirm-check{display:flex;gap:10px;align-items:flex-start;margin:14px 0 10px!important;font-size:13px!important;color:#0f172a!important;font-weight:500!important}.spviet-confirm-check input{margin-top:4px}.woocommerce-checkout #place_order.spviet-disabled-place-order{opacity:.45!important;filter:grayscale(.2);cursor:not-allowed!important}.spviet-thankyou-shop-summary{border:1px solid #dbeafe;border-radius:20px;background:#f8fbff;padding:16px;margin:18px 0}.spviet-thankyou-shop-summary h2{font-size:18px!important;font-weight:600!important;margin:0 0 10px!important}.spviet-admin-shop-summary{background:#f8fbff;border:1px solid #dbeafe;border-radius:12px;padding:10px;margin-top:8px}.spviet-admin-shop-summary h4{margin:0 0 8px;font-weight:600!important}@media(max-width:980px){.spviet-shop-stepper{grid-template-columns:repeat(4,minmax(0,1fr))}.spviet-choice-grid{grid-template-columns:1fr}.spviet-shop-hero{align-items:flex-start;flex-direction:column}.spviet-shop-cart-pro{align-items:flex-start;flex-direction:column}.spviet-shop-flow-banner a{margin-left:0}}@media(max-width:640px){.spviet-shop-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}.spviet-shop-hero{border-radius:22px;padding:18px}.spviet-shop-hero h2{font-size:18px!important}.spviet-shop-step-card,.spviet-confirm-card{border-radius:18px;padding:14px}.spviet-time-grid,.spviet-confirm-grid{grid-template-columns:1fr}.spviet-choice-card{min-height:110px;padding:14px}.spviet-shop-flow-banner{border-radius:18px}.spviet-shop-flow-banner span{display:none}.spviet-shop-cart-pro-btn{width:100%;text-align:center}.spviet-bank-box{padding:12px}}


/* v0.15.14.40 Mobile/Tablet thank-you receive info no-compression closeout */
.spviet-thankyou-shop-summary{width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow:visible!important}
.spviet-thankyou-shop-summary h2{display:block!important;width:100%!important;line-height:1.35!important;word-break:normal!important;overflow-wrap:anywhere!important}
.spviet-order-meta-summary-v0151440{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;clear:both!important}
.spviet-order-meta-row{display:grid!important;grid-template-columns:34px minmax(92px,.75fr) minmax(0,1.25fr)!important;align-items:center!important;gap:9px!important;width:100%!important;min-width:0!important;box-sizing:border-box!important;border:1px solid #dbeafe!important;background:#fff!important;border-radius:16px!important;padding:10px 12px!important;box-shadow:0 8px 22px rgba(15,23,42,.04)!important;float:none!important;text-align:left!important;overflow:visible!important}
.spviet-order-meta-row.is-wide{grid-column:1/-1!important}
.spviet-order-meta-icon{display:grid!important;place-items:center!important;width:30px!important;height:30px!important;border-radius:12px!important;background:#eff6ff!important;font-size:15px!important;line-height:1!important;flex:none!important}
.spviet-order-meta-label{display:block!important;color:#64748b!important;font-size:12px!important;font-weight:400!important;line-height:1.35!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;text-align:left!important}
.spviet-order-meta-value{display:block!important;color:#0f172a!important;font-size:12px!important;font-weight:400!important;line-height:1.45!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;text-align:left!important;min-width:0!important}
@media(max-width:1024px){.spviet-thankyou-shop-summary{margin-left:0!important;margin-right:0!important;padding:14px!important;border-radius:18px!important}.spviet-order-meta-summary-v0151440{grid-template-columns:1fr!important}.spviet-order-meta-row{grid-template-columns:32px minmax(92px,.85fr) minmax(0,1.15fr)!important;padding:10px!important}.spviet-order-meta-row.is-wide{grid-column:auto!important}.spviet-thankyou-shop-summary table.shop_table,.spviet-thankyou-shop-summary table.shop_table_responsive{display:none!important}}
@media(max-width:640px){.spviet-thankyou-shop-summary{width:calc(100vw - 28px)!important;max-width:calc(100vw - 28px)!important;margin-left:auto!important;margin-right:auto!important;padding:12px!important}.spviet-thankyou-shop-summary h2{font-size:16px!important;margin-bottom:10px!important}.spviet-order-meta-row{grid-template-columns:30px 1fr!important;grid-template-areas:"icon label" "icon value"!important;gap:3px 9px!important}.spviet-order-meta-icon{grid-area:icon!important}.spviet-order-meta-label{grid-area:label!important;font-size:11px!important}.spviet-order-meta-value{grid-area:value!important;font-size:12px!important}.spviet-order-meta-row.is-wide .spviet-order-meta-value{font-size:12px!important}}

/* v0.15.14.41 Online customer status timeline with cooking/cooked steps */
.spviet-online-status-v0151441{background:linear-gradient(135deg,#fff7ed,#fff);border:1px solid #fed7aa;border-radius:22px;padding:18px;margin:18px 0;box-shadow:0 12px 30px rgba(154,52,18,.08)}
.spviet-online-status-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.spviet-online-status-head span{background:#ffedd5;border-radius:999px;padding:8px 14px;color:#9a3412;font-weight:800}.spviet-online-status-head strong{font-size:20px;color:#7f1d1d}
.spviet-online-status-steps{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));gap:8px}.spviet-online-status-step{position:relative;text-align:center;color:#78716c}.spviet-online-status-step b{display:inline-flex;width:34px;height:34px;border-radius:999px;align-items:center;justify-content:center;background:#fff;border:3px solid #e7d8d3;color:#a8a29e}.spviet-online-status-step span{display:block;margin-top:7px;font-weight:800}.spviet-online-status-step.done b{background:#16a34a;border-color:#16a34a;color:#fff}.spviet-online-status-step.done span,.spviet-online-status-step.active span{color:#991b1b}.spviet-online-status-step.active b{background:#dc2626;border-color:#fbbf24;color:#fff}
@media(max-width:820px){.spviet-online-status-steps{grid-template-columns:1fr}.spviet-online-status-step{text-align:left;display:flex;align-items:center;gap:10px}.spviet-online-status-step span{margin-top:0}.spviet-online-status-head{align-items:flex-start;flex-direction:column}}

/* v0.15.14.125 Dine-in checkout receive method / guest count / customer note closeout */
.spviet-shop-choices .spviet-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.spviet-dinein-box{display:none;margin-top:14px;border:1px solid #bfdbfe;border-radius:20px;background:linear-gradient(135deg,#f8fbff,#eff6ff);padding:14px;gap:10px}.spviet-dinein-box.is-active{display:grid!important}.spviet-dinein-box label span{font-weight:800!important;color:#0f172a!important}.spviet-dinein-box label em{font-style:normal;color:#dc2626!important}
.spviet-dinein-box label,.spviet-customer-note-field{display:grid!important;gap:7px!important;font-size:12px!important;color:#334155!important;font-weight:500!important}
.spviet-dinein-box input,.spviet-customer-note-field textarea{width:100%!important;border:1px solid #bfdbfe!important;border-radius:14px!important;background:#fff!important;color:#0f172a!important;padding:10px 12px!important;font-size:13px!important;box-sizing:border-box!important}
.spviet-dinein-box input{min-height:46px!important;max-width:260px!important}
.spviet-customer-note-field textarea{min-height:86px!important;resize:vertical!important;line-height:1.45!important}
.spviet-confirm-grid div b{white-space:pre-wrap!important;word-break:normal!important;overflow-wrap:anywhere!important}
@media(max-width:1180px){.spviet-shop-choices .spviet-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.spviet-shop-choices .spviet-choice-grid{grid-template-columns:1fr}.spviet-dinein-box input{max-width:100%!important}}

/* v0.15.14.128 Public Woo/Home/Shop topping modal bridge */
.spviet-public-topping-lock{overflow:hidden}
.spviet-public-topping-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:18px;font-family:inherit}
.spviet-public-topping-modal.show{display:flex}
.spviet-public-topping-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(5px)}
.spviet-public-topping-card{position:relative;width:min(760px,96vw);max-height:min(86vh,860px);display:flex;flex-direction:column;background:#fff;border:1px solid rgba(191,219,254,.95);border-radius:22px;box-shadow:0 26px 80px rgba(15,23,42,.32);overflow:hidden;color:#0f172a;font-size:12px;font-weight:400}
.spviet-public-topping-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:18px 20px;background:linear-gradient(135deg,#fff7ed,#eff6ff);border-bottom:1px solid #dbeafe}
.spviet-public-topping-head span{display:block;color:#0f766e;font-weight:700;letter-spacing:.04em;font-size:11px;text-transform:uppercase}
.spviet-public-topping-head h2{margin:4px 0 2px;font-size:20px;line-height:1.2;color:#0f172a;font-weight:800}
.spviet-public-topping-head p{margin:0;color:#64748b;font-size:12px}
.spviet-public-topping-head button{border:1px solid #bfdbfe;background:#fff;color:#0f172a;border-radius:999px;width:36px;height:36px;font-size:20px;line-height:1;cursor:pointer}
.spviet-public-topping-body{padding:16px 20px;overflow:auto;background:#fff}
.spviet-public-topping-product{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid #dbeafe;border-radius:18px;background:#f8fafc;margin-bottom:14px}
.spviet-public-topping-product img,.spviet-public-topping-noimg{width:64px;height:64px;border-radius:16px;object-fit:cover;background:#fee2e2;display:flex;align-items:center;justify-content:center;font-weight:800;color:#991b1b}
.spviet-public-topping-product strong{display:block;font-size:15px;color:#0f172a;margin-bottom:4px}
.spviet-public-topping-product span{color:#0f766e;font-weight:800}
.spviet-public-topping-group{border:1px solid #dbeafe;border-radius:18px;padding:14px;margin:12px 0;background:#ffffff}
.spviet-public-topping-group h3{margin:0 0 4px;font-size:15px;color:#0f172a;font-weight:800}
.spviet-public-topping-group h3 b{color:#dc2626}
.spviet-public-topping-group p{margin:0 0 10px;color:#64748b;font-size:12px}
.spviet-public-topping-option{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid #e2e8f0;border-radius:14px;margin-top:8px;background:#f8fafc;cursor:pointer}
.spviet-public-topping-option:has(input:checked){border-color:#0ea5e9;background:#e0f2fe}
.spviet-public-topping-option input{width:18px;height:18px;margin:0;accent-color:#0ea5e9}
.spviet-public-topping-option span{font-weight:700;color:#1e293b}
.spviet-public-topping-option strong{color:#0f766e;font-weight:800;white-space:nowrap}
.spviet-public-topping-error{min-height:20px;color:#dc2626;font-weight:700;padding:0 20px 8px}
.spviet-public-topping-foot{display:flex;gap:10px;justify-content:flex-end;padding:14px 20px;background:#f8fafc;border-top:1px solid #dbeafe}
.spviet-public-topping-foot button{border:1px solid #cbd5e1;border-radius:999px;padding:11px 18px;font-weight:800;cursor:pointer;background:#fff;color:#0f172a}
.spviet-public-topping-foot button.primary{background:#0ea5e9;border-color:#0ea5e9;color:#fff;box-shadow:0 10px 24px rgba(14,165,233,.24)}
.spviet-public-topping-foot button:disabled{opacity:.65;cursor:wait}
.spviet-public-topping-added{animation:spvietPublicToppingAdded .9s ease}
@keyframes spvietPublicToppingAdded{0%{transform:scale(1)}35%{transform:scale(1.04)}100%{transform:scale(1)}}
@media(max-width:768px){
  .spviet-public-topping-modal{align-items:flex-end;padding:0}
  .spviet-public-topping-card{width:100vw;max-height:92vh;border-radius:22px 22px 0 0}
  .spviet-public-topping-head{padding:16px}
  .spviet-public-topping-head h2{font-size:18px}
  .spviet-public-topping-body{padding:12px 14px}
  .spviet-public-topping-foot{padding:12px 14px;position:sticky;bottom:0}
  .spviet-public-topping-foot button{flex:1}
}

/* v0.15.14.128 cart/checkout topping price breakdown: base dish and topping money stay visually separate. */
.spviet-public-topping-requires-modal{position:relative}
.spviet-public-topping-price-breakdown{display:inline-flex;flex-direction:column;gap:2px;line-height:1.25;align-items:flex-end;white-space:normal}
.spviet-public-topping-price-breakdown b{font-weight:800;color:#0f172a}
.spviet-public-topping-price-breakdown small{display:block;font-size:11px;font-weight:500;color:#64748b;white-space:nowrap}
.woocommerce-cart-form .spviet-public-topping-price-breakdown,.woocommerce-checkout-review-order .spviet-public-topping-price-breakdown{align-items:flex-end}
@media (max-width: 768px){.spviet-public-topping-price-breakdown{align-items:flex-start}.spviet-public-topping-price-breakdown small{white-space:normal;font-size:10.5px}}

/* v0.15.14.128: checkout table columns restored to native Woo width; topping detail stays under product name. */
.woocommerce-cart .product-name .variation,.woocommerce-checkout-review-order .product-name .variation{max-width:100%!important;line-height:1.45!important}

/* v0.15.14.145 - customer timeline keeps unpaid kitchen-pushed orders as waiting payment */
.spviet-online-status-step.payment-pending b{background:#f59e0b!important;border-color:#f59e0b!important;color:#fff!important;}
.spviet-online-status-step.payment-pending span{color:#92400e!important;}
