/*!
Theme Name: akwrld
Author: Liam BouldoireDescription: Theme pour akwrld
Version: 0.0.1
Requires at least: 6.2
Tested up to: 6.2
Requires PHP: 8.0
License: The license of the theme.
License URI: The URL of the theme license.
Text Domain: akwrld
*/

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html{line-height:1.15;-webkit-text-size-adjust:100%}
body{margin:0}
main{display:block}
h1{font-size:2em;margin:.67em 0}
hr{box-sizing:content-box;height:0;overflow:visible}
pre{font-family:monospace,monospace;font-size:1em}
a{background-color:transparent}
abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}
b,strong{font-weight:bolder}
code,kbd,samp{font-family:monospace,monospace;font-size:1em}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sub{bottom:-.25em}
sup{top:-.5em}
img{border-style:none}
button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}
button,input{overflow:visible}
button,select{text-transform:none}
[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}
[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}
[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}
fieldset{padding:.35em .75em .625em}
legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}
progress{vertical-align:baseline}
textarea{overflow:auto}
[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}
[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}
[type=search]{-webkit-appearance:textfield;outline-offset:-2px}
[type=search]::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}
details{display:block}
summary{display:list-item}
[hidden],template{display:none}

:root {
  --fz: max(10px, 1.2vw);
  --shop-bg: #000000;
  --shop-surface: #0d0d0d;
  --shop-surface-2: #151515;
  --shop-text: #e5e7eb;
  --shop-muted: #b9bec7;
  --shop-border: #2b2b2b;
  --shop-accent: #d1d5db;
  --shop-accent-hover: #f3f4f6;
  --shop-radius: 16px;
  --shop-shadow: 0 18px 40px rgba(0, 0, 0, 0.55);
}

body {
  background: var(--shop-bg);
  color: var(--shop-text);
}

.woocommerce,
.woocommerce-page {
  color: var(--shop-text);
}

.woocommerce *,
.woocommerce-page * {
  color: var(--shop-text);
}

.woocommerce a,
.woocommerce-page a,
.woocommerce a:visited,
.woocommerce-page a:visited {
  color: #d1d5db;
}

.woocommerce a:hover,
.woocommerce-page a:hover,
.woocommerce a:focus,
.woocommerce-page a:focus {
  color: #f3f4f6;
}

.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  color: var(--shop-muted);
  font-size: clamp(0.9rem, 0.95vw, 1rem);
}

.woocommerce ul.products,
.wc-block-grid__products,
.wp-block-post-template.is-flex-container {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(0.8rem, 1.5vw, 1.2rem);
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  margin-top: clamp(1rem, 2vw, 2rem);
  padding-inline: clamp(0.5rem, 1.2vw, 1rem);
}

.woocommerce ul.products li.product {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

.woocommerce ul.products li.product,
.wc-block-grid__product,
.wc-block-product {
  margin: 0;
  padding: 0.35rem 0.35rem 0.9rem;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transition: transform 0.2s ease;
}

.woocommerce ul.products li.product:hover,
.wc-block-grid__product:hover,
.wc-block-product:hover {
  transform: translateY(-2px);
}

.woocommerce ul.products li.product a img,
.wc-block-grid__product-image img,
.wc-block-product__image img {
  border-radius: 14px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border: 0;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title,
.wc-block-product-title {
  color: var(--shop-text);
  font-size: clamp(1rem, 1.15vw, 1.2rem);
  line-height: 1.3;
  margin: 0.9rem 0 0.45rem;
}

.woocommerce ul.products li.product .price,
.wc-block-grid__product-price,
.wc-block-product-price {
  color: #d1d5db;
  font-weight: 700;
  font-size: clamp(1rem, 1.05vw, 1.12rem);
  margin-bottom: 0.85rem;
}

.woocommerce span.onsale,
.wc-block-grid__product-onsale {
  background: #202020;
  color: #e5e7eb;
  border: 1px solid #3a3a3a;
  border-radius: 999px;
  font-size: 0.75rem;
  letter-spacing: 0.02em;
  padding: 0.3rem 0.6rem;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link,
.wc-block-components-button {
  border-radius: 12px;
  border: 1px solid #3b3f46;
  background: linear-gradient(135deg, #d1d5db 0%, #9ca3af 100%);
  color: #111111;
  font-weight: 700;
  letter-spacing: 0.01em;
  padding: 0.7rem 1.2rem;
  transition: background 0.2s ease, transform 0.2s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:hover,
.wc-block-components-button:hover {
  background: var(--shop-accent-hover);
  transform: translateY(-1px);
}

.woocommerce div.product {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: clamp(1rem, 2.4vw, 2rem);
  box-shadow: none;
}

.single-product .woocommerce div.product {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center;
  align-items: flex-start;
  gap: clamp(3rem, 6vw, 6rem) !important;
  align-items: start;
  max-width: 1400px;
  margin-inline: auto;
}

/* Cible explicite du bloc Gutenberg WooCommerce produit */
.wp-block-group.woocommerce.product.is-layout-flow.wp-block-group-is-layout-flow {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center;
  align-items: flex-start !important;
  gap: clamp(3rem, 6vw, 6rem) !important;
}

.single-product .woocommerce div.product div.images,
.single-product .woocommerce div.product div.summary {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  justify-self: stretch;
  margin: 0 !important;
}

.single-product .woocommerce div.product .images,
.single-product .woocommerce div.product .woocommerce-product-gallery {
  flex: 0 0 56% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.single-product .woocommerce div.product .summary,
.single-product .woocommerce div.product .woocommerce-product-details__short-description {
  flex: 0 0 44% !important;
  margin: 0 !important;
  padding: 0 !important;
  padding-left: clamp(1rem, 2vw, 2rem) !important;
  padding-right: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

.wp-block-group.woocommerce.product.is-layout-flow.wp-block-group-is-layout-flow > * {
  width: auto !important;
  max-width: none !important;
}

.wp-block-group.woocommerce.product.is-layout-flow.wp-block-group-is-layout-flow > .wp-block-woocommerce-product-image-gallery {
  flex: 0 0 56% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.wp-block-group.woocommerce.product.is-layout-flow.wp-block-group-is-layout-flow > .wp-block-woocommerce-product-summary {
  flex: 0 0 44% !important;
  margin: 0 !important;
  padding: 0 !important;
  padding-left: clamp(1rem, 2vw, 2rem) !important;
  padding-right: 0 !important;
}

.single-product .woocommerce div.product div.images img {
  width: 100%;
  border-radius: 18px;
  border: 1px solid #262626;
}

.single-product .woocommerce div.product div.summary > * + * {
  margin-top: 1rem;
}

.single-product .woocommerce div.product div.summary p {
  line-height: 1.7;
}

.woocommerce div.product .price,
.woocommerce-Price-amount {
  color: #d1d5db;
  font-weight: 700;
}

.woocommerce div.product form.cart {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  flex-wrap: wrap;
}

.woocommerce .quantity .qty,
.woocommerce-cart .quantity .qty {
  border: 1px solid var(--shop-border);
  border-radius: 10px;
  min-height: 42px;
  padding: 0.25rem 0.6rem;
  background: #0b0b0b;
  color: var(--shop-text);
}

.woocommerce table.shop_table,
.wc-block-cart,
.wc-block-checkout {
  border: 1px solid var(--shop-border);
  border-radius: var(--shop-radius);
  overflow: hidden;
  background: var(--shop-surface);
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  border-color: #353535;
  color: #d1d5db;
}

.woocommerce .cart_totals,
.wc-block-components-totals-wrapper {
  background: #0b0b0b;
  border: 1px solid var(--shop-border);
  border-radius: var(--shop-radius);
  padding: 1rem;
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  border-radius: 12px;
  border: 1px solid var(--shop-border);
  background: #0b0b0b;
}

@media (max-width: 1200px) {
  .woocommerce ul.products,
  .wc-block-grid__products,
  .wp-block-post-template.is-flex-container {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Final mobile readability pass for cart / checkout / confirmation */
@media (max-width: 900px) {
  body.woocommerce-cart,
  body.woocommerce-checkout,
  body.woocommerce-order-received {
    font-size: 14px !important;
    line-height: 1.45 !important;
    overflow-x: hidden !important;
  }

  body.woocommerce-cart *,
  body.woocommerce-checkout *,
  body.woocommerce-order-received * {
    box-sizing: border-box !important;
  }

  body.woocommerce-cart h1,
  body.woocommerce-checkout h1,
  body.woocommerce-order-received h1 {
    font-size: clamp(24px, 8vw, 34px) !important;
    line-height: 1.05 !important;
    letter-spacing: 0.06em !important;
    text-align: center !important;
  }

  body.woocommerce-cart h2,
  body.woocommerce-cart h3,
  body.woocommerce-checkout h2,
  body.woocommerce-checkout h3,
  body.woocommerce-order-received h2,
  body.woocommerce-order-received h3 {
    font-size: clamp(17px, 5vw, 22px) !important;
    line-height: 1.15 !important;
    letter-spacing: 0.05em !important;
    text-align: center !important;
  }

  body.woocommerce-cart main[data-page="cart"] > .entry-content,
  body.woocommerce-checkout main[data-page="checkout"] > .entry-content,
  body.woocommerce-order-received main[data-page="checkout"] > .entry-content,
  body.woocommerce-order-received .wp-site-blocks main .entry-content,
  body.woocommerce-order-received .woocommerce {
    padding: 12px !important;
  }

  .ak-flow-guide,
  .ak-preorder-notice {
    padding: 10px !important;
    line-height: 1.45 !important;
    letter-spacing: 0.04em !important;
    text-align: center !important;
  }

  .ak-flow-steps {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
  }

  .ak-flow-step {
    width: 100% !important;
    min-height: 36px !important;
    justify-content: center !important;
    padding: 8px !important;
    text-align: center !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart,
  body.woocommerce-cart .wc-block-cart,
  body.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
  body.woocommerce-cart .wp-block-woocommerce-cart-items-block,
  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
  body.woocommerce-cart .wc-block-cart-items,
  body.woocommerce-cart .wc-block-cart-items__row,
  body.woocommerce-cart .wc-block-cart-item__wrap,
  body.woocommerce-checkout .wp-block-woocommerce-checkout,
  body.woocommerce-checkout .wc-block-checkout,
  body.woocommerce-checkout .wc-block-components-sidebar-layout,
  body.woocommerce-checkout .wc-block-components-main,
  body.woocommerce-checkout .wc-block-components-sidebar,
  body.woocommerce-checkout .wc-block-components-checkout-step,
  body.woocommerce-checkout .wc-block-components-checkout-step__content,
  body.woocommerce-checkout .wc-block-components-order-summary,
  body.woocommerce-checkout .wc-block-components-panel,
  body.woocommerce-order-received .woocommerce-order,
  body.woocommerce-order-received .woocommerce-order-details,
  body.woocommerce-order-received .woocommerce-customer-details,
  body.woocommerce-order-received .wc-block-order-confirmation,
  body.woocommerce-order-received .wp-block-woocommerce-checkout-order-confirmation-block {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow-x: hidden !important;
  }

  body.woocommerce-cart .wc-block-cart-items__row {
    display: grid !important;
    grid-template-columns: minmax(56px, 76px) minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: start !important;
    padding: 12px 0 !important;
  }

  body.woocommerce-cart .wc-block-cart-item__image,
  body.woocommerce-cart .wc-block-cart-item__image img,
  body.woocommerce-cart .product-thumbnail,
  body.woocommerce-cart .product-thumbnail img,
  body.woocommerce-checkout .wc-block-components-order-summary-item__image,
  body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
    width: 64px !important;
    max-width: 64px !important;
    height: auto !important;
  }

  body.woocommerce-cart .wc-block-components-product-name,
  body.woocommerce-checkout .wc-block-components-product-name,
  body.woocommerce-cart .product-name a,
  body.woocommerce-checkout .product-name,
  body.woocommerce-order-received .product-name {
    font-size: 0.9rem !important;
    line-height: 1.25 !important;
    letter-spacing: 0.035em !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  body.woocommerce-cart .wc-block-components-product-details,
  body.woocommerce-checkout .wc-block-components-product-details,
  body.woocommerce-cart .wc-block-components-product-metadata,
  body.woocommerce-checkout .wc-block-components-product-metadata,
  body.woocommerce-cart dl.variation,
  body.woocommerce-checkout dl.variation {
    font-size: 0.76rem !important;
    line-height: 1.4 !important;
    letter-spacing: 0.04em !important;
    overflow-wrap: anywhere !important;
  }

  body.woocommerce-cart .wc-block-components-totals-item,
  body.woocommerce-checkout .wc-block-components-totals-item,
  body.woocommerce-order-received .wc-block-components-totals-item {
    gap: 8px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    text-align: center !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-step,
  body.woocommerce-checkout .wc-block-components-checkout-step__content,
  body.woocommerce-checkout .wc-block-components-text-input,
  body.woocommerce-checkout .wc-block-components-select,
  body.woocommerce-checkout .wc-block-components-combobox-control,
  body.woocommerce-checkout .wc-block-components-textarea,
  body.woocommerce-cart .wc-block-components-text-input,
  body.woocommerce-cart .wc-block-components-select {
    text-align: left !important;
  }

  body.woocommerce-cart input,
  body.woocommerce-cart select,
  body.woocommerce-cart textarea,
  body.woocommerce-checkout input,
  body.woocommerce-checkout select,
  body.woocommerce-checkout textarea {
    min-height: 44px !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  body.woocommerce-cart .wc-block-components-button,
  body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button,
  body.woocommerce-checkout .wc-block-components-button,
  body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
  body.woocommerce-order-received .wc-block-components-button,
  body.woocommerce-order-received .woocommerce a.button {
    min-height: 44px !important;
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    text-align: center !important;
  }

  body.woocommerce-checkout #wc-stripe-express-checkout-element,
  body.woocommerce-checkout #wc-stripe-express-checkout-element > div,
  body.woocommerce-checkout .wc-block-components-express-payment,
  body.woocommerce-checkout .wc-block-components-express-payment__event-buttons {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  body.woocommerce-checkout #wc-stripe-express-checkout-element iframe {
    max-width: 100% !important;
  }
}

@media (max-width: 390px) {
  body.woocommerce-cart .wc-block-cart-items__row {
    grid-template-columns: minmax(48px, 60px) minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  body.woocommerce-cart .wc-block-cart-item__image,
  body.woocommerce-cart .wc-block-cart-item__image img,
  body.woocommerce-cart .product-thumbnail,
  body.woocommerce-cart .product-thumbnail img,
  body.woocommerce-checkout .wc-block-components-order-summary-item__image,
  body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
    width: 54px !important;
    max-width: 54px !important;
  }
}

@media (max-width: 768px) {
  .wp-block-group.woocommerce.product.is-layout-flow.wp-block-group-is-layout-flow {
    flex-direction: column !important;
    gap: 1.25rem !important;
  }

  .single-product .woocommerce div.product {
    flex-direction: column !important;
    gap: 1.25rem !important;
  }

  .single-product .woocommerce div.product .images,
  .single-product .woocommerce div.product .woocommerce-product-gallery,
  .single-product .woocommerce div.product .summary,
  .single-product .woocommerce div.product .woocommerce-product-details__short-description,
  .wp-block-group.woocommerce.product.is-layout-flow.wp-block-group-is-layout-flow > .wp-block-woocommerce-product-image-gallery,
  .wp-block-group.woocommerce.product.is-layout-flow.wp-block-group-is-layout-flow > .wp-block-woocommerce-product-summary {
    flex: 1 1 auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .woocommerce ul.products,
  .wc-block-grid__products,
  .wp-block-post-template.is-flex-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
  }

  .woocommerce ul.products li.product,
  .wc-block-grid__product,
  .wc-block-product {
    padding: 0.75rem;
  }

  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button {
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .woocommerce ul.products,
  .wc-block-grid__products,
  .wp-block-post-template.is-flex-container {
    grid-template-columns: 1fr;
  }
}

/* Force l'espace entre image (colonne gauche) et texte (colonne droite)
   pour le template produit en blocs Gutenberg */
.single-product .wp-block-columns.alignwide.is-layout-flex,
.single-product .wp-block-columns.is-layout-flex {
  display: flex !important;
  column-gap: clamp(1.4rem, 3vw, 2.4rem) !important;
  row-gap: 1rem !important;
  align-items: stretch !important;
}

.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:first-child,
.single-product .wp-block-columns.is-layout-flex > .wp-block-column:first-child {
  padding-right: clamp(0.4rem, 1vw, 0.9rem) !important;
  margin-right: 0 !important;
}

.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child,
.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  height: 100%;
  padding-left: clamp(0.4rem, 1vw, 0.9rem) !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > *,
.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > * {
  order: 60;
}

.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > .wp-block-post-excerpt,
.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > .wp-block-post-excerpt {
  order: 10;
}

.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > .wp-block-post-title,
.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > .wp-block-post-title,
.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > .wp-block-post-title h1,
.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > .wp-block-post-title h1,
.single-product .woocommerce div.product .product_title {
  order: 10 !important;
}

.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > .wp-block-woocommerce-product-price,
.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > .wp-block-woocommerce-product-price,
.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > [data-block-name="woocommerce/product-price"],
.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > [data-block-name="woocommerce/product-price"],
.single-product .woocommerce div.product .price,
.single-product .woocommerce div.product .woocommerce-Price-amount {
  order: 20 !important;
}

.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > .wp-block-post-excerpt,
.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > .wp-block-post-excerpt,
.single-product .woocommerce div.product .woocommerce-product-details__short-description {
  order: 30 !important;
  margin-bottom: 1rem !important;
}

.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > .akwrld-product-specs,
.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > .akwrld-product-specs-inline,
.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > .akwrld-product-specs,
.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > .akwrld-product-specs-inline,
.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > .wp-block-woocommerce-product-details__additional-information,
.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > .wp-block-woocommerce-product-details__additional-information,
.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > [data-block-name="woocommerce/product-details-additional-information"],
.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > [data-block-name="woocommerce/product-details-additional-information"],
.single-product .woocommerce div.product .akwrld-product-specs,
.single-product .woocommerce div.product .akwrld-product-specs-inline,
.single-product .woocommerce div.product .woocommerce-product-attributes,
.single-product .woocommerce div.product .wp-block-woocommerce-product-details__additional-information {
  order: 40 !important;
  margin-top: 2.2rem !important;
}

.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > .wp-block-add-to-cart-form,
.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > .wp-block-add-to-cart-form,
.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > .wp-block-woocommerce-add-to-cart-form,
.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > .wp-block-woocommerce-add-to-cart-form,
.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > [data-block-name="woocommerce/add-to-cart-form"],
.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > [data-block-name="woocommerce/add-to-cart-form"],
.single-product .woocommerce div.product form.cart,
.single-product .woocommerce div.product .wp-block-add-to-cart-form,
.single-product .woocommerce div.product .wc-block-add-to-cart-form {
  order: 998 !important;
  margin-top: auto !important;
  margin-bottom: 0.35rem !important;
  padding-bottom: 0 !important;
}

.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > [data-block-name="woocommerce/product-meta"],
.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > [data-block-name="woocommerce/product-meta"],
.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > .wp-block-woocommerce-product-meta,
.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > .wp-block-woocommerce-product-meta,
.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > .wp-container-core-group-is-layout-6c531013,
.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > .wp-container-core-group-is-layout-6c531013 {
  order: 999 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.single-product .woocommerce div.product .summary {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  height: 100%;
}

.single-product .woocommerce div.product .product_meta {
  order: 999 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Target direct class provided: always pin product meta to bottom of right column */
.single-product .wp-block-columns .wp-block-column:last-child .wp-block-woocommerce-product-meta {
  order: 999 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.single-product .wp-block-woocommerce-product-meta,
.single-product .product_meta {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1rem;
  row-gap: 0.2rem;
  align-items: baseline;
}

.single-product .wp-block-woocommerce-product-meta .tagged_as,
.single-product .product_meta .tagged_as {
  margin-left: 1.2rem;
}

.single-product .akwrld-product-specs-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 1rem;
  padding: 0;
  margin: 2.2rem 0 0 !important;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.single-product .akwrld-spec-item {
  display: inline-flex;
  align-items: baseline;
  gap: 0.35rem;
  font-size: 0.9rem;
  line-height: 1.35;
  color: #d1d5db;
}

.single-product .akwrld-spec-label {
  color: #b9bec7;
  font-weight: 600;
}

.single-product .akwrld-spec-value {
  color: #e5e7eb;
  font-weight: 400;
}

@media (max-width: 768px) {
  .single-product .wp-block-columns.alignwide.is-layout-flex,
  .single-product .wp-block-columns.is-layout-flex {
    column-gap: 0 !important;
  }

  .single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:first-child,
  .single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child,
  .single-product .wp-block-columns.is-layout-flex > .wp-block-column:first-child,
  .single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .single-product .wp-block-columns .wp-block-column:last-child .wp-block-woocommerce-product-meta {
    margin-top: 0.6rem !important;
  }
}

/* Fallback tabs: hide Description + Additional Information, keep Reviews */
.single-product .woocommerce-tabs ul.tabs li.description_tab,
.single-product .woocommerce-tabs ul.tabs li.additional_information_tab,
.single-product #tab-description,
.single-product #tab-additional_information {
  display: none !important;
}

.single-product .wp-block-woocommerce-product-details__additional-information,
.single-product [data-block-name="woocommerce/product-details-additional-information"],
.single-product .woocommerce-product-attributes {
  display: none !important;
}

/* Hide variations table on variable products */
.single-product form.variations_form table.variations,
.single-product form.variations_form .variations {
  display: none !important;
}

/* Hide anti-spam test message */
.wpa-test-msg,
.wpa-test-msg.important,
.single-product .wpa-test-msg,
.single-product .wpa-test-msg.important {
  display: none !important;
}

/* Fallback: hide related products section */
.single-product .related,
.single-product .related.products,
.single-product .wc-block-related-products {
  display: none !important;
}

/* One-screen mode: fit single product page in visible viewport (desktop) */
@media (min-width: 1024px) {
  html,
  body.single-product {
    height: 100%;
  }

  body.single-product {
    overflow: hidden;
  }

  body.single-product .wp-site-blocks {
    height: 100vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  body.admin-bar.single-product .wp-site-blocks {
    height: calc(100vh - 32px);
  }

  .single-product main,
  .single-product .wp-site-blocks > main {
    flex: 1;
    overflow: hidden;
  }

  .single-product .wp-block-group.woocommerce.product.is-layout-flow.wp-block-group-is-layout-flow {
    max-height: calc(100vh - 180px);
    overflow: hidden;
    margin-top: 0.4rem !important;
    margin-bottom: 0.4rem !important;
  }

  .single-product .wp-block-woocommerce-product-image-gallery img,
  .single-product .woocommerce-product-gallery img {
    max-height: calc(100vh - 280px);
    width: 100%;
    object-fit: cover;
  }

  .single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child,
  .single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child,
  .single-product .woocommerce div.product .summary {
    min-height: 0 !important;
    max-height: none;
    overflow: visible;
  }

  .single-product .wp-block-post-title,
  .single-product .product_title {
    font-size: clamp(1.6rem, 2.5vw, 2.8rem) !important;
    margin-bottom: 0.25rem !important;
    line-height: 1.05 !important;
  }

  .single-product .wp-block-post-excerpt,
  .single-product .woocommerce-product-details__short-description {
    font-size: 0.95rem;
    line-height: 1.3;
    margin-bottom: 1rem !important;
  }

  .single-product .wp-block-post-excerpt__excerpt,
  .single-product .woocommerce-product-details__short-description p {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .single-product .wp-block-woocommerce-product-meta,
  .single-product .product_meta {
    font-size: 0.8rem;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* Final hard override: pin category/tags block to image bottom */
@media (min-width: 1024px) {
  .single-product .wp-block-columns {
    align-items: stretch !important;
  }

  .single-product .wp-block-columns > .wp-block-column:last-child {
    display: flex !important;
    flex-direction: column !important;
    align-self: stretch !important;
  }

  .single-product .wp-block-columns > .wp-block-column:last-child > .wp-container-core-group-is-layout-6c531013,
  .single-product .wp-block-columns > .wp-block-column:last-child > .wp-block-woocommerce-product-meta,
  .single-product .wp-block-columns > .wp-block-column:last-child > [data-block-name="woocommerce/product-meta"] {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Keep add-to-cart just above category/tags at image bottom */
  .single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > .wp-block-add-to-cart-form,
  .single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > .wp-block-add-to-cart-form,
  .single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > .wp-block-woocommerce-add-to-cart-form,
  .single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > .wp-block-woocommerce-add-to-cart-form,
  .single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > [data-block-name="woocommerce/add-to-cart-form"],
  .single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > [data-block-name="woocommerce/add-to-cart-form"],
  .single-product .woocommerce div.product form.cart,
  .single-product .woocommerce div.product .wp-block-add-to-cart-form,
  .single-product .woocommerce div.product .wc-block-add-to-cart-form {
    position: static;
    top: auto;
    margin-top: auto !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    align-self: flex-start !important;
    text-align: left !important;
    transform: translate(-12px, 238px);
  }

  .single-product .wp-block-add-to-cart-form,
  .single-product .wp-block-woocommerce-add-to-cart-form,
  .single-product .wc-block-add-to-cart-form {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center;
    width: auto !important;
  }

  .single-product .wp-block-add-to-cart-form .wp-block-button,
  .single-product .wp-block-woocommerce-add-to-cart-form .wp-block-button,
  .single-product .wc-block-add-to-cart-form .wp-block-button,
  .single-product .wp-block-add-to-cart-form .wp-block-button__link,
  .single-product .wp-block-woocommerce-add-to-cart-form .wp-block-button__link,
  .single-product .wc-block-add-to-cart-form .wp-block-button__link {
    margin-left: 0 !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    text-align: left !important;
    justify-content: flex-start !important;
  }

  .single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > [data-block-name="woocommerce/product-meta"],
  .single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > [data-block-name="woocommerce/product-meta"],
  .single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > .wp-block-woocommerce-product-meta,
  .single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > .wp-block-woocommerce-product-meta,
  .single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > .wp-container-core-group-is-layout-6c531013,
  .single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > .wp-container-core-group-is-layout-6c531013,
  .single-product .woocommerce div.product .product_meta {
    position: static;
    top: auto;
    margin-top: -0.05rem !important;
    transform: translateY(228px);
  }
}

/* Final left alignment lock for Add to cart (same left edge as text) */
@media (min-width: 1024px) {
  .single-product .wp-block-columns > .wp-block-column:last-child > .wp-block-add-to-cart-form,
  .single-product .wp-block-columns > .wp-block-column:last-child > .wp-block-woocommerce-add-to-cart-form,
  .single-product .wp-block-columns > .wp-block-column:last-child > [data-block-name="woocommerce/add-to-cart-form"],
  .single-product .woocommerce div.product form.cart,
  .single-product .woocommerce div.product .wp-block-add-to-cart-form,
  .single-product .woocommerce div.product .wc-block-add-to-cart-form {
    width: 100% !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    justify-content: flex-start !important;
    text-align: left !important;
  }

  .single-product .woocommerce div.product form.cart .quantity,
  .single-product .woocommerce div.product form.cart .single_add_to_cart_button,
  .single-product .wp-block-add-to-cart-form .wp-block-button,
  .single-product .wp-block-woocommerce-add-to-cart-form .wp-block-button,
  .single-product .wc-block-add-to-cart-form .wp-block-button,
  .single-product .wp-block-add-to-cart-form .wp-block-button__link,
  .single-product .wp-block-woocommerce-add-to-cart-form .wp-block-button__link,
  .single-product .wc-block-add-to-cart-form .wp-block-button__link {
    margin-left: 0 !important;
    text-align: left !important;
    justify-content: flex-start !important;
  }
}

/* Extra spacing between category and tags */
.single-product .wp-block-woocommerce-product-meta .posted_in,
.single-product .wp-block-woocommerce-product-meta .tagged_as,
.single-product .product_meta .posted_in,
.single-product .product_meta .tagged_as {
  display: inline-flex !important;
  width: auto !important;
  max-width: 100%;
}

.single-product .wp-block-woocommerce-product-meta .tagged_as,
.single-product .product_meta .tagged_as {
  margin-left: 1.8rem !important;
}

/* Cedric 3D product layout: left infos / center scan / right size */
@media (min-width: 1024px) {
  body.single-product {
    background: #e7e6e3 !important;
    color: #101010 !important;
    overflow: hidden !important;
  }

  body.single-product .wp-site-blocks,
  body.single-product main,
  body.single-product .wp-site-blocks > main {
    background: transparent !important;
    overflow: hidden !important;
  }

  body.single-product .woocommerce,
  body.single-product .woocommerce-page,
  body.single-product .woocommerce *,
  body.single-product .woocommerce-page * {
    color: #101010 !important;
  }

  body.single-product .wp-block-group.woocommerce.product.is-layout-flow.wp-block-group-is-layout-flow {
    max-width: 1600px !important;
    margin: 0 auto !important;
    min-height: calc(100vh - 96px) !important;
    overflow: hidden !important;
    background: transparent !important;
  }

  body.single-product .wp-block-columns.alignwide.is-layout-flex,
  body.single-product .wp-block-columns.is-layout-flex {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(260px, 380px) minmax(430px, 680px) minmax(260px, 380px) !important;
    align-items: center !important;
    column-gap: clamp(1rem, 2.5vw, 2.6rem) !important;
    row-gap: 0 !important;
    min-height: calc(100vh - 116px) !important;
    padding: 0.4rem 1rem 6rem !important;
    margin: 0 !important;
  }

  body.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:first-child,
  body.single-product .wp-block-columns.is-layout-flex > .wp-block-column:first-child {
    grid-column: 2 !important;
    justify-self: center !important;
    width: 100% !important;
    max-width: 640px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  body.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:first-child .wp-block-woocommerce-product-image-gallery,
  body.single-product .wp-block-columns.is-layout-flex > .wp-block-column:first-child .wp-block-woocommerce-product-image-gallery,
  body.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:first-child .woocommerce-product-gallery,
  body.single-product .wp-block-columns.is-layout-flex > .wp-block-column:first-child .woocommerce-product-gallery,
  body.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:first-child .images,
  body.single-product .wp-block-columns.is-layout-flex > .wp-block-column:first-child .images {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:first-child img,
  body.single-product .wp-block-columns.is-layout-flex > .wp-block-column:first-child img,
  body.single-product .wp-block-woocommerce-product-image-gallery img,
  body.single-product .woocommerce-product-gallery img {
    max-height: 82vh !important;
    width: 100% !important;
    object-fit: contain !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  body.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child,
  body.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child {
    display: contents !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Left panel: article title/price/description */
  body.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > .wp-block-post-title,
  body.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > .wp-block-post-title,
  body.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > .wp-block-woocommerce-product-price,
  body.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > .wp-block-woocommerce-product-price,
  body.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > .wp-block-post-excerpt,
  body.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > .wp-block-post-excerpt {
    grid-column: 1 !important;
    width: min(360px, 100%) !important;
    justify-self: stretch !important;
    align-self: start !important;
    margin: 0 !important;
    transform: none !important;
  }

  body.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > .wp-block-post-title,
  body.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > .wp-block-post-title {
    margin-top: 10.4rem !important;
    font-size: 1.03rem !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
    line-height: 1.2 !important;
  }

  body.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > .wp-block-woocommerce-product-price,
  body.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > .wp-block-woocommerce-product-price {
    margin-top: 13.3rem !important;
    font-size: 0.94rem !important;
    font-weight: 500 !important;
  }

  body.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > .wp-block-post-excerpt,
  body.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > .wp-block-post-excerpt {
    margin-top: 15.3rem !important;
    padding: 1.1rem 1rem !important;
    background: #f7f7f5 !important;
    border: 1px solid #d6d5d1 !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    line-height: 1.42 !important;
    font-size: 0.9rem !important;
  }

  /* Right panel: size choose + add to cart */
  body.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > .wp-block-add-to-cart-form,
  body.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > .wp-block-add-to-cart-form,
  body.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > .wp-block-woocommerce-add-to-cart-form,
  body.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > .wp-block-woocommerce-add-to-cart-form,
  body.single-product .wp-block-columns.alignwide.is-layout-flex > .wp-block-column:last-child > [data-block-name="woocommerce/add-to-cart-form"],
  body.single-product .wp-block-columns.is-layout-flex > .wp-block-column:last-child > [data-block-name="woocommerce/add-to-cart-form"],
  body.single-product .woocommerce div.product form.cart {
    grid-column: 3 !important;
    width: min(340px, 100%) !important;
    justify-self: stretch !important;
    align-self: start !important;
    margin: 18.5rem 0 0 !important;
    padding: 1rem !important;
    border: 1px solid #d6d5d1 !important;
    border-radius: 10px !important;
    background: #f7f7f5 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.55rem !important;
    justify-content: flex-start !important;
    align-items: center !important;
    transform: none !important;
  }

  body.single-product form.variations_form table.variations {
    display: table !important;
    width: 100% !important;
    margin: 0 0 0.35rem !important;
  }

  body.single-product form.variations_form div.variations {
    display: grid !important;
    width: 100% !important;
    gap: 0.45rem !important;
  }

  body.single-product .woocommerce div.product form.cart select,
  body.single-product .woocommerce div.product form.cart .quantity .qty {
    min-height: 36px !important;
    border: 1px solid #d6d5d1 !important;
    border-radius: 8px !important;
    background: #ecebe8 !important;
    color: #101010 !important;
  }

  body.single-product .woocommerce button.single_add_to_cart_button,
  body.single-product .woocommerce input.single_add_to_cart_button {
    min-height: 38px !important;
    padding: 0.55rem 1rem !important;
    border-radius: 8px !important;
    border: 0 !important;
    background: #111 !important;
    color: #f5f5f2 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    font-size: 0.78rem !important;
  }

  /* Bottom-center: characters/outfits preview selector (gallery thumbs) */
  body.single-product .woocommerce-product-gallery .flex-control-thumbs,
  body.single-product .woocommerce-product-gallery ol.flex-control-thumbs,
  body.single-product .wc-block-product-gallery-thumbnails {
    position: absolute !important;
    left: 50% !important;
    bottom: 1rem !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    gap: 0.65rem !important;
    z-index: 12 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  body.single-product .woocommerce-product-gallery .flex-control-thumbs li,
  body.single-product .wc-block-product-gallery-thumbnails li {
    width: 60px !important;
    height: 60px !important;
    margin: 0 !important;
  }

  body.single-product .woocommerce-product-gallery .flex-control-thumbs img,
  body.single-product .wc-block-product-gallery-thumbnails img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 6px !important;
    border: 1px solid #d6d5d1 !important;
    opacity: 0.88 !important;
  }

  body.single-product .woocommerce-product-gallery .flex-control-thumbs .flex-active {
    opacity: 1 !important;
    border-color: #111 !important;
  }

  /* Keep this view clean like reference */
  body.single-product .wp-block-woocommerce-product-meta,
  body.single-product .product_meta,
  body.single-product .related,
  body.single-product .related.products,
  body.single-product .wc-block-related-products {
    display: none !important;
  }
}

@media (max-width: 1023px) {
  body.single-product {
    overflow: auto !important;
    background: #e7e6e3 !important;
  }

  body.single-product .wp-site-blocks,
  body.single-product main,
  body.single-product .wp-site-blocks > main {
    overflow: visible !important;
  }
}


/* ARK reference scene: single product */
@media (min-width: 1024px) {
  body.single-product.ak-scene-active {
    background: #e8e6e3 !important;
    color: #111111 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  body.single-product.ak-scene-active .wp-site-blocks,
  body.single-product.ak-scene-active main,
  body.single-product.ak-scene-active .wp-site-blocks > main {
    background: transparent !important;
    overflow: visible !important;
  }

  body.single-product.ak-scene-active .woocommerce-breadcrumb,
  body.single-product.ak-scene-active .woocommerce-notices-wrapper,
  body.single-product.ak-scene-active .wc-block-components-notices {
    display: none !important;
  }

  body.single-product.ak-scene-active .wp-block-group.woocommerce.product.is-layout-flow.wp-block-group-is-layout-flow {
    max-width: 1680px !important;
    margin: 0 auto !important;
    padding: 0.3rem 1rem 1rem !important;
    background: transparent !important;
  }

  body.single-product.ak-scene-active .ak-layout-root {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(250px, 360px) minmax(430px, 700px) minmax(260px, 380px) !important;
    align-items: center !important;
    column-gap: clamp(1rem, 2.8vw, 3rem) !important;
    row-gap: 0 !important;
    min-height: calc(100vh - 126px) !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.single-product.ak-scene-active .ak-layout-root > .wp-block-column:first-child {
    grid-column: 2 !important;
    width: min(46vw, 680px) !important;
    justify-self: center !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 2;
  }

  body.single-product.ak-scene-active .ak-layout-root > .wp-block-column:first-child .wp-block-woocommerce-product-image-gallery,
  body.single-product.ak-scene-active .ak-layout-root > .wp-block-column:first-child .woocommerce-product-gallery,
  body.single-product.ak-scene-active .ak-layout-root > .wp-block-column:first-child .images {
    display: none !important;
  }

  body.single-product.ak-scene-active .ak-model-stage {
    position: relative;
    width: 100%;
    height: min(82vh, 920px);
    z-index: 3;
  }

  body.single-product.ak-scene-active .ak-model-viewer {
    width: 100%;
    height: 100%;
    --poster-color: transparent;
    background: transparent;
    touch-action: pan-y;
  }

  body.single-product.ak-scene-active .ak-model-stage::before,
  body.single-product.ak-scene-active .ak-model-stage::after {
    content: "";
    position: absolute;
    height: 1px;
    background: #d2d1cd;
    z-index: 1;
  }

  body.single-product.ak-scene-active .ak-model-stage::before {
    left: -240px;
    top: 40%;
    width: 220px;
  }

  body.single-product.ak-scene-active .ak-model-stage::after {
    right: -250px;
    top: 49%;
    width: 230px;
  }

  body.single-product.ak-scene-active .ak-layout-root > .wp-block-column:last-child {
    display: contents !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.single-product.ak-scene-active .ak-source-hidden {
    display: none !important;
  }

  body.single-product.ak-scene-active .ak-info-panel {
    grid-column: 1;
    align-self: center !important;
    margin-top: 0 !important;
    width: min(350px, 100%);
    background: #f6f6f3;
    border: 1px solid #d7d5d1;
    border-radius: 10px;
    padding: 1rem 1rem 0.85rem;
    color: #111;
    z-index: 5;
  }

  body.single-product.ak-scene-active .ak-info-title {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.3;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 600;
  }

  body.single-product.ak-scene-active .ak-info-price {
    margin-top: 0.35rem;
    margin-bottom: 0.8rem;
    font-size: 0.9rem;
    font-weight: 600;
  }

  body.single-product.ak-scene-active .ak-info-subtitle {
    margin: 0.5rem 0 0.35rem;
    font-size: 0.74rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 600;
  }

  body.single-product.ak-scene-active .ak-info-desc {
    margin: 0 0 0.8rem;
    font-size: 0.88rem;
    line-height: 1.45;
    color: #2a2a28;
  }

  body.single-product.ak-scene-active .ak-info-meta {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  body.single-product.ak-scene-active .ak-info-meta li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.34rem 0;
    font-size: 0.76rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    border-top: 1px solid #e2e0dc;
  }

  body.single-product.ak-scene-active .ak-info-meta li:first-child {
    border-top: 0;
  }

  body.single-product.ak-scene-active .ak-info-plus {
    color: #575754;
    font-weight: 600;
  }

  body.single-product.ak-scene-active form.cart,
  body.single-product.ak-scene-active .ak-buy-panel {
    grid-column: 3 !important;
    align-self: center !important;
    margin: 0 !important;
    width: min(350px, 100%) !important;
    background: #f6f6f3 !important;
    border: 1px solid #d7d5d1 !important;
    border-radius: 10px !important;
    padding: 1rem !important;
    display: block !important;
    transform: none !important;
    position: relative !important;
    z-index: 6;
  }

  body.single-product.ak-scene-active .ak-buy-head {
    margin: 0 0 0.35rem;
    font-size: 0.62rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 600;
    color: #111;
  }

  body.single-product.ak-scene-active form.variations_form table.variations {
    display: table !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body.single-product.ak-scene-active form.variations_form tr,
  body.single-product.ak-scene-active form.variations_form td {
    display: block !important;
    width: 100% !important;
  }

  body.single-product.ak-scene-active form.variations_form td.label {
    margin: 0 0 0.16rem !important;
    font-size: 0.62rem !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
  }

  body.single-product.ak-scene-active form.variations_form td.label label {
    color: #111 !important;
    font-weight: 600 !important;
  }

  body.single-product.ak-scene-active .ak-option-group {
    margin: 0.45rem 0 0.65rem;
  }

  body.single-product.ak-scene-active .ak-option-label {
    margin: 0 0 0.28rem;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 600;
  }

  body.single-product.ak-scene-active .ak-pills {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.36rem;
  }

  body.single-product.ak-scene-active .ak-pill {
    min-height: 33px;
    border: 1px solid #d2d0cc;
    background: #ecebe8;
    color: #20201f;
    border-radius: 6px;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    padding: 0.28rem 0.45rem;
  }

  body.single-product.ak-scene-active .ak-pill.is-active,
  body.single-product.ak-scene-active .ak-pill:hover {
    background: #111;
    color: #f6f6f3;
    border-color: #111;
  }

  body.single-product.ak-scene-active .ak-hidden-select {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
  }

  body.single-product.ak-scene-active .woocommerce-variation-add-to-cart,
  body.single-product.ak-scene-active .single_variation_wrap {
    margin-top: 0.45rem !important;
  }

  body.single-product.ak-scene-active .woocommerce .quantity .qty {
    min-height: 36px !important;
    border-radius: 7px !important;
    border: 1px solid #d2d0cc !important;
    background: #ecebe8 !important;
    color: #111 !important;
  }

  body.single-product.ak-scene-active .single_add_to_cart_button {
    min-height: 38px !important;
    border-radius: 7px !important;
    border: 0 !important;
    background: #111 !important;
    color: #f6f6f3 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-size: 0.74rem !important;
    font-weight: 600 !important;
    padding: 0.52rem 1rem !important;
  }

  body.single-product.ak-scene-active .reset_variations,
  body.single-product.ak-scene-active .woocommerce-tabs,
  body.single-product.ak-scene-active .wp-block-woocommerce-product-meta,
  body.single-product.ak-scene-active .product_meta,
  body.single-product.ak-scene-active .related,
  body.single-product.ak-scene-active .related.products,
  body.single-product.ak-scene-active .wc-block-related-products {
    display: none !important;
  }
}

@media (max-width: 1023px) {
  body.single-product.ak-scene-active {
    background: #e8e6e3 !important;
    overflow: auto !important;
  }

  body.single-product.ak-scene-active .ak-layout-root {
    display: block !important;
    min-height: auto !important;
  }

  body.single-product.ak-scene-active .ak-model-stage {
    height: min(72vh, 640px);
    margin-top: 1rem;
  }

  body.single-product.ak-scene-active .ak-model-stage::before,
  body.single-product.ak-scene-active .ak-model-stage::after {
    display: none;
  }

  body.single-product.ak-scene-active .ak-info-panel,
  body.single-product.ak-scene-active form.cart,
  body.single-product.ak-scene-active .ak-buy-panel {
    width: 100% !important;
    margin: 0.9rem 0 0 !important;
  }
}

/* Fallback visual when model-viewer is not yet available */
body.single-product.ak-scene-active .ak-model-fallback {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* Robust floating fallback: keep info/buy panels visible even if template markup shifts */
@media (min-width: 1024px) {
  body.single-product .ak-info-panel.ak-floating-info {
    position: fixed !important;
    left: var(--ak-panels-side-offset) !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    width: min(350px, 92vw) !important;
    z-index: 90 !important;
    display: block !important;
  }

  body.single-product form.ak-floating-buy,
  body.single-product .wp-block-add-to-cart-form.ak-floating-buy,
  body.single-product .wp-block-woocommerce-add-to-cart-form.ak-floating-buy,
  body.single-product .ak-buy-panel.ak-floating-buy {
    position: fixed !important;
    right: var(--ak-panels-side-offset) !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    width: min(350px, 92vw) !important;
    z-index: 91 !important;
    display: block !important;
  }
}

/* Final lock: left + right panels share the same vertical center */
@media (min-width: 1024px) {
  body.single-product {
    --ak-panels-center-y: 50%;
    --ak-panels-side-offset: clamp(4.8rem, 12vw, 16rem);
  }

  body.single-product.ak-scene-active .ak-info-panel,
  body.single-product .ak-info-panel.ak-floating-info {
    position: fixed !important;
    left: clamp(0.8rem, 2.2vw, 2.2rem) !important;
    right: auto !important;
    top: var(--ak-panels-center-y) !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
  }

  body.single-product.ak-scene-active form.cart,
  body.single-product.ak-scene-active .wp-block-add-to-cart-form,
  body.single-product.ak-scene-active .wp-block-woocommerce-add-to-cart-form,
  body.single-product .ak-buy-panel.ak-floating-buy,
  body.single-product form.ak-floating-buy,
  body.single-product .wp-block-add-to-cart-form.ak-floating-buy,
  body.single-product .wp-block-woocommerce-add-to-cart-form.ak-floating-buy {
    position: fixed !important;
    right: clamp(0.8rem, 2.2vw, 2.2rem) !important;
    left: auto !important;
    top: var(--ak-panels-center-y) !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
  }
}

/* Keep add-to-cart controls inside the Choose options panel */
@media (min-width: 1024px) {
  body.single-product.ak-scene-active .ak-buy-panel form.cart,
  body.single-product.ak-scene-active .ak-buy-panel .wc-block-add-to-cart-form,
  body.single-product.ak-scene-active .ak-buy-panel .wp-block-add-to-cart-form,
  body.single-product.ak-scene-active .ak-buy-panel .wp-block-woocommerce-add-to-cart-form {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    position: static !important;
    transform: none !important;
  }

  body.single-product.ak-scene-active .ak-buy-panel .woocommerce-variation-add-to-cart,
  body.single-product.ak-scene-active .ak-buy-panel .single_variation_wrap,
  body.single-product.ak-scene-active .ak-buy-panel .variations_button {
    width: 100% !important;
    margin: 0.35rem 0 0 !important;
    position: static !important;
    transform: none !important;
  }
}

/* User request: remove add-to-cart block on single product scene */
.single-product .wp-block-add-to-cart-form.wc-block-add-to-cart-form.wc-block-add-to-cart-form--input.wp-block-woocommerce-add-to-cart-form.ak-floating-buy.ak-buy-panel,
.single-product .ak-buy-panel,
.single-product .ak-floating-buy {
  display: none !important;
}

/* Camcorder Crew fullscreen scene (no camcorder shell) */
@media (min-width: 1024px) {
  body.single-product.ak-camcrew-active {
    background: radial-gradient(circle at 50% 40%, #171717 0%, #070707 58%, #000 100%) !important;
    color: #ededed !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  body.single-product.ak-camcrew-active .wp-site-blocks,
  body.single-product.ak-camcrew-active main,
  body.single-product.ak-camcrew-active .wp-site-blocks > main {
    background: transparent !important;
    overflow: visible !important;
  }

  body.single-product.ak-camcrew-active .woocommerce-breadcrumb,
  body.single-product.ak-camcrew-active .woocommerce-notices-wrapper,
  body.single-product.ak-camcrew-active .wc-block-components-notices {
    display: none !important;
  }

  body.single-product.ak-camcrew-active .ak-camcrew-source-columns {
    display: none !important;
  }

  body.single-product.ak-camcrew-active #ak-camcrew-scene {
    position: relative;
    width: min(1700px, 96vw);
    min-height: calc(100vh - 120px);
    margin: 0 auto;
    padding: 1rem 1rem 2rem;
    display: block;
  }

  body.single-product.ak-camcrew-active #ak-camcrew-scene .ak-camcrew-close {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 30;
    border: 0;
    background: transparent;
    color: #f1f1f1;
    font-size: 0.83rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
  }

  body.single-product.ak-camcrew-active #ak-camcrew-scene.has-focus .ak-camcrew-close {
    opacity: 1;
    pointer-events: auto;
  }

  body.single-product.ak-camcrew-active .ak-camcrew-grid {
    min-height: min(82vh, 920px);
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(170px, 22%);
    gap: 0 0.6rem;
    align-items: stretch;
    padding: 0 clamp(0.2rem, 1.8vw, 2.2rem);
  }

  body.single-product.ak-camcrew-active .ak-camcrew-riders,
  body.single-product.ak-camcrew-active .ak-camcrew-filmers {
    display: grid;
    grid-template-rows: auto 1fr;
    min-height: 0;
    padding: 0.4rem 0;
    align-items: stretch;
  }

  body.single-product.ak-camcrew-active .ak-camcrew-category {
    text-align: center;
    margin-bottom: 0.45rem;
    font-size: 0.62rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.76);
    transition: opacity 180ms ease;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  }

  body.single-product.ak-camcrew-active #ak-camcrew-scene.has-focus .ak-camcrew-category {
    opacity: 0;
  }

  body.single-product.ak-camcrew-active .ak-camcrew-riders-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: center;
    min-height: 0;
    gap: 0;
  }

  body.single-product.ak-camcrew-active .ak-camcrew-filmers-stack {
    display: grid;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    align-items: center;
    min-height: 0;
    gap: 0.1rem;
  }

  body.single-product.ak-camcrew-active .ak-camcrew-slot {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    width: 100%;
    height: 100%;
    padding: 0 0.35rem;
    outline: none;
    cursor: pointer;
  }

  body.single-product.ak-camcrew-active .ak-camcrew-slot:focus-visible {
    box-shadow: 0 0 0 1px rgba(240, 240, 240, 0.4);
  }

  body.single-product.ak-camcrew-active .ak-camcrew-name {
    position: absolute;
    left: 50%;
    top: 70%;
    transform: translate(-50%, 8px);
    opacity: 0;
    pointer-events: none;
    font-size: 0.62rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #f1f1f1;
    border: 1px solid rgba(255, 255, 255, 0.24);
    background: rgba(0, 0, 0, 0.58);
    padding: 0.12rem 0.4rem;
    white-space: nowrap;
    transition: opacity 180ms ease, transform 180ms ease;
  }

  body.single-product.ak-camcrew-active .ak-camcrew-slot:hover .ak-camcrew-name,
  body.single-product.ak-camcrew-active .ak-camcrew-slot:focus-visible .ak-camcrew-name {
    opacity: 1;
    transform: translate(-50%, 0);
  }

  body.single-product.ak-camcrew-active .ak-camcrew-tile {
    width: 100%;
    height: 100%;
    background: transparent;
    display: block;
    cursor: pointer;
    touch-action: pan-y;
    --focus-shift: 0px;
    --focus-shift-y: 0px;
    --focus-scale: 2.38;
    transform-origin: center center;
    transition: transform 760ms ease, opacity 420ms ease, filter 420ms ease;
  }

  body.single-product.ak-camcrew-active .ak-camcrew-tile::part(default-progress-bar),
  body.single-product.ak-camcrew-active .ak-camcrew-tile::part(default-ar-button) {
    display: none;
  }

  body.single-product.ak-camcrew-active #ak-camcrew-scene:not(.has-focus) .ak-camcrew-tile {
    transition: transform 180ms cubic-bezier(0.2, 0.9, 0.25, 1.25), opacity 220ms ease, filter 220ms ease;
  }

  body.single-product.ak-camcrew-active #ak-camcrew-scene:not(.has-focus) .ak-camcrew-slot:hover .ak-camcrew-tile {
    transform: scaleX(1.01) scaleY(1.03);
    filter: brightness(1.08);
  }

  body.single-product.ak-camcrew-active #ak-camcrew-scene.has-focus .ak-camcrew-tile.ghost {
    opacity: 0;
    transform: scale(0.92);
    filter: blur(1px);
    pointer-events: none;
  }

  body.single-product.ak-camcrew-active #ak-camcrew-scene.has-focus .ak-camcrew-tile.selected {
    opacity: 1;
    z-index: 7;
    transform: translate(var(--focus-shift, 0px), var(--focus-shift-y, 0px)) scale(var(--focus-scale, 2.38));
    filter: none;
    cursor: grab;
    pointer-events: auto;
  }

  body.single-product.ak-camcrew-active #ak-camcrew-scene.has-focus .ak-camcrew-tile.selected:active {
    cursor: grabbing;
  }

  body.single-product.ak-camcrew-active .ak-camcrew-panel {
    position: absolute;
    right: clamp(0.9rem, 2vw, 1.8rem);
    top: 50%;
    width: min(420px, 31vw);
    min-height: min(74vh, 760px);
    border: 1px solid rgba(255, 255, 255, 0.26);
    background: rgba(0, 0, 0, 0.68);
    color: #f2f2f2;
    padding: 0.82rem;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    transform: translate(18px, -50%);
    opacity: 0;
    pointer-events: none;
    transition: opacity 260ms ease, transform 260ms ease;
    z-index: 18;
  }

  body.single-product.ak-camcrew-active .ak-camcrew-panel-title {
    margin: 0;
    font-size: clamp(0.85rem, 1vw, 1.05rem);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding-bottom: 0.38rem;
  }

  body.single-product.ak-camcrew-active .ak-camcrew-panel-price {
    margin: 0;
    font-size: 0.86rem;
    letter-spacing: 0.05em;
    color: rgba(255, 255, 255, 0.95);
  }

  body.single-product.ak-camcrew-active .ak-camcrew-panel-desc {
    margin: 0;
    font-size: 0.72rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.74);
  }

  body.single-product.ak-camcrew-active .ak-camcrew-panel-selected,
  body.single-product.ak-camcrew-active .ak-camcrew-panel-options-title {
    margin: 0;
    font-size: 0.63rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.8);
  }

  body.single-product.ak-camcrew-active .ak-camcrew-panel-body {
    margin-top: 0.25rem;
    display: block;
    width: 100%;
  }

  body.single-product.ak-camcrew-active .ak-camcrew-panel .ak-camcrew-no-cart {
    margin: 0;
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.72);
  }

  body.single-product.ak-camcrew-active #ak-camcrew-scene form.cart,
  body.single-product.ak-camcrew-active #ak-camcrew-scene .wp-block-add-to-cart-form,
  body.single-product.ak-camcrew-active #ak-camcrew-scene .wp-block-woocommerce-add-to-cart-form,
  body.single-product.ak-camcrew-active #ak-camcrew-scene .wc-block-add-to-cart-form,
  body.single-product.ak-camcrew-active #ak-camcrew-scene .wc-block-add-to-cart-form__input {
    position: static !important;
    transform: none !important;
    margin: 0 !important;
    width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    display: block !important;
    box-shadow: none !important;
  }

  body.single-product.ak-camcrew-active #ak-camcrew-scene table.variations {
    width: 100% !important;
    margin: 0 !important;
  }

  body.single-product.ak-camcrew-active #ak-camcrew-scene table.variations td,
  body.single-product.ak-camcrew-active #ak-camcrew-scene table.variations th {
    display: block !important;
    width: 100% !important;
  }

  body.single-product.ak-camcrew-active #ak-camcrew-scene table.variations td.label {
    margin: 0.35rem 0 0.2rem !important;
    font-size: 0.62rem !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.84) !important;
  }

  body.single-product.ak-camcrew-active #ak-camcrew-scene table.variations select,
  body.single-product.ak-camcrew-active #ak-camcrew-scene .quantity .qty {
    min-height: 34px !important;
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    border-radius: 4px !important;
    background: rgba(14, 14, 14, 0.76) !important;
    color: #f5f5f5 !important;
  }

  body.single-product.ak-camcrew-active #ak-camcrew-scene .woocommerce-variation-add-to-cart,
  body.single-product.ak-camcrew-active #ak-camcrew-scene .single_variation_wrap,
  body.single-product.ak-camcrew-active #ak-camcrew-scene .variations_button {
    width: 100% !important;
    margin-top: 0.45rem !important;
    position: static !important;
    transform: none !important;
  }

  body.single-product.ak-camcrew-active #ak-camcrew-scene .single_add_to_cart_button,
  body.single-product.ak-camcrew-active #ak-camcrew-scene button.single_add_to_cart_button,
  body.single-product.ak-camcrew-active #ak-camcrew-scene input.single_add_to_cart_button {
    width: 100% !important;
    min-height: 38px !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 4px !important;
    background: #111 !important;
    color: #f6f6f3 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    font-size: 0.68rem !important;
    font-weight: 600 !important;
    padding: 0.52rem 0.8rem !important;
    box-shadow: none !important;
  }
}

@media (max-width: 1023px) {
  body.single-product.ak-camcrew-active #ak-camcrew-scene {
    display: none !important;
  }
}

/* Hard kill: no camcorder menu UI on product scene */
body.single-product.ak-camcrew-active #camMenuWrap,
body.single-product.ak-camcrew-active .menuWrap,
body.single-product.ak-camcrew-active .menuInner,
body.single-product.ak-camcrew-active #camHomeList,
body.single-product.ak-camcrew-active #camMenuList,
body.single-product.ak-camcrew-active .menuCol,
body.single-product.ak-camcrew-active .menuPanel,
body.single-product.ak-camcrew-active .camOverlay,
body.single-product.ak-camcrew-active .osd,
body.single-product.ak-camcrew-active .controlModule,
body.single-product.ak-camcrew-active .camcorder,
body.single-product.ak-camcrew-active .camScene {
  display: none !important;
}

/* Show options window only after a 3D model focus */
@media (min-width: 1024px) {
  body.single-product.ak-camcrew-active #ak-camcrew-scene.has-focus .ak-camcrew-panel {
    opacity: 1;
    pointer-events: auto;
    transform: translate(0, -50%);
  }
}

/* WooCommerce pages: cart / checkout / account / shop archives */
@font-face {
  font-family: "Sys";
  src: url("https://s3-us-west-2.amazonaws.com/s.cdpn.io/86186/sys.ttf");
  font-display: swap;
}

body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account,
body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag {
  font-family: Sys, "Inter", "Helvetica Neue", Arial, sans-serif;
}

body.woocommerce-cart .wp-site-blocks,
body.woocommerce-checkout .wp-site-blocks,
body.woocommerce-account .wp-site-blocks,
body.post-type-archive-product .wp-site-blocks,
body.tax-product_cat .wp-site-blocks,
body.tax-product_tag .wp-site-blocks {
  background: #000;
  color: #e7e7e7;
}

body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-account .woocommerce,
body.post-type-archive-product .woocommerce,
body.tax-product_cat .woocommerce,
body.tax-product_tag .woocommerce,
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout {
  max-width: min(1320px, 94vw);
  margin: 0 auto;
  margin-top: clamp(0.35rem, 0.9vh, 0.65rem);
  margin-bottom: clamp(0.35rem, 0.9vh, 0.65rem);
  padding: clamp(0.55rem, 1.2vw, 0.95rem) clamp(0.6rem, 1.3vw, 1.05rem);
}

/* Central card panel for Cart / Checkout */
body.woocommerce-cart main[data-page="cart"],
body.woocommerce-checkout main[data-page="checkout"] {
  max-width: min(1320px, 94vw);
  margin: clamp(0.35rem, 0.9vh, 0.65rem) auto;
  padding: 0;
}

body.woocommerce-cart main[data-page="cart"] > .entry-content,
body.woocommerce-checkout main[data-page="checkout"] > .entry-content {
  position: relative;
  overflow: visible;
  background: linear-gradient(180deg, rgba(22, 22, 22, 0.95) 0%, rgba(10, 10, 10, 0.98) 100%);
  border: 1px solid #2f2f2f;
  border-radius: 8px;
  box-shadow: 0 20px 46px rgba(0, 0, 0, 0.52);
  padding: clamp(0.6rem, 1.2vw, 0.95rem);
}

body.woocommerce-cart main[data-page="cart"] > .entry-content::before,
body.woocommerce-checkout main[data-page="checkout"] > .entry-content::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    rgba(255, 255, 255, 0.05) 0 1px,
    rgba(0, 0, 0, 0.12) 1px 2px
  );
  opacity: 0.2;
  pointer-events: none;
  z-index: 1;
}

body.woocommerce-cart main[data-page="cart"] > .entry-content::after,
body.woocommerce-checkout main[data-page="checkout"] > .entry-content::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(255, 0, 0, 0.035),
    rgba(0, 255, 0, 0.018),
    rgba(0, 0, 255, 0.035)
  );
  opacity: 0.22;
  pointer-events: none;
  z-index: 1;
}

body.woocommerce-cart main[data-page="cart"] > .entry-content > *,
body.woocommerce-checkout main[data-page="checkout"] > .entry-content > * {
  position: relative;
  z-index: 2;
}

body.woocommerce-cart main[data-page="cart"] > .entry-content > .wp-block-woocommerce-cart,
body.woocommerce-checkout main[data-page="checkout"] > .entry-content > .wp-block-woocommerce-checkout {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}

/* Internal spacing inside cart / checkout boxes */
body.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-checkout .wc-block-components-sidebar-layout {
  row-gap: clamp(0.45rem, 0.9vw, 0.7rem);
  column-gap: clamp(0.45rem, 0.9vw, 0.7rem);
}

body.woocommerce-cart .wp-block-woocommerce-cart-items-block,
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
body.woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-checkout .wc-block-components-sidebar {
  padding: clamp(0.4rem, 0.85vw, 0.75rem);
}

body.woocommerce-cart .entry-content [class*="wp-block-woocommerce-"] > * + *,
body.woocommerce-checkout .entry-content [class*="wp-block-woocommerce-"] > * + * {
  margin-top: clamp(0.25rem, 0.55vw, 0.45rem);
}

body.woocommerce-cart .wc-block-cart-items .wc-block-cart-items__row,
body.woocommerce-checkout .wc-block-cart-items .wc-block-cart-items__row {
  padding-top: 0.38rem;
  padding-bottom: 0.38rem;
}

body.woocommerce-cart .woocommerce form .form-row,
body.woocommerce-checkout .woocommerce form .form-row,
body.woocommerce-account .woocommerce form .form-row {
  margin-bottom: 0.45rem;
}

body.woocommerce-checkout .wc-block-components-text-input,
body.woocommerce-checkout .wc-block-components-select,
body.woocommerce-checkout .wc-block-components-combobox-control,
body.woocommerce-checkout .wc-block-components-textarea {
  margin-bottom: 0.4rem;
}

body.woocommerce-cart .wc-block-components-totals-item,
body.woocommerce-checkout .wc-block-components-totals-item {
  padding-top: 0.24rem;
  padding-bottom: 0.24rem;
}

/* Cart layout: products left, totals right */
@media (min-width: 1024px) {
  body.woocommerce-cart .wp-block-woocommerce-filled-cart-block {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(420px, 1fr);
    gap: clamp(0.55rem, 1vw, 0.9rem);
    align-items: start;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart-items-block {
    grid-column: 1;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
    grid-column: 2;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    overflow: visible !important;
  }

  /* Receipt look on totals column: no nested boxes */
  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
    padding-left: clamp(0.45rem, 0.9vw, 0.65rem);
    border-left: 1px dashed #3b3b3b;
    overflow: visible !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-wrapper,
  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block .wc-block-components-order-summary,
  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block [class*="wp-block-woocommerce-cart-order-summary-"] {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-heading-block {
    margin-bottom: 0.24rem;
    padding-bottom: 0.2rem;
    border-bottom: 1px dashed #3b3b3b;
    text-transform: uppercase;
    letter-spacing: 0.11em;
    font-size: 0.72rem;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-item {
    border-bottom: 1px dashed #343434;
    padding-top: 0.22rem;
    padding-bottom: 0.22rem;
    margin: 0;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block .wc-block-components-totals-item:last-child {
    border-bottom: 0;
  }

  body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block {
    margin-top: 0.32rem;
    padding-top: 0.32rem;
    border-top: 1px dashed #3b3b3b;
  }

  /* Checkout methods/icons at bottom and in a row */
  body.woocommerce-cart .wp-block-woocommerce-cart-express-payment-block {
    margin-top: 0.45rem;
    width: 100%;
    overflow: visible;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart-express-payment-block > * {
    width: 100% !important;
    max-width: 100%;
    margin: 0 0 0.38rem !important;
  }

  body.woocommerce-cart #wc-stripe-express-checkout-element {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.4rem;
    width: 100%;
    overflow: visible;
  }

  body.woocommerce-cart #wc-stripe-express-checkout-element > div {
    flex: 1 1 260px;
    min-width: 260px;
    max-width: 100%;
  }

  body.woocommerce-cart #wc-stripe-express-checkout-element > div > * {
    width: 100% !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart-accepted-payment-methods-block {
    margin-top: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.34rem;
    justify-content: flex-start;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart-accepted-payment-methods-block ul,
  body.woocommerce-cart .wp-block-woocommerce-cart-accepted-payment-methods-block .wc-block-components-payment-method-icons,
  body.woocommerce-checkout .wc-block-components-payment-method-icons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.34rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  body.woocommerce-checkout .wc-block-components-radio-control {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
  }

  body.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__option {
    flex: 1 1 220px;
    margin: 0;
  }
}

body.woocommerce-cart h1,
body.woocommerce-checkout h1,
body.woocommerce-account h1,
body.woocommerce-cart h2,
body.woocommerce-checkout h2,
body.woocommerce-account h2,
body.woocommerce-cart h3,
body.woocommerce-checkout h3,
body.woocommerce-account h3 {
  color: #f0f0f0;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  font-weight: 400;
  text-shadow: 1px 1px 0 #000;
  filter: blur(0.22px);
}

body.woocommerce-cart label,
body.woocommerce-checkout label,
body.woocommerce-account label {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.74rem;
  color: #d7d7d7;
  text-shadow: 1px 1px 0 #000;
  filter: blur(0.15px);
}

body.woocommerce-cart p,
body.woocommerce-checkout p,
body.woocommerce-account p,
body.woocommerce-cart label,
body.woocommerce-checkout label,
body.woocommerce-account label,
body.woocommerce-cart li,
body.woocommerce-checkout li,
body.woocommerce-account li,
body.woocommerce-cart span,
body.woocommerce-checkout span,
body.woocommerce-account span {
  color: #d7d7d7;
}

body.woocommerce-cart a,
body.woocommerce-checkout a,
body.woocommerce-account a {
  color: #d3d7dd;
}

body.woocommerce-cart a:hover,
body.woocommerce-checkout a:hover,
body.woocommerce-account a:hover {
  color: #f3f4f6;
}

body.woocommerce-cart .woocommerce table.shop_table,
body.woocommerce-checkout .woocommerce table.shop_table,
body.woocommerce-account .woocommerce table.shop_table,
body.woocommerce-cart .wc-block-cart,
body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account .woocommerce-MyAccount-navigation {
  background: #0b0b0b;
  border: 1px solid #2a2a2a;
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.45);
}

body.woocommerce-cart .woocommerce table.shop_table th,
body.woocommerce-checkout .woocommerce table.shop_table th,
body.woocommerce-account .woocommerce table.shop_table th,
body.woocommerce-cart .woocommerce table.shop_table td,
body.woocommerce-checkout .woocommerce table.shop_table td,
body.woocommerce-account .woocommerce table.shop_table td {
  border-color: #2f2f2f;
  color: #e3e3e3;
}

body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-checkout form.checkout,
body.woocommerce-account .woocommerce-MyAccount-content {
  padding: clamp(0.45rem, 0.9vw, 0.75rem);
}

body.woocommerce-cart .cart_totals,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout .woocommerce-checkout-review-order,
body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-totals-wrapper {
  background: #101010;
  border: 1px solid #2f2f2f;
  border-radius: 8px;
  padding: clamp(0.45rem, 0.85vw, 0.7rem);
}

body.woocommerce-cart .woocommerce form .form-row input.input-text,
body.woocommerce-cart .woocommerce form .form-row textarea,
body.woocommerce-checkout .woocommerce form .form-row input.input-text,
body.woocommerce-checkout .woocommerce form .form-row textarea,
body.woocommerce-account .woocommerce form .form-row input.input-text,
body.woocommerce-account .woocommerce form .form-row textarea,
body.woocommerce-cart .woocommerce form .form-row select,
body.woocommerce-checkout .woocommerce form .form-row select,
body.woocommerce-account .woocommerce form .form-row select,
body.woocommerce-cart .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-cart .wc-block-components-combobox-control select,
body.woocommerce-checkout .wc-block-components-combobox-control select,
body.woocommerce-cart .wc-block-components-textarea textarea,
body.woocommerce-checkout .wc-block-components-textarea textarea,
body.woocommerce-cart .wc-block-components-select select,
body.woocommerce-checkout .wc-block-components-select select {
  background: #0a0a0a;
  border: 1px solid #353535;
  border-radius: 6px;
  color: #ececec;
  min-height: 36px;
}

body.woocommerce-cart .woocommerce form .form-row input.input-text:focus,
body.woocommerce-cart .woocommerce form .form-row textarea:focus,
body.woocommerce-checkout .woocommerce form .form-row input.input-text:focus,
body.woocommerce-checkout .woocommerce form .form-row textarea:focus,
body.woocommerce-account .woocommerce form .form-row input.input-text:focus,
body.woocommerce-account .woocommerce form .form-row textarea:focus,
body.woocommerce-cart .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-cart .wc-block-components-select select:focus,
body.woocommerce-checkout .wc-block-components-select select:focus {
  border-color: #8f98a4;
  box-shadow: 0 0 0 2px rgba(180, 188, 199, 0.18);
  outline: 0;
}

body.woocommerce-cart .woocommerce .quantity .qty,
body.woocommerce-checkout .woocommerce .quantity .qty {
  min-height: 36px;
  border-radius: 6px;
  background: #0a0a0a;
  border: 1px solid #353535;
  color: #f0f0f0;
}

body.woocommerce-cart .wc-block-components-radio-control .wc-block-components-radio-control__option,
body.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__option,
body.woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-checkout .wc-block-components-order-summary-item {
  border-color: #313131;
}

body.woocommerce-cart .woocommerce a.button,
body.woocommerce-cart .woocommerce button.button,
body.woocommerce-cart .woocommerce input.button,
body.woocommerce-checkout .woocommerce a.button,
body.woocommerce-checkout .woocommerce button.button,
body.woocommerce-checkout .woocommerce input.button,
body.woocommerce-account .woocommerce a.button,
body.woocommerce-account .woocommerce button.button,
body.woocommerce-account .woocommerce input.button,
body.woocommerce-cart .wc-block-components-button,
body.woocommerce-checkout .wc-block-components-button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
  background: #151515;
  border: 1px solid #3b3f46;
  border-radius: 6px;
  color: #f1f1f1;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 500;
  text-shadow: 1px 1px 0 #000;
  filter: blur(0.2px);
}

body.woocommerce-cart .woocommerce a.button:hover,
body.woocommerce-cart .woocommerce button.button:hover,
body.woocommerce-cart .woocommerce input.button:hover,
body.woocommerce-checkout .woocommerce a.button:hover,
body.woocommerce-checkout .woocommerce button.button:hover,
body.woocommerce-checkout .woocommerce input.button:hover,
body.woocommerce-account .woocommerce a.button:hover,
body.woocommerce-account .woocommerce button.button:hover,
body.woocommerce-account .woocommerce input.button:hover,
body.woocommerce-cart .wc-block-components-button:hover,
body.woocommerce-checkout .wc-block-components-button:hover,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
  background: #202020;
  color: #fff;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0.4rem 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  border-bottom: 1px solid #252525;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
  border-bottom: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 0.75rem 0.9rem;
  color: #d7dbe1;
  text-decoration: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  background: #141414;
  color: #fff;
}

body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-error {
  background: #0e0e0e;
  border: 1px solid #303030;
  border-radius: 6px;
  color: #e7e7e7;
}

@media (max-width: 900px) {
  body.woocommerce-cart .woocommerce,
  body.woocommerce-checkout .woocommerce,
  body.woocommerce-account .woocommerce,
  body.post-type-archive-product .woocommerce,
  body.tax-product_cat .woocommerce,
  body.tax-product_tag .woocommerce,
  body.woocommerce-cart .wp-block-woocommerce-cart,
  body.woocommerce-checkout .wp-block-woocommerce-checkout {
    max-width: 100%;
    margin-top: 0.65rem;
    margin-bottom: 0.65rem;
    padding-inline: 1rem;
  }
}

/* Force style on Woo "coming soon" block pages (shop/account etc.) */
body.woocommerce-shop .wp-block-woocommerce-coming-soon,
body.woocommerce-account .wp-block-woocommerce-coming-soon,
body.woocommerce-cart .wp-block-woocommerce-coming-soon,
body.woocommerce-checkout .wp-block-woocommerce-coming-soon,
body.post-type-archive-product .wp-block-woocommerce-coming-soon {
  background: #000 !important;
  color: #e6e6e6 !important;
}

body.woocommerce-shop .wp-block-woocommerce-coming-soon .wp-block-cover,
body.woocommerce-account .wp-block-woocommerce-coming-soon .wp-block-cover,
body.woocommerce-cart .wp-block-woocommerce-coming-soon .wp-block-cover,
body.woocommerce-checkout .wp-block-woocommerce-coming-soon .wp-block-cover,
body.post-type-archive-product .wp-block-woocommerce-coming-soon .wp-block-cover {
  background: #000 !important;
  color: #e6e6e6 !important;
}

body.woocommerce-shop .wp-block-woocommerce-coming-soon .wp-block-cover__background,
body.woocommerce-account .wp-block-woocommerce-coming-soon .wp-block-cover__background,
body.woocommerce-cart .wp-block-woocommerce-coming-soon .wp-block-cover__background,
body.woocommerce-checkout .wp-block-woocommerce-coming-soon .wp-block-cover__background,
body.post-type-archive-product .wp-block-woocommerce-coming-soon .wp-block-cover__background {
  background: #000 !important;
  opacity: 1 !important;
}

body.woocommerce-shop .wp-block-woocommerce-coming-soon h1,
body.woocommerce-shop .wp-block-woocommerce-coming-soon h2,
body.woocommerce-shop .wp-block-woocommerce-coming-soon h3,
body.woocommerce-account .wp-block-woocommerce-coming-soon h1,
body.woocommerce-account .wp-block-woocommerce-coming-soon h2,
body.woocommerce-account .wp-block-woocommerce-coming-soon h3,
body.woocommerce-cart .wp-block-woocommerce-coming-soon h1,
body.woocommerce-cart .wp-block-woocommerce-coming-soon h2,
body.woocommerce-cart .wp-block-woocommerce-coming-soon h3,
body.woocommerce-checkout .wp-block-woocommerce-coming-soon h1,
body.woocommerce-checkout .wp-block-woocommerce-coming-soon h2,
body.woocommerce-checkout .wp-block-woocommerce-coming-soon h3,
body.post-type-archive-product .wp-block-woocommerce-coming-soon h1,
body.post-type-archive-product .wp-block-woocommerce-coming-soon h2,
body.post-type-archive-product .wp-block-woocommerce-coming-soon h3 {
  color: #f1f1f1 !important;
}

body.woocommerce-shop .wp-block-woocommerce-coming-soon p,
body.woocommerce-shop .wp-block-woocommerce-coming-soon span,
body.woocommerce-shop .wp-block-woocommerce-coming-soon a,
body.woocommerce-account .wp-block-woocommerce-coming-soon p,
body.woocommerce-account .wp-block-woocommerce-coming-soon span,
body.woocommerce-account .wp-block-woocommerce-coming-soon a,
body.woocommerce-cart .wp-block-woocommerce-coming-soon p,
body.woocommerce-cart .wp-block-woocommerce-coming-soon span,
body.woocommerce-cart .wp-block-woocommerce-coming-soon a,
body.woocommerce-checkout .wp-block-woocommerce-coming-soon p,
body.woocommerce-checkout .wp-block-woocommerce-coming-soon span,
body.woocommerce-checkout .wp-block-woocommerce-coming-soon a,
body.post-type-archive-product .wp-block-woocommerce-coming-soon p,
body.post-type-archive-product .wp-block-woocommerce-coming-soon span,
body.post-type-archive-product .wp-block-woocommerce-coming-soon a {
  color: #cfd3da !important;
}

/* Fallback layout requested: single column + full width on cart/checkout */
@media (min-width: 1024px) {
  body.woocommerce-cart main[data-page="cart"],
  body.woocommerce-checkout main[data-page="checkout"],
  body.woocommerce-cart .woocommerce,
  body.woocommerce-checkout .woocommerce,
  body.woocommerce-cart .wp-block-woocommerce-cart,
  body.woocommerce-checkout .wp-block-woocommerce-checkout {
    width: 90% !important;
    max-width: 90% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Ensure content starts lower so it is fully visible under header */
  body.woocommerce-cart main[data-page="cart"],
  body.woocommerce-checkout main[data-page="checkout"] {
    margin-top: clamp(1.2rem, 2.8vh, 2rem) !important;
  }

  body.woocommerce-cart main[data-page="cart"] > .entry-content,
  body.woocommerce-checkout main[data-page="checkout"] > .entry-content {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-filled-cart-block {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart-items-block,
  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
    margin-top: 0.8rem !important;
    padding-left: 0 !important;
    border-left: 0 !important;
    border-top: 1px dashed #3b3b3b !important;
    padding-top: 0.6rem !important;
  }

  body.woocommerce-checkout .wc-block-components-sidebar-layout {
    display: block !important;
  }

  body.woocommerce-checkout .wc-block-components-main,
  body.woocommerce-checkout .wc-block-components-sidebar {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.woocommerce-checkout .wc-block-components-sidebar {
    margin-top: 0.8rem !important;
    border-top: 1px dashed #3b3b3b;
    padding-top: 0.6rem !important;
  }

  /* Checkout panel aligned like cart panel */
  body.woocommerce-checkout .wp-block-woocommerce-checkout,
  body.woocommerce-checkout .wc-block-checkout {
    margin-top: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Cart/Checkout item details: keep visible for selected size distinction */
body.woocommerce-cart .wc-block-components-product-details,
body.woocommerce-checkout .wc-block-components-product-details,
body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-checkout .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-cart-item__description .wc-block-components-product-details,
body.woocommerce-checkout .wc-block-cart-item__description .wc-block-components-product-details,
body.woocommerce-cart .woocommerce-cart-form .cart_item .product-name dl.variation,
body.woocommerce-checkout .woocommerce-cart-form .cart_item .product-name dl.variation {
  display: block !important;
  margin-top: 0.24rem !important;
  font-size: 0.76rem !important;
  line-height: 1.35 !important;
  color: #d3d8e0 !important;
}

body.woocommerce-cart .wc-block-components-product-details__name,
body.woocommerce-checkout .wc-block-components-product-details__name {
  color: #aeb6c2 !important;
  letter-spacing: 0.05em;
}

body.woocommerce-cart .wc-block-components-product-details__value,
body.woocommerce-checkout .wc-block-components-product-details__value {
  color: #f1f4f8 !important;
  font-weight: 600;
}

/* Remove second inner frame: keep only one outer background border */
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-cart .wc-block-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-checkout .wc-block-checkout {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Single visible panel + CRT style */
body.woocommerce-cart main[data-page="cart"] > .entry-content,
body.woocommerce-checkout main[data-page="checkout"] > .entry-content {
  position: relative !important;
  overflow: visible !important;
  background: linear-gradient(180deg, rgba(18, 18, 18, 0.96) 0%, rgba(8, 8, 8, 0.98) 100%) !important;
  border: 1px solid #2f2f2f !important;
  border-radius: 8px !important;
  box-shadow: 0 20px 46px rgba(0, 0, 0, 0.52) !important;
}

body.woocommerce-cart main[data-page="cart"] > .entry-content::before,
body.woocommerce-checkout main[data-page="checkout"] > .entry-content::before {
  opacity: 0.24 !important;
}

body.woocommerce-cart main[data-page="cart"] > .entry-content::after,
body.woocommerce-checkout main[data-page="checkout"] > .entry-content::after {
  opacity: 0.24 !important;
}

/* Checkout: avoid clipping top of Express Checkout buttons */
body.woocommerce-checkout main[data-page="checkout"] > .entry-content {
  padding-top: clamp(0.85rem, 1.5vw, 1.15rem) !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step--express,
body.woocommerce-checkout .wc-block-components-express-payment,
body.woocommerce-checkout .wc-block-components-express-payment__event-buttons,
body.woocommerce-checkout #wc-stripe-express-checkout-element {
  overflow: visible !important;
  padding-top: 0.2rem !important;
}

/* Hard fix: checkout express area must never be clipped */
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-checkout .wc-block-components-sidebar-layout,
body.woocommerce-checkout .wc-block-components-main,
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-checkout .wc-block-components-checkout-step__content {
  overflow: visible !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step--express {
  margin-top: 0 !important;
  padding-top: 0.45rem !important;
}

body.woocommerce-checkout #wc-stripe-express-checkout-element > div {
  min-width: 260px;
  overflow: visible !important;
}

body.woocommerce-checkout #wc-stripe-express-checkout-element iframe {
  display: block;
  max-width: unset;
}

/* Checkout order summary: receipt look, no nested blocks */
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-order-summary,
body.woocommerce-checkout .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-panel,
body.woocommerce-checkout .wc-block-components-order-summary-item,
body.woocommerce-checkout .wc-block-components-totals-item {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-checkout .wc-block-components-sidebar {
  padding: 0.5rem 0 0 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary {
  border-top: 1px dashed #3b3b3b !important;
  padding-top: 0.5rem !important;
}

body.woocommerce-checkout .wc-block-components-totals-item {
  border-bottom: 1px dashed #343434 !important;
  padding: 0.28rem 0 !important;
  margin: 0 !important;
}

body.woocommerce-checkout .wc-block-components-totals-item:last-child {
  border-bottom: 0 !important;
}

/* Keep only necessary summary infos */
body.woocommerce-checkout .wc-block-components-order-summary-item__image,
body.woocommerce-checkout .wc-block-components-totals-coupon,
body.woocommerce-checkout .wc-block-components-totals-coupon-link,
body.woocommerce-checkout .wc-block-components-totals-item__description {
  display: none !important;
}

/* Checkout: more side margin inside Order Review only */
body.woocommerce-checkout #order_review,
body.woocommerce-checkout .woocommerce-checkout-review-order,
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-order-summary,
body.woocommerce-checkout .wc-block-components-totals-wrapper {
  padding-left: clamp(0.95rem, 2.2vw, 1.7rem) !important;
  padding-right: clamp(0.95rem, 2.2vw, 1.7rem) !important;
}

/* More spacing + central content block (same spirit as cart/checkout panels) */
@media (min-width: 1024px) {
  body.woocommerce-shop main .entry-content,
  body.woocommerce-account main .entry-content,
  body.post-type-archive-product main .entry-content,
  body.tax-product_cat main .entry-content,
  body.tax-product_tag main .entry-content {
    position: relative;
    overflow: visible;
    max-width: min(1320px, 90vw);
    margin: clamp(1.6rem, 3.5vh, 2.5rem) auto;
    padding: clamp(0.95rem, 1.8vw, 1.3rem);
    background: linear-gradient(180deg, rgba(18, 18, 18, 0.96) 0%, rgba(8, 8, 8, 0.98) 100%);
    border: 1px solid #2f2f2f;
    border-radius: 8px;
    box-shadow: 0 20px 46px rgba(0, 0, 0, 0.52);
  }

  body.woocommerce-shop main .entry-content::before,
  body.woocommerce-account main .entry-content::before,
  body.post-type-archive-product main .entry-content::before,
  body.tax-product_cat main .entry-content::before,
  body.tax-product_tag main .entry-content::before {
    content: "";
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(
      0deg,
      rgba(255, 255, 255, 0.05) 0 1px,
      rgba(0, 0, 0, 0.12) 1px 2px
    );
    opacity: 0.22;
    pointer-events: none;
    z-index: 1;
  }

  body.woocommerce-shop main .entry-content::after,
  body.woocommerce-account main .entry-content::after,
  body.post-type-archive-product main .entry-content::after,
  body.tax-product_cat main .entry-content::after,
  body.tax-product_tag main .entry-content::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
      90deg,
      rgba(255, 0, 0, 0.03),
      rgba(0, 255, 0, 0.018),
      rgba(0, 0, 255, 0.03)
    );
    opacity: 0.2;
    pointer-events: none;
    z-index: 1;
  }

  body.woocommerce-shop main .entry-content > *,
  body.woocommerce-account main .entry-content > *,
  body.post-type-archive-product main .entry-content > *,
  body.tax-product_cat main .entry-content > *,
  body.tax-product_tag main .entry-content > * {
    position: relative;
    z-index: 2;
  }

  body.woocommerce-shop main .entry-content > .woocommerce,
  body.woocommerce-account main .entry-content > .woocommerce,
  body.post-type-archive-product main .entry-content > .woocommerce,
  body.tax-product_cat main .entry-content > .woocommerce,
  body.tax-product_tag main .entry-content > .woocommerce {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
  }

  body.woocommerce-cart main[data-page="cart"],
  body.woocommerce-checkout main[data-page="checkout"] {
    margin-top: clamp(1.8rem, 4vh, 2.6rem) !important;
  }

  body.woocommerce-cart main[data-page="cart"] > .entry-content,
  body.woocommerce-checkout main[data-page="checkout"] > .entry-content {
    padding: clamp(0.95rem, 1.8vw, 1.35rem) !important;
  }
}

/* Order received page: same structure as cart/checkout (bigger margins + one main panel) */
body.woocommerce-order-received {
  font-family: Sys, "Inter", "Helvetica Neue", Arial, sans-serif;
}

body.woocommerce-order-received .wp-site-blocks {
  background: #000;
  color: #e7e7e7;
}

body.woocommerce-order-received main[data-page="checkout"] {
  max-width: min(1320px, 94vw);
  margin: clamp(1.2rem, 2.8vh, 2rem) auto !important;
  padding: 0 !important;
}

body.woocommerce-order-received main[data-page="checkout"] > .entry-content {
  position: relative;
  overflow: visible;
  background: linear-gradient(180deg, rgba(18, 18, 18, 0.96) 0%, rgba(8, 8, 8, 0.98) 100%) !important;
  border: 1px solid #2f2f2f !important;
  border-radius: 8px !important;
  box-shadow: 0 20px 46px rgba(0, 0, 0, 0.52) !important;
  padding: clamp(0.9rem, 1.6vw, 1.25rem) !important;
}

body.woocommerce-order-received main[data-page="checkout"] > .entry-content::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    rgba(255, 255, 255, 0.05) 0 1px,
    rgba(0, 0, 0, 0.12) 1px 2px
  );
  opacity: 0.24;
  pointer-events: none;
  z-index: 1;
}

body.woocommerce-order-received main[data-page="checkout"] > .entry-content::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(255, 0, 0, 0.035),
    rgba(0, 255, 0, 0.018),
    rgba(0, 0, 255, 0.035)
  );
  opacity: 0.24;
  pointer-events: none;
  z-index: 1;
}

body.woocommerce-order-received main[data-page="checkout"] > .entry-content > * {
  position: relative;
  z-index: 2;
}

/* Fallback when order-received is rendered outside checkout block markup */
body.woocommerce-order-received .woocommerce {
  max-width: min(1320px, 94vw);
  margin: clamp(1.2rem, 2.8vh, 2rem) auto;
  padding: clamp(0.9rem, 1.6vw, 1.25rem);
  background: linear-gradient(180deg, rgba(18, 18, 18, 0.96) 0%, rgba(8, 8, 8, 0.98) 100%);
  border: 1px solid #2f2f2f;
  border-radius: 8px;
  box-shadow: 0 20px 46px rgba(0, 0, 0, 0.52);
}

/* Keep only one global box: remove inner nested boxes */
body.woocommerce-order-received .woocommerce-order,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .wc-bacs-bank-details,
body.woocommerce-order-received [class*="order-confirmation"],
body.woocommerce-order-received [class*="wc-block-order-confirmation"] {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 clamp(0.4rem, 0.9vw, 0.7rem) !important;
}

body.woocommerce-order-received h1,
body.woocommerce-order-received h2,
body.woocommerce-order-received h3 {
  color: #f0f0f0;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  font-weight: 400;
  text-shadow: 1px 1px 0 #000;
  filter: blur(0.22px);
}

body.woocommerce-order-received p,
body.woocommerce-order-received li,
body.woocommerce-order-received span,
body.woocommerce-order-received strong,
body.woocommerce-order-received label {
  color: #d7d7d7;
}

body.woocommerce-order-received a {
  color: #d3d7dd;
}

body.woocommerce-order-received a:hover {
  color: #f3f4f6;
}

body.woocommerce-order-received .woocommerce-order-overview {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.35rem;
}

body.woocommerce-order-received .woocommerce-order-overview li {
  border-bottom: 1px dashed #343434;
  padding: 0.28rem 0;
  margin: 0;
}

body.woocommerce-order-received .woocommerce-order-overview li:last-child {
  border-bottom: 0;
}

body.woocommerce-order-received .woocommerce table.shop_table,
body.woocommerce-order-received .woocommerce table.shop_table th,
body.woocommerce-order-received .woocommerce table.shop_table td,
body.woocommerce-order-received .shop_table,
body.woocommerce-order-received .shop_table th,
body.woocommerce-order-received .shop_table td {
  background: transparent;
  color: #e3e3e3;
  border-color: #2f2f2f;
}

body.woocommerce-order-received .woocommerce a.button,
body.woocommerce-order-received .woocommerce button.button,
body.woocommerce-order-received .woocommerce input.button,
body.woocommerce-order-received .wc-block-components-button {
  background: #151515;
  border: 1px solid #3b3f46;
  border-radius: 6px;
  color: #f1f1f1;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 500;
  text-shadow: 1px 1px 0 #000;
  filter: blur(0.2px);
}

body.woocommerce-order-received .woocommerce a.button:hover,
body.woocommerce-order-received .woocommerce button.button:hover,
body.woocommerce-order-received .woocommerce input.button:hover,
body.woocommerce-order-received .wc-block-components-button:hover {
  background: #202020;
  color: #fff;
}

body.woocommerce-order-received .woocommerce-info,
body.woocommerce-order-received .woocommerce-message,
body.woocommerce-order-received .woocommerce-error {
  background: #0e0e0e;
  border: 1px solid #303030;
  border-radius: 6px;
  color: #e7e7e7;
}

@media (max-width: 900px) {
  body.woocommerce-order-received main[data-page="checkout"] {
    max-width: 100%;
    margin-top: 0.65rem !important;
    margin-bottom: 0.65rem !important;
    padding-inline: 1rem !important;
  }

  body.woocommerce-order-received main[data-page="checkout"] > .entry-content,
  body.woocommerce-order-received .woocommerce {
    max-width: 100%;
    margin-top: 0.65rem;
    margin-bottom: 0.65rem;
    padding: 0.85rem !important;
  }
}

/* Order received hard override (classic + blocks) */
body.woocommerce-order-received .wp-site-blocks > main,
body.woocommerce-order-received .wp-site-blocks main {
  padding-inline: 0 !important;
}

body.woocommerce-order-received .wp-site-blocks main .entry-content,
body.woocommerce-order-received .wp-site-blocks main .woocommerce,
body.woocommerce-order-received .wp-block-woocommerce-checkout-order-confirmation-block,
body.woocommerce-order-received .wc-block-order-confirmation,
body.woocommerce-order-received .wc-block-checkout__order-confirmation,
body.woocommerce-order-received .woocommerce-order {
  max-width: min(1320px, 94vw) !important;
  margin: clamp(1.2rem, 2.8vh, 2rem) auto !important;
}

body.woocommerce-order-received .wp-site-blocks main .entry-content > .woocommerce,
body.woocommerce-order-received .wp-site-blocks main .woocommerce,
body.woocommerce-order-received .wp-block-woocommerce-checkout-order-confirmation-block,
body.woocommerce-order-received .wc-block-order-confirmation,
body.woocommerce-order-received .wc-block-checkout__order-confirmation,
body.woocommerce-order-received .woocommerce-order {
  background: linear-gradient(180deg, rgba(18, 18, 18, 0.96) 0%, rgba(8, 8, 8, 0.98) 100%) !important;
  border: 1px solid #2f2f2f !important;
  border-radius: 8px !important;
  box-shadow: 0 20px 46px rgba(0, 0, 0, 0.52) !important;
  padding: clamp(0.9rem, 1.6vw, 1.25rem) !important;
  overflow: visible !important;
}

body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .wc-bacs-bank-details,
body.woocommerce-order-received .wc-block-components-totals-wrapper,
body.woocommerce-order-received .wc-block-components-order-summary,
body.woocommerce-order-received .wc-block-components-panel {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Order received: extra side margins only (desktop) */
@media (min-width: 1024px) {
  body.woocommerce-order-received main[data-page="checkout"],
  body.woocommerce-order-received main .entry-content,
  body.woocommerce-order-received .wp-site-blocks main .entry-content,
  body.woocommerce-order-received .wp-site-blocks main .woocommerce,
  body.woocommerce-order-received .wp-block-woocommerce-checkout-order-confirmation-block,
  body.woocommerce-order-received .wc-block-order-confirmation,
  body.woocommerce-order-received .wc-block-checkout__order-confirmation,
  body.woocommerce-order-received .woocommerce-order,
  body.woocommerce-order-received .woocommerce {
    max-width: min(1320px, 86vw) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.woocommerce-order-received main[data-page="checkout"] > .entry-content,
  body.woocommerce-order-received .wp-site-blocks main .entry-content > .woocommerce,
  body.woocommerce-order-received .wp-block-woocommerce-checkout-order-confirmation-block,
  body.woocommerce-order-received .wc-block-order-confirmation,
  body.woocommerce-order-received .wc-block-checkout__order-confirmation,
  body.woocommerce-order-received .woocommerce-order,
  body.woocommerce-order-received .woocommerce {
    padding-left: clamp(1rem, 2vw, 1.55rem) !important;
    padding-right: clamp(1rem, 2vw, 1.55rem) !important;
  }
}

/* Purchase flow preorder notice (cart / checkout / order received) */
.ak-flow-guide {
  width: min(1320px, 90vw);
  margin: clamp(0.8rem, 1.7vh, 1.1rem) auto clamp(0.45rem, 1vh, 0.65rem);
  padding: clamp(0.5rem, 0.9vw, 0.72rem) clamp(0.72rem, 1.3vw, 1rem);
  border: 1px solid #343434;
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(20, 20, 20, 0.96), rgba(8, 8, 8, 0.98));
  color: #dde2ea;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}

.ak-flow-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
}

.ak-flow-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.38rem;
  min-height: 34px;
  border: 1px dashed #3b3b3b;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.02);
  color: #9aa0aa;
}

.ak-flow-step.is-done {
  color: #cfd6df;
  border-color: #4a4f57;
}

.ak-flow-step.is-active {
  color: #f4f6fa;
  border-color: #8f98a4;
  background: rgba(207, 214, 223, 0.08);
}

.ak-flow-num {
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.ak-flow-label {
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ak-flow-help {
  margin: 0.5rem 0 0;
  font-size: 0.76rem;
  line-height: 1.35;
  letter-spacing: 0.05em;
  color: #c6ccd5;
}

.ak-preorder-notice {
  width: min(1320px, 90vw);
  margin: clamp(0.7rem, 1.6vh, 1rem) auto clamp(0.55rem, 1.2vh, 0.8rem);
  padding: clamp(0.55rem, 1vw, 0.78rem) clamp(0.72rem, 1.3vw, 1rem);
  border: 1px solid #3a3a3a;
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(26, 26, 26, 0.96), rgba(11, 11, 11, 0.96));
  color: #dde2ea;
  font-size: clamp(0.72rem, 0.95vw, 0.86rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.45;
  text-shadow: 1px 1px 0 #000;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.34);
}

.ak-preorder-notice strong {
  color: #f3f4f6;
  font-weight: 700;
}

body.woocommerce-cart .ak-preorder-notice,
body.woocommerce-checkout .ak-preorder-notice,
body.woocommerce-order-received .ak-preorder-notice {
  position: relative;
  z-index: 5;
}

/* Mobile hard overrides: cart/checkout/order-received readability */
@media (max-width: 900px) {
  .ak-flow-guide {
    width: calc(100% - 1.44rem);
    margin: 0.72rem auto 0.42rem;
    padding: 0.6rem 0.68rem;
  }

  .ak-flow-steps {
    gap: 0.35rem;
  }

  .ak-flow-step {
    min-height: 32px;
    gap: 0.3rem;
  }

  .ak-flow-num,
  .ak-flow-label,
  .ak-flow-help {
    font-size: 0.73rem;
  }

  body.woocommerce-cart main[data-page="cart"],
  body.woocommerce-checkout main[data-page="checkout"],
  body.woocommerce-order-received main[data-page="checkout"],
  body.woocommerce-order-received .woocommerce {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 0.72rem 0.95rem !important;
  }

  body.woocommerce-cart main[data-page="cart"] > .entry-content,
  body.woocommerce-checkout main[data-page="checkout"] > .entry-content,
  body.woocommerce-order-received main[data-page="checkout"] > .entry-content,
  body.woocommerce-order-received .woocommerce {
    border-radius: 8px !important;
    padding: 0.82rem !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
  body.woocommerce-checkout .wc-block-components-sidebar-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.72rem !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart-items-block,
  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
  body.woocommerce-checkout .wc-block-components-main,
  body.woocommerce-checkout .wc-block-components-sidebar {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
  body.woocommerce-checkout .wc-block-components-sidebar {
    border-top: 1px dashed #3b3b3b !important;
    padding-top: 0.72rem !important;
    padding-left: 0 !important;
    border-left: 0 !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-step--express {
    margin-top: 0 !important;
    padding-top: 0.62rem !important;
  }

  body.woocommerce-checkout #wc-stripe-express-checkout-element,
  body.woocommerce-checkout #wc-stripe-express-checkout-element > div,
  body.woocommerce-checkout #wc-stripe-express-checkout-element > div > * {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.woocommerce-checkout .wc-block-components-button,
  body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
  body.woocommerce-cart .wc-block-components-button,
  body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button {
    width: 100% !important;
    min-height: 42px;
  }

  body.woocommerce-checkout .wc-block-components-totals-item,
  body.woocommerce-cart .wc-block-components-totals-item {
    padding-top: 0.34rem !important;
    padding-bottom: 0.34rem !important;
  }

  body.woocommerce-order-received .woocommerce-order-overview {
    gap: 0.52rem;
  }

  .ak-preorder-notice {
    width: calc(100% - 1.44rem);
    margin: 0.7rem auto 0.52rem;
    padding: 0.65rem 0.72rem;
    font-size: 0.74rem;
    line-height: 1.4;
    letter-spacing: 0.05em;
  }
}

@media (max-width: 640px) {
  .ak-flow-num,
  .ak-flow-label {
    font-size: 0.7rem;
    letter-spacing: 0.06em;
  }

  .ak-flow-help {
    font-size: 0.7rem;
    line-height: 1.3;
  }

  body.woocommerce-cart h1,
  body.woocommerce-checkout h1,
  body.woocommerce-order-received h1 {
    font-size: clamp(1.45rem, 8vw, 1.95rem);
  }

  body.woocommerce-cart .wc-block-cart-item__wrap,
  body.woocommerce-checkout .wc-block-components-order-summary-item__description {
    min-width: 0;
  }

  body.woocommerce-cart .wc-block-components-quantity-selector,
  body.woocommerce-cart .wc-block-components-quantity-selector input {
    max-width: 100% !important;
  }

  body.woocommerce-checkout .wc-block-components-text-input input,
  body.woocommerce-checkout .wc-block-components-select select,
  body.woocommerce-checkout .wc-block-components-combobox-control select,
  body.woocommerce-checkout .wc-block-components-textarea textarea,
  body.woocommerce-cart .wc-block-components-text-input input,
  body.woocommerce-cart .wc-block-components-select select {
    min-height: 42px;
    font-size: 16px !important;
  }
}

/* AKWRLD purchase flow redesign: cart / checkout / order received */
:root {
  --ak-flow-bg: #000;
  --ak-flow-fg: #f2f2f2;
  --ak-flow-muted: #bcbcbc;
  --ak-flow-line: #6f6f6f;
  --ak-flow-soft-line: #2f2f2f;
  --ak-flow-red: #ff2a2a;
}

body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-order-received {
  background: var(--ak-flow-bg) !important;
  color: var(--ak-flow-fg) !important;
  font-family: "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace !important;
}

body.woocommerce-cart .wp-site-blocks,
body.woocommerce-checkout .wp-site-blocks,
body.woocommerce-order-received .wp-site-blocks {
  min-height: 100vh;
  background: var(--ak-flow-bg) !important;
  color: var(--ak-flow-fg) !important;
}

body.woocommerce-cart main[data-page="cart"],
body.woocommerce-checkout main[data-page="checkout"],
body.woocommerce-order-received main[data-page="checkout"],
body.woocommerce-order-received .wp-site-blocks main {
  width: min(1180px, 90vw) !important;
  max-width: min(1180px, 90vw) !important;
  margin: clamp(18px, 5vh, 52px) auto !important;
  padding: 0 !important;
}

body.woocommerce-cart main[data-page="cart"] > .entry-content,
body.woocommerce-checkout main[data-page="checkout"] > .entry-content,
body.woocommerce-order-received main[data-page="checkout"] > .entry-content,
body.woocommerce-order-received .wp-site-blocks main .entry-content,
body.woocommerce-order-received .woocommerce {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: clamp(18px, 5vw, 58px) !important;
  background: #000 !important;
  border: 1px solid var(--ak-flow-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.woocommerce-cart main[data-page="cart"] > .entry-content::before,
body.woocommerce-cart main[data-page="cart"] > .entry-content::after,
body.woocommerce-checkout main[data-page="checkout"] > .entry-content::before,
body.woocommerce-checkout main[data-page="checkout"] > .entry-content::after,
body.woocommerce-order-received main[data-page="checkout"] > .entry-content::before,
body.woocommerce-order-received main[data-page="checkout"] > .entry-content::after {
  display: none !important;
}

body.woocommerce-cart h1,
body.woocommerce-cart h2,
body.woocommerce-cart h3,
body.woocommerce-checkout h1,
body.woocommerce-checkout h2,
body.woocommerce-checkout h3,
body.woocommerce-order-received h1,
body.woocommerce-order-received h2,
body.woocommerce-order-received h3 {
  color: var(--ak-flow-fg) !important;
  font-family: inherit !important;
  font-weight: 400 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.15 !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
  filter: none !important;
}

body.woocommerce-cart p,
body.woocommerce-cart li,
body.woocommerce-cart label,
body.woocommerce-cart span,
body.woocommerce-cart strong,
body.woocommerce-checkout p,
body.woocommerce-checkout li,
body.woocommerce-checkout label,
body.woocommerce-checkout span,
body.woocommerce-checkout strong,
body.woocommerce-order-received p,
body.woocommerce-order-received li,
body.woocommerce-order-received label,
body.woocommerce-order-received span,
body.woocommerce-order-received strong {
  color: var(--ak-flow-fg);
}

body.woocommerce-cart a,
body.woocommerce-checkout a,
body.woocommerce-order-received a {
  color: var(--ak-flow-red) !important;
  text-decoration: none;
}

body.woocommerce-cart a:hover,
body.woocommerce-checkout a:hover,
body.woocommerce-order-received a:hover {
  color: #fff !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-cart .wc-block-cart,
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-checkout .woocommerce {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

body.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
body.woocommerce-checkout .wc-block-components-sidebar-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
  gap: clamp(18px, 4vw, 42px) !important;
  align-items: start;
}

body.woocommerce-cart .wp-block-woocommerce-cart-items-block,
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
body.woocommerce-checkout .wc-block-components-main,
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-order-received .woocommerce-order,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .wc-block-order-confirmation,
body.woocommerce-order-received .wp-block-woocommerce-checkout-order-confirmation-block {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
body.woocommerce-checkout .wc-block-components-sidebar {
  border-left: 1px solid var(--ak-flow-line) !important;
  padding-left: clamp(16px, 2.4vw, 28px) !important;
}

body.woocommerce-cart table,
body.woocommerce-cart table.shop_table,
body.woocommerce-checkout table,
body.woocommerce-checkout table.shop_table,
body.woocommerce-order-received table,
body.woocommerce-order-received table.shop_table {
  background: transparent !important;
  border: 0 !important;
  border-collapse: collapse !important;
  border-radius: 0 !important;
  color: var(--ak-flow-fg) !important;
}

body.woocommerce-cart table th,
body.woocommerce-cart table td,
body.woocommerce-checkout table th,
body.woocommerce-checkout table td,
body.woocommerce-order-received table th,
body.woocommerce-order-received table td,
body.woocommerce-cart .wc-block-cart-items th,
body.woocommerce-cart .wc-block-cart-items td {
  background: transparent !important;
  border-color: var(--ak-flow-soft-line) !important;
  color: var(--ak-flow-fg) !important;
}

body.woocommerce-cart .wc-block-cart-item__image img,
body.woocommerce-checkout .wc-block-components-order-summary-item__image img,
body.woocommerce-cart .product-thumbnail img {
  border: 1px solid var(--ak-flow-soft-line) !important;
  border-radius: 0 !important;
  object-fit: cover;
}

body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-product-name,
body.woocommerce-cart .product-name a,
body.woocommerce-checkout .product-name,
body.woocommerce-order-received .product-name {
  color: var(--ak-flow-fg) !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.06em !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
}

body.woocommerce-cart .wc-block-components-product-details,
body.woocommerce-checkout .wc-block-components-product-details,
body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-checkout .wc-block-components-product-metadata,
body.woocommerce-cart dl.variation,
body.woocommerce-checkout dl.variation {
  color: var(--ak-flow-muted) !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.06em !important;
  line-height: 1.45 !important;
  text-transform: uppercase;
}

body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-order-summary,
body.woocommerce-checkout .wc-block-components-panel,
body.woocommerce-order-received .wc-block-components-totals-wrapper,
body.woocommerce-order-received .wc-block-components-panel,
body.woocommerce-cart .cart_totals {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.woocommerce-cart .wc-block-components-totals-item,
body.woocommerce-checkout .wc-block-components-totals-item,
body.woocommerce-order-received .wc-block-components-totals-item,
body.woocommerce-cart .cart_totals tr,
body.woocommerce-checkout .woocommerce-checkout-review-order tr {
  border-bottom: 1px solid var(--ak-flow-soft-line) !important;
  padding-block: 8px !important;
}

body.woocommerce-cart input,
body.woocommerce-cart select,
body.woocommerce-cart textarea,
body.woocommerce-checkout input,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea {
  min-height: 42px;
  background: #000 !important;
  border: 1px solid var(--ak-flow-line) !important;
  border-radius: 0 !important;
  color: var(--ak-flow-fg) !important;
  font-family: inherit !important;
  font-size: 16px !important;
  outline: none !important;
}

body.woocommerce-cart input:focus,
body.woocommerce-cart select:focus,
body.woocommerce-cart textarea:focus,
body.woocommerce-checkout input:focus,
body.woocommerce-checkout select:focus,
body.woocommerce-checkout textarea:focus {
  border-color: var(--ak-flow-red) !important;
  box-shadow: none !important;
}

body.woocommerce-cart .wc-block-components-button,
body.woocommerce-cart .woocommerce a.button,
body.woocommerce-cart .woocommerce button.button,
body.woocommerce-cart .woocommerce input.button,
body.woocommerce-checkout .wc-block-components-button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout .woocommerce button.button,
body.woocommerce-checkout .woocommerce input.button,
body.woocommerce-order-received .wc-block-components-button,
body.woocommerce-order-received .woocommerce a.button {
  min-height: 42px !important;
  background: #0f0f0f !important;
  border: 1px solid var(--ak-flow-line) !important;
  border-radius: 0 !important;
  color: var(--ak-flow-fg) !important;
  font-family: inherit !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
  filter: none !important;
  box-shadow: none !important;
}

body.woocommerce-cart .wc-block-components-button:hover,
body.woocommerce-cart .woocommerce a.button:hover,
body.woocommerce-cart .woocommerce button.button:hover,
body.woocommerce-cart .woocommerce input.button:hover,
body.woocommerce-checkout .wc-block-components-button:hover,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-checkout .woocommerce button.button:hover,
body.woocommerce-checkout .woocommerce input.button:hover,
body.woocommerce-order-received .wc-block-components-button:hover,
body.woocommerce-order-received .woocommerce a.button:hover {
  background: #171717 !important;
  border-color: var(--ak-flow-red) !important;
  color: #fff !important;
  transform: none !important;
}

.ak-flow-guide,
.ak-preorder-notice {
  width: min(1180px, 90vw) !important;
  margin: clamp(14px, 3vh, 28px) auto 0 !important;
  padding: 12px 14px !important;
  background: #000 !important;
  border: 1px solid var(--ak-flow-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--ak-flow-fg) !important;
  font-family: "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace !important;
}

.ak-flow-step {
  min-height: 34px;
  background: transparent !important;
  border: 1px solid var(--ak-flow-soft-line) !important;
  border-radius: 0 !important;
}

.ak-flow-step.is-active {
  border-color: var(--ak-flow-red) !important;
  color: var(--ak-flow-red) !important;
}

.ak-flow-step.is-done {
  color: var(--ak-flow-muted) !important;
}

.ak-flow-help,
.ak-preorder-notice {
  color: var(--ak-flow-muted) !important;
  letter-spacing: 0.06em !important;
  line-height: 1.4 !important;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  body.woocommerce-cart,
  body.woocommerce-checkout,
  body.woocommerce-order-received {
    overflow-x: hidden;
  }

  body.woocommerce-cart main[data-page="cart"],
  body.woocommerce-checkout main[data-page="checkout"],
  body.woocommerce-order-received main[data-page="checkout"],
  body.woocommerce-order-received .wp-site-blocks main {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 12px !important;
  }

  body.woocommerce-cart main[data-page="cart"] > .entry-content,
  body.woocommerce-checkout main[data-page="checkout"] > .entry-content,
  body.woocommerce-order-received main[data-page="checkout"] > .entry-content,
  body.woocommerce-order-received .wp-site-blocks main .entry-content,
  body.woocommerce-order-received .woocommerce {
    padding: 14px !important;
    overflow-x: hidden !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
  body.woocommerce-checkout .wc-block-components-sidebar-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
  body.woocommerce-checkout .wc-block-components-sidebar {
    border-left: 0 !important;
    border-top: 1px solid var(--ak-flow-line) !important;
    padding-left: 0 !important;
    padding-top: 18px !important;
  }

  body.woocommerce-cart .wc-block-cart-items,
  body.woocommerce-cart table.shop_table {
    display: block !important;
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  body.woocommerce-cart .wc-block-cart-item__wrap,
  body.woocommerce-checkout .wc-block-components-order-summary-item__description,
  body.woocommerce-checkout .wc-block-components-checkout-step__content {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.woocommerce-cart .wc-block-components-button,
  body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button,
  body.woocommerce-checkout .wc-block-components-button,
  body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
    width: 100% !important;
  }

  .ak-flow-guide,
  .ak-preorder-notice {
    width: calc(100% - 24px) !important;
    margin-top: 12px !important;
  }

  .ak-flow-steps {
    grid-template-columns: 1fr !important;
  }
}

/* Final purchase-flow alignment + mobile viewport safety */
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-order-received {
  overflow-x: hidden !important;
}

body.woocommerce-cart .wp-site-blocks,
body.woocommerce-checkout .wp-site-blocks,
body.woocommerce-order-received .wp-site-blocks {
  min-height: 100svh;
}

@supports (min-height: 100dvh) {
  body.woocommerce-cart .wp-site-blocks,
  body.woocommerce-checkout .wp-site-blocks,
  body.woocommerce-order-received .wp-site-blocks {
    min-height: 100dvh;
  }
}

body.woocommerce-cart main[data-page="cart"],
body.woocommerce-checkout main[data-page="checkout"],
body.woocommerce-order-received main[data-page="checkout"],
body.woocommerce-order-received .wp-site-blocks main {
  box-sizing: border-box !important;
  width: min(1120px, calc(100vw - clamp(24px, 8vw, 112px))) !important;
  max-width: 1120px !important;
  margin: clamp(18px, 4vh, 48px) auto !important;
  padding: 0 !important;
}

body.woocommerce-cart main[data-page="cart"] > .entry-content,
body.woocommerce-checkout main[data-page="checkout"] > .entry-content,
body.woocommerce-order-received main[data-page="checkout"] > .entry-content,
body.woocommerce-order-received .wp-site-blocks main .entry-content,
body.woocommerce-order-received .woocommerce {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: clamp(14px, 2vw, 24px) !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left;
}

body.woocommerce-cart main[data-page="cart"] > .entry-content > *,
body.woocommerce-checkout main[data-page="checkout"] > .entry-content > *,
body.woocommerce-order-received main[data-page="checkout"] > .entry-content > *,
body.woocommerce-order-received .wp-site-blocks main .entry-content > *,
body.woocommerce-order-received .woocommerce > * {
  width: 100% !important;
  max-width: 1040px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.woocommerce-cart h1,
body.woocommerce-cart h2,
body.woocommerce-cart h3,
body.woocommerce-checkout h1,
body.woocommerce-checkout h2,
body.woocommerce-checkout h3,
body.woocommerce-order-received h1,
body.woocommerce-order-received h2,
body.woocommerce-order-received h3,
body.woocommerce-order-received .woocommerce-notice {
  text-align: center !important;
  overflow-wrap: anywhere;
}

body.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
body.woocommerce-checkout .wc-block-components-sidebar-layout {
  width: 100% !important;
  max-width: 1040px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (min-width: 901px) {
  body.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
  body.woocommerce-checkout .wc-block-components-sidebar-layout {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px) !important;
    justify-content: center !important;
  }
}

body.woocommerce-cart .wp-block-woocommerce-cart-items-block,
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
body.woocommerce-checkout .wc-block-components-main,
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-order-received .woocommerce-order,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .wc-block-order-confirmation,
body.woocommerce-order-received .wp-block-woocommerce-checkout-order-confirmation-block {
  margin-left: auto !important;
  margin-right: auto !important;
}

.ak-flow-guide,
.ak-preorder-notice {
  width: min(1120px, calc(100vw - clamp(24px, 8vw, 112px))) !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.ak-flow-steps {
  justify-content: center !important;
}

.ak-flow-step {
  justify-content: center !important;
  text-align: center !important;
}

body.woocommerce-order-received .woocommerce-order-overview,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
  max-width: 840px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 900px) {
  body.woocommerce-cart .wp-site-blocks > header,
  body.woocommerce-checkout .wp-site-blocks > header,
  body.woocommerce-order-received .wp-site-blocks > header {
    position: sticky;
    top: 0;
    z-index: 30;
    background: #000;
    padding-top: env(safe-area-inset-top);
  }

  body.woocommerce-cart main[data-page="cart"],
  body.woocommerce-checkout main[data-page="checkout"],
  body.woocommerce-order-received main[data-page="checkout"],
  body.woocommerce-order-received .wp-site-blocks main {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding:
      max(12px, env(safe-area-inset-top))
      max(12px, env(safe-area-inset-right))
      max(18px, env(safe-area-inset-bottom))
      max(12px, env(safe-area-inset-left)) !important;
  }

  body.woocommerce-cart main[data-page="cart"] > .entry-content,
  body.woocommerce-checkout main[data-page="checkout"] > .entry-content,
  body.woocommerce-order-received main[data-page="checkout"] > .entry-content,
  body.woocommerce-order-received .wp-site-blocks main .entry-content,
  body.woocommerce-order-received .woocommerce {
    align-items: stretch !important;
    gap: 16px !important;
    padding: clamp(12px, 4vw, 18px) !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch;
  }

  body.woocommerce-cart main[data-page="cart"] > .entry-content > *,
  body.woocommerce-checkout main[data-page="checkout"] > .entry-content > *,
  body.woocommerce-order-received main[data-page="checkout"] > .entry-content > *,
  body.woocommerce-order-received .wp-site-blocks main .entry-content > *,
  body.woocommerce-order-received .woocommerce > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
  body.woocommerce-checkout .wc-block-components-sidebar-layout,
  body.woocommerce-cart .wp-block-woocommerce-cart-items-block,
  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
  body.woocommerce-checkout .wc-block-components-main,
  body.woocommerce-checkout .wc-block-components-sidebar {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.woocommerce-cart .wc-block-cart-items,
  body.woocommerce-cart table.shop_table,
  body.woocommerce-checkout table.shop_table,
  body.woocommerce-order-received table.shop_table {
    display: block !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  body.woocommerce-cart input,
  body.woocommerce-cart select,
  body.woocommerce-cart textarea,
  body.woocommerce-checkout input,
  body.woocommerce-checkout select,
  body.woocommerce-checkout textarea,
  body.woocommerce-cart .wc-block-components-button,
  body.woocommerce-checkout .wc-block-components-button,
  body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
    max-width: 100% !important;
  }

  body.woocommerce-cart .wc-block-components-product-name,
  body.woocommerce-checkout .wc-block-components-product-name,
  body.woocommerce-order-received .product-name {
    overflow-wrap: anywhere;
  }

  .ak-flow-guide,
  .ak-preorder-notice {
    width: calc(100% - 24px) !important;
    max-width: none !important;
  }
}

@media (max-width: 390px) {
  body.woocommerce-cart main[data-page="cart"],
  body.woocommerce-checkout main[data-page="checkout"],
  body.woocommerce-order-received main[data-page="checkout"],
  body.woocommerce-order-received .wp-site-blocks main {
    padding:
      max(10px, env(safe-area-inset-top))
      max(10px, env(safe-area-inset-right))
      max(16px, env(safe-area-inset-bottom))
      max(10px, env(safe-area-inset-left)) !important;
  }

  body.woocommerce-cart main[data-page="cart"] > .entry-content,
  body.woocommerce-checkout main[data-page="checkout"] > .entry-content,
  body.woocommerce-order-received main[data-page="checkout"] > .entry-content,
  body.woocommerce-order-received .wp-site-blocks main .entry-content,
  body.woocommerce-order-received .woocommerce {
    padding: 10px !important;
  }

  .ak-flow-guide,
  .ak-preorder-notice {
    width: calc(100% - 20px) !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .ak-flow-step {
    min-height: 32px;
    padding: 7px 6px !important;
  }

  body.woocommerce-cart .wc-block-components-product-name,
  body.woocommerce-checkout .wc-block-components-product-name,
  body.woocommerce-order-received .product-name {
    font-size: 0.82rem !important;
    letter-spacing: 0.03em !important;
  }

  body.woocommerce-cart .wc-block-components-button,
  body.woocommerce-checkout .wc-block-components-button,
  body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
  }
}

/* Mobile rollback: keep purchase flow readable without forcing the new centered layout */
@media (max-width: 900px) {
  body.woocommerce-cart .wp-site-blocks > header,
  body.woocommerce-checkout .wp-site-blocks > header,
  body.woocommerce-order-received .wp-site-blocks > header {
    position: relative !important;
    top: auto !important;
    z-index: auto !important;
    padding-top: 0 !important;
  }

  body.woocommerce-cart main[data-page="cart"],
  body.woocommerce-checkout main[data-page="checkout"],
  body.woocommerce-order-received main[data-page="checkout"],
  body.woocommerce-order-received .wp-site-blocks main {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 12px !important;
  }

  body.woocommerce-cart main[data-page="cart"] > .entry-content,
  body.woocommerce-checkout main[data-page="checkout"] > .entry-content,
  body.woocommerce-order-received main[data-page="checkout"] > .entry-content,
  body.woocommerce-order-received .wp-site-blocks main .entry-content,
  body.woocommerce-order-received .woocommerce {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 14px !important;
    text-align: left !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
  }

  body.woocommerce-cart main[data-page="cart"] > .entry-content > *,
  body.woocommerce-checkout main[data-page="checkout"] > .entry-content > *,
  body.woocommerce-order-received main[data-page="checkout"] > .entry-content > *,
  body.woocommerce-order-received .wp-site-blocks main .entry-content > *,
  body.woocommerce-order-received .woocommerce > * {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.woocommerce-cart h1,
  body.woocommerce-cart h2,
  body.woocommerce-cart h3,
  body.woocommerce-checkout h1,
  body.woocommerce-checkout h2,
  body.woocommerce-checkout h3,
  body.woocommerce-order-received h1,
  body.woocommerce-order-received h2,
  body.woocommerce-order-received h3,
  body.woocommerce-order-received .woocommerce-notice {
    text-align: left !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
  body.woocommerce-checkout .wc-block-components-sidebar-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart-items-block,
  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
  body.woocommerce-checkout .wc-block-components-main,
  body.woocommerce-checkout .wc-block-components-sidebar {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
  body.woocommerce-checkout .wc-block-components-sidebar {
    border-left: 0 !important;
    border-top: 1px solid var(--ak-flow-line) !important;
    padding-left: 0 !important;
    padding-top: 18px !important;
  }

  body.woocommerce-cart .wc-block-cart-items,
  body.woocommerce-cart table.shop_table,
  body.woocommerce-checkout table.shop_table,
  body.woocommerce-order-received table.shop_table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  body.woocommerce-cart .wc-block-cart-item__wrap,
  body.woocommerce-checkout .wc-block-components-order-summary-item__description,
  body.woocommerce-checkout .wc-block-components-checkout-step__content {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.woocommerce-cart .wc-block-components-button,
  body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button,
  body.woocommerce-checkout .wc-block-components-button,
  body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
    width: 100% !important;
    max-width: 100% !important;
    font-size: inherit !important;
    letter-spacing: 0.12em !important;
  }

  body.woocommerce-cart .wc-block-components-product-name,
  body.woocommerce-checkout .wc-block-components-product-name,
  body.woocommerce-order-received .product-name {
    font-size: 0.95rem !important;
    letter-spacing: 0.06em !important;
    overflow-wrap: anywhere;
  }

  .ak-flow-guide,
  .ak-preorder-notice {
    width: calc(100% - 24px) !important;
    max-width: none !important;
    margin-top: 12px !important;
    text-align: left !important;
  }

  .ak-flow-steps {
    grid-template-columns: 1fr !important;
  }

  .ak-flow-step {
    min-height: 34px;
    padding: 8px 9px !important;
    justify-content: flex-start !important;
    text-align: left !important;
  }
}

/* Desktop correction: keep the WordPress post-content wrapper visually centered */
@media (min-width: 901px) {
  body.woocommerce-cart main[data-page="cart"],
  body.woocommerce-checkout main[data-page="checkout"],
  body.woocommerce-order-received main[data-page="checkout"] {
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: min(1120px, calc(100vw - clamp(24px, 8vw, 112px))) !important;
    max-width: 1120px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.woocommerce-cart main[data-page="cart"] > .entry-content.alignwide.wp-block-post-content.has-global-padding.is-layout-constrained.wp-block-post-content-is-layout-constrained,
  body.woocommerce-checkout main[data-page="checkout"] > .entry-content.alignwide.wp-block-post-content.has-global-padding.is-layout-constrained.wp-block-post-content-is-layout-constrained,
  body.woocommerce-order-received main[data-page="checkout"] > .entry-content.alignwide.wp-block-post-content.has-global-padding.is-layout-constrained.wp-block-post-content-is-layout-constrained {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Final cart/checkout centering: all viewports, no horizontal scroll on mobile */
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-order-received,
body.woocommerce-cart .wp-site-blocks,
body.woocommerce-checkout .wp-site-blocks,
body.woocommerce-order-received .wp-site-blocks {
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

body.woocommerce-cart main[data-page="cart"],
body.woocommerce-checkout main[data-page="checkout"],
body.woocommerce-order-received main[data-page="checkout"],
body.woocommerce-order-received .wp-site-blocks main {
  box-sizing: border-box !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  width: min(1120px, calc(100vw - clamp(24px, 8vw, 112px))) !important;
  max-width: 1120px !important;
  margin: clamp(18px, 4vh, 48px) auto !important;
  padding: 0 !important;
  overflow-x: hidden !important;
}

body.woocommerce-cart main[data-page="cart"] > .entry-content,
body.woocommerce-checkout main[data-page="checkout"] > .entry-content,
body.woocommerce-order-received main[data-page="checkout"] > .entry-content,
body.woocommerce-order-received .wp-site-blocks main .entry-content,
body.woocommerce-order-received .woocommerce {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: clamp(14px, 2vw, 24px) !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  overflow-x: hidden !important;
}

body.woocommerce-cart main[data-page="cart"] > .entry-content > *,
body.woocommerce-checkout main[data-page="checkout"] > .entry-content > *,
body.woocommerce-order-received main[data-page="checkout"] > .entry-content > *,
body.woocommerce-order-received .wp-site-blocks main .entry-content > *,
body.woocommerce-order-received .woocommerce > * {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 1040px !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow-x: hidden !important;
}

body.woocommerce-cart h1,
body.woocommerce-cart h2,
body.woocommerce-cart h3,
body.woocommerce-checkout h1,
body.woocommerce-checkout h2,
body.woocommerce-checkout h3,
body.woocommerce-order-received h1,
body.woocommerce-order-received h2,
body.woocommerce-order-received h3,
body.woocommerce-order-received .woocommerce-notice,
body.woocommerce-cart .ak-preorder-notice,
body.woocommerce-checkout .ak-preorder-notice,
body.woocommerce-order-received .ak-preorder-notice,
.ak-flow-guide,
.ak-flow-help {
  text-align: center !important;
}

body.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
body.woocommerce-checkout .wc-block-components-sidebar-layout,
body.woocommerce-cart .wp-block-woocommerce-cart-items-block,
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
body.woocommerce-checkout .wc-block-components-main,
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-order-received .woocommerce-order,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .wc-block-order-confirmation,
body.woocommerce-order-received .wp-block-woocommerce-checkout-order-confirmation-block {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 1040px !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow-x: hidden !important;
}

.ak-flow-guide,
.ak-preorder-notice {
  width: min(1120px, calc(100vw - clamp(24px, 8vw, 112px))) !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.ak-flow-steps {
  justify-content: center !important;
}

.ak-flow-step {
  justify-content: center !important;
  text-align: center !important;
}

@media (max-width: 900px) {
  body.woocommerce-cart,
  body.woocommerce-checkout,
  body.woocommerce-order-received,
  body.woocommerce-cart .wp-site-blocks,
  body.woocommerce-checkout .wp-site-blocks,
  body.woocommerce-order-received .wp-site-blocks,
  body.woocommerce-cart main[data-page="cart"],
  body.woocommerce-checkout main[data-page="checkout"],
  body.woocommerce-order-received main[data-page="checkout"],
  body.woocommerce-order-received .wp-site-blocks main,
  body.woocommerce-cart main[data-page="cart"] > .entry-content,
  body.woocommerce-checkout main[data-page="checkout"] > .entry-content,
  body.woocommerce-order-received main[data-page="checkout"] > .entry-content,
  body.woocommerce-order-received .wp-site-blocks main .entry-content,
  body.woocommerce-order-received .woocommerce {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  body.woocommerce-cart main[data-page="cart"],
  body.woocommerce-checkout main[data-page="checkout"],
  body.woocommerce-order-received main[data-page="checkout"],
  body.woocommerce-order-received .wp-site-blocks main {
    width: 100% !important;
    margin: 0 auto !important;
    padding: 12px !important;
  }

  body.woocommerce-cart main[data-page="cart"] > .entry-content,
  body.woocommerce-checkout main[data-page="checkout"] > .entry-content,
  body.woocommerce-order-received main[data-page="checkout"] > .entry-content,
  body.woocommerce-order-received .wp-site-blocks main .entry-content,
  body.woocommerce-order-received .woocommerce {
    align-items: center !important;
    padding: clamp(12px, 4vw, 18px) !important;
  }

  body.woocommerce-cart main[data-page="cart"] > .entry-content > *,
  body.woocommerce-checkout main[data-page="checkout"] > .entry-content > *,
  body.woocommerce-order-received main[data-page="checkout"] > .entry-content > *,
  body.woocommerce-order-received .wp-site-blocks main .entry-content > *,
  body.woocommerce-order-received .woocommerce > * {
    max-width: 100% !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
  body.woocommerce-checkout .wc-block-components-sidebar-layout {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 18px !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
  body.woocommerce-checkout .wc-block-components-sidebar {
    border-left: 0 !important;
    border-top: 1px solid var(--ak-flow-line) !important;
    padding-left: 0 !important;
    padding-top: 18px !important;
  }

  body.woocommerce-cart .wc-block-cart-items,
  body.woocommerce-cart table.shop_table,
  body.woocommerce-checkout table.shop_table,
  body.woocommerce-order-received table.shop_table {
    display: table !important;
    table-layout: fixed !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.woocommerce-cart .wc-block-components-product-name,
  body.woocommerce-checkout .wc-block-components-product-name,
  body.woocommerce-order-received .product-name,
  body.woocommerce-cart .wc-block-cart-item__wrap,
  body.woocommerce-checkout .wc-block-components-order-summary-item__description,
  body.woocommerce-checkout .wc-block-components-checkout-step__content {
    max-width: 100% !important;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  body.woocommerce-cart input,
  body.woocommerce-cart select,
  body.woocommerce-cart textarea,
  body.woocommerce-checkout input,
  body.woocommerce-checkout select,
  body.woocommerce-checkout textarea,
  body.woocommerce-cart .wc-block-components-button,
  body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button,
  body.woocommerce-checkout .wc-block-components-button,
  body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
    width: 100% !important;
    max-width: 100% !important;
  }

  .ak-flow-guide,
  .ak-preorder-notice {
    width: calc(100% - 24px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Absolute last mobile override: centered, readable, no horizontal scroll */
@media (max-width: 900px) {
  body.woocommerce-cart,
  body.woocommerce-checkout,
  body.woocommerce-order-received,
  body.woocommerce-cart .wp-site-blocks,
  body.woocommerce-checkout .wp-site-blocks,
  body.woocommerce-order-received .wp-site-blocks,
  body.woocommerce-cart main,
  body.woocommerce-checkout main,
  body.woocommerce-order-received main {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.woocommerce-cart main[data-page="cart"],
  body.woocommerce-checkout main[data-page="checkout"],
  body.woocommerce-order-received main[data-page="checkout"],
  body.woocommerce-order-received .wp-site-blocks main {
    left: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 12px !important;
  }

  body.woocommerce-cart main[data-page="cart"] > .entry-content,
  body.woocommerce-checkout main[data-page="checkout"] > .entry-content,
  body.woocommerce-order-received main[data-page="checkout"] > .entry-content,
  body.woocommerce-order-received .wp-site-blocks main .entry-content,
  body.woocommerce-order-received .woocommerce {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 12px !important;
    text-align: center !important;
    overflow-x: hidden !important;
  }

  body.woocommerce-cart main[data-page="cart"] > .entry-content > *,
  body.woocommerce-checkout main[data-page="checkout"] > .entry-content > *,
  body.woocommerce-order-received main[data-page="checkout"] > .entry-content > *,
  body.woocommerce-order-received .wp-site-blocks main .entry-content > *,
  body.woocommerce-order-received .woocommerce > *,
  body.woocommerce-cart .wp-block-woocommerce-cart,
  body.woocommerce-cart .wc-block-cart,
  body.woocommerce-checkout .wp-block-woocommerce-checkout,
  body.woocommerce-checkout .wc-block-checkout {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow-x: hidden !important;
  }

  body.woocommerce-cart h1,
  body.woocommerce-checkout h1,
  body.woocommerce-order-received h1 {
    font-size: clamp(24px, 8vw, 34px) !important;
    line-height: 1.05 !important;
    letter-spacing: 0.06em !important;
    text-align: center !important;
  }

  body.woocommerce-cart h2,
  body.woocommerce-cart h3,
  body.woocommerce-checkout h2,
  body.woocommerce-checkout h3,
  body.woocommerce-order-received h2,
  body.woocommerce-order-received h3,
  body.woocommerce-cart .ak-preorder-notice,
  body.woocommerce-checkout .ak-preorder-notice,
  body.woocommerce-order-received .ak-preorder-notice,
  .ak-flow-guide,
  .ak-flow-help {
    text-align: center !important;
  }

  .ak-flow-guide,
  .ak-preorder-notice {
    width: calc(100% - 24px) !important;
    max-width: none !important;
    padding: 10px !important;
    line-height: 1.45 !important;
    letter-spacing: 0.04em !important;
  }

  .ak-flow-steps {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
  }

  .ak-flow-step {
    width: 100% !important;
    min-height: 36px !important;
    justify-content: center !important;
    padding: 8px !important;
    text-align: center !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
  body.woocommerce-checkout .wc-block-components-sidebar-layout {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 18px !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart-items-block,
  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
  body.woocommerce-checkout .wc-block-components-main,
  body.woocommerce-checkout .wc-block-components-sidebar,
  body.woocommerce-checkout .wc-block-components-checkout-step,
  body.woocommerce-checkout .wc-block-components-checkout-step__content,
  body.woocommerce-checkout .wc-block-components-order-summary,
  body.woocommerce-checkout .wc-block-components-panel,
  body.woocommerce-order-received .woocommerce-order,
  body.woocommerce-order-received .woocommerce-order-details,
  body.woocommerce-order-received .woocommerce-customer-details,
  body.woocommerce-order-received .wc-block-order-confirmation,
  body.woocommerce-order-received .wp-block-woocommerce-checkout-order-confirmation-block {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow-x: hidden !important;
  }

  body.woocommerce-cart .wc-block-cart-items,
  body.woocommerce-cart table.shop_table,
  body.woocommerce-checkout table.shop_table,
  body.woocommerce-order-received table.shop_table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.woocommerce-cart .wc-block-cart-items__row {
    display: grid !important;
    grid-template-columns: minmax(52px, 72px) minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px 0 !important;
  }

  body.woocommerce-cart .wc-block-cart-item__image,
  body.woocommerce-cart .wc-block-cart-item__image img,
  body.woocommerce-cart .product-thumbnail,
  body.woocommerce-cart .product-thumbnail img,
  body.woocommerce-checkout .wc-block-components-order-summary-item__image,
  body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
    width: 60px !important;
    max-width: 60px !important;
    height: auto !important;
  }

  body.woocommerce-cart .wc-block-components-product-name,
  body.woocommerce-checkout .wc-block-components-product-name,
  body.woocommerce-cart .product-name a,
  body.woocommerce-checkout .product-name,
  body.woocommerce-order-received .product-name,
  body.woocommerce-cart .wc-block-cart-item__wrap,
  body.woocommerce-checkout .wc-block-components-order-summary-item__description {
    max-width: 100% !important;
    font-size: 0.9rem !important;
    line-height: 1.25 !important;
    letter-spacing: 0.035em !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  body.woocommerce-cart .wc-block-components-product-details,
  body.woocommerce-checkout .wc-block-components-product-details,
  body.woocommerce-cart .wc-block-components-product-metadata,
  body.woocommerce-checkout .wc-block-components-product-metadata,
  body.woocommerce-cart dl.variation,
  body.woocommerce-checkout dl.variation {
    font-size: 0.76rem !important;
    line-height: 1.4 !important;
    letter-spacing: 0.04em !important;
  }

  body.woocommerce-cart .wc-block-components-quantity-selector {
    max-width: 128px !important;
    margin: 8px auto 0 !important;
  }

  body.woocommerce-cart .wc-block-components-totals-item,
  body.woocommerce-checkout .wc-block-components-totals-item,
  body.woocommerce-order-received .wc-block-components-totals-item {
    gap: 8px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    text-align: center !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-step,
  body.woocommerce-checkout .wc-block-components-checkout-step__content,
  body.woocommerce-checkout .wc-block-components-text-input,
  body.woocommerce-checkout .wc-block-components-select,
  body.woocommerce-checkout .wc-block-components-combobox-control,
  body.woocommerce-checkout .wc-block-components-textarea,
  body.woocommerce-cart .wc-block-components-text-input,
  body.woocommerce-cart .wc-block-components-select {
    text-align: left !important;
  }

  body.woocommerce-cart input,
  body.woocommerce-cart select,
  body.woocommerce-cart textarea,
  body.woocommerce-checkout input,
  body.woocommerce-checkout select,
  body.woocommerce-checkout textarea {
    min-height: 44px !important;
    width: 100% !important;
    max-width: 100% !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  body.woocommerce-cart .wc-block-components-button,
  body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button,
  body.woocommerce-checkout .wc-block-components-button,
  body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
  body.woocommerce-order-received .wc-block-components-button,
  body.woocommerce-order-received .woocommerce a.button {
    min-height: 44px !important;
    width: 100% !important;
    max-width: 100% !important;
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    text-align: center !important;
  }

  body.woocommerce-checkout #wc-stripe-express-checkout-element,
  body.woocommerce-checkout #wc-stripe-express-checkout-element > div,
  body.woocommerce-checkout .wc-block-components-express-payment,
  body.woocommerce-checkout .wc-block-components-express-payment__event-buttons {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  body.woocommerce-checkout #wc-stripe-express-checkout-element iframe {
    max-width: 100% !important;
  }
}

@media (max-width: 390px) {
  body.woocommerce-cart main[data-page="cart"],
  body.woocommerce-checkout main[data-page="checkout"],
  body.woocommerce-order-received main[data-page="checkout"],
  body.woocommerce-order-received .wp-site-blocks main {
    padding: 10px !important;
  }

  body.woocommerce-cart main[data-page="cart"] > .entry-content,
  body.woocommerce-checkout main[data-page="checkout"] > .entry-content,
  body.woocommerce-order-received main[data-page="checkout"] > .entry-content,
  body.woocommerce-order-received .wp-site-blocks main .entry-content,
  body.woocommerce-order-received .woocommerce {
    padding: 10px !important;
  }

  body.woocommerce-cart .wc-block-cart-items__row {
    grid-template-columns: minmax(46px, 56px) minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  body.woocommerce-cart .wc-block-cart-item__image,
  body.woocommerce-cart .wc-block-cart-item__image img,
  body.woocommerce-cart .product-thumbnail,
  body.woocommerce-cart .product-thumbnail img,
  body.woocommerce-checkout .wc-block-components-order-summary-item__image,
  body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
    width: 52px !important;
    max-width: 52px !important;
  }
}
