/* =====================================================
   Aust'n Co — Premium storefront
   Bespoke layouts for the shop domain: home, archive,
   single product, cart, checkout, account.
   Loads after global.css + woo.css and reuses their tokens
   (--ink / --bone / --accent, .wrap, .btn, .eyebrow, .reveal).
   ===================================================== */

/* ---------------------------------------------------------------------------
   Shared shell
   The theme header is fixed, so Woo pages need breathing room at the top.
   --------------------------------------------------------------------------- */
.woo-main { padding-top: 128px; padding-bottom: 120px; }
/* Override woo.css's .woocommerce .wrap padding so it doesn't stack with the
   .woo-main top padding above. */
.woo-main .woo-wrap,
.woocommerce .woo-main .woo-wrap { max-width: 1280px; padding: 0 40px; margin-inline: auto; }

.woo-pagehero { padding: 40px 0 30px; }
.woo-pagehero .eyebrow { margin-bottom: 20px; }
.woo-pagehero h1 { font-size: clamp(40px, 6vw, 84px); line-height: .96; color: var(--bone); }

/* Woo shortcode/cart/checkout/account pages render their own hero, so remove
   the double top padding on the inner content wrap. */
.woo-shortcode-page { padding-top: 118px; }
.woo-shortcode-page .woo-page-content { padding-top: 10px; }

/* =====================================================
   1 · SHOP HOME
   ===================================================== */
.shop-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 120px 0 90px;
  overflow: hidden;
}
.shop-hero-bg { position: absolute; inset: 0; z-index: 0; }
.shop-hero-bg img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.shop-hero-scrim {
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(23,21,15,.96) 0%, rgba(23,21,15,.8) 40%, rgba(23,21,15,.5) 100%),
    linear-gradient(0deg, rgba(23,21,15,.92), rgba(23,21,15,0) 55%);
}
/* When no hero image is set, fall back to a rich radial wash. */
.shop-hero-bg:not(:has(img)) .shop-hero-scrim,
.shop-hero-bg:empty + .shop-hero-scrim {
  background: radial-gradient(120% 120% at 20% 30%, var(--ink-3), var(--ink) 62%);
}
.shop-hero-inner { position: relative; z-index: 2; width: 100%; }
.shop-hero-title { font-size: clamp(52px, 8.5vw, 132px); line-height: .95; max-width: 15ch; }
.shop-hero-title em { font-style: italic; color: var(--accent); }
.shop-hero-lead { max-width: 460px; margin-top: 28px; font-size: 18px; line-height: 1.75; color: var(--bone-dim); }
.shop-hero-cta { margin-top: 44px; display: flex; gap: 16px; flex-wrap: wrap; align-items: center; }

/* Featured + category sections share the .block rhythm from global.css. */
.shop-featured .shop-featured-cta { margin-top: 54px; }

/* ---- Product card (shared: home rail + archive loop) ---- */
.shop-card-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}
.shop-card {
  display: flex;
  flex-direction: column;
  background: var(--ink-2);
  border: 1px solid var(--line-soft);
  transition: border-color .4s, transform .4s;
}
.shop-card:hover { border-color: var(--accent); transform: translateY(-5px); }
.shop-card-link { display: flex; flex-direction: column; flex: 1; padding: 14px 20px 4px; }
.shop-card-media {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--ink-3);
  margin: -14px -20px 20px;
}
.shop-card-media img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 1.2s cubic-bezier(.2,.7,.2,1);
}
.shop-card:hover .shop-card-media img { transform: scale(1.05); }
.shop-card-sale,
.shop-card-oos {
  position: absolute; top: 14px; left: 14px; z-index: 3;
  font-family: var(--sans); font-size: 10px; letter-spacing: .2em; text-transform: uppercase;
  padding: 6px 11px; background: var(--accent); color: var(--ink);
}
.shop-card-oos { background: rgba(23,21,15,.78); color: var(--bone); border: 1px solid var(--line); }
.shop-card-cat {
  font-size: 10px; letter-spacing: .24em; text-transform: uppercase; color: var(--accent);
  display: block; margin-bottom: 10px;
}
.shop-card-title {
  font-family: var(--serif); font-weight: 300; font-size: 23px; line-height: 1.15;
  color: var(--bone); margin: 0 0 12px; transition: color .3s;
}
.shop-card:hover .shop-card-title { color: var(--accent); }
.shop-card-price { font-family: var(--serif); font-size: 20px; color: var(--bone-dim); margin-top: auto; }
.shop-card-price ins { color: var(--accent); text-decoration: none; }
.shop-card-price del { color: var(--muted); opacity: .7; margin-right: 8px; }
.shop-card-actions { padding: 6px 20px 22px; }
.shop-card-actions .btn,
.shop-card-actions a.button,
.shop-card-add {
  width: 100%; justify-content: center; text-align: center;
}
.shop-card-actions .added_to_cart { display: block; text-align: center; margin-top: 10px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }

/* ---- Category showcase ---- */
.shop-cat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.shop-cat-cell {
  position: relative;
  display: block;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border: 1px solid var(--line-soft);
  background: var(--ink-3);
}
.shop-cat-cell img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  transition: transform 1.2s cubic-bezier(.2,.7,.2,1);
}
.shop-cat-cell:hover img { transform: scale(1.06); }
.shop-cat-scrim {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(0deg, rgba(12,11,7,.86), rgba(12,11,7,.18) 60%, transparent);
  transition: background .4s;
}
.shop-cat-cell:hover .shop-cat-scrim { background: linear-gradient(0deg, rgba(12,11,7,.9), rgba(176,130,78,.18) 70%, transparent); }
.shop-cat-meta { position: absolute; left: 26px; bottom: 22px; z-index: 2; }
.shop-cat-name { display: block; font-family: var(--serif); font-size: 28px; color: var(--bone); line-height: 1; }
.shop-cat-count { display: block; margin-top: 8px; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--accent); }

/* ---- Brand story ---- */
.shop-story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.shop-story-copy h2 { font-size: clamp(34px, 4.6vw, 60px); margin: 22px 0 24px; }
.shop-story-copy p { color: var(--bone-dim); font-size: 17px; line-height: 1.85; margin-bottom: 30px; max-width: 520px; }
.shop-story-media img { width: 100%; height: 560px; object-fit: cover; }
.shop-story-placeholder {
  width: 100%; height: 560px;
  background: radial-gradient(120% 120% at 30% 20%, var(--ink-3), var(--ink-2));
  border: 1px solid var(--line-soft);
}

/* ---- Assurances ---- */
.shop-assure { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.shop-assure-cell {
  border: 1px solid var(--line-soft); padding: 44px 40px;
  background: linear-gradient(180deg, var(--ink-2), var(--ink)); transition: border-color .4s;
}
.shop-assure-cell:hover { border-color: var(--line); }
.shop-assure-cell .ac-k {
  font-size: 11px; letter-spacing: .3em; text-transform: uppercase; color: var(--accent);
  display: inline-flex; align-items: center; gap: 12px;
}
.shop-assure-cell .ac-k::before { content: ""; width: 24px; height: 1px; background: var(--accent); opacity: .7; }
.shop-assure-cell h3 { font-family: var(--serif); font-weight: 300; font-size: clamp(26px, 3vw, 34px); margin: 16px 0 14px; color: var(--bone); }
.shop-assure-cell p { color: var(--bone-dim); font-size: 15px; line-height: 1.8; }

.shop-cta h2 { max-width: none; }

/* =====================================================
   2 · PRODUCT ARCHIVE (listing)
   ===================================================== */
.shop-archive-hero { padding: 8px 0 40px; border-bottom: 1px solid var(--line-soft); margin-bottom: 40px; }
.shop-archive-hero .eyebrow { margin-bottom: 22px; }
.shop-archive-title { font-size: clamp(44px, 7vw, 96px); line-height: .95; color: var(--bone); }
.shop-archive-desc { margin-top: 22px; max-width: 620px; color: var(--bone-dim); font-size: 16px; line-height: 1.75; }

.shop-toolbar {
  display: flex; align-items: center; justify-content: space-between;
  gap: 20px; flex-wrap: wrap; margin-bottom: 42px;
}
.woo-main .woocommerce-result-count { margin: 0; color: var(--muted); font-size: 13px; letter-spacing: .04em; }
.woo-main .woocommerce-ordering { margin: 0; }
.woo-main .woocommerce-ordering select {
  background: var(--ink-2); border: 1px solid var(--line); color: var(--bone);
  padding: 12px 40px 12px 16px; border-radius: 0; font-family: var(--sans); font-size: 13px;
  letter-spacing: .04em; cursor: pointer;
  -webkit-appearance: none; appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--accent) 50%), linear-gradient(135deg, var(--accent) 50%, transparent 50%);
  background-position: right 18px center, right 13px center;
  background-size: 5px 5px, 5px 5px; background-repeat: no-repeat;
}

/* Product grid — convert WC float layout to a clean 3-col grid. */
.woo-main ul.products,
.woocommerce .woo-main ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin: 0 0 60px;
  padding: 0;
  list-style: none;
}
.woo-main ul.products::before,
.woo-main ul.products::after { content: none; display: none; }
.woo-main ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  padding: 0;
  border: 0;
  background: none;
}
/* Card visuals come from .shop-card (content-product.php). */

/* Pagination */
.woo-main .woocommerce-pagination { text-align: center; }
.woo-main .woocommerce-pagination ul { border: 0; display: inline-flex; gap: 8px; }
.woo-main .woocommerce-pagination ul li { border: 0; }
.woo-main .woocommerce-pagination ul li a,
.woo-main .woocommerce-pagination ul li span {
  min-width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--line-soft); color: var(--bone-dim); padding: 0 8px; transition: .3s;
}
.woo-main .woocommerce-pagination ul li a:hover { border-color: var(--accent); color: var(--bone); background: transparent; }
.woo-main .woocommerce-pagination ul li span.current { background: var(--accent); border-color: var(--accent); color: var(--ink); }

/* =====================================================
   3 · SINGLE PRODUCT
   ===================================================== */
.shop-single { }
.shop-single-top {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 64px;
  align-items: flex-start;
}
.shop-single-gallery { position: relative; }
.woo-main .shop-single-gallery .woocommerce-product-gallery { margin: 0; }
.woo-main .shop-single-gallery img { border: 1px solid var(--line-soft); }
.shop-single-gallery .onsale,
.woo-main span.onsale {
  position: absolute; top: 16px; left: 16px; z-index: 3; min-height: 0; min-width: 0;
  width: auto; height: auto; line-height: 1; border-radius: 0; margin: 0;
  padding: 8px 13px; font-family: var(--sans); font-size: 11px; letter-spacing: .2em; text-transform: uppercase;
  background: var(--accent); color: var(--ink);
}
.shop-single-summary { position: sticky; top: 110px; }
.woo-main .shop-single-summary .product_title,
.woo-main .shop-single-summary h1.product_title {
  font-size: clamp(34px, 4.2vw, 58px); line-height: 1; color: var(--bone); margin-bottom: 20px;
}
.woo-main .shop-single-summary .price,
.woo-main .shop-single-summary span.price {
  display: block; font-family: var(--serif); font-size: 34px; color: var(--accent); margin-bottom: 24px;
}
.woo-main .shop-single-summary .price del { color: var(--muted); font-size: 24px; margin-right: 12px; }
.woo-main .shop-single-summary .price ins { text-decoration: none; }
.woo-main .woocommerce-product-details__short-description {
  color: var(--bone-dim); font-size: 16px; line-height: 1.85; margin-bottom: 30px;
  padding-bottom: 30px; border-bottom: 1px solid var(--line-soft); max-width: 48ch;
}
.woo-main .woocommerce-product-details__short-description p { margin-bottom: 14px; }

/* Add-to-cart + quantity */
.woo-main form.cart { display: flex; flex-wrap: wrap; gap: 14px; align-items: stretch; margin-bottom: 28px; }
.woo-main .quantity { display: inline-flex; align-items: stretch; border: 1px solid var(--line); background: var(--ink-2); }
.woo-main .quantity input.qty {
  width: 68px; text-align: center; background: transparent; border: 0; color: var(--bone);
  font-family: var(--sans); font-size: 16px; padding: 0 8px;
  -moz-appearance: textfield;
}
.woo-main .quantity input.qty::-webkit-outer-spin-button,
.woo-main .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.woo-main form.cart .single_add_to_cart_button {
  flex: 1; min-width: 220px; justify-content: center; text-align: center;
}
.woo-main form.cart .variations { width: 100%; }
.woo-main form.cart .variations td,
.woo-main form.cart .variations th { padding: 8px 0; }
.woo-main .product_meta {
  margin-top: 8px; padding-top: 24px; border-top: 1px solid var(--line-soft);
  font-size: 13px; letter-spacing: .04em; color: var(--muted); line-height: 2;
}
.woo-main .product_meta > span { display: block; }
.woo-main .product_meta a { color: var(--bone-dim); }
.woo-main .product_meta a:hover { color: var(--accent); }

/* Tabs / detail */
.shop-single-detail { margin-top: 90px; }
.woo-main .woocommerce-tabs ul.tabs {
  display: flex; gap: 6px; padding: 0; margin: 0 0 30px; border-bottom: 1px solid var(--line-soft);
}
.woo-main .woocommerce-tabs ul.tabs::before { display: none; }
.woo-main .woocommerce-tabs ul.tabs li {
  background: transparent; border: 0; border-radius: 0; margin: 0; padding: 0;
}
.woo-main .woocommerce-tabs ul.tabs li::before,
.woo-main .woocommerce-tabs ul.tabs li::after { display: none; }
.woo-main .woocommerce-tabs ul.tabs li a {
  display: block; padding: 14px 4px; margin-right: 30px; color: var(--muted);
  font-family: var(--sans); font-size: 12px; letter-spacing: .18em; text-transform: uppercase;
  border-bottom: 1px solid transparent; margin-bottom: -1px; transition: color .3s, border-color .3s;
}
.woo-main .woocommerce-tabs ul.tabs li.active a,
.woo-main .woocommerce-tabs ul.tabs li a:hover { color: var(--bone); border-bottom-color: var(--accent); }
.woo-main .woocommerce-Tabs-panel { color: var(--bone-dim); font-size: 16px; line-height: 1.85; max-width: 760px; }
.woo-main .woocommerce-Tabs-panel h2 { font-size: clamp(24px, 3vw, 34px); color: var(--bone); margin-bottom: 18px; }
.woo-main .woocommerce-Tabs-panel table.shop_attributes th { color: var(--bone); }

/* Related / up-sells */
.woo-main .related,
.woo-main .upsells {
  margin-top: 90px; padding-top: 60px; border-top: 1px solid var(--line-soft);
}
.woo-main .related > h2,
.woo-main .upsells > h2 { font-size: clamp(28px, 3.4vw, 44px); color: var(--bone); margin-bottom: 40px; }

/* =====================================================
   4 · CART  (block + classic)
   ===================================================== */
/* --- Classic cart --- */
.woocommerce-cart .woo-page-content table.shop_table { border-radius: 0; overflow: hidden; }
.woocommerce-cart .woo-page-content .cart-collaterals { margin-top: 40px; display: flex; justify-content: flex-end; }
.woocommerce-cart .woo-page-content .cart_totals {
  width: 100%; max-width: 420px; background: var(--ink-2);
  border: 1px solid var(--line-soft); padding: 32px 34px;
}
.woocommerce-cart .woo-page-content .cart_totals h2 { font-size: 26px; margin-bottom: 20px; color: var(--bone); }
.woocommerce-cart .woo-page-content td.actions .button { border-radius: 0; }

/* --- Block cart & checkout shared components --- */
.woo-page-content .wc-block-components-title,
.woo-page-content .wc-block-cart__totals-title,
.woo-page-content .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title {
  font-family: var(--serif) !important; font-weight: 300; color: var(--bone);
}
.woo-page-content .wc-block-cart-items,
.woo-page-content .wc-block-cart-items__row {
  border-color: var(--line-soft) !important; color: var(--bone);
}
.woo-page-content .wc-block-cart-item__product-name,
.woo-page-content .wc-block-components-product-name {
  font-family: var(--serif); font-size: 20px; color: var(--bone) !important;
}
.woo-page-content .wc-block-components-product-name:hover { color: var(--accent) !important; }
.woo-page-content .wc-block-cart-item__prices,
.woo-page-content .wc-block-components-product-price,
.woo-page-content .wc-block-formatted-money-amount { color: var(--bone-dim); }
.woo-page-content .wc-block-components-product-price ins { color: var(--accent); text-decoration: none; }

/* Order summary card (block cart + checkout) */
.woo-page-content .wc-block-cart__sidebar .wc-block-components-sidebar,
.woo-page-content .wc-block-checkout__sidebar .wc-block-components-sidebar,
.woo-page-content .wp-block-woocommerce-checkout-totals-block {
  background: var(--ink-2); border: 1px solid var(--line-soft); border-radius: 0; padding: 30px 30px 24px;
}
.woo-page-content .wc-block-components-totals-item,
.woo-page-content .wc-block-components-totals-footer-item { color: var(--bone-dim); }
.woo-page-content .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: var(--bone); }

/* Quantity selector (block) */
.woo-page-content .wc-block-components-quantity-selector {
  border: 1px solid var(--line); border-radius: 0; background: var(--ink-2);
}
.woo-page-content .wc-block-components-quantity-selector__input { color: var(--bone); }
.woo-page-content .wc-block-components-quantity-selector__button { color: var(--accent); }

/* =====================================================
   5 · CHECKOUT  (block + classic)
   ===================================================== */
/* Classic checkout two-column */
.woocommerce-checkout .woo-page-content .col2-set,
.woocommerce-checkout .woo-page-content #customer_details { }
.woocommerce-checkout .woo-page-content #order_review {
  background: var(--ink-2); border: 1px solid var(--line-soft); padding: 30px 32px; margin-top: 10px;
}
.woocommerce-checkout .woo-page-content #order_review_heading { font-size: 26px; color: var(--bone); margin: 40px 0 16px; }
.woocommerce-checkout .woo-page-content #payment { background: transparent; border-radius: 0; }
.woocommerce-checkout .woo-page-content #payment ul.payment_methods { border-color: var(--line-soft); }
.woocommerce-checkout .woo-page-content #payment div.payment_box { background: var(--ink-3); color: var(--bone-dim); }
.woocommerce-checkout .woo-page-content #payment div.payment_box::before { border-bottom-color: var(--ink-3); }
.woo-page-content .woocommerce-billing-fields h3,
.woo-page-content .woocommerce-additional-fields h3 { font-size: 24px; color: var(--bone); margin-bottom: 18px; }

/* Block checkout headings + fields */
.woo-page-content .wc-block-components-form .wc-block-components-text-input input,
.woo-page-content .wc-block-components-text-input input.input-text,
.woo-page-content .wc-block-components-address-form input,
.woo-page-content .wc-block-components-select__container {
  background: var(--ink-2) !important; border: 1px solid var(--line) !important;
  color: var(--bone) !important; border-radius: 0 !important;
}
.woo-page-content .wc-block-components-text-input label,
.woo-page-content .wc-block-components-checkout-step__title {
  color: var(--bone-dim) !important;
}
.woo-page-content .wc-block-checkout__actions .wc-block-components-checkout-place-order-button,
.woo-page-content .wc-block-components-button.contained {
  background: var(--accent) !important; color: var(--ink) !important; border-radius: 0 !important;
  font-family: var(--sans); letter-spacing: .04em; text-transform: uppercase;
}
.woo-page-content .wc-block-components-button.contained:hover { background: var(--accent-deep) !important; }
.woo-page-content .wc-block-checkout__sidebar .wc-block-components-product-name { font-size: 16px; }

/* =====================================================
   6 · MY ACCOUNT
   ===================================================== */
.woocommerce-account .woo-page-content .woocommerce {
  display: grid; grid-template-columns: 240px 1fr; gap: 50px; align-items: start;
}
.woocommerce-account .woo-page-content .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-soft); }
.woocommerce-account .woo-page-content .woocommerce-MyAccount-navigation li {
  border-bottom: 1px solid var(--line-soft);
}
.woocommerce-account .woo-page-content .woocommerce-MyAccount-navigation li a {
  display: block; padding: 15px 4px; color: var(--bone-dim); font-size: 13px;
  letter-spacing: .12em; text-transform: uppercase; transition: color .3s, padding-left .3s;
}
.woocommerce-account .woo-page-content .woocommerce-MyAccount-navigation li a:hover,
.woocommerce-account .woo-page-content .woocommerce-MyAccount-navigation li.is-active a { color: var(--accent); padding-left: 8px; }
.woocommerce-account .woo-page-content .woocommerce-MyAccount-content { min-width: 0; }
/* Login / register (may be full width) */
.woocommerce-account.woocommerce-page:not(.logged-in) .woo-page-content .woocommerce {
  grid-template-columns: 1fr; max-width: 480px; margin-inline: auto;
}
.woo-page-content .woocommerce form.login,
.woo-page-content .woocommerce form.register {
  background: var(--ink-2); border: 1px solid var(--line-soft); padding: 36px 38px; border-radius: 0;
}

/* =====================================================
   7 · NOTICES, THANK-YOU, EMPTY STATES
   ===================================================== */
.woo-main .woocommerce-message,
.woo-page-content .woocommerce-message,
.woo-page-content .woocommerce-info,
.woo-main .woocommerce-info {
  border-radius: 0;
}

/* Order received / thank you */
.shop-thankyou { max-width: 720px; margin-inline: auto; text-align: center; }
.shop-thankyou-head { margin-bottom: 40px; }
.shop-thankyou-tick {
  display: inline-flex; align-items: center; justify-content: center;
  width: 78px; height: 78px; margin: 0 auto 24px; border-radius: 50%;
  border: 1px solid var(--accent); color: var(--accent); font-size: 32px;
}
.shop-thankyou .woocommerce-thankyou-order-received,
.shop-thankyou p.woocommerce-notice {
  font-family: var(--serif); font-size: clamp(28px, 4vw, 44px); color: var(--bone); line-height: 1.1; margin-top: 16px;
}
.shop-thankyou .woocommerce-order-overview {
  list-style: none; margin: 40px 0; padding: 30px; display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 22px;
  background: var(--ink-2); border: 1px solid var(--line-soft); text-align: left;
}
.shop-thankyou .woocommerce-order-overview li {
  border: 0; padding: 0; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--muted);
}
.shop-thankyou .woocommerce-order-overview li strong {
  display: block; margin-top: 8px; font-family: var(--serif); font-size: 20px; letter-spacing: 0;
  text-transform: none; color: var(--bone);
}
.shop-thankyou-continue { margin-top: 40px; }

/* Empty cart */
.shop-cart-empty { max-width: 560px; margin-inline: auto; text-align: center; padding: 30px 0 10px; }
.shop-cart-empty-title { font-size: clamp(34px, 5vw, 56px); color: var(--bone); margin: 20px 0 18px; }
.shop-cart-empty .cart-empty { color: var(--bone-dim); font-size: 16px; line-height: 1.7; }
.shop-cart-empty .return-to-shop { margin-top: 34px; }

/* =====================================================
   8 · RESPONSIVE
   ===================================================== */
@media (max-width: 1024px) {
  .shop-card-grid { grid-template-columns: repeat(2, 1fr); }
  .shop-single-top { grid-template-columns: 1fr; gap: 40px; }
  .shop-single-summary { position: static; }
}
@media (max-width: 900px) {
  .woo-main { padding-top: 108px; }
  .shop-cat-grid { grid-template-columns: repeat(2, 1fr); }
  .woo-main ul.products,
  .woocommerce .woo-main ul.products { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .shop-story-grid { grid-template-columns: 1fr; gap: 40px; }
  .shop-story-media img, .shop-story-placeholder { height: 420px; }
  .shop-assure { grid-template-columns: 1fr; }
  .woocommerce-account .woo-page-content .woocommerce { grid-template-columns: 1fr; gap: 30px; }
}
@media (max-width: 560px) {
  .shop-card-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
  .shop-cat-grid { grid-template-columns: 1fr; }
  .woo-main ul.products,
  .woocommerce .woo-main ul.products { grid-template-columns: 1fr 1fr; gap: 14px; }
  .shop-hero { min-height: 88vh; }
  .shop-toolbar { flex-direction: column; align-items: flex-start; gap: 14px; }
  .woo-main form.cart { flex-direction: column; }
  .woo-main form.cart .single_add_to_cart_button { min-width: 0; }
}
