/* Minimal WooCommerce compatibility tweaks for Horizons theme */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  border-radius: 9999px;
  padding: 0.75rem 1.25rem;
  border: 1px solid rgba(255,255,255,0.2);
  background: rgba(255,255,255,0.10);
  color: #fff;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  background: rgba(255,255,255,0.15);
}

.woocommerce .quantity .qty {
  max-width: 6rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(255,255,255,0.2);
  background: rgba(255,255,255,0.05);
  color: #fff;
  padding: 0.5rem 0.75rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: rgba(255,255,255,0.9);
}

.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  border-radius: 1rem;
}

/* Prevent shop grid clipping under fixed headers/containers */
.woocommerce .page-content, .woocommerce-page .page-content { overflow: visible; }

/* Responsive aspect ratio fallback (if aspect-ratio unsupported) */
.a3dp-aspect { position: relative; width: 100%; background: rgba(0,0,0,0.2); }
.a3dp-aspect::before { content: ""; display: block; padding-bottom: 75%; } /* 4:3 */
.a3dp-aspect > .a3dp-aspect-inner { position: absolute; inset: 0; }

/* Ensure product grid images are never cropped */
.woocommerce ul.products li.product img, .woocommerce-page ul.products li.product img { object-fit: contain !important; }


/* Clean cart / checkout layout */
.a3dp-woo-page { color: #fff; }
.a3dp-glass-card {
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.20);
  border-radius: 1rem;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  padding: 1.5rem;
  box-shadow: 0 10px 30px rgba(0,0,0,0.18);
}
.a3dp-cart-form,
.a3dp-checkout-grid { margin-top: 1.5rem; }
.a3dp-cart-collaterals {
  margin-top: 2rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
.a3dp-checkout-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(320px, 0.9fr);
  gap: 1.5rem;
  align-items: start;
}
.a3dp-checkout-main .col2-set {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
.a3dp-checkout-sidebar h3,
.a3dp-checkout-main h3 {
  color: #fff;
  font-size: 1.5rem;
  line-height: 1.2;
  margin: 0 0 1rem;
  font-weight: 700;
}
.woocommerce table.shop_table,
.woocommerce-page table.shop_table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: transparent;
  border: 0;
  color: #fff;
}
.woocommerce table.shop_table thead th,
.woocommerce-page table.shop_table thead th {
  color: rgba(255,255,255,0.78);
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.75rem 0.75rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,0.16);
}
.woocommerce table.shop_table td,
.woocommerce-page table.shop_table td {
  padding: 1rem 0.75rem;
  border-top: 1px solid rgba(255,255,255,0.10);
  vertical-align: middle;
  color: #fff;
}
.woocommerce table.shop_table td.product-name a,
.woocommerce-page table.shop_table td.product-name a,
.woocommerce .product-name a,
.woocommerce-page .product-name a,
.woocommerce .cart_item a,
.woocommerce-page .cart_item a {
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}
.woocommerce .product-thumbnail img,
.woocommerce-page .product-thumbnail img {
  width: 84px;
  height: 84px;
  object-fit: contain !important;
  border-radius: 0.75rem;
  background: rgba(255,255,255,0.06);
  padding: 0.4rem;
}
.woocommerce .quantity .qty,
.woocommerce-page .quantity .qty,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select,
#coupon_code {
  width: 100%;
  min-height: 48px;
  border-radius: 0.9rem;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.08);
  color: #fff;
  padding: 0.8rem 1rem;
  box-sizing: border-box;
}
.woocommerce form .form-row label,
.woocommerce-page form .form-row label,
.woocommerce #order_review_heading,
.woocommerce-page #order_review_heading {
  color: rgba(255,255,255,0.92);
  font-weight: 600;
}
.woocommerce form .form-row textarea,
.woocommerce-page form .form-row textarea {
  min-height: 120px;
}
.woocommerce input::placeholder,
.woocommerce textarea::placeholder,
.woocommerce-page input::placeholder,
.woocommerce-page textarea::placeholder {
  color: rgba(255,255,255,0.55);
}
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce-page button.button,
.woocommerce-page a.button,
.woocommerce-page input.button,
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
  background: linear-gradient(135deg, #8b5cf6, #7c3aed) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 0.95rem 1.4rem !important;
  min-height: 48px;
  line-height: 1.1;
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(124,58,237,0.28);
}
.woocommerce .coupon {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  flex-wrap: wrap;
}
.woocommerce .coupon .input-text {
  max-width: 260px;
}
.woocommerce .cart_totals,
.woocommerce-page .cart_totals,
.woocommerce .cross-sells,
.woocommerce-page .cross-sells,
.woocommerce .woocommerce-checkout-review-order,
.woocommerce-page .woocommerce-checkout-review-order,
.woocommerce #payment,
.woocommerce-page #payment {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 1rem;
  padding: 1.25rem;
  color: #fff;
}
.woocommerce .cart_totals h2,
.woocommerce .cross-sells h2,
.woocommerce-page .cart_totals h2,
.woocommerce-page .cross-sells h2 {
  color: #fff;
  font-size: 1.4rem;
  margin-top: 0;
}
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-info,
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-error {
  border-radius: 1rem;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.08);
  color: #fff;
}
.woocommerce .woocommerce-error li,
.woocommerce-page .woocommerce-error li {
  color: #fff;
}
.woocommerce .select2-container--default .select2-selection--single,
.woocommerce .select2-container--default .select2-selection--multiple {
  min-height: 48px;
  border-radius: 0.9rem;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.08);
  color: #fff;
}
.woocommerce #payment div.payment_box,
.woocommerce-page #payment div.payment_box {
  background: rgba(255,255,255,0.08);
  color: #fff;
}
.woocommerce #payment ul.payment_methods,
.woocommerce-page #payment ul.payment_methods {
  border-bottom: 1px solid rgba(255,255,255,0.14);
}
.woocommerce .wc_payment_methods label,
.woocommerce-page .wc_payment_methods label {
  color: #fff;
}
@media (max-width: 980px) {
  .a3dp-checkout-grid {
    grid-template-columns: 1fr;
  }
  .a3dp-checkout-main .col2-set {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  .a3dp-glass-card {
    padding: 1rem;
  }
  .woocommerce table.shop_table thead {
    display: none;
  }
  .woocommerce table.shop_table tr,
  .woocommerce-page table.shop_table tr {
    display: block;
    margin-bottom: 1rem;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 1rem;
    overflow: hidden;
  }
  .woocommerce table.shop_table td,
  .woocommerce-page table.shop_table td {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    text-align: right;
  }
  .woocommerce table.shop_table td::before,
  .woocommerce-page table.shop_table td::before {
    content: attr(data-title);
    color: rgba(255,255,255,0.72);
    font-weight: 600;
    text-align: left;
  }
  .woocommerce table.shop_table td.actions,
  .woocommerce-page table.shop_table td.actions {
    display: block;
    text-align: left;
  }
  .woocommerce table.shop_table td.actions::before,
  .woocommerce-page table.shop_table td.actions::before {
    display: none;
  }
}


/* Premium checkout overhaul */
.a3dp-checkout-page .a3dp-woo-hero,
.a3dp-cart-page .a3dp-woo-hero { padding: .5rem 0 .75rem; }
.a3dp-checkout-page .a3dp-checkout-section + .a3dp-checkout-section { margin-top: 2rem; }
.a3dp-field-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem 1.1rem; }
.a3dp-field-grid .form-row-wide,
.a3dp-field-grid #order_comments_field,
.a3dp-field-grid .woocommerce-additional-fields__field-wrapper { grid-column:1 / -1; }
.a3dp-checkout-page .form-row,
.a3dp-cart-page .form-row { margin:0 0 1rem; }
.a3dp-checkout-page .woocommerce-form__label-for-checkbox,
.a3dp-checkout-page .checkbox,
.a3dp-checkout-page .woocommerce-terms-and-conditions-checkbox-text,
.a3dp-checkout-page .woocommerce-privacy-policy-text,
.a3dp-checkout-page .woocommerce-terms-and-conditions-wrapper,
.a3dp-checkout-page .woocommerce-terms-and-conditions-wrapper p,
.a3dp-checkout-page .woocommerce-terms-and-conditions-wrapper a,
.a3dp-checkout-page .payment_box,
.a3dp-checkout-page .payment_box p,
.a3dp-checkout-page .payment_method_paypal,
.a3dp-checkout-page .payment_method_stripe,
.a3dp-checkout-page .payment_method_square { color:#fff; }
.a3dp-checkout-page .select2-container .select2-selection--single { height:48px; }
.a3dp-checkout-page .select2-container--default .select2-selection--single .select2-selection__rendered { line-height:48px; color:#fff; }
.a3dp-checkout-page .select2-container--default .select2-selection--single .select2-selection__arrow { height:48px; }
.a3dp-checkout-page .select2-dropdown,
.a3dp-checkout-page .select2-results__option,
.a3dp-checkout-page .select2-container--default .select2-search--dropdown .select2-search__field { background:#1f2937; color:#fff; }
.a3dp-checkout-page .woocommerce-checkout-payment .payment_methods > li { list-style:none; margin:0 0 .85rem; padding:1rem; border:1px solid rgba(255,255,255,.12); border-radius:1rem; background:rgba(255,255,255,.05); }
.a3dp-checkout-page .woocommerce-checkout-payment .payment_methods input[type="radio"] { margin-right:.6rem; }
.a3dp-checkout-page .woocommerce-checkout-payment .payment_box { margin-top:.8rem; border-radius:.85rem; }
.a3dp-checkout-page .woocommerce-checkout-review-order-table tr:first-child td,
.a3dp-checkout-page .woocommerce-checkout-review-order-table tr:first-child th { border-top:0; }
.a3dp-checkout-page .woocommerce-checkout-review-order-table tfoot th,
.a3dp-checkout-page .woocommerce-checkout-review-order-table tfoot td { font-weight:700; }
.a3dp-checkout-page .order-total th,
.a3dp-checkout-page .order-total td { font-size:1.1rem; }
.a3dp-checkout-page #place_order { width:100%; margin-top:.75rem; }
.a3dp-checkout-page .woocommerce-info a,
.a3dp-checkout-page .woocommerce-form-login-toggle a,
.a3dp-checkout-page .woocommerce-form-coupon-toggle a,
.a3dp-checkout-page a { color:#c4b5fd; }
.a3dp-checkout-page .woocommerce form.login,
.a3dp-checkout-page .woocommerce form.checkout_coupon,
.a3dp-checkout-page .woocommerce .lost_password,
.a3dp-checkout-page .woocommerce .login,
.a3dp-checkout-page .woocommerce .checkout_coupon { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); border-radius:1rem; padding:1rem 1.25rem; color:#fff; }
.a3dp-checkout-page .woocommerce-form-login-toggle .woocommerce-info,
.a3dp-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info { margin-bottom:1rem; }
.a3dp-checkout-page .select2-selection__placeholder { color:rgba(255,255,255,.55) !important; }
.a3dp-cart-page .cart-collaterals,
.a3dp-cart-page .cart_totals { width:100%; }
.a3dp-cart-page .wc-proceed-to-checkout a.checkout-button { display:inline-flex !important; justify-content:center; align-items:center; width:100%; }
@media (max-width:768px) { .a3dp-field-grid { grid-template-columns:1fr; } }



/* v1.0.1 header cleanup */
.a3dp-desktop-nav { display:flex; align-items:center; gap:2rem; }
@media (max-width: 767px) {
  .a3dp-desktop-nav { display:none !important; }
}

/* WooCommerce Blocks visual overhaul */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.wc-block-cart,
.wc-block-checkout {
  color: #fff;
}
.wp-block-woocommerce-cart .wc-block-cart__main,
.wp-block-woocommerce-cart .wc-block-cart__sidebar,
.wp-block-woocommerce-checkout .wc-block-checkout__main,
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar,
.wc-block-cart__main,
.wc-block-cart__sidebar,
.wc-block-checkout__main,
.wc-block-checkout__sidebar {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 1rem;
  padding: 1.25rem;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 10px 30px rgba(0,0,0,0.18);
}
.wp-block-woocommerce-cart .wc-block-cart__sidebar,
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar,
.wc-block-cart__sidebar,
.wc-block-checkout__sidebar {
  position: sticky;
  top: 6rem;
}
.wc-block-components-title,
.wc-block-components-totals-wrapper,
.wc-block-components-checkout-step,
.wc-block-components-order-summary,
.wc-block-checkout__actions_row,
.wc-block-cart-items,
.wc-block-components-sidebar-layout,
.wc-block-components-totals-coupon,
.wc-block-components-totals-item,
.wc-block-components-product-metadata,
.wc-block-components-panel {
  color: #fff !important;
}
.wc-block-components-checkout-step,
.wc-block-components-order-summary,
.wc-block-components-panel,
.wc-block-components-totals-wrapper,
.wc-block-cart-items {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 1rem;
  padding: 1rem;
}
.wc-block-components-checkout-step + .wc-block-components-checkout-step,
.wc-block-components-order-summary > * + * {
  margin-top: 1rem;
}
.wc-block-components-text-input input,
.wc-block-components-text-input.is-active input,
.wc-block-components-text-input input:-webkit-autofill,
.wc-block-components-combobox .components-combobox-control__input,
.wc-block-components-address-form input,
.wc-block-components-address-form select,
.wc-block-components-address-form .wc-block-components-text-input input,
.wc-block-components-form .wc-block-components-text-input input,
.wc-block-components-form .wc-block-components-combobox,
.wc-block-components-form .wc-block-components-combobox-control,
.wc-block-components-totals-coupon input,
.wc-block-components-quantity-selector input {
  min-height: 48px !important;
  border-radius: 0.9rem !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  background: rgba(255,255,255,0.08) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.wc-block-components-text-input label,
.wc-block-components-checkbox label,
.wc-block-components-radio-control__label,
.wc-block-components-address-form label,
.wc-block-components-payment-method-label,
.wc-block-components-order-summary-item__description,
.wc-block-formatted-money-amount,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value,
.wc-block-components-product-name,
.wc-block-components-product-price,
.wc-block-components-validation-error,
.wc-block-components-notice-banner,
.wc-block-components-notice-banner * {
  color: #fff !important;
}
.wc-block-components-product-image img,
.wc-block-cart-item__image img {
  background: rgba(255,255,255,0.06);
  border-radius: 0.75rem;
  padding: 0.35rem;
  object-fit: contain !important;
}
.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-block-components-totals-coupon__button,
.wc-block-components-checkout-return-to-cart-button,
.wc-block-components-button.contained {
  background: linear-gradient(135deg, #8b5cf6, #7c3aed) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  min-height: 48px !important;
  padding: 0.95rem 1.4rem !important;
  font-weight: 700 !important;
  box-shadow: 0 8px 20px rgba(124,58,237,0.28);
}
.wc-block-components-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
  filter: brightness(1.05);
}
.wc-block-components-notice-banner,
.wc-block-components-validation-error,
.is-error,
.is-info,
.is-success {
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  border-radius: 1rem !important;
}
.wc-block-components-radio-control__option,
.wc-block-components-checkbox {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 1rem;
  padding: 0.85rem 1rem;
}
.wc-block-checkout__terms,
.wc-block-components-checkout-return-to-cart-button,
.wc-block-components-checkout-step__description,
.wc-block-components-formatted-money-amount,
.wc-block-components-product-metadata__description,
.wc-block-components-product-details,
.wc-block-components-order-summary__button-text,
.wc-block-components-link {
  color: rgba(255,255,255,0.9) !important;
}
.wc-block-components-main,
.wc-block-checkout__main,
.wc-block-checkout__sidebar,
.wc-block-cart__main,
.wc-block-cart__sidebar {
  gap: 1.5rem;
}
@media (max-width: 781px) {
  .wp-block-woocommerce-cart .wc-block-cart__sidebar,
  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar,
  .wc-block-cart__sidebar,
  .wc-block-checkout__sidebar {
    position: static;
    top: auto;
  }
}


/* Product tile polish */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 768px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.related ul.products li.product,
.up-sells ul.products li.product,
.cross-sells ul.products li.product {
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
  list-style: none;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.20);
  border-radius: 1rem;
  overflow: hidden;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 10px 30px rgba(0,0,0,0.18);
}
.woocommerce ul.products li.product a,
.woocommerce-page ul.products li.product a {
  text-decoration: none;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3,
.woocommerce-page ul.products li.product h2,
.woocommerce-page ul.products li.product h3 {
  color: #fff !important;
}
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.woocommerce ul.products li.product .price * ,
.woocommerce-page ul.products li.product .price * {
  color: #fff !important;
  opacity: 0.95;
}
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.woocommerce .related ul.products li.product .button,
.woocommerce .up-sells ul.products li.product .button,
.woocommerce .cross-sells ul.products li.product .button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 0.75rem !important;
  background: linear-gradient(135deg, #06b6d4, #3b82f6) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 0.95rem 1.2rem !important;
  min-height: 48px;
  line-height: 1.1;
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(59,130,246,0.28);
}
.woocommerce ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:hover {
  filter: brightness(1.05);
}
.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img {
  object-fit: contain !important;
  background: rgba(0,0,0,0.12);
}
.woocommerce ul.products li.product .star-rating,
.woocommerce-page ul.products li.product .star-rating,
.woocommerce ul.products li.product .onsale,
.woocommerce-page ul.products li.product .onsale {
  display: none !important;
}
.woocommerce .related.products > h2,
.woocommerce .up-sells > h2,
.woocommerce .cross-sells > h2 {
  color: #fff;
  font-size: 1.75rem;
  margin-bottom: 1rem;
}


/* Single product page refresh */
.a3dp-single-product {
  color: #fff;
}
.a3dp-single-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
  gap: 1.5rem;
  align-items: start;
}
.a3dp-single-media,
.a3dp-single-summary,
.a3dp-single-bottom {
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.20);
  border-radius: 1rem;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 10px 30px rgba(0,0,0,0.18);
}
.a3dp-single-media,
.a3dp-single-summary {
  padding: 1.5rem;
}
.a3dp-single-bottom {
  margin-top: 1.5rem;
  padding: 1.5rem;
}
.a3dp-main-image-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 360px;
  max-height: 480px;
  background: rgba(0,0,0,0.14);
  border-radius: 1rem;
  padding: 1rem;
  overflow: hidden;
}
.a3dp-main-image {
  max-width: 100%;
  max-height: 420px;
  width: auto;
  height: auto;
  object-fit: contain !important;
  border-radius: 0.75rem;
}
.a3dp-no-image {
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,0.7);
}
.a3dp-thumb-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1rem;
}
.a3dp-thumb {
  width: 88px;
  height: 88px;
  border-radius: 0.85rem;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.35rem;
  overflow: hidden;
}
.a3dp-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
}
.a3dp-single-title {
  color: #fff;
  font-size: 2.4rem;
  line-height: 1.1;
  margin: 0 0 0.85rem;
  font-weight: 800;
}
.a3dp-single-price,
.a3dp-single-price *,
.a3dp-single-summary .price,
.a3dp-single-summary .price * {
  color: #fff !important;
  font-size: 1.2rem;
  margin-bottom: 1rem;
}
.a3dp-single-excerpt,
.a3dp-single-excerpt p,
.a3dp-single-bottom,
.a3dp-single-bottom p,
.a3dp-single-bottom li,
.a3dp-single-meta,
.a3dp-single-meta span,
.a3dp-single-meta a {
  color: rgba(255,255,255,0.9);
}
.a3dp-single-cart {
  margin-top: 1.25rem;
}
.a3dp-single-summary form.cart {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}
.a3dp-single-summary .quantity .qty {
  width: 92px;
  min-height: 48px;
}
.a3dp-single-summary .single_add_to_cart_button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #06b6d4, #3b82f6) !important;
  color: #fff !important;
  border-radius: 999px !important;
  border: 0 !important;
  min-height: 48px;
  padding: 0.95rem 1.4rem !important;
  font-weight: 700;
}
.a3dp-single-summary .product_meta {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255,255,255,0.12);
}
.a3dp-single-product .woocommerce-tabs,
.a3dp-single-product .related.products,
.a3dp-single-product .up-sells {
  margin-top: 1.25rem;
}
.a3dp-single-product .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid rgba(255,255,255,0.12);
}
.a3dp-single-product .woocommerce-tabs ul.tabs li {
  background: transparent;
  border: 0;
}
.a3dp-single-product .woocommerce-tabs ul.tabs li a,
.a3dp-single-product .woocommerce-tabs .panel,
.a3dp-single-product .woocommerce-tabs .panel p,
.a3dp-single-product .woocommerce-tabs .panel li,
.a3dp-single-product .related.products > h2,
.a3dp-single-product .up-sells > h2 {
  color: #fff;
}
.woocommerce div.product div.images img,
.woocommerce-page div.product div.images img,
.flex-control-thumbs img,
.woocommerce-product-gallery__image img {
  object-fit: contain !important;
  max-height: 420px !important;
}
.flex-control-thumbs {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-top: 1rem !important;
}
.flex-control-thumbs li {
  width: 88px !important;
  margin: 0 !important;
}
.flex-control-thumbs img {
  width: 88px !important;
  height: 88px !important;
  border-radius: 0.85rem;
  background: rgba(255,255,255,0.06);
  padding: 0.35rem;
}
@media (max-width: 980px) {
  .a3dp-single-grid {
    grid-template-columns: 1fr;
  }
  .a3dp-single-title {
    font-size: 2rem;
  }
}


/* v1.0.4 explicit product-card styling (no Tailwind dependency) */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 768px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.a3dp-product-card {
  display: flex !important;
  flex-direction: column;
  width: 100% !important;
  margin: 0 !important;
  list-style: none;
  border-radius: 1rem;
  overflow: hidden;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.18);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 10px 30px rgba(0,0,0,0.18);
  float: none !important;
}

.a3dp-product-card__link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.a3dp-product-card__media {
  position: relative;
  overflow: hidden;
  background: rgba(0,0,0,0.12);
}

.a3dp-product-card__media-inner {
  aspect-ratio: 4 / 3;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.a3dp-product-card__img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 320px;
  object-fit: contain !important;
  display: block;
}

.a3dp-product-card__img--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,0.72);
}

.a3dp-product-card__badge {
  position: absolute;
  top: 0.85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0.45rem 0.8rem;
  border-radius: 999px;
  color: #fff;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1;
  z-index: 2;
}
.a3dp-product-card__badge--left {
  left: 0.85rem;
  background: rgba(236,72,153,0.92);
}
.a3dp-product-card__badge--right {
  right: 0.85rem;
  background: rgba(6,182,212,0.92);
}
.a3dp-product-card__badge--right .amount,
.a3dp-product-card__badge--right * {
  color: #fff !important;
}

.a3dp-product-card__body {
  padding: 1rem 1rem 0.75rem;
}

.a3dp-product-card__title {
  margin: 0 0 0.65rem;
  color: #fff !important;
  font-size: 1.15rem;
  line-height: 1.25;
  font-weight: 700;
}

.a3dp-product-card__desc {
  margin: 0 0 0.9rem;
  color: rgba(255,255,255,0.84) !important;
  font-size: 0.96rem;
  line-height: 1.55;
}

.a3dp-product-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.a3dp-product-card__details {
  color: rgba(255,255,255,0.82);
  font-size: 0.94rem;
}

.a3dp-product-card__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.16);
  color: rgba(255,255,255,0.92);
  flex: 0 0 auto;
}

.a3dp-product-card__actions {
  padding: 0 1rem 1rem;
}

.a3dp-product-card__actions .button,
.woocommerce ul.products li.product.a3dp-product-card .button,
.woocommerce-page ul.products li.product.a3dp-product-card .button {
  display: inline-flex !important;
  width: 100%;
  justify-content: center;
  align-items: center;
  min-height: 48px;
  margin: 0 !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: linear-gradient(135deg, #06b6d4, #3b82f6) !important;
  color: #fff !important;
  font-weight: 700;
  line-height: 1.1;
  padding: 0.95rem 1.2rem !important;
  box-shadow: 0 8px 20px rgba(59,130,246,0.28);
}

.a3dp-product-card__actions .button:hover,
.woocommerce ul.products li.product.a3dp-product-card .button:hover {
  filter: brightness(1.05);
}

.woocommerce ul.products li.product.a3dp-product-card .price,
.woocommerce-page ul.products li.product.a3dp-product-card .price,
.woocommerce ul.products li.product.a3dp-product-card .price *,
.woocommerce-page ul.products li.product.a3dp-product-card .price * {
  color: #fff !important;
}

.woocommerce ul.products li.product.a3dp-product-card .star-rating,
.woocommerce ul.products li.product.a3dp-product-card .onsale,
.woocommerce-page ul.products li.product.a3dp-product-card .star-rating,
.woocommerce-page ul.products li.product.a3dp-product-card .onsale {
  display: none !important;
}


/* v1.0.5 description cleanup */
.a3dp-product-card__desc {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 4.65em;
  max-height: 4.65em;
}

.a3dp-single-excerpt,
.a3dp-single-bottom .woocommerce-tabs .panel,
.a3dp-single-bottom .woocommerce-Tabs-panel,
.a3dp-single-bottom .woocommerce-product-details__short-description,
.a3dp-single-bottom .woocommerce-product-details__short-description p,
.a3dp-single-bottom p,
.a3dp-single-bottom li {
  color: rgba(255,255,255,0.9);
  line-height: 1.75;
}

.a3dp-single-excerpt {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 0.9rem;
  padding: 1rem 1.1rem;
  margin-bottom: 1.25rem;
}

.a3dp-single-bottom {
  line-height: 1.75;
}

.a3dp-single-bottom h2,
.a3dp-single-bottom h3,
.a3dp-single-bottom h4,
.a3dp-single-bottom .woocommerce-tabs h2,
.a3dp-single-bottom .woocommerce-Tabs-panel h2 {
  color: #fff;
  margin-top: 0;
  margin-bottom: 0.85rem;
  font-weight: 700;
}

.a3dp-single-bottom p {
  margin: 0 0 1rem;
}

.a3dp-single-bottom ul,
.a3dp-single-bottom ol {
  margin: 0 0 1rem 1.25rem;
  padding: 0;
}

.a3dp-single-bottom li {
  margin-bottom: 0.45rem;
}

.a3dp-single-bottom .woocommerce-tabs ul.tabs {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  padding: 0 0 1rem;
  margin: 0 0 1rem;
  border-bottom: 1px solid rgba(255,255,255,0.12);
}

.a3dp-single-bottom .woocommerce-tabs ul.tabs li {
  margin: 0 !important;
  padding: 0 !important;
}

.a3dp-single-bottom .woocommerce-tabs ul.tabs li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  text-decoration: none;
}

.a3dp-single-bottom .woocommerce-tabs ul.tabs li.active a,
.a3dp-single-bottom .woocommerce-tabs ul.tabs li a:hover {
  background: rgba(255,255,255,0.12);
}

.a3dp-single-bottom .woocommerce-Tabs-panel,
.a3dp-single-bottom .woocommerce-tabs .panel {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 1rem;
  padding: 1.25rem;
}

.a3dp-single-meta {
  font-size: 0.95rem;
  line-height: 1.65;
}

.a3dp-single-meta .sku_wrapper,
.a3dp-single-meta .posted_in,
.a3dp-single-meta .tagged_as {
  display: block;
  margin-bottom: 0.35rem;
}

@media (max-width: 768px) {
  .a3dp-product-card__desc {
    min-height: auto;
    max-height: none;
    -webkit-line-clamp: 4;
    line-clamp: 4;
  }
  .a3dp-single-bottom .woocommerce-Tabs-panel,
  .a3dp-single-bottom .woocommerce-tabs .panel,
  .a3dp-single-excerpt {
    padding: 1rem;
  }
}


/* v1.0.6 description de-duplication + tighter copy layout */
.a3dp-product-card__desc {
  display: -webkit-box;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 3.1em !important;
  max-height: 3.1em !important;
  margin-bottom: 0.75rem;
  color: rgba(255,255,255,0.78) !important;
  font-size: 0.92rem !important;
}

.a3dp-single-excerpt {
  max-width: 60ch;
}

.a3dp-single-bottom .woocommerce-tabs {
  margin-top: 0;
}

.a3dp-single-bottom .woocommerce-tabs .panel,
.a3dp-single-bottom .woocommerce-Tabs-panel {
  max-width: 72ch;
}

.a3dp-single-bottom .related.products,
.a3dp-single-bottom .up-sells {
  margin-top: 2rem;
}


/* v1.0.7 WooCommerce Blocks cart/checkout polish */
.wc-block-checkout,
.wc-block-cart,
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-cart {
  color: #fff;
}

.wc-block-components-main,
.wc-block-components-sidebar,
.wc-block-checkout__main,
.wc-block-checkout__sidebar,
.wc-block-cart__main,
.wc-block-cart__sidebar {
  color: #fff;
}

.wc-block-components-sidebar,
.wc-block-checkout__sidebar,
.wc-block-cart__sidebar {
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 1rem !important;
  padding: 1rem !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.wc-block-checkout__main,
.wc-block-cart__main {
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 1rem !important;
  padding: 1rem !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.wc-block-components-title,
.wc-block-components-checkout-step__heading h2,
.wc-block-components-checkout-step__heading,
.wc-block-components-totals-wrapper,
.wc-block-components-order-summary__button-text,
.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__quantity,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item__label,
.wc-block-components-totals-footer-item__value,
.wc-block-formatted-money-amount,
.wc-block-components-product-name,
.wc-block-components-product-metadata,
.wc-block-components-checkout-return-to-cart-button,
.wc-block-components-panel__button,
.wc-block-components-text-input label,
.wc-block-components-combobox label,
.wc-block-components-checkbox label,
.wc-block-components-radio-control__label,
.wc-block-components-address-card__address-section,
.wc-block-components-checkout-step__description,
.wc-block-components-payment-method-label,
.wc-block-components-payment-method-icons,
.wc-block-components-validation-error,
.wc-block-components-notice-banner,
.wc-block-components-shipping-rates-control__package {
  color: #fff !important;
}

.wc-block-components-text-input input,
.wc-block-components-combobox select,
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="number"],
.wc-block-components-text-input input[type="password"],
.wc-block-components-text-input input[type="search"],
.wc-block-components-text-input textarea,
.wc-block-components-combobox-control .components-combobox-control__input,
.wc-block-components-address-form__address_2-toggle,
.wc-block-components-country-input select,
.wc-block-components-state-input select {
  min-height: 48px !important;
  border-radius: 0.9rem !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  background: rgba(255,255,255,0.08) !important;
  color: #fff !important;
  box-shadow: none !important;
}

.wc-block-components-text-input input::placeholder,
.wc-block-components-text-input textarea::placeholder,
.wc-block-components-combobox-control .components-combobox-control__input::placeholder {
  color: rgba(255,255,255,0.55) !important;
}

.wc-block-components-text-input.is-active input,
.wc-block-components-combobox.is-active select,
.wc-block-components-text-input input:focus,
.wc-block-components-combobox select:focus,
.wc-block-components-text-input textarea:focus {
  border-color: rgba(59,130,246,0.6) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(59,130,246,0.18) !important;
}

.wc-block-components-order-summary,
.wc-block-components-totals-wrapper,
.wc-block-components-order-summary-item,
.wc-block-components-checkout-step,
.wc-block-components-shipping-rates-control__package,
.wc-block-components-payment-method,
.wc-block-components-checkbox,
.wc-block-components-radio-control,
.wc-block-cart-items,
.wc-block-cart-item,
.wc-block-cart-item__wrap,
.wc-block-components-panel {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  border-radius: 1rem !important;
}

.wc-block-components-order-summary,
.wc-block-components-totals-wrapper,
.wc-block-components-checkout-step,
.wc-block-cart-item {
  padding: 0.9rem !important;
}

.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img,
.wc-block-cart-items__row img {
  width: 72px !important;
  height: 72px !important;
  object-fit: contain !important;
  border-radius: 0.75rem !important;
  background: rgba(255,255,255,0.06) !important;
  padding: 0.35rem !important;
}

.wc-block-components-checkout-place-order-button,
.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-components-totals-coupon__button,
.wc-block-components-checkout-return-to-cart-button,
.wc-block-components-panel__button,
.editor-styles-wrapper .wc-block-components-button {
  min-height: 48px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: linear-gradient(135deg, #06b6d4, #3b82f6) !important;
  color: #fff !important;
  font-weight: 700 !important;
  box-shadow: 0 8px 20px rgba(59,130,246,0.28) !important;
}

.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-totals-coupon__button:hover {
  filter: brightness(1.05);
}

.wc-block-components-formatted-money-amount,
.wc-block-formatted-money-amount,
.wc-block-components-order-summary-item__total-price {
  color: #fff !important;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__description {
  color: rgba(255,255,255,0.76) !important;
  line-height: 1.45 !important;
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],
.wc-block-components-radio-control__input[type="radio"] {
  accent-color: #3b82f6;
}

.wc-block-components-notice-banner,
.wc-block-components-validation-error,
.wc-block-store-notices .wc-block-store-notice {
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 1rem !important;
  color: #fff !important;
}

.wc-block-components-divider,
.wc-block-components-order-summary .wc-block-components-panel__content,
.wc-block-components-totals-wrapper > div,
.wc-block-components-checkout-step__container,
.wc-block-components-sidebar-layout .wc-block-components-main {
  border-color: rgba(255,255,255,0.10) !important;
}

.wc-block-components-checkout-step__content,
.wc-block-components-checkout-step__container {
  padding-top: 0.5rem;
}

.wc-block-components-order-summary .wc-block-components-panel__button {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  box-shadow: none !important;
}

.wc-block-components-totals-coupon-link,
.wc-block-components-product-metadata__description,
.wc-block-components-checkout-return-to-cart-button,
.wc-block-components-address-card__edit {
  color: #c4b5fd !important;
}

.wc-block-cart-item__prices,
.wc-block-cart-item__total,
.wc-block-components-totals-item,
.wc-block-components-totals-footer-item {
  color: #fff !important;
}

.wc-block-components-quantity-selector {
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  overflow: hidden;
  background: rgba(255,255,255,0.06) !important;
}

.wc-block-components-quantity-selector input {
  background: transparent !important;
  color: #fff !important;
}

.wc-block-components-quantity-selector button {
  color: #fff !important;
}

.wc-block-cart-item__remove-link,
.wc-block-components-product-metadata__description a {
  color: #fda4af !important;
}

@media (max-width: 980px) {
  .wc-block-checkout__main,
  .wc-block-checkout__sidebar,
  .wc-block-cart__main,
  .wc-block-cart__sidebar,
  .wc-block-components-main,
  .wc-block-components-sidebar {
    padding: 0.85rem !important;
  }
}


/* v1.0.8 stronger Woo Blocks cart/checkout redesign */
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-page .wp-block-woocommerce-cart,
body.woocommerce-page .wp-block-woocommerce-checkout,
body .wc-block-cart,
body .wc-block-checkout { color:#fff !important; }

body .wc-block-cart .wc-block-components-sidebar-layout,
body .wc-block-checkout .wc-block-components-sidebar-layout,
body .wc-block-components-sidebar-layout {
  gap:1.5rem !important; align-items:start !important;
}

body .wc-block-cart .wc-block-components-main,
body .wc-block-checkout .wc-block-components-main,
body .wc-block-cart .wc-block-cart__main,
body .wc-block-checkout .wc-block-checkout__main {
  background:rgba(255,255,255,0.09) !important;
  border:1px solid rgba(255,255,255,0.14) !important;
  border-radius:18px !important;
  padding:1.25rem !important;
  box-shadow:0 16px 40px rgba(0,0,0,0.14) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
}

body .wc-block-cart .wc-block-components-sidebar,
body .wc-block-checkout .wc-block-components-sidebar,
body .wc-block-cart .wc-block-cart__sidebar,
body .wc-block-checkout .wc-block-checkout__sidebar {
  background:rgba(255,255,255,0.09) !important;
  border:1px solid rgba(255,255,255,0.14) !important;
  border-radius:18px !important;
  padding:1rem !important;
  box-shadow:0 16px 40px rgba(0,0,0,0.14) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
  position:sticky !important;
  top:110px !important;
}

body .wc-block-components-title,
body .wc-block-components-checkout-step__heading h2,
body .wc-block-components-checkout-step__heading,
body .wc-block-components-order-summary__button-text,
body .wc-block-components-totals-item__label,
body .wc-block-components-totals-item__value,
body .wc-block-components-totals-footer-item__label,
body .wc-block-components-totals-footer-item__value,
body .wc-block-components-product-name,
body .wc-block-components-formatted-money-amount,
body .wc-block-formatted-money-amount,
body .wc-block-components-payment-method-label,
body .wc-block-components-radio-control__label-group,
body .wc-block-components-checkbox__label,
body .wc-block-components-address-card__address-section,
body .wc-block-components-checkout-step__description,
body .wc-block-components-order-summary-item__description,
body .wc-block-components-order-summary-item__quantity,
body .wc-block-components-totals-coupon-link,
body .wc-block-components-panel__button { color:#fff !important; }

body .wc-block-components-order-summary-item__description,
body .wc-block-components-product-metadata,
body .wc-block-components-product-metadata__description,
body .wc-block-components-checkout-step__description {
  color:rgba(255,255,255,0.78) !important;
}

body .wc-block-components-checkout-step,
body .wc-block-components-order-summary,
body .wc-block-components-totals-wrapper,
body .wc-block-components-shipping-rates-control__package,
body .wc-block-components-payment-method,
body .wc-block-cart-item,
body .wc-block-components-panel,
body .wc-block-components-checkbox,
body .wc-block-components-radio-control {
  background:rgba(255,255,255,0.04) !important;
  border:1px solid rgba(255,255,255,0.12) !important;
  border-radius:16px !important;
  padding:1rem !important;
  box-shadow:none !important;
}

body .wc-block-components-order-summary { padding:0 !important; overflow:hidden !important; }
body .wc-block-components-order-summary > * { padding-left:1rem !important; padding-right:1rem !important; }

body .wc-block-components-order-summary .wc-block-components-panel__button,
body .wc-block-components-order-summary .wc-block-components-panel__button:hover {
  background:transparent !important; border:0 !important; box-shadow:none !important;
}

body .wc-block-components-order-summary-item,
body .wc-block-cart-item__wrap {
  display:grid !important;
  grid-template-columns:72px minmax(0,1fr) auto !important;
  gap:0.9rem !important;
  align-items:start !important;
}

body .wc-block-cart-item,
body .wc-block-components-order-summary-item { margin-bottom:0.9rem !important; }

body .wc-block-cart-item__image img,
body .wc-block-components-order-summary-item__image img,
body .wc-block-cart-items__row img {
  width:72px !important; height:72px !important;
  min-width:72px !important; min-height:72px !important;
  object-fit:contain !important;
  border-radius:12px !important;
  background:rgba(255,255,255,0.07) !important;
  padding:0.35rem !important;
  border:1px solid rgba(255,255,255,0.10) !important;
}

body .wc-block-cart-item__prices,
body .wc-block-cart-item__total,
body .wc-block-components-order-summary-item__total-price {
  color:#fff !important; font-weight:700 !important;
}

body .wc-block-components-text-input,
body .wc-block-components-combobox,
body .wc-block-components-address-form__country,
body .wc-block-components-address-form__state { margin-bottom:0.85rem !important; }

body .wc-block-components-text-input label,
body .wc-block-components-combobox label,
body .wc-block-components-checkbox__label,
body .wc-block-components-checkout-step__heading { font-weight:600 !important; }

body .wc-block-components-text-input input,
body .wc-block-components-text-input input[type="text"],
body .wc-block-components-text-input input[type="email"],
body .wc-block-components-text-input input[type="tel"],
body .wc-block-components-text-input input[type="search"],
body .wc-block-components-text-input input[type="number"],
body .wc-block-components-combobox select,
body .wc-block-components-country-input select,
body .wc-block-components-state-input select,
body .wc-block-components-text-input textarea,
body .wc-block-components-combobox-control .components-combobox-control__input,
body .wc-block-components-address-form input,
body .wc-block-components-address-form select {
  height:56px !important; min-height:56px !important;
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,0.16) !important;
  background:rgba(255,255,255,0.10) !important;
  color:#fff !important;
  padding:0.95rem 1rem !important;
  box-shadow:none !important;
}

body .wc-block-components-text-input textarea { min-height:120px !important; height:auto !important; }

body .wc-block-components-text-input input::placeholder,
body .wc-block-components-text-input textarea::placeholder,
body .wc-block-components-combobox-control .components-combobox-control__input::placeholder {
  color:rgba(255,255,255,0.56) !important;
}

body .wc-block-components-text-input.is-active input,
body .wc-block-components-text-input input:focus,
body .wc-block-components-combobox select:focus,
body .wc-block-components-address-form input:focus,
body .wc-block-components-address-form select:focus,
body .wc-block-components-text-input textarea:focus {
  border-color:rgba(6,182,212,0.72) !important;
  box-shadow:0 0 0 3px rgba(6,182,212,0.18) !important;
  outline:none !important;
}

body .wc-block-components-checkbox,
body .wc-block-components-radio-control {
  display:flex !important; align-items:center !important; gap:0.75rem !important;
}

body .wc-block-components-radio-control__input,
body .wc-block-components-checkbox__input[type="checkbox"] { accent-color:#06b6d4 !important; }

body .wc-block-components-quantity-selector {
  background:rgba(255,255,255,0.08) !important;
  border:1px solid rgba(255,255,255,0.14) !important;
  border-radius:999px !important;
  overflow:hidden !important;
}

body .wc-block-components-quantity-selector input,
body .wc-block-components-quantity-selector button {
  background:transparent !important; color:#fff !important; border:0 !important;
}

body .wc-block-components-checkout-place-order-button,
body .wc-block-components-button,
body .wc-block-cart__submit-button,
body .wc-block-components-totals-coupon__button,
body .wc-block-components-order-summary__button-text {
  min-height:54px !important;
  border-radius:999px !important;
  border:0 !important;
  background:linear-gradient(135deg, #06b6d4, #3b82f6) !important;
  color:#fff !important;
  font-weight:700 !important;
  letter-spacing:0.01em !important;
  box-shadow:0 10px 24px rgba(59,130,246,0.28) !important;
}

body .wc-block-cart__submit-button,
body .wc-block-components-checkout-place-order-button { width:100% !important; }

body .wc-block-components-button:hover,
body .wc-block-components-checkout-place-order-button:hover,
body .wc-block-cart__submit-button:hover { filter:brightness(1.05) !important; }

body .wc-block-components-checkout-return-to-cart-button,
body .wc-block-cart-item__remove-link,
body .wc-block-components-address-card__edit { color:#c4b5fd !important; }

body .wc-block-components-notice-banner,
body .wc-block-components-validation-error,
body .wc-block-store-notices .wc-block-store-notice {
  background:rgba(255,255,255,0.08) !important;
  border:1px solid rgba(255,255,255,0.14) !important;
  border-radius:14px !important;
  color:#fff !important;
}

body .wc-block-components-divider,
body .wc-block-components-order-summary .wc-block-components-panel__content,
body .wc-block-components-totals-wrapper > div,
body .wc-block-components-checkout-step__container { border-color:rgba(255,255,255,0.10) !important; }

body .wc-block-components-order-summary .wc-block-components-totals-item,
body .wc-block-components-order-summary .wc-block-components-totals-footer-item {
  padding-top:0.85rem !important; padding-bottom:0.85rem !important;
}

body .wc-block-components-totals-footer-item { font-size:1.15rem !important; }

body .wc-block-checkout__express-payment,
body .wc-block-cart__express-payment {
  background:rgba(255,255,255,0.04) !important;
  border:1px solid rgba(255,255,255,0.12) !important;
  border-radius:16px !important;
  padding:1rem !important;
  margin-bottom:1rem !important;
}

body .wc-block-checkout__actions_row,
body .wc-block-cart__totals-title,
body .wc-block-components-checkout-step__container { margin-top:0.5rem !important; }

@media (max-width: 980px) {
  body .wc-block-cart .wc-block-components-sidebar,
  body .wc-block-checkout .wc-block-components-sidebar,
  body .wc-block-cart .wc-block-cart__sidebar,
  body .wc-block-checkout .wc-block-checkout__sidebar {
    position:static !important; top:auto !important;
  }

  body .wc-block-cart-item__wrap,
  body .wc-block-components-order-summary-item {
    grid-template-columns:64px minmax(0,1fr) !important;
  }
}


/* v1.1.2 widen checkout/cart sidebar and prevent summary text squish */
body .wc-block-components-sidebar,
body .wc-block-cart__sidebar,
body .wc-block-checkout__sidebar {
  min-width: 420px !important;
}

body .wc-block-components-sidebar-layout {
  grid-template-columns: minmax(0, 1.45fr) minmax(420px, 0.95fr) !important;
}

body .wc-block-components-order-summary-item__description,
body .wc-block-components-product-name,
body .wc-block-components-product-metadata,
body .wc-block-components-product-metadata__description {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  min-width: 0 !important;
}

@media (max-width: 1200px) {
  body .wc-block-components-sidebar-layout {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 420px) !important;
  }
  body .wc-block-components-sidebar,
  body .wc-block-cart__sidebar,
  body .wc-block-checkout__sidebar {
    min-width: 360px !important;
  }
}

@media (max-width: 980px) {
  body .wc-block-components-sidebar,
  body .wc-block-cart__sidebar,
  body .wc-block-checkout__sidebar {
    min-width: 0 !important;
    width: 100% !important;
  }
}
