/* ============================================================
   PawBaby — WooCommerce premium overrides
   Cart, checkout, account, single product — luxury treatment.
   ============================================================ */

/* ---- Shared WC main wrapper ---- */

.paw-wc-main{ padding:clamp(2rem,5vw,4rem) 0; background:var(--paw-cream); min-height:60vh; }
.paw-wc-main .paw-container{
  max-width:var(--paw-maxw); margin:0 auto;
  padding-left:var(--paw-pad); padding-right:var(--paw-pad);
}

/* ---- Premium page hero (cart / checkout / account) ---- */

.paw-wc-pagehead{
  text-align:center; max-width:740px; margin:0 auto;
  padding:0 var(--paw-pad) clamp(2rem, 4vw, 3rem);
}
.paw-wc-pagehead h1{
  font-family:var(--paw-font-display); font-weight:700;
  font-size:clamp(2.2rem, 5vw, 3.6rem); line-height:1; letter-spacing:-.02em;
  margin:.6rem 0 .8rem;
  color:var(--paw-espresso);
}
.paw-wc-pagehead .paw-eyebrow{
  display:inline-block; font-size:.74rem; letter-spacing:.28em; text-transform:uppercase;
  font-weight:700; color:var(--paw-sky-deep); margin-bottom:0;
}
.paw-wc-pagehead__sub{
  color:var(--paw-espresso-2); font-size:1.05rem; line-height:1.5;
  max-width:54ch; margin:0 auto;
}

/* =====================================================================
   SINGLE PRODUCT — keep WC layout but theme-styled
   ===================================================================== */

.single-product .product{
  display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,5rem);
  max-width:var(--paw-maxw); margin:0 auto; padding:0 var(--paw-pad);
}
.single-product .product .images{ position:sticky; top:6rem; align-self:start; }
.single-product .product .images .flex-control-thumbs{ margin-top:.8rem; display:flex; gap:.6rem; padding:0; list-style:none; }
.single-product .product .images .flex-control-thumbs li{ width:auto; flex:0 0 80px; }
.single-product .product .images .flex-control-thumbs img{ border-radius:var(--paw-radius); cursor:pointer; opacity:.6; transition:opacity .3s; }
.single-product .product .images .flex-control-thumbs img.flex-active,
.single-product .product .images .flex-control-thumbs img:hover{ opacity:1; }
.single-product .product .summary{ display:flex; flex-direction:column; gap:1.3rem; }
.single-product .product .summary .product_title{ font-family:var(--paw-font-display); font-size:clamp(2rem,4vw,3.4rem); line-height:1.05; }
.single-product .product .summary .price{ font-family:var(--paw-font-display); font-size:2rem; color:var(--paw-espresso); }
.single-product .product .summary .woocommerce-product-details__short-description{ color:var(--paw-espresso-2); }
.single-product .product .summary form.cart{ display:flex; flex-wrap:wrap; gap:1rem; align-items:center; }
.single-product .product .summary form.cart .variations{ width:100%; }
.single-product .product .summary form.cart table.variations td{ padding:.4rem 0; }
.single-product .product .summary form.cart table.variations select{
  font:inherit; padding:.8rem 1rem; border:1px solid rgba(14,42,47,.2); border-radius:var(--paw-radius); background:#fff;
}
.single-product .product .summary form.cart .quantity input.qty{
  width:80px; padding:.85rem .6rem; text-align:center; border:1px solid rgba(14,42,47,.2); border-radius:var(--paw-radius-pill); font-weight:600;
}
.single-product .product .summary form.cart .single_add_to_cart_button{
  background:var(--paw-espresso); color:var(--paw-cream); padding:1.1rem 2rem; border-radius:var(--paw-radius-pill); font-weight:600;
  border:none; cursor:pointer; transition:background .3s, transform .25s;
}
.single-product .product .summary form.cart .single_add_to_cart_button:hover{ background:var(--paw-honey-deep); transform:translateY(-2px); }

.single-product .woocommerce-tabs{ max-width:var(--paw-maxw); margin:4rem auto 0; padding:0 var(--paw-pad); }
.single-product .woocommerce-tabs .tabs{ display:flex; gap:.4rem; list-style:none; padding:0; margin:0 0 2rem; border-bottom:1px solid rgba(14,42,47,.12); }
.single-product .woocommerce-tabs .tabs li a{ display:inline-block; padding:1rem 1.4rem; border-radius:var(--paw-radius) var(--paw-radius) 0 0; font-weight:600; color:var(--paw-muted); }
.single-product .woocommerce-tabs .tabs li.active a{ background:#fff; color:var(--paw-espresso); box-shadow:var(--paw-shadow-sm); }
.single-product .woocommerce-tabs .panel{ background:#fff; border-radius:0 var(--paw-radius) var(--paw-radius); padding:2rem; box-shadow:var(--paw-shadow-sm); }

@media (max-width:880px){
  .single-product .product{ grid-template-columns:1fr; }
  .single-product .product .images{ position:static; }
}

/* =====================================================================
   PREMIUM FORM FIELDS — used by cart, checkout, account
   ===================================================================== */

.paw-wc-main .form-row,
.paw-wc-main .woocommerce-form-row{
  margin-bottom:1.1rem;
}
.paw-wc-main label,
.paw-wc-main .form-row label{
  display:block;
  font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  margin-bottom:.45rem; color:var(--paw-espresso-2);
}
.paw-wc-main input[type=text],
.paw-wc-main input[type=email],
.paw-wc-main input[type=tel],
.paw-wc-main input[type=number],
.paw-wc-main input[type=password],
.paw-wc-main input[type=search],
.paw-wc-main input[type=url],
.paw-wc-main textarea,
.paw-wc-main select,
.paw-wc-main .select2-container--default .select2-selection--single{
  width:100% !important;
  font:inherit !important;
  font-size:1rem !important;
  padding:.95rem 1.1rem !important;
  border:1.5px solid rgba(14,42,47,.14) !important;
  border-radius:var(--paw-radius) !important;
  background:#fff !important;
  color:var(--paw-espresso) !important;
  min-height:auto !important;
  transition:border-color .25s, box-shadow .25s, background .25s !important;
  box-shadow:none !important;
}
.paw-wc-main input:focus,
.paw-wc-main textarea:focus,
.paw-wc-main select:focus,
.paw-wc-main .select2-container--default.select2-container--focus .select2-selection--single{
  outline:none !important;
  border-color:var(--paw-honey) !important;
  box-shadow:0 0 0 4px rgba(199,154,67,.18) !important;
  background:#FFFCF6 !important;
}
.paw-wc-main input::placeholder,
.paw-wc-main textarea::placeholder{ color:var(--paw-muted); opacity:.85; }

.paw-wc-main .select2-container--default .select2-selection--single{
  height:auto !important; padding:.95rem 1.1rem !important;
}
.paw-wc-main .select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height:1.4 !important; padding:0 !important; color:var(--paw-espresso);
}
.paw-wc-main .select2-container--default .select2-selection--single .select2-selection__arrow{
  height:100% !important; right:.8rem !important;
}

/* Buttons */
.paw-wc-main button.button,
.paw-wc-main .button:not(.added_to_cart),
.paw-wc-main input[type=submit]{
  font-family:var(--paw-font-body); font-weight:700; font-size:.94rem; letter-spacing:.02em;
  padding:1.05rem 1.8rem; border-radius:var(--paw-radius-pill);
  border:none; cursor:pointer;
  transition:background .25s ease, color .25s ease,
    transform .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s cubic-bezier(.22,.61,.36,1);
  background:var(--paw-espresso); color:var(--paw-cream);
  box-shadow:0 4px 14px rgba(14,42,47,.10);
}
.paw-wc-main button.button:hover,
.paw-wc-main .button:not(.added_to_cart):hover,
.paw-wc-main input[type=submit]:hover{
  background:var(--paw-honey-deep); color:var(--paw-cream); transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(181,134,55,.24);
}
.paw-wc-main button.button[disabled],
.paw-wc-main button.button:disabled,
.paw-wc-main .button.disabled,
.paw-wc-main input[type=submit][disabled]{
  background:var(--paw-espresso) !important; color:var(--paw-cream) !important;
  opacity:.45; cursor:not-allowed;
  transform:none !important; box-shadow:none !important;
}

/* =====================================================================
   CART PAGE
   ===================================================================== */

/* WC pages use the standard paw-container width (var(--paw-maxw) = 1340px).
   Don't add horizontal padding here — .paw-wc-main .paw-container already does it.
   Keep this block only for any future cart/checkout/account-specific main tweaks. */

/* Cart table styled as cards */
.woocommerce-cart table.shop_table.cart,
.woocommerce-cart table.cart{
  width:100%; border-collapse:separate; border-spacing:0;
  background:#fff; border-radius:var(--paw-radius-lg);
  overflow:hidden; box-shadow:var(--paw-shadow-sm);
  table-layout:fixed;
}
.woocommerce-cart table.cart .product-remove{ width:48px; }
.woocommerce-cart table.cart .product-thumbnail{ width:108px; }
.woocommerce-cart table.cart .product-price{ width:96px; }
.woocommerce-cart table.cart .product-quantity{ width:108px; }
.woocommerce-cart table.cart .product-subtotal{ width:130px; }
.woocommerce-cart table.cart .product-name{ word-wrap:break-word; padding-right:1rem !important; }
.woocommerce-cart table.cart th{ white-space:nowrap; }
.woocommerce-cart table.cart .product-price,
.woocommerce-cart table.cart .product-subtotal{ text-align:right; padding-right:1.4rem !important; }
.woocommerce-cart table.cart th.product-price,
.woocommerce-cart table.cart th.product-subtotal{ text-align:right; }
.woocommerce-cart table.cart thead{ background:var(--paw-cream-2); }
.woocommerce-cart table.cart th{
  padding:1.1rem 1.4rem; text-align:left;
  font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700;
  color:var(--paw-espresso-2); border-bottom:1px solid rgba(14,42,47,.06);
}
.woocommerce-cart table.cart td{
  padding:1.4rem; vertical-align:middle;
  border-bottom:1px solid rgba(14,42,47,.06);
  font-size:.95rem; color:var(--paw-espresso);
}
.woocommerce-cart table.cart tr:last-child td{ border-bottom:none; }
.woocommerce-cart table.cart .product-thumbnail img{
  width:80px; height:80px; object-fit:contain;
  background:var(--paw-cream); border-radius:var(--paw-radius); padding:.4rem;
}
.woocommerce-cart table.cart .product-name a{
  font-family:var(--paw-font-display); font-weight:700; font-size:1.05rem;
  color:var(--paw-espresso); text-decoration:none;
}
.woocommerce-cart table.cart .product-name dl.variation{
  margin-top:.3rem; font-size:.78rem; color:var(--paw-muted);
}
.woocommerce-cart table.cart .product-name dl.variation dt,
.woocommerce-cart table.cart .product-name dl.variation dd{
  display:inline; margin:0; padding:0; font-weight:600;
}
.woocommerce-cart table.cart .product-name dl.variation dd p{ display:inline; margin:0; font-weight:400; }
.woocommerce-cart table.cart .product-price,
.woocommerce-cart table.cart .product-subtotal{
  font-family:var(--paw-font-display); font-weight:700; font-size:1.1rem;
  color:var(--paw-espresso); font-variant-numeric:tabular-nums;
}
.woocommerce-cart table.cart .quantity input.qty{
  width:70px; padding:.6rem; text-align:center;
  border:1.5px solid rgba(14,42,47,.14); border-radius:var(--paw-radius-pill);
  font-weight:700; font-family:var(--paw-font-display);
}
.woocommerce-cart table.cart .product-remove a{
  display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:30px; border-radius:50%;
  background:var(--paw-cream); color:var(--paw-warn);
  text-decoration:none;
  transition:background .25s ease, color .25s ease, transform .3s cubic-bezier(.22,.61,.36,1);
}
.woocommerce-cart table.cart .product-remove a:hover{
  background:var(--paw-warn); color:#fff; transform:rotate(90deg);
}

.woocommerce-cart .cart .actions{ padding-top:1rem; }
.woocommerce-cart .cart .actions .coupon{
  display:inline-flex; gap:.5rem; align-items:center; margin-right:1rem;
}
.woocommerce-cart .cart .actions .coupon input{ width:200px !important; margin:0 !important; }

/* Two-column cart layout: items form on the left, collaterals (totals) on the right */
.woocommerce-cart .woocommerce{
  display:grid; grid-template-columns:minmax(0, 1fr) 360px;
  grid-template-rows:auto 1fr;
  gap:1.2rem 2rem; align-items:start;
}
.woocommerce-cart form.woocommerce-cart-form{
  grid-column:1; grid-row:1 / span 2; min-width:0;
}
.woocommerce-cart .cart-collaterals{
  grid-column:2; grid-row:1; min-width:0;
  margin-top:0; display:flex; flex-direction:column; gap:1.6rem;
}
.woocommerce-cart .cart-collaterals .cart_totals{
  width:100% !important; float:none !important;
  background:#fff;
  padding:2rem; border-radius:var(--paw-radius-lg); box-shadow:var(--paw-shadow);
  position:sticky; top:6rem;
}
.woocommerce-cart .cart-collaterals .cross-sells{ width:100% !important; float:none !important; }
.woocommerce-cart .cart-collaterals .cart_totals h2{
  font-family:var(--paw-font-display); font-size:1.6rem; margin-bottom:1.2rem;
  padding-bottom:.8rem; border-bottom:1px solid rgba(14,42,47,.08);
}
.woocommerce-cart .cart-collaterals .cart_totals table{ width:100%; margin-bottom:1.2rem; }
.woocommerce-cart .cart-collaterals .cart_totals table th,
.woocommerce-cart .cart-collaterals .cart_totals table td{
  padding:.7rem 0; font-size:.95rem;
}
.woocommerce-cart .cart-collaterals .cart_totals table th{ color:var(--paw-espresso-2); font-weight:500; }
.woocommerce-cart .cart-collaterals .cart_totals table td{ font-family:var(--paw-font-display); font-weight:700; text-align:right; }
.woocommerce-cart .cart-collaterals .cart_totals .order-total td{
  font-size:1.5rem !important; color:var(--paw-espresso);
}
.woocommerce-cart .cart-collaterals .cart_totals .order-total th{ font-size:1rem; font-weight:700; color:var(--paw-espresso); }
.woocommerce-cart .wc-proceed-to-checkout .button{
  background:var(--paw-honey) !important; color:var(--paw-espresso) !important;
  padding:1.2rem 2rem !important; font-size:1rem !important;
  border-radius:var(--paw-radius-pill) !important;
  font-weight:800 !important; display:inline-block; width:100%; text-align:center;
  letter-spacing:.02em;
  box-shadow:0 8px 22px rgba(199,154,67,.24) !important;
  transition:background .25s ease, color .25s ease,
    transform .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s cubic-bezier(.22,.61,.36,1) !important;
}
.woocommerce-cart .wc-proceed-to-checkout .button:hover{
  background:var(--paw-honey-deep) !important; color:var(--paw-cream) !important;
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(199,154,67,.32) !important;
}

.woocommerce-cart .woocommerce-shipping-calculator{ margin-top:.8rem; font-size:.85rem; }

/* Empty cart state */
.paw-wc-empty{
  background:#fff; border-radius:var(--paw-radius-lg);
  padding:clamp(3rem, 6vw, 5rem) var(--paw-pad);
  text-align:center; box-shadow:var(--paw-shadow-sm);
  max-width:560px; margin:0 auto;
  display:flex; flex-direction:column; align-items:center; gap:1rem;
}
.paw-wc-empty__icon{
  width:90px; height:90px; border-radius:50%;
  background:var(--paw-cream-2); color:var(--paw-honey-deep);
  display:inline-flex; align-items:center; justify-content:center;
  margin-bottom:.4rem;
}
.paw-wc-empty h2{ font-family:var(--paw-font-display); font-size:1.8rem; margin:0; }
.paw-wc-empty p{ color:var(--paw-espresso-2); max-width:38ch; margin:0 0 .6rem; }

@media (max-width:760px){
  .woocommerce-cart .woocommerce{ grid-template-columns:1fr; }
  .woocommerce-cart form.woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals{ grid-column:1; grid-row:auto; }
  .woocommerce-cart .cart-collaterals .cart_totals{ position:static; }
  .woocommerce-cart table.cart thead{ display:none; }
  .woocommerce-cart table.cart tr{ display:block; padding:1rem; border-bottom:1px solid rgba(14,42,47,.06); }
  .woocommerce-cart table.cart td{ display:block; padding:.4rem 0; border:none; }
  .woocommerce-cart table.cart td::before{
    content:attr(data-title) ": ";
    font-size:.7rem; letter-spacing:.14em; text-transform:uppercase;
    color:var(--paw-muted); font-weight:700; margin-right:.4rem;
  }
  .woocommerce-cart table.cart td.product-remove::before,
  .woocommerce-cart table.cart td.product-thumbnail::before{ content:""; }
}

/* =====================================================================
   CHECKOUT
   ===================================================================== */

.woocommerce-checkout form.checkout{
  display:grid; grid-template-columns:1.4fr 1fr;
  grid-template-rows:auto 1fr;
  gap:1.2rem 2rem;
  align-items:start;
}
.woocommerce-checkout #customer_details{
  grid-column:1; grid-row:1 / span 2;
  background:#fff; padding:2rem; border-radius:var(--paw-radius-lg);
  box-shadow:var(--paw-shadow-sm);
  min-width:0;
}
.woocommerce-checkout #customer_details > div{ width:100% !important; float:none !important; }
.woocommerce-checkout #order_review_heading{ grid-column:2; grid-row:1; }
.woocommerce-checkout #order_review{ grid-column:2; grid-row:2; min-width:0; }

/* Select2 hides the native select via clip + position:absolute; keep it visually hidden
   even though .paw-wc-main select has width:100%. Without this, the off-screen native
   <select> stretches to 100% of its absolute containing block and creates a giant
   horizontal scroll. */
.paw-wc-main select.select2-hidden-accessible,
.woocommerce-checkout select.select2-hidden-accessible{
  width:1px !important; height:1px !important; padding:0 !important;
  border:0 !important; overflow:hidden !important;
}
.woocommerce-checkout h3{
  font-family:var(--paw-font-display); font-weight:700;
  font-size:1.35rem; letter-spacing:-.01em;
  margin:0 0 1.2rem; padding-bottom:.8rem;
  border-bottom:1px solid rgba(14,42,47,.08);
  color:var(--paw-espresso);
}
.woocommerce-checkout h3#ship-to-different-address{ border-bottom:none; padding-bottom:0; }
.woocommerce-checkout h3#ship-to-different-address label{
  font-family:var(--paw-font-display); font-weight:700; font-size:1.35rem; letter-spacing:-.01em;
  text-transform:none; color:var(--paw-espresso); display:inline-flex; align-items:center; gap:.6rem;
}
.woocommerce-checkout h3#ship-to-different-address input{ width:auto !important; padding:0 !important; border:0 !important; }

/* Order review card (sticky) */
.woocommerce-checkout #order_review_heading{
  font-family:var(--paw-font-display); font-size:1.4rem; font-weight:700;
  margin:0 0 1.5rem; padding-bottom:1rem;
  border-bottom:1px solid rgba(14,42,47,.08);
  color:var(--paw-espresso);
}
.woocommerce-checkout #order_review{
  background:#fff; padding:2rem; border-radius:var(--paw-radius-lg);
  box-shadow:var(--paw-shadow);
  position:sticky; top:6rem;
}
.woocommerce-checkout #order_review .shop_table{
  width:100%; border-collapse:collapse; margin-bottom:1.4rem;
}
.woocommerce-checkout #order_review .shop_table th,
.woocommerce-checkout #order_review .shop_table td{
  padding:.8rem 0; font-size:.92rem; vertical-align:top;
  border-bottom:1px solid rgba(14,42,47,.06);
}
.woocommerce-checkout #order_review .shop_table thead th{
  font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700;
  color:var(--paw-espresso-2);
}
.woocommerce-checkout #order_review .shop_table .product-name{ color:var(--paw-espresso); font-weight:600; padding:1rem 0 !important; vertical-align:middle; }
.woocommerce-checkout #order_review .shop_table .product-name strong.product-quantity{ color:var(--paw-honey-deep); font-weight:700; margin-right:.3rem; display:inline-block; min-width:1.6em; }

/* Order review line: image + name layout */
.paw-review-line{
  display:flex; align-items:center; gap:.8rem;
}
.paw-review-line .paw-review-thumb,
.paw-review-line img.paw-review-thumb{
  width:54px; height:54px; flex-shrink:0;
  background:var(--paw-cream); padding:.3rem;
  border-radius:var(--paw-radius);
  object-fit:contain;
}
.paw-review-line .paw-review-text{
  flex:1; min-width:0; font-size:.92rem; line-height:1.3;
  display:flex; flex-direction:column; gap:.2rem;
}
.paw-review-line .paw-review-text strong.product-quantity{
  display:inline; font-size:.78rem; color:var(--paw-honey-deep);
}
.woocommerce-checkout #order_review .shop_table .product-total{
  font-family:var(--paw-font-display); font-weight:700; text-align:right; color:var(--paw-espresso);
  font-variant-numeric:tabular-nums;
}
.woocommerce-checkout #order_review .shop_table tfoot th{
  text-transform:none; letter-spacing:0; font-size:.95rem; font-weight:500; color:var(--paw-espresso-2);
}
.woocommerce-checkout #order_review .shop_table tfoot td{
  font-family:var(--paw-font-display); font-weight:700; text-align:right; font-size:1rem; color:var(--paw-espresso);
}
.woocommerce-checkout #order_review .shop_table tfoot .order-total td{
  font-size:1.6rem; color:var(--paw-espresso);
}

/* Payment box */
.woocommerce-checkout-payment{
  background:transparent !important;
  padding:1.5rem 0 0 !important;
  margin-top:1.5rem;
  border-top:1px solid rgba(14,42,47,.08);
  border-radius:0 !important; box-shadow:none !important;
}
.woocommerce-checkout-payment ul.payment_methods{
  list-style:none; padding:0; margin:0 0 1rem;
  display:flex; flex-direction:column; gap:.6rem;
}
.woocommerce-checkout-payment ul.payment_methods li{
  background:var(--paw-cream); border:1.5px solid rgba(14,42,47,.08);
  padding:1rem 1.2rem; border-radius:var(--paw-radius);
  transition:border-color .3s ease, background .3s ease, box-shadow .3s ease;
  cursor:pointer;
}
.woocommerce-checkout-payment ul.payment_methods li:hover{
  border-color:rgba(199,154,67,.5); background:#FFFCF6;
}
/* When the LI only wraps a notice (e.g. "Sorry, no payment methods…"),
   strip the radio-card styling so we don't get a doubled box. */
.woocommerce-checkout-payment ul.payment_methods li:has(> .woocommerce-info),
.woocommerce-checkout-payment ul.payment_methods li:has(> .woocommerce-error),
.woocommerce-checkout-payment ul.payment_methods li:has(> .woocommerce-message){
  background:transparent; border:none; padding:0; cursor:auto;
}
.woocommerce-checkout-payment ul.payment_methods li:has(> .woocommerce-info):hover,
.woocommerce-checkout-payment ul.payment_methods li:has(> .woocommerce-error):hover,
.woocommerce-checkout-payment ul.payment_methods li:has(> .woocommerce-message):hover{
  background:transparent; border:none; box-shadow:none;
}
.woocommerce-checkout-payment ul.payment_methods li input[type=radio]:checked + label,
.woocommerce-checkout-payment ul.payment_methods li label{ font-weight:600; color:var(--paw-espresso); }
.woocommerce-checkout-payment ul.payment_methods li:has(input:checked){
  background:#FFFCF6; border-color:var(--paw-honey);
  box-shadow:0 0 0 4px rgba(199,154,67,.12);
}
.woocommerce-NoticeGroup-checkout,
.woocommerce-error,
.woocommerce-message,
.woocommerce-info{
  background:#fff !important; border-radius:var(--paw-radius);
  border:none; border-left:4px solid var(--paw-honey);
  padding:1rem 1.2rem; margin:0 0 1.2rem;
  color:var(--paw-espresso-2);
  list-style:none;
  position:relative;
}
.woocommerce-error{ border-left-color:var(--paw-warn); }

/* Kill the default WC icon-font glyph (renders as a vertical artifact when
   the WooCommerce icon font isn't loaded). */
.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-NoticeGroup-checkout::before{
  content:none !important; display:none !important;
}

/* Place Order button */
.woocommerce-checkout #place_order{
  background:var(--paw-honey) !important; color:var(--paw-espresso) !important;
  border:none !important; padding:1.3rem !important;
  border-radius:var(--paw-radius-pill) !important;
  font-weight:800 !important; font-size:1.05rem !important;
  letter-spacing:.02em;
  width:100%; margin-top:1rem;
  box-shadow:0 8px 22px rgba(199,154,67,.24) !important;
  display:inline-flex !important; align-items:center; justify-content:center; gap:.6rem;
  transition:background .25s ease, color .25s ease,
    transform .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s cubic-bezier(.22,.61,.36,1) !important;
}
.woocommerce-checkout #place_order::before{
  content:"🔒"; margin-right:.2rem;
}
.woocommerce-checkout #place_order:hover{
  background:var(--paw-honey-deep) !important; color:var(--paw-cream) !important;
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(199,154,67,.32) !important;
}

/* Trust signals beneath Place Order */
.paw-wc-trust{
  width:100%;
  margin-top:1.2rem;
  display:flex; flex-direction:column; gap:.9rem;
  align-items:center;
}
.paw-wc-trust__row{
  display:flex; flex-wrap:wrap; gap:1rem 1.4rem; justify-content:center;
  font-size:.78rem; color:var(--paw-espresso-2);
}
.paw-wc-trust__row span{
  display:inline-flex; align-items:center; gap:.4rem;
  white-space:nowrap;
}
.paw-wc-trust__row svg{ color:var(--paw-success); }
.paw-wc-trust__pay{
  display:flex; gap:.4rem; flex-wrap:wrap; justify-content:center;
  width:100%;
}
.paw-wc-trust__pay svg{
  height:22px; width:auto; flex-shrink:0;
  border-radius:4px; box-shadow:0 1px 4px rgba(14,42,47,.12);
}

/* Coupon */
.woocommerce-form-coupon-toggle{ margin-bottom:1rem; }
.woocommerce-form-coupon-toggle .woocommerce-info{ background:var(--paw-cream-2) !important; border-left-color:var(--paw-honey-deep); }
.woocommerce-form-coupon-toggle a,
.woocommerce-form-login-toggle a{
  color:var(--paw-honey-deep); font-weight:600; text-decoration:underline;
  text-underline-offset:3px; transition:color .2s;
}
.woocommerce-form-coupon-toggle a:hover,
.woocommerce-form-login-toggle a:hover{ color:var(--paw-espresso); }
.woocommerce-form-login-toggle .woocommerce-info{ background:var(--paw-cream-2) !important; border-left-color:var(--paw-sky-deep); }
.woocommerce-form-login-toggle a{ color:var(--paw-sky-deep); }
.woocommerce-form-login-toggle a:hover{ color:var(--paw-espresso); }

/* Privacy policy text */
.woocommerce-privacy-policy-text p{ font-size:.85rem; color:var(--paw-muted); margin-top:1rem; }
.woocommerce-privacy-policy-text a{
  color:var(--paw-honey-deep); text-decoration:underline;
  text-underline-offset:3px; transition:color .2s;
}
.woocommerce-privacy-policy-text a:hover{ color:var(--paw-espresso); }

/* Select2 (country / state) hover state */
.paw-wc-main .select2-container--default .select2-selection--single:hover{
  border-color:var(--paw-honey); background:#FFFCF6;
}
.paw-wc-main .select2-container--default.select2-container--open .select2-selection--single{
  border-color:var(--paw-honey); box-shadow:0 0 0 4px rgba(199,154,67,.12);
}

/* Cart product-name link hover */
.woocommerce-cart table.cart .product-name a{ transition:color .2s; }
.woocommerce-cart table.cart .product-name a:hover{ color:var(--paw-honey-deep); }

/* Cart thumbnail hover lift */
.woocommerce-cart table.cart .product-thumbnail a{ display:inline-block; }
.woocommerce-cart table.cart .product-thumbnail img{ transition:transform .25s ease; }
.woocommerce-cart table.cart .product-thumbnail a:hover img{ transform:scale(1.06); }

@media (max-width:980px){
  .woocommerce-checkout form.checkout{
    grid-template-columns:1fr;
    grid-template-rows:auto;
  }
  /* Reset explicit grid placement so the three children stack in DOM order
     (customer_details → order_review_heading → order_review). Without this,
     the explicit grid-column:2 on heading/review creates an implicit second
     column and the order card visually overlays the form fields. */
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review{
    grid-column:1; grid-row:auto;
  }
  .woocommerce-checkout #order_review{ position:static; }
}

/* =====================================================================
   ACCOUNT PAGE
   ===================================================================== */

/* Only logged-in MyAccount has the nav + content 2-col layout */
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation){
  display:grid; grid-template-columns:260px 1fr; gap:2rem; align-items:start;
}
.woocommerce-account .woocommerce-MyAccount-navigation{
  position:sticky; top:6rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style:none; padding:1rem; margin:0;
  display:flex; flex-direction:column; gap:.3rem;
  background:#fff; border-radius:var(--paw-radius-lg);
  box-shadow:var(--paw-shadow-sm);
}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block; padding:.85rem 1.1rem;
  border-radius:var(--paw-radius); text-decoration:none;
  font-weight:600; font-size:.95rem;
  color:var(--paw-espresso-2);
  transition:background .3s ease, color .3s ease;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{
  background:var(--paw-cream-2); color:var(--paw-espresso);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a{
  border-top:1px solid rgba(14,42,47,.08);
  border-radius:0 0 var(--paw-radius) var(--paw-radius);
  margin-top:.4rem; padding-top:1rem;
  color:var(--paw-warn);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover{
  background:rgba(194,74,26,.08); color:var(--paw-warn);
}
.woocommerce-account .woocommerce-MyAccount-content{
  background:#fff; padding:2rem; border-radius:var(--paw-radius-lg);
  box-shadow:var(--paw-shadow-sm);
}
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3{
  font-family:var(--paw-font-display); font-weight:700; letter-spacing:-.01em;
  margin-top:0;
}
.woocommerce-account .woocommerce-MyAccount-content p{ color:var(--paw-espresso-2); }
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-button){
  color:var(--paw-honey-deep); font-weight:600; text-decoration:underline;
  text-underline-offset:3px; transition:color .25s ease;
}
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-button):hover{
  color:var(--paw-espresso);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table{
  width:100%; border-collapse:separate; border-spacing:0;
}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table th{
  background:var(--paw-cream-2); padding:.9rem 1rem;
  font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700;
  color:var(--paw-espresso-2); text-align:left;
}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td{
  padding:1rem; border-bottom:1px solid rgba(14,42,47,.06); font-size:.95rem;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-button{
  padding:.55rem 1rem !important; font-size:.82rem !important;
}

/* Login / Register forms */
.woocommerce-account form.woocommerce-form{
  background:#fff; padding:2.2rem; border-radius:var(--paw-radius-lg);
  box-shadow:var(--paw-shadow-sm); max-width:480px;
}
.woocommerce-account form.login{ margin-right:auto; }
.woocommerce-account form.register{ margin-left:auto; }
.woocommerce-account form.woocommerce-form h2{
  font-family:var(--paw-font-display); font-weight:700; font-size:1.6rem;
  margin:0 0 .4rem; color:var(--paw-espresso);
}
.woocommerce-account .col2-set{
  display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:start;
}
.woocommerce-account .lost_password a{
  color:var(--paw-honey-deep); font-weight:600;
  text-underline-offset:3px; transition:color .25s ease;
}
.woocommerce-account .lost_password a:hover{ color:var(--paw-espresso); }

@media (max-width:880px){
  .woocommerce-account .woocommerce{ grid-template-columns:1fr; }
  .woocommerce-account .woocommerce-MyAccount-navigation{ position:static; }
  .woocommerce-account .col2-set{ grid-template-columns:1fr; gap:1.5rem; }
  .woocommerce-account form.login,
  .woocommerce-account form.register{ max-width:none; }
}

/* =====================================================================
   ORDER RECEIVED / THANK YOU
   ===================================================================== */

.woocommerce-order{ max-width:760px; margin:0 auto; }
.woocommerce-order .woocommerce-thankyou-order-received{
  font-family:var(--paw-font-display); font-weight:700; font-size:1.8rem;
  text-align:center; color:var(--paw-espresso); margin-bottom:1.4rem;
}
.woocommerce-order .woocommerce-order-overview{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1rem;
  background:#fff; padding:1.4rem; border-radius:var(--paw-radius-lg);
  box-shadow:var(--paw-shadow-sm); list-style:none; margin:1.4rem 0;
}
.woocommerce-order .woocommerce-order-overview li{
  display:flex; flex-direction:column; gap:.2rem;
  font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:var(--paw-muted);
}
.woocommerce-order .woocommerce-order-overview li strong{
  font-family:var(--paw-font-display); font-size:1.05rem; color:var(--paw-espresso);
  text-transform:none; letter-spacing:0; font-weight:700;
}
@media (max-width:680px){
  .woocommerce-order .woocommerce-order-overview{ grid-template-columns:1fr 1fr; }
}

/* =====================================================================
   WOOCOMMERCE BLOCKS — Cart & Checkout (Gutenberg block versions)
   The new default for WC 8+ uses these instead of classic shortcodes.
   ===================================================================== */

/* Block cart container — let it use full width, we already have .paw-wc-main wrapping */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout{
  max-width:1340px; margin:0 auto;
}
/* The block layout uses .wc-block-components-sidebar-layout as the grid wrapper */
.wc-block-components-sidebar-layout{
  display:grid !important;
  grid-template-columns:minmax(0, 1.6fr) minmax(320px, 1fr) !important;
  gap:2rem !important;
  align-items:start !important;
}
.wp-block-woocommerce-cart-items-block,
.wp-block-woocommerce-checkout-fields-block{
  background:#fff; padding:2rem; border-radius:var(--paw-radius-lg);
  box-shadow:var(--paw-shadow-sm);
  width:100%;
}
.wp-block-woocommerce-cart-totals-block,
.wp-block-woocommerce-checkout-totals-block{
  background:#fff; padding:2rem; border-radius:var(--paw-radius-lg);
  box-shadow:var(--paw-shadow);
  position:sticky; top:6rem;
  width:100%;
}
@media (max-width:980px){
  .wc-block-components-sidebar-layout{ grid-template-columns:1fr !important; }
  .wc-block-components-sidebar{ position:static; }
}

/* Cart items header */
.wc-block-cart-items__header{
  padding-bottom:.8rem; margin-bottom:.8rem;
  border-bottom:1px solid rgba(14,42,47,.08);
}
.wc-block-cart-items__header > div{
  font-size:.7rem !important; letter-spacing:.16em !important; text-transform:uppercase !important;
  font-weight:700 !important; color:var(--paw-espresso-2) !important;
}

/* Each cart row */
.wc-block-cart-items__row{
  padding:1.4rem 0;
  border-bottom:1px solid rgba(14,42,47,.06);
  display:grid; grid-template-columns:96px 1fr 110px;
  gap:1.2rem; align-items:center;
}
.wc-block-cart-items__row:last-child{ border-bottom:none; }
.wc-block-cart-item__image{
  background:var(--paw-cream); border-radius:var(--paw-radius);
  padding:.5rem; overflow:hidden;
}
.wc-block-cart-item__image img{
  width:80px; height:80px; object-fit:contain;
}
.wc-block-cart-item__product{ display:flex; flex-direction:column; gap:.4rem; }
.wc-block-cart-item__product a,
.wc-block-components-product-name{
  font-family:var(--paw-font-display); font-weight:700; font-size:1.05rem !important;
  color:var(--paw-espresso) !important; text-decoration:none !important;
  line-height:1.2;
}
.wc-block-cart-item__prices,
.wc-block-cart-item__prices .price{
  font-family:var(--paw-font-display); font-weight:700; font-size:1rem !important;
  color:var(--paw-honey-deep);
}
.wc-block-components-product-metadata__description,
.wc-block-components-product-details{
  font-size:.82rem !important; color:var(--paw-muted) !important;
  list-style:none; padding:0; margin:.2rem 0 0;
}
.wc-block-components-product-details li{ margin:0; padding:0; }
.wc-block-components-product-details__name{ font-weight:600; }

/* Quantity selector — pill style */
.wc-block-cart-item__quantity{ display:flex; justify-content:flex-start; }
.wc-block-components-quantity-selector{
  display:inline-flex; align-items:center; gap:.4rem;
  background:#fff; border:1.5px solid rgba(14,42,47,.14);
  border-radius:var(--paw-radius-pill); padding:.15rem .35rem;
  height:auto !important; width:auto !important;
}
.wc-block-components-quantity-selector__button{
  width:28px !important; height:28px !important;
  border-radius:50% !important; border:none !important;
  background:transparent !important; color:var(--paw-espresso) !important;
  font-size:1.1rem !important; font-weight:700 !important;
  display:inline-flex !important; align-items:center; justify-content:center;
  cursor:pointer; transition:background .2s;
}
.wc-block-components-quantity-selector__button:hover{ background:var(--paw-cream-2) !important; }
.wc-block-components-quantity-selector__input{
  width:34px !important; min-width:34px !important;
  border:none !important; background:transparent !important;
  text-align:center; font:inherit !important;
  font-weight:700 !important; font-family:var(--paw-font-display) !important;
  color:var(--paw-espresso) !important;
  -moz-appearance:textfield;
}
.wc-block-components-quantity-selector__input::-webkit-outer-spin-button,
.wc-block-components-quantity-selector__input::-webkit-inner-spin-button{
  -webkit-appearance:none; margin:0;
}

/* Remove link */
.wc-block-cart-item__remove-link{
  font-size:.78rem !important; color:var(--paw-muted) !important;
  text-decoration:underline; text-underline-offset:3px;
  margin-top:.4rem; display:inline-block;
  transition:color .2s;
}
.wc-block-cart-item__remove-link:hover{ color:var(--paw-warn) !important; }

/* Line total */
.wc-block-cart-item__total{
  text-align:right;
}
.wc-block-cart-item__total .wc-block-components-product-price{
  font-family:var(--paw-font-display); font-weight:800 !important;
  font-size:1.2rem !important; color:var(--paw-espresso) !important;
  font-variant-numeric:tabular-nums;
}

/* Sidebar — Cart totals */
.wc-block-cart__totals-title,
.wc-block-checkout__sidebar h2{
  font-family:var(--paw-font-display) !important; font-weight:700 !important;
  font-size:1.4rem !important; letter-spacing:-.01em !important;
  margin:0 0 1.2rem !important;
  padding-bottom:.8rem; border-bottom:1px solid rgba(14,42,47,.08);
  color:var(--paw-espresso) !important;
  text-transform:none !important;
}
.wc-block-components-totals-wrapper{
  padding:.6rem 0 !important; margin:0 !important;
  border-top:1px solid rgba(14,42,47,.06);
}
.wc-block-components-totals-wrapper:first-of-type{ border-top:none; }
.wc-block-components-totals-item{
  display:flex; justify-content:space-between; align-items:baseline;
  padding:.6rem 0 !important;
}
.wc-block-components-totals-item__label{ color:var(--paw-espresso-2); font-size:.95rem; }
.wc-block-components-totals-item__value{
  font-family:var(--paw-font-display); font-weight:700; color:var(--paw-espresso);
  font-variant-numeric:tabular-nums;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  font-size:1.6rem !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
  font-weight:700; color:var(--paw-espresso); font-size:1.1rem;
}
.wc-block-components-totals-item__description{
  font-size:.76rem !important; color:var(--paw-muted) !important;
  text-align:right;
}

/* Coupon panel */
.wc-block-components-totals-coupon{
  padding:.6rem 0 !important;
  border-top:1px solid rgba(14,42,47,.06);
}
.wc-block-components-panel__button{
  color:var(--paw-honey-deep) !important; font-weight:700 !important;
  font-size:.88rem !important; padding:.6rem 0 !important;
}

/* Proceed to Checkout */
.wc-block-cart__submit-container{ margin-top:1.2rem; }
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button{
  background:var(--paw-honey) !important; color:var(--paw-espresso) !important;
  padding:1.2rem 2rem !important; font-size:1rem !important;
  font-weight:800 !important; letter-spacing:.02em !important;
  border-radius:var(--paw-radius-pill) !important;
  border:none !important;
  width:100% !important; display:inline-flex !important; align-items:center; justify-content:center; gap:.5rem;
  box-shadow:0 14px 32px rgba(199,154,67,.32) !important;
  transition:background .25s, transform .25s, color .25s !important;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover{
  background:var(--paw-honey-deep) !important; color:var(--paw-cream) !important;
  transform:translateY(-2px);
}
.wc-block-cart__submit-button::before{ content:""; }

/* Block checkout — let the inner .wc-block-components-sidebar-layout handle layout */
.wp-block-woocommerce-checkout{
  max-width:1340px; margin:0 auto;
}

/* Checkout section headings */
.wc-block-components-checkout-step__heading,
.wc-block-components-title{
  font-family:var(--paw-font-display) !important; font-weight:700 !important;
  font-size:1.25rem !important; letter-spacing:-.01em !important;
  color:var(--paw-espresso) !important;
  margin:0 0 .4rem !important;
}
.wc-block-components-checkout-step__description{
  color:var(--paw-muted) !important; font-size:.9rem !important;
  margin:0 0 1rem !important;
}
.wc-block-components-checkout-step{
  padding:1.6rem 0 !important;
  border-bottom:1px solid rgba(14,42,47,.06);
}
.wc-block-components-checkout-step:last-child{ border-bottom:none; }
.wc-block-components-checkout-step__container{ padding-left:0 !important; }
.wc-block-components-checkout-step__title{ padding-bottom:.4rem !important; }
.wc-block-components-checkout-step__title-number,
.wc-block-checkout__main .wc-block-checkout__form > *::before{
  background:var(--paw-honey) !important; color:var(--paw-espresso) !important;
  width:32px !important; height:32px !important;
  font-family:var(--paw-font-display) !important; font-weight:800 !important;
  font-size:.95rem !important;
}

/* Form inputs in block checkout */
.wc-block-components-text-input input,
.wc-block-components-checkout-step input[type=text],
.wc-block-components-checkout-step input[type=email],
.wc-block-components-checkout-step input[type=tel],
.wc-block-components-checkout-step input[type=password],
.wc-block-components-checkout-step select,
.wc-block-components-checkout-step textarea{
  width:100% !important;
  padding:1.05rem 1.1rem !important;
  border:1.5px solid rgba(14,42,47,.14) !important;
  border-radius:var(--paw-radius) !important;
  background:#fff !important;
  font:inherit !important; font-size:1rem !important;
  color:var(--paw-espresso) !important;
  transition:border-color .25s, box-shadow .25s, background .25s !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-checkout-step input:focus,
.wc-block-components-checkout-step select:focus{
  outline:none !important;
  border-color:var(--paw-honey) !important;
  box-shadow:0 0 0 4px rgba(199,154,67,.18) !important;
  background:#FFFCF6 !important;
}
.wc-block-components-text-input label,
.wc-block-components-checkout-step label{
  font-size:.74rem !important; font-weight:700 !important; letter-spacing:.14em !important;
  text-transform:uppercase !important;
  color:var(--paw-espresso-2) !important;
}

/* Order summary on checkout (sidebar) */
.wc-block-components-order-summary-item{
  padding:1rem 0 !important;
  border-bottom:1px solid rgba(14,42,47,.06);
  display:grid !important; grid-template-columns:64px 1fr auto !important;
  gap:.8rem !important; align-items:center !important;
}
.wc-block-components-order-summary-item:last-child{ border-bottom:none; }
.wc-block-components-order-summary-item__image{
  width:60px; height:60px; padding:.3rem;
  background:var(--paw-cream); border-radius:var(--paw-radius);
}
.wc-block-components-order-summary-item__description .wc-block-components-product-name{
  font-size:.95rem !important; font-weight:700; color:var(--paw-espresso) !important;
}
.wc-block-components-order-summary-item__quantity{
  background:var(--paw-honey) !important; color:var(--paw-espresso) !important;
  font-weight:800 !important;
}
.wc-block-components-order-summary-item__total-price{
  font-family:var(--paw-font-display); font-weight:700; font-size:1.05rem;
  color:var(--paw-espresso) !important;
  font-variant-numeric:tabular-nums;
}
.wc-block-components-order-summary-item__individual-prices,
.wc-block-components-order-summary-item__low-stock-badge{
  color:var(--paw-muted) !important; font-size:.78rem !important;
}

/* Express checkout block (Apple Pay etc.) — give it some breathing room */
.wp-block-woocommerce-checkout-express-payment-block{
  padding:1.2rem 0;
  border-bottom:1px solid rgba(14,42,47,.06);
  margin-bottom:1rem;
}

/* Notices */
.wc-block-components-notices,
.wc-block-components-notice-banner{
  background:#fff !important; border-radius:var(--paw-radius) !important;
  border-left:4px solid var(--paw-honey) !important;
  padding:1rem 1.2rem !important;
  color:var(--paw-espresso-2) !important;
}
.wc-block-components-notice-banner.is-error{ border-left-color:var(--paw-warn) !important; }
.wc-block-components-notice-banner.is-success{ border-left-color:var(--paw-success) !important; }

/* Sale badge */
.wc-block-components-sale-badge{
  background:var(--paw-honey) !important; color:var(--paw-espresso) !important;
  font-weight:700 !important; font-size:.7rem !important;
  letter-spacing:.06em !important; text-transform:uppercase !important;
  padding:.25rem .55rem !important; border-radius:6px !important;
}

/* Order/Estimated total label */
.wc-block-components-totals-footer-item-tax-value,
.wc-block-components-totals-footer-item-tax{
  font-size:.78rem !important; color:var(--paw-muted) !important;
}

/* Mobile */
@media (max-width:980px){
  .wc-block-cart, .wc-block-checkout{ grid-template-columns:1fr; }
  .wc-block-cart__sidebar, .wc-block-checkout__sidebar{ position:static; }
}
@media (max-width:560px){
  .wc-block-cart-items__row{ grid-template-columns:72px 1fr; gap:.8rem; }
  .wc-block-cart-item__total{ grid-column:1 / -1; text-align:left; }
  .wc-block-cart__main, .wc-block-checkout__main,
  .wc-block-cart__sidebar, .wc-block-checkout__sidebar{ padding:1.4rem; }
}

/* =====================================================================
   CLASSIC SHORTCODE — fixes for cart/checkout/account
   ===================================================================== */

/* Checkout: coupon toggle bar — make it look like a card, not a banner */
.woocommerce-checkout .woocommerce-form-coupon-toggle{
  max-width:1280px; margin:0 auto 1.5rem;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{
  background:#fff !important;
  border:none !important;
  border-left:4px solid var(--paw-honey) !important;
  border-radius:var(--paw-radius) !important;
  padding:1rem 1.4rem !important;
  margin:0 !important;
  display:flex; align-items:center; gap:.6rem;
  font-size:.95rem; color:var(--paw-espresso-2);
  box-shadow:var(--paw-shadow-sm);
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::after{ content:none !important; display:none !important; }
.woocommerce-checkout .woocommerce-form-coupon-toggle a{
  color:var(--paw-honey-deep) !important; font-weight:700 !important;
  text-decoration:underline; text-underline-offset:3px;
}

/* Inline coupon form */
.woocommerce-checkout .checkout_coupon{
  max-width:1280px; margin:0 auto 1.5rem !important;
  background:#fff; padding:1.4rem; border-radius:var(--paw-radius-lg);
  box-shadow:var(--paw-shadow-sm);
}

/* Login form notice (Returning customer? Click here to login) */
.woocommerce-form-login-toggle{
  max-width:1280px; margin:0 auto 1rem;
}

/* Checkout: form grid (2 columns: customer details | order review) */
.woocommerce-checkout form.checkout{
  display:grid !important;
  grid-template-columns:minmax(0, 1.4fr) minmax(340px, 1fr) !important;
  gap:2rem !important; align-items:start !important;
}
.woocommerce-checkout form.checkout > #customer_details{
  background:#fff; padding:2rem; border-radius:var(--paw-radius-lg);
  box-shadow:var(--paw-shadow-sm);
  width:100%; min-width:0;
}
.woocommerce-checkout form.checkout > h3#order_review_heading,
.woocommerce-checkout form.checkout > #order_review{
  grid-column:2;
}
.woocommerce-checkout form.checkout > h3#order_review_heading{ margin:0 0 .8rem; }
.woocommerce-checkout form.checkout > #order_review{
  background:#fff; padding:2rem; border-radius:var(--paw-radius-lg);
  box-shadow:var(--paw-shadow);
  position:sticky; top:6rem;
  width:100%;
}

/* The two-column inner customer_details (billing | shipping) */
.woocommerce-checkout #customer_details .col2-set{
  display:grid; grid-template-columns:1fr; gap:0;
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{
  width:100% !important; max-width:none !important; float:none !important;
}
.woocommerce-checkout #customer_details .col-2{ margin-top:1.4rem; }

/* Place order button — gold, with lock icon */
.woocommerce-checkout #place_order{
  background:var(--paw-honey) !important; color:var(--paw-espresso) !important;
  font-weight:800 !important; font-size:1.05rem !important;
  padding:1.2rem 1.6rem !important;
  border-radius:var(--paw-radius-pill) !important;
  width:100% !important;
  box-shadow:0 16px 36px rgba(199,154,67,.34) !important;
}
.woocommerce-checkout #place_order:hover{
  background:var(--paw-honey-deep) !important; color:var(--paw-cream) !important;
}

@media (max-width:980px){
  .woocommerce-checkout form.checkout{ grid-template-columns:1fr !important; }
  .woocommerce-checkout form.checkout > h3#order_review_heading,
  .woocommerce-checkout form.checkout > #order_review{
    grid-column:1; position:static !important;
  }
}

/* =====================================================================
   ACCOUNT — fix duplicate heading + side-by-side login/register
   ===================================================================== */

/* The shortcode renders both Login and Register forms with their own h2's.
   Our hero already shows "Sign In", so hide those duplicate h2's. */
.woocommerce-account form.login > h2:first-of-type,
.woocommerce-account form.register > h2:first-of-type{
  font-family:var(--paw-font-display) !important;
  font-size:1.4rem !important; font-weight:700 !important;
  margin:0 0 1rem !important;
  padding-bottom:.6rem; border-bottom:1px solid rgba(14,42,47,.08);
}

/* Center the woo "Log in / Register" two-up using grid */
.woocommerce-account .u-columns,
.woocommerce-account .col2-set{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:1.6rem !important; align-items:start !important;
  max-width:1100px; margin:0 auto;
}
/* Apply the white card to the COLUMN so the h2 sits inside it too */
.woocommerce-account .u-column1,
.woocommerce-account .u-column2,
.woocommerce-account .col-1,
.woocommerce-account .col-2{
  width:100% !important; max-width:none !important; float:none !important;
  background:#fff;
  padding:2rem;
  border-radius:var(--paw-radius-lg);
  box-shadow:var(--paw-shadow-sm);
  min-width:0;
}
/* Reset the form inside — it inherits the card from the column */
.woocommerce-account form.login,
.woocommerce-account form.register{
  background:transparent !important;
  padding:0 !important; margin:0 !important;
  box-shadow:none !important;
  max-width:none !important; width:100% !important;
  border-radius:0 !important;
}
.woocommerce-account .u-column1 > h2,
.woocommerce-account .u-column2 > h2,
.woocommerce-account .col-1 > h2,
.woocommerce-account .col-2 > h2{
  font-family:var(--paw-font-display);
  font-size:1.4rem; font-weight:700;
  margin:0 0 1.2rem;
  padding:0 0 .8rem;
  border-bottom:1px solid rgba(14,42,47,.08);
  color:var(--paw-espresso);
}

/* When registration is OFF (no .u-columns), the login form sits as a direct
   child of .woocommerce. Wrap it visually with :has() so the h2 + form share
   a single white card. */
.woocommerce-account .woocommerce:has(> form.login){
  max-width:520px; margin:0 auto;
  background:#fff;
  padding:2rem;
  border-radius:var(--paw-radius-lg);
  box-shadow:var(--paw-shadow-sm);
}
.woocommerce-account .woocommerce:has(> form.login) > h2{
  font-family:var(--paw-font-display);
  font-size:1.4rem; font-weight:700;
  margin:0 0 1.2rem;
  padding:0 0 .8rem;
  border-bottom:1px solid rgba(14,42,47,.08);
  color:var(--paw-espresso);
}
.woocommerce-account .woocommerce:has(> form.login) > form.login{
  background:transparent !important;
  padding:0 !important; margin:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  max-width:none !important;
}

/* Floating-left h2 fix — the woo theme sometimes renders the heading
   outside the form. Force it back into the column flow. */
.woocommerce-account .woocommerce > h2{
  font-family:var(--paw-font-display) !important;
  font-size:1.4rem !important; font-weight:700 !important;
  margin:0 0 1rem !important;
  padding:0 !important;
  float:none !important; clear:both;
}

/* Login button */
.woocommerce-account form.login button[name="login"]{
  background:var(--paw-honey) !important; color:var(--paw-espresso) !important;
  font-weight:800 !important; padding:1rem 1.6rem !important;
  border-radius:var(--paw-radius-pill) !important;
  box-shadow:0 12px 28px rgba(199,154,67,.32) !important;
}
.woocommerce-account form.register button[name="register"]{
  background:var(--paw-espresso) !important; color:var(--paw-cream) !important;
  font-weight:800 !important; padding:1rem 1.6rem !important;
  border-radius:var(--paw-radius-pill) !important;
}

.woocommerce-account .lost_password{ margin-top:.6rem; }
.woocommerce-account .lost_password a{
  color:var(--paw-honey-deep); font-weight:600;
  text-decoration:underline; text-underline-offset:3px;
}

/* Password reveal eye icon */
.woocommerce-account .woocommerce-password-strength,
.woocommerce-account .password-input{ position:relative; width:100%; }
.woocommerce-account .show-password-input{
  position:absolute; right:.9rem; top:50%; transform:translateY(-50%);
  color:var(--paw-muted); cursor:pointer;
}

@media (max-width:760px){
  .woocommerce-account .u-columns,
  .woocommerce-account .col2-set{ grid-template-columns:1fr !important; }
}
