:root{
  --checkout-surface: var(--panel, var(--surface));
  --checkout-surface-strong: var(--panel-strong, var(--surface-2));
  --checkout-border: var(--border-2, var(--border));
  --checkout-text: var(--on-surface, var(--text));
  --checkout-muted: var(--on-surface-muted, var(--muted));
  --checkout-accent: var(--btn-primary-bg, var(--theme-accent-color));
  --checkout-accent-hover: var(--btn-primary-bg-hover, var(--checkout-accent));
  --checkout-accent-text: var(--btn-primary-text, var(--theme-primary-color));
}

body.woocommerce-checkout,
body.woocommerce-order-received,
body.woocommerce-cart,
body.single-product{
  --checkout-surface: #ffffff;
  --checkout-surface-strong: #f7f7f7;
  --checkout-border: #d7dce3;
  --checkout-text: #111827;
  --checkout-muted: #6b7280;
  --field-bg: #ffffff;
  --field-bg-focus: #ffffff;
  --field-border: #cbd5e1;
  --field-border-focus: #94a3b8;
  background: #ffffff;
  background-image: none;
  color: #111827;
}

body.woocommerce-checkout .page,
body.woocommerce-order-received .page,
body.woocommerce-cart .page,
body.single-product .page{
  background: #ffffff;
  color: var(--checkout-text);
}

body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-order-received .woocommerce{
  color: var(--checkout-text);
}

body.woocommerce-checkout .woocommerce a,
body.woocommerce-checkout .wc-block-checkout a,
body.woocommerce-order-received .woocommerce a{
  color: var(--checkout-accent);
}

body.woocommerce-checkout .woocommerce a:hover,
body.woocommerce-checkout .wc-block-checkout a:hover,
body.woocommerce-order-received .woocommerce a:hover{
  opacity: .88;
}

body.woocommerce-checkout .woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout .woocommerce-checkout #customer_details .col-2,
body.woocommerce-checkout .woocommerce-checkout #order_review,
body.woocommerce-checkout .woocommerce-checkout .woocommerce-checkout-payment,
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-order-received .woocommerce-order{
  background: var(--checkout-surface);
  border: 1px solid var(--checkout-border);
  border-radius: var(--radius-md);
  padding: 20px;
}

body.woocommerce-checkout .woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout .woocommerce-checkout #customer_details .col-2,
body.woocommerce-checkout .woocommerce-checkout #order_review,
body.woocommerce-checkout .woocommerce-checkout .woocommerce-checkout-payment,
body.woocommerce-order-received .woocommerce-order{
  padding: 24px;
}

body.woocommerce-checkout .woocommerce h3,
body.woocommerce-checkout .woocommerce h4,
body.woocommerce-checkout .woocommerce h5,
body.woocommerce-checkout .wc-block-components-title,
body.woocommerce-checkout .wc-block-components-checkout-step__heading,
body.woocommerce-order-received .woocommerce h2,
body.woocommerce-order-received .woocommerce h3{
  color: var(--checkout-text);
}

body.woocommerce-checkout .woocommerce .form-row label,
body.woocommerce-checkout .woocommerce .woocommerce-form__label,
body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-checkbox label,
body.woocommerce-checkout .wc-block-components-radio-control__option-layout,
body.woocommerce-order-received .woocommerce{
  color: var(--checkout-text);
}

body.woocommerce-checkout .woocommerce .form-row input.input-text,
body.woocommerce-checkout .woocommerce .form-row textarea,
body.woocommerce-checkout .woocommerce .form-row select,
body.woocommerce-checkout .select2-container--default .select2-selection--single,
body.woocommerce-checkout .select2-container--default .select2-selection--multiple,
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-text-input select,
body.woocommerce-checkout .wc-block-components-text-input textarea,
body.woocommerce-checkout .wc-block-components-combobox .components-combobox-control__input,
body.woocommerce-checkout .wc-block-components-combobox-control .components-input-control__container,
body.woocommerce-checkout .wc-block-components-address-card,
body.woocommerce-checkout .wc-block-components-totals-coupon,
body.woocommerce-order-received .woocommerce table.shop_table{
  background: white;
  border: 1px solid var(--field-border);
  border-radius: 12px;
  color: var(--checkout-text);
}

body.woocommerce-checkout .woocommerce .form-row input.input-text,
body.woocommerce-checkout .woocommerce .form-row select,
body.woocommerce-checkout .select2-container--default .select2-selection--single,
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-text-input select,
body.woocommerce-checkout .wc-block-components-combobox .components-combobox-control__input,
body.woocommerce-checkout .wc-block-components-combobox-control .components-input-control__container{
  min-height: 46px;
}

body.woocommerce-checkout .woocommerce .form-row input.input-text::placeholder,
body.woocommerce-checkout .woocommerce .form-row textarea::placeholder,
body.woocommerce-checkout .wc-block-components-text-input input::placeholder,
body.woocommerce-checkout .wc-block-components-text-input textarea::placeholder{
  color: var(--checkout-muted);
}

body.woocommerce-checkout .woocommerce .form-row input.input-text:focus,
body.woocommerce-checkout .woocommerce .form-row textarea:focus,
body.woocommerce-checkout .woocommerce .form-row select:focus,
body.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single,
body.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--multiple,
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-text-input select:focus,
body.woocommerce-checkout .wc-block-components-text-input textarea:focus,
body.woocommerce-checkout .wc-block-components-combobox .components-combobox-control__input:focus,
body.woocommerce-checkout .wc-block-components-combobox-control .components-input-control__container:focus-within{
  background: white;
  border-color: var(--field-border-focus);
  box-shadow: 0 0 0 3px var(--ring);
  outline: none;
}

body.woocommerce-checkout .woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered,
body.woocommerce-checkout .woocommerce .select2-container--default .select2-selection--single .select2-selection__placeholder,
body.woocommerce-checkout .woocommerce .select2-container--default .select2-selection--multiple .select2-selection__rendered{
  color: var(--checkout-text);
}

body.woocommerce-checkout .woocommerce table.shop_table,
body.woocommerce-order-received .woocommerce table.shop_table{
  border-collapse: separate;
  border-spacing: 0;
  color: var(--checkout-text);
}

body.woocommerce-checkout .woocommerce table.shop_table th,
body.woocommerce-checkout .woocommerce table.shop_table td,
body.woocommerce-order-received .woocommerce table.shop_table th,
body.woocommerce-order-received .woocommerce table.shop_table td{
  border-color: var(--checkout-border);
}

body.woocommerce-checkout .woocommerce table.shop_table tfoot th,
body.woocommerce-checkout .woocommerce table.shop_table tfoot td,
body.woocommerce-checkout .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-order-summary,
body.woocommerce-checkout .wc-block-components-order-summary-item__description,
body.woocommerce-order-received .woocommerce table.shop_table tfoot th,
body.woocommerce-order-received .woocommerce table.shop_table tfoot td{
  color: var(--checkout-text);
}

body.woocommerce-checkout .woocommerce table.shop_table .order-total th,
body.woocommerce-checkout .woocommerce table.shop_table .order-total td,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.woocommerce-order-received .woocommerce table.shop_table .order-total th,
body.woocommerce-order-received .woocommerce table.shop_table .order-total td{
  color: var(--checkout-accent);
}

body.woocommerce-checkout #payment,
body.woocommerce-checkout #payment ul.payment_methods,
body.woocommerce-checkout #payment div.payment_box,
body.woocommerce-checkout .wc-block-checkout__payment-method,
body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-panel{
  background: var(--checkout-surface-strong);
  color: var(--checkout-text);
  border-color: var(--checkout-border);
}

body.woocommerce-checkout #payment div.payment_box::before{
  border-bottom-color: var(--checkout-surface-strong);
}

body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .wc-block-components-notice-banner,
body.woocommerce-order-received .woocommerce-message{
  background: var(--checkout-surface-strong);
  background: white;
  border: 1px solid var(--checkout-border);
  border-left: 4px solid var(--checkout-accent);
  border-radius: 14px;
  color: var(--checkout-text);
}

body.woocommerce-checkout .woocommerce button.button,
body.woocommerce-checkout .woocommerce a.button,
body.woocommerce-checkout .woocommerce #payment #place_order,
body.woocommerce-checkout .wc-block-components-button,
body.woocommerce-order-received .woocommerce a.button{
  background: var(--checkout-accent);
  border: 1px solid var(--btn-primary-border, var(--checkout-accent));
  border-radius: 999px;
  
  color: var(--checkout-accent-text) !important;
  transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

body.woocommerce-checkout .woocommerce button.button:hover,
body.woocommerce-checkout .woocommerce a.button:hover,
body.woocommerce-checkout .woocommerce #payment #place_order:hover,
body.woocommerce-checkout .wc-block-components-button:hover,
body.woocommerce-order-received .woocommerce a.button:hover{
  background: var(--checkout-accent-hover);
  color: var(--checkout-accent-text) !important;
  transform: translateY(-1px);
}

body.woocommerce-checkout .woocommerce button.button *,
body.woocommerce-checkout .woocommerce a.button *,
body.woocommerce-checkout .woocommerce #payment #place_order *,
body.woocommerce-checkout .wc-block-components-button *,
body.woocommerce-order-received .woocommerce a.button *{
  color: white;
}

body.woocommerce-checkout .woocommerce button.button:focus,
body.woocommerce-checkout .woocommerce a.button:focus,
body.woocommerce-checkout .woocommerce #payment #place_order:focus,
body.woocommerce-checkout .wc-block-components-button:focus,
body.woocommerce-order-received .woocommerce a.button:focus{
  box-shadow: 0 0 0 3px var(--ring), var(--btn-primary-shadow, var(--shadow-sm));
  outline: none;
}

body.woocommerce-checkout input[type="checkbox"],
body.woocommerce-checkout input[type="radio"]{
  accent-color: var(--checkout-accent);
}

body.woocommerce-cart .woocommerce,
body.woocommerce-cart .wc-block-cart{
  color: var(--checkout-text);
}

body.woocommerce-cart .woocommerce a,
body.woocommerce-cart .wc-block-cart a{
  color: var(--checkout-accent);
}

body.woocommerce-cart .woocommerce a:hover,
body.woocommerce-cart .wc-block-cart a:hover{
  opacity: .88;
}

body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart_totals,
body.woocommerce-cart .wc-block-cart-items,
body.woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-components-order-summary{
  background: var(--checkout-surface);
  border: 1px solid var(--checkout-border);
  border-radius: var(--radius-md);
}

body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart_totals,
body.woocommerce-cart .wc-block-cart__sidebar{
  padding: 20px;
  margin-top: 20px;
}

body.woocommerce-cart .woocommerce h2,
body.woocommerce-cart .woocommerce h3,
body.woocommerce-cart .wc-block-components-title,
body.woocommerce-cart .wc-block-cart__totals-title{
  color: var(--checkout-text);
}

body.woocommerce-cart .woocommerce table.shop_table,
body.woocommerce-cart .wc-block-cart-items{
  border-collapse: separate;
  border-spacing: 0;
  color: var(--checkout-text);
}

body.woocommerce-cart .woocommerce table.shop_table th,
body.woocommerce-cart .woocommerce table.shop_table td,
body.woocommerce-cart .wc-block-cart-items th,
body.woocommerce-cart .wc-block-cart-items td{
  border-color: var(--checkout-border);
  color: var(--checkout-text);
  padding: 10px;
  vertical-align: middle;
}

body.woocommerce-cart .woocommerce table.shop_table img,
body.woocommerce-cart .wc-block-cart-items img{
  border-radius: 12px;
}

body.woocommerce-cart .woocommerce table.cart td.actions,
body.woocommerce-cart .woocommerce .cart_totals table th,
body.woocommerce-cart .woocommerce .cart_totals table td{
  padding: 18px;
}

body.woocommerce-cart .woocommerce table.cart td.product-name,
body.woocommerce-cart .woocommerce table.cart td.product-price,
body.woocommerce-cart .woocommerce table.cart td.product-quantity,
body.woocommerce-cart .woocommerce table.cart td.product-subtotal{
  line-height: 1.5;
}

body.woocommerce-cart .wc-block-cart-item__wrap,
body.woocommerce-cart .wc-block-components-totals-item,
body.woocommerce-cart .wc-block-components-panel__content,
body.woocommerce-cart .wc-block-components-order-summary-item{
  padding: 14px 18px;
}

body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon,
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-order-summary{
  padding: 10px;
}

body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon .wc-block-components-panel__button{
  padding-left: 0;
  padding-right: 0;
}

body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon + .wc-block-components-totals-wrapper{
  margin-top: 18px;
}

body.woocommerce-cart .woocommerce table.shop_table .order-total th,
body.woocommerce-cart .woocommerce table.shop_table .order-total td,
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  color: var(--checkout-accent);
}

body.woocommerce-cart .woocommerce .coupon .input-text,
body.woocommerce-cart .woocommerce .qty,
body.woocommerce-cart .wc-block-components-quantity-selector input,
body.woocommerce-cart .wc-block-components-text-input input{
  background: #ffffff;
  border: 1px solid var(--field-border);
  border-radius: 12px;
  color: var(--checkout-text);
  min-height: 46px;
}

body.woocommerce-cart .woocommerce .coupon .input-text,
body.woocommerce-cart .wc-block-components-text-input input{
  padding: 0 14px;
}

body.woocommerce-cart .woocommerce .coupon .input-text:focus,
body.woocommerce-cart .woocommerce .qty:focus,
body.woocommerce-cart .wc-block-components-quantity-selector input:focus,
body.woocommerce-cart .wc-block-components-text-input input:focus{
  background: #ffffff;
  border-color: var(--field-border-focus);
  box-shadow: 0 0 0 3px var(--ring);
  outline: none;
}

body.woocommerce-cart .woocommerce .coupon .input-text::placeholder,
body.woocommerce-cart .wc-block-components-text-input input::placeholder{
  color: var(--checkout-muted);
}

body.woocommerce-cart .woocommerce-error,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .wc-block-components-notice-banner{
  background: #ffffff;
  border: 1px solid var(--checkout-border);
  border-left: 4px solid var(--checkout-accent);
  border-radius: 14px;
  color: var(--checkout-text);
}

body.woocommerce-cart .woocommerce button.button,
body.woocommerce-cart .woocommerce a.button,
body.woocommerce-cart .woocommerce .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart .wc-block-cart .wc-block-components-button,
body.woocommerce-cart .wc-block-cart__submit-button{
  background: var(--checkout-accent);
  border: 1px solid var(--btn-primary-border, var(--checkout-accent));
  border-radius: 999px;
  color: var(--checkout-accent-text) !important;
  transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

body.woocommerce-cart .woocommerce button.button:hover,
body.woocommerce-cart .woocommerce a.button:hover,
body.woocommerce-cart .woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-cart .wc-block-cart .wc-block-components-button:hover,
body.woocommerce-cart .wc-block-cart__submit-button:hover{
  background: var(--checkout-accent-hover);
  color: var(--checkout-accent-text) !important;
  transform: translateY(-1px);
}

body.woocommerce-cart .woocommerce button.button *,
body.woocommerce-cart .woocommerce a.button *,
body.woocommerce-cart .woocommerce .wc-proceed-to-checkout a.checkout-button *,
body.woocommerce-cart .wc-block-cart .wc-block-components-button *,
body.woocommerce-cart .wc-block-cart__submit-button *{
  color: white;
}

body.woocommerce-cart .woocommerce button.button:focus,
body.woocommerce-cart .woocommerce a.button:focus,
body.woocommerce-cart .woocommerce .wc-proceed-to-checkout a.checkout-button:focus,
body.woocommerce-cart .wc-block-cart .wc-block-components-button:focus,
body.woocommerce-cart .wc-block-cart__submit-button:focus{
  box-shadow: 0 0 0 3px var(--ring), var(--btn-primary-shadow, var(--shadow-sm));
  outline: none;
}

body.single-product .woocommerce{
  color: var(--checkout-text);
}

body.single-product,
body.single-product main,
body.single-product #primary,
body.single-product #main,
body.single-product .content-area,
body.single-product .site-main,
body.single-product .site-content,
body.single-product .woocommerce{
  background: #ffffff !important;
  background-image: none !important;
  color: var(--checkout-text);
}

body.single-product .woocommerce a{
  color: var(--checkout-accent);
}

body.single-product .woocommerce a:hover{
  opacity: .88;
}

body.single-product .woocommerce div.product .images,
body.single-product .woocommerce div.product .summary,
body.single-product .woocommerce div.product .woocommerce-tabs,
body.single-product .woocommerce .related.products,
body.single-product .woocommerce .up-sells.upsells.products{
  background: var(--checkout-surface);
  border: 1px solid var(--checkout-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  padding: 24px;
}

body.single-product .woocommerce div.product{
  display: grid;
  gap: 28px;
}

body.single-product .woocommerce div.product div.images,
body.single-product .woocommerce div.product div.summary{
  float: none;
  margin: 0;
  width: 100%;
}

@media (min-width: 992px){
  body.single-product .woocommerce div.product{
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
    align-items: start;
  }
}

body.single-product .woocommerce div.product img,
body.single-product .woocommerce div.product .woocommerce-product-gallery__image img{
  border-radius: 14px;
}

body.single-product .woocommerce div.product .product_title,
body.single-product .woocommerce div.product .price,
body.single-product .woocommerce div.product .woocommerce-tabs h2,
body.single-product .woocommerce div.product .related.products h2,
body.single-product .woocommerce div.product .up-sells.upsells.products h2{
  color: var(--checkout-text);
}

body.single-product .woocommerce div.product .price,
body.single-product .woocommerce div.product .price ins,
body.single-product .woocommerce div.product p.price{
  color: var(--checkout-accent);
}

body.single-product .woocommerce div.product .woocommerce-product-details__short-description,
body.single-product .woocommerce div.product .product_meta,
body.single-product .woocommerce div.product .woocommerce-tabs .panel,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a{
  color: var(--checkout-text);
}

body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs{
  margin: 0 0 20px;
  padding: 0;
}

body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::before,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::after{
  display: none;
}

body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li{
  background: transparent;
  border: 1px solid var(--checkout-border);
  border-radius: 999px;
  margin: 0 10px 10px 0;
  padding: 0;
}

body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active{
  background: var(--checkout-surface-strong);
  border-color: var(--checkout-accent);
}

body.single-product .woocommerce div.product form.cart .variations select,
body.single-product .woocommerce div.product form.cart .quantity .qty,
body.single-product .woocommerce #review_form input,
body.single-product .woocommerce #review_form textarea,
body.single-product .woocommerce #review_form select{
  background: #ffffff;
  border: 1px solid var(--field-border);
  border-radius: 12px;
  color: var(--checkout-text);
  min-height: 46px;
}

body.single-product .woocommerce div.product form.cart .variations select,
body.single-product .woocommerce #review_form input,
body.single-product .woocommerce #review_form textarea,
body.single-product .woocommerce #review_form select{
  padding: 10px 14px;
}

body.single-product .woocommerce div.product form.cart .variations select:focus,
body.single-product .woocommerce div.product form.cart .quantity .qty:focus,
body.single-product .woocommerce #review_form input:focus,
body.single-product .woocommerce #review_form textarea:focus,
body.single-product .woocommerce #review_form select:focus{
  background: #ffffff;
  border-color: var(--field-border-focus);
  box-shadow: 0 0 0 3px var(--ring);
  outline: none;
}

body.single-product .woocommerce button.button,
body.single-product .woocommerce a.button,
body.single-product .woocommerce button.single_add_to_cart_button,
body.single-product .woocommerce a.add_to_cart_button{
  background: var(--checkout-accent);
  border: 1px solid var(--btn-primary-border, var(--checkout-accent));
  border-radius: 999px;
  box-shadow: var(--btn-primary-shadow, var(--shadow-sm));
  color: white;
  transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

body.single-product .woocommerce button.button:hover,
body.single-product .woocommerce a.button:hover,
body.single-product .woocommerce button.single_add_to_cart_button:hover,
body.single-product .woocommerce a.add_to_cart_button:hover{
  background: var(--checkout-accent-hover);
  color: var(--checkout-accent-text) !important;
  transform: translateY(-1px);
}

body.single-product .woocommerce button.button *,
body.single-product .woocommerce a.button *,
body.single-product .woocommerce button.single_add_to_cart_button *,
body.single-product .woocommerce a.add_to_cart_button *{
  color: white;
}

body.single-product .woocommerce button.button:focus,
body.single-product .woocommerce a.button:focus,
body.single-product .woocommerce button.single_add_to_cart_button:focus,
body.single-product .woocommerce a.add_to_cart_button:focus{
  box-shadow: 0 0 0 3px var(--ring), var(--btn-primary-shadow, var(--shadow-sm));
  outline: none;
}

body.single-product .woocommerce-message,
body.single-product .woocommerce-info,
body.single-product .woocommerce-error{
  background: #ffffff;
  border: 1px solid var(--checkout-border);
  border-left: 4px solid var(--checkout-accent);
  border-radius: 14px;
  color: var(--checkout-text);
}

body.single-product .container{
  max-width: 1240px;
}

body.single-product article > .u-mt-0{
  font-size: clamp(2rem, 4vw, 3rem);
  letter-spacing: -.03em;
  line-height: .98;
  margin-bottom: 10px;
}

body.single-product .post-card__meta{
  display: none;
}

body.single-product .woocommerce{
  margin-top: 12px;
}

body.single-product .woocommerce div.product{
  gap: clamp(24px, 3vw, 40px);
  align-items: start;
}

body.single-product .woocommerce div.product > .images{
  grid-column: 1;
}

body.single-product .woocommerce div.product > .summary{
  grid-column: 2;
}

body.single-product .woocommerce div.product > .woocommerce-tabs,
body.single-product .woocommerce div.product > .related.products,
body.single-product .woocommerce div.product > .up-sells.upsells.products{
  grid-column: 1 / -1;
  width: 100%;
}

body.single-product .woocommerce div.product .images{
  background: linear-gradient(180deg, #fcfdff 0%, #f2f5f9 100%);
  overflow: hidden;
  padding: 18px;
}

body.single-product .woocommerce div.product .summary{
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 24px 56px rgba(15, 23, 42, .12);
  display: grid;
  gap: 18px;
  padding: clamp(24px, 3vw, 32px);
}

@media (min-width: 992px){
  body.single-product .woocommerce div.product{
    grid-template-columns: minmax(0, .92fr) minmax(360px, 440px);
    justify-content: center;
  }
}

body.single-product .woocommerce div.product .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce div.product .woocommerce-product-gallery__image{
  border-radius: 18px;
  overflow: hidden;
}

body.single-product .woocommerce div.product .woocommerce-product-gallery__image{
  align-items: center;
  background: linear-gradient(180deg, #f8fafc 0%, #edf2f7 100%);
  display: grid;
  min-height: clamp(320px, 56vh, 640px);
  padding: 18px;
}

body.single-product .woocommerce div.product img,
body.single-product .woocommerce div.product .woocommerce-product-gallery__image img{
  display: block;
  height: clamp(300px, 52vh, 600px);
  margin: 0 auto;
  max-width: min(100%, 600px);
  object-fit: contain;
  object-position: center;
  width: 100%;
}

body.single-product .woocommerce div.product .woocommerce-product-gallery__trigger{
  background: rgba(255, 255, 255, .94);
  border-radius: 999px;
  box-shadow: var(--shadow-sm);
  right: 16px;
  top: 16px;
}

body.single-product .woocommerce div.product .flex-control-thumbs{
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(72px, 1fr));
  margin-top: 14px;
}

body.single-product .woocommerce div.product .flex-control-thumbs li{
  float: none !important;
  list-style: none;
  width: auto !important;
}

body.single-product .woocommerce div.product .flex-control-thumbs li img{
  border: 1px solid var(--checkout-border);
  border-radius: 12px;
  height: 92px;
  object-fit: cover;
  opacity: 1;
  padding: 0;
}

body.single-product .woocommerce div.product .product_title{
  font-size: clamp(1.85rem, 3vw, 2.7rem);
  letter-spacing: -.035em;
  line-height: 1;
  margin: 0;
}

body.single-product .woocommerce div.product .price,
body.single-product .woocommerce div.product .price ins,
body.single-product .woocommerce div.product p.price{
  font-size: clamp(1.5rem, 2.2vw, 2rem);
  font-weight: 700;
  margin: 0;
}

body.single-product .woocommerce div.product .woocommerce-product-details__short-description{
  color: var(--checkout-muted);
  font-size: 1rem;
  line-height: 1.6;
}

body.single-product .woocommerce div.product form.cart{
  display: grid;
  gap: 16px;
  margin-top: 4px;
}

body.single-product .woocommerce div.product form.cart table.variations{
  margin-bottom: 0;
}

body.single-product .woocommerce div.product form.cart .variations th,
body.single-product .woocommerce div.product form.cart .variations td{
  padding: 0 0 12px;
  vertical-align: middle;
}

body.single-product .woocommerce div.product form.cart .variations label{
  color: var(--checkout-text);
  font-size: .98rem;
  font-weight: 700;
}

body.single-product .woocommerce div.product form.cart .reset_variations{
  align-self: center;
  color: var(--checkout-accent);
  font-size: .95rem;
}

body.single-product .woocommerce div.product form.cart .single_variation_wrap,
body.single-product .woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
body.single-product .woocommerce div.product form.cart:not(.variations_form){
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

body.single-product .woocommerce div.product form.cart .quantity .qty{
  min-width: 84px;
  padding: 10px 12px;
  text-align: center;
}

body.single-product .woocommerce div.product button.single_add_to_cart_button{
  font-weight: 700;
  min-height: 48px;
  padding: 0 22px;
}

body.single-product .woocommerce div.product .stock{
  color: var(--checkout-text);
  font-weight: 700;
}

body.single-product .woocommerce div.product .product_meta{
  border-top: 1px solid var(--checkout-border);
  font-size: .95rem;
  margin-top: 6px;
  padding-top: 18px;
}

body.single-product .woocommerce div.product .product_meta > span{
  display: block;
  padding: 4px 0;
}

body.single-product .woocommerce div.product .woocommerce-tabs,
body.single-product .woocommerce .related.products,
body.single-product .woocommerce .up-sells.upsells.products{
  margin-top: 28px;
}

body.single-product .woocommerce .related.products ul.products,
body.single-product .woocommerce .up-sells.upsells.products ul.products{
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  list-style: none;
  margin: 20px 0 0;
  padding: 0;
}

body.single-product .woocommerce .related.products ul.products::before,
body.single-product .woocommerce .related.products ul.products::after,
body.single-product .woocommerce .up-sells.upsells.products ul.products::before,
body.single-product .woocommerce .up-sells.upsells.products ul.products::after{
  display: none;
}

body.single-product .woocommerce .related.products ul.products li.product,
body.single-product .woocommerce .up-sells.upsells.products ul.products li.product{
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid var(--checkout-border);
  border-radius: 18px;
  box-shadow: var(--shadow-sm);
  display: grid;
  float: none;
  margin: 0;
  min-width: 0;
  overflow: hidden;
  padding: 14px;
  width: auto;
}

body.single-product .woocommerce .related.products ul.products li.product a,
body.single-product .woocommerce .up-sells.upsells.products ul.products li.product a{
  color: var(--checkout-text);
  color: white !important;
  display: grid;
  gap: 12px;
  min-width: 0;
  text-decoration: none;
}

body.single-product .woocommerce .related.products ul.products li.product a img,
body.single-product .woocommerce .up-sells.upsells.products ul.products li.product a img{
  aspect-ratio: 4 / 5;
  background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
  border-radius: 14px;
  height: auto;
  max-width: none;
  object-fit: cover;
  width: 100%;
}

body.single-product .woocommerce .related.products ul.products li.product .woocommerce-loop-product__title,
body.single-product .woocommerce .up-sells.upsells.products ul.products li.product .woocommerce-loop-product__title{
  color: var(--checkout-text);
  font-size: 1rem;
  line-height: 1.3;
  margin: 0;
  min-width: 0;
}

body.single-product .woocommerce .related.products ul.products li.product .price,
body.single-product .woocommerce .related.products ul.products li.product .price ins,
body.single-product .woocommerce .related.products ul.products li.product .price .amount,
body.single-product .woocommerce .up-sells.upsells.products ul.products li.product .price,
body.single-product .woocommerce .up-sells.upsells.products ul.products li.product .price ins,
body.single-product .woocommerce .up-sells.upsells.products ul.products li.product .price .amount{
  color: var(--checkout-accent);
  display: block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
  margin: 0;
  position: static;
}

body.single-product .woocommerce .related.products ul.products li.product .button,
body.single-product .woocommerce .up-sells.upsells.products ul.products li.product .button{
  justify-self: start;
  margin-top: 14px;
}

body.single-product .woocommerce div.product .woocommerce-tabs .panel{
  color: var(--checkout-muted);
  line-height: 1.7;
  padding-top: 12px;
}

@media (max-width: 991px){
  body.single-product .woocommerce div.product > .images,
  body.single-product .woocommerce div.product > .summary,
  body.single-product .woocommerce div.product > .woocommerce-tabs,
  body.single-product .woocommerce div.product > .related.products,
  body.single-product .woocommerce div.product > .up-sells.upsells.products{
    grid-column: 1;
  }

  body.single-product .woocommerce div.product .images,
  body.single-product .woocommerce div.product .summary{
    padding: 20px;
  }

  body.single-product .woocommerce div.product .summary{
    position: static;
  }

  body.single-product .woocommerce div.product .woocommerce-product-gallery__image{
    min-height: clamp(280px, 50vh, 500px);
  }

  body.single-product .woocommerce div.product img,
  body.single-product .woocommerce div.product .woocommerce-product-gallery__image img{
    height: clamp(260px, 46vh, 460px);
  }
}
