/* Kane's Observations — phone-first commerce consistency and readability. */
:root{
  --ko-commerce-ink:#17232b;
  --ko-commerce-blue:#517893;
  --ko-commerce-blue-deep:#315f7c;
  --ko-commerce-paper:#fffdf8;
  --ko-commerce-line:#cbd4d9;
  --ko-commerce-muted:#53646e;
}

.checkout-btn[aria-disabled="true"]{
  border-color:#9aa8b0!important;
  background:#dfe5e8!important;
  color:#425763!important;
  box-shadow:none!important;
  cursor:not-allowed;
}
.cart-checkout-status{
  margin:12px 0 0;
  padding:11px 12px;
  border:1px solid #c7d5dd;
  border-radius:7px;
  background:#edf3f6;
  color:#344d5c;
  font-size:12px;
  line-height:1.5;
}
.entry-mode-note{
  margin:0 0 18px;
  padding:13px 15px;
  border:1px solid #bdcbd3;
  border-radius:9px;
  background:#edf3f6;
  color:#31556e;
  font-size:13px;
  line-height:1.55;
}
.entry-mode-note.is-blocked{
  border-color:#d4b6b1;
  background:#fff3f0;
  color:#7d3f3a;
}
.entry-button[aria-disabled="true"],
.google-button:disabled{
  border-color:#aeb7bc!important;
  background:#e3e7e8!important;
  color:#66757e!important;
  box-shadow:none!important;
  cursor:not-allowed;
}
.checkout-blocked{
  padding:28px;
  border:1px solid #c7d5dd;
  border-radius:12px;
  background:#edf3f6;
  color:var(--ko-commerce-ink);
}
.checkout-blocked h2{margin:0 0 10px;color:var(--ko-commerce-ink);font:600 30px/1.1 Georgia,'Times New Roman',serif}
.checkout-blocked p{margin:0;color:var(--ko-commerce-muted);font-size:15px;line-height:1.65}
.checkout-blocked a{display:inline-flex;min-height:48px;align-items:center;justify-content:center;margin-top:20px;padding:0 18px;border-radius:7px;background:var(--ko-commerce-blue);color:#fff;text-decoration:none;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}

@media(max-width:700px){
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}

  /* Shop All */
  .shop-main .shop-context{min-height:48px;font-size:11px;letter-spacing:.1em}
  .shop-main .shop-title{font-size:clamp(44px,14vw,60px)!important;line-height:.94!important}
  .shop-main .shop-intro{font-size:16px!important;line-height:1.65!important}
  .shop-main .shop-kicker,
  .shop-main .shop-opening-label,
  .shop-main .shop-section-label{font-size:11px!important;line-height:1.4!important}
  .shop-main .shop-opening p,
  .shop-main .shop-browser-copy,
  .shop-main .shop-assurance p{font-size:14px!important;line-height:1.62!important}
  .shop-main .shop-departments{scroll-snap-type:x proximity}
  .shop-main .shop-departments a{min-height:52px!important;padding-inline:16px!important;font-size:10px!important;letter-spacing:.1em!important;scroll-snap-align:start}
  .shop-main .shop-search{height:auto!important;min-height:50px}
  .shop-main .shop-search input{min-height:48px;padding-inline:14px;font-size:16px}
  .shop-main .shop-search button{min-width:88px;min-height:48px;font-size:10px}
  .shop-main .shop-toolbar{gap:14px}
  .shop-main .shop-filters{display:grid!important;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}
  .shop-main .shop-filter{min-width:0!important;min-height:46px!important;padding:8px 10px!important;font-size:10px!important;line-height:1.25!important;letter-spacing:.08em!important}
  .shop-main .shop-result-count{font-size:11px!important;line-height:1.4!important;letter-spacing:.08em!important}
  .shop-main .shop-favorite{width:44px;height:44px}
  .shop-main .shop-product-body{padding:19px 17px 20px}
  .shop-main .shop-product-meta{align-items:flex-start;font-size:10px!important;line-height:1.45!important;letter-spacing:.07em!important}
  .shop-main .shop-product h3{font-size:22px!important;line-height:1.18!important}
  .shop-main .shop-product-body>p{font-size:14px!important;line-height:1.6!important}
  .shop-main .shop-add-cart{min-height:48px!important;font-size:11px!important}

  /* Product details */
  .product-page{width:min(100% - 24px,500px)!important;padding:18px 0 48px!important}
  .product-layout{gap:16px!important;padding:12px!important}
  .product-breadcrumb{margin-bottom:16px!important;overflow-wrap:anywhere;font-size:11px!important;line-height:1.45!important;letter-spacing:.07em!important}
  .product-thumb-rail{scroll-snap-type:x proximity}
  .product-thumb{width:68px!important;height:56px!important;flex-basis:68px!important;scroll-snap-align:start}
  .product-copy h1{font-size:clamp(30px,9vw,38px)!important;line-height:1.08!important;overflow-wrap:anywhere}
  .product-kicker,.product-purchase-label{font-size:11px!important;line-height:1.4!important}
  .product-description{font-size:16px!important;line-height:1.65!important}
  .product-details{gap:11px!important}
  .product-details span{align-items:flex-start;font-size:13px!important;line-height:1.45!important}
  .product-details strong{font-size:12px!important}
  .product-purchase .shop-add-cart,
  .product-purchase .ko-product-quantity{width:100%!important;max-width:none!important;min-height:48px!important}
  .product-note{font-size:13px!important;line-height:1.55!important}
  .related-head a{display:inline-flex;min-height:44px;align-items:center;font-size:13px!important}
  .related-grid{scroll-snap-type:x proximity;overscroll-behavior-inline:contain}
  .related-card{min-width:min(78vw,270px)!important;scroll-snap-align:start}
  .related-copy span{font-size:10px!important;line-height:1.4!important}
  .related-action .shop-add-cart,.related-action .related-coming-soon{min-height:46px!important;font-size:10px!important}

  /* Cart */
  .cart-shell{width:calc(100% - 20px)!important;margin-top:24px!important;margin-bottom:58px!important}
  .cart-shell>h1{font-size:36px!important}
  .cart-signin{padding:15px 16px!important;font-size:14px!important;line-height:1.55!important}
  body:has(>.cart-shell) .cart-item{grid-template-columns:84px minmax(0,1fr)!important;gap:14px!important;padding:18px 14px!important}
  body:has(>.cart-shell) .cart-item-media{width:84px!important;height:112px!important}
  .cart-item h2{font-size:20px!important;line-height:1.25!important;overflow-wrap:anywhere}
  .cart-item p{font-size:14px!important;line-height:1.55!important}
  .qty button,.qty span{width:44px!important;height:44px!important}
  .item-links{flex-wrap:wrap;gap:8px 18px!important;margin-top:9px!important}
  .item-links button{min-height:44px!important;padding:8px 0!important;font-size:13px!important}
  body:has(>.cart-shell) .item-price{font-size:18px!important}
  .cart-detail{padding:17px 16px 18px!important;font-size:13px!important}
  .cart-summary{padding:22px 18px!important}
  .cart-summary h2{font-size:26px!important}
  .sumline{font-size:14px!important;line-height:1.5!important}
  .cart-legal,.cart-secure,.affirm-fallback{font-size:12px!important;line-height:1.55!important}
  .cart-shell .checkout-btn{min-height:50px!important;font-size:11px!important;text-align:center}
  .saved-later>div:first-child{padding:21px 16px 0!important}
  .saved-row{grid-template-columns:68px minmax(0,1fr)!important;gap:14px!important;padding:17px 16px!important}
  .saved-row-actions{gap:8px!important}
  .saved-row .saved-row-actions>button{min-height:46px!important;padding:8px!important;font-size:12px!important}

  /* Sign-in / guest checkout entry */
  .entry-shell{padding:26px 12px 54px!important}
  .entry-mode-note{font-size:14px}
  .entry-panel{padding:22px 17px!important}
  .entry-panel h1{font-size:31px!important;line-height:1.12!important}
  .entry-copy,.guest-note{font-size:14px!important;line-height:1.6!important}
  .entry-panel label{font-size:11px!important}
  .entry-panel input{min-height:50px!important;font-size:16px!important}
  .entry-button,.google-button{min-height:52px!important;font-size:12px!important;text-align:center}
  .checkout-security-status,.oauth-message{font-size:12px!important;line-height:1.5!important}

  /* Checkout */
  .shell{padding:20px 10px 52px!important}
  .shell>.test{font-size:12px!important;line-height:1.45!important;letter-spacing:.08em!important}
  .shell>.head h1{font-size:36px!important;line-height:1.08!important}
  .shell>.head p{font-size:15px!important;line-height:1.6!important}
  .steps{gap:4px!important;padding:5px!important}
  .step-tab{min-height:60px!important;flex-direction:column!important;justify-content:center!important;gap:4px!important;padding:6px 3px!important;font-size:10px!important;line-height:1.15!important;text-align:center!important}
  .step-tab span{display:block!important}
  .step-tab b{width:24px!important;height:24px!important}
  .shell>.grid{grid-template-columns:1fr!important}
  .shell>.grid>.card{order:1;padding:20px 14px!important}
  .shell>.grid>.summary{order:2!important;position:relative!important;top:auto!important}
  .shell .card h2{font-size:27px!important;line-height:1.15!important}
  .shell .intro{font-size:14px!important;line-height:1.6!important}
  .shell .field label{font-size:12px!important}
  .shell .field input,.shell .field select,.shell .promo-row input{min-height:50px!important;font-size:16px!important}
  .shell .check{align-items:flex-start;font-size:14px!important;line-height:1.55!important}
  .shell .check input{width:22px!important;height:22px!important;flex:0 0 22px!important}
  .shipping-choice{gap:15px!important;padding:17px 15px!important;font-size:14px!important}
  .shell .action{min-height:54px!important;font-size:11px!important;text-align:center}
  .shell .summary .promo-row button{min-height:48px!important;font-size:12px!important}
  .shell .summary .item,.shell .summary .promo,.shell .summary .rewards,.shell .summary .totals,.shell .summary .secure{padding:18px 16px!important}
  .shell .summary .item strong{font-size:15px!important;line-height:1.35!important}
  .shell .summary .item small,.shell .summary .promo-note,.shell .summary .reward-line,.shell .summary .sumline,.shell .summary .earn,.shell .summary .secure{font-size:12px!important;line-height:1.5!important}

  /* Payment result */
  body:has(>.result){padding:12px!important}
  .result{padding:30px 18px!important}
  .result .eyebrow{font-size:11px!important;line-height:1.4!important}
  .result h1{font-size:34px!important;line-height:1.1!important}
  .result p{font-size:15px!important;line-height:1.65!important}
  .result .actions a{min-height:50px!important;font-size:11px!important;text-align:center}
}

@media(max-width:390px){
  .shop-main .shop-filters{grid-template-columns:1fr}
  .step-tab{font-size:9px!important}
}

@media(prefers-reduced-motion:reduce){
  .shop-product,.related-card,.checkout-btn,.entry-button,.shell .action{scroll-behavior:auto!important;transition:none!important}
}
