/* Repeated scope class intentionally outranks existing Elementor !important rules.
   It still selects the same body; nothing in the WordPress/Elementor database is changed. */
/* Castille 1.1.0 — presentation only. No remote fonts, images or services. */
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active, body.cbs-header-enabled {
  --cbs-gold: #b29d7b;
  --cbs-hover: #a38c68;
  --cbs-ink: #29251f;
  --cbs-link: #69583d;
  --cbs-muted: #726b61;
  --cbs-line: #e6ded2;
  --cbs-soft: #f7f4ef;
  --cbs-white: #fff;
  --cbs-error: #873737;
  --cbs-font: system-ui, -apple-system, "Segoe UI", sans-serif;
  --cbs-title: "Cormorant Infant", Georgia, serif;
}

/* Confine Elementor's accent correction to commerce widgets, never the header/footer. */
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.woocommerce:not(body), [class*="elementor-widget-woocommerce"], .elementor-widget-wc-add-to-cart, .elementor-widget-wc-elements, .elementor-widget-wc-products, .elementor-widget-archive-products, .wc-block-grid, .wp-block-woocommerce-product-collection, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wp-block-woocommerce-mini-cart) {
  --e-global-color-primary: var(--cbs-gold);
  --e-global-color-accent: var(--cbs-gold);
  --e-global-color-25df0eb: var(--cbs-gold);
  --e-global-typography-accent-font-size: 14px;
  --e-global-typography-accent-font-family: var(--cbs-font);
  --e-global-typography-accent-text-transform: none;
  --wc-primary: var(--cbs-gold);
  --wc-primary-text: var(--cbs-ink);
  --wc-green: var(--cbs-link);
  --wc-blue: var(--cbs-link);
  --wc-highlight: var(--cbs-link);
  --wc-content-bg: var(--cbs-white);
  --wc-subtext: var(--cbs-muted);
  --wc-form-color-text: var(--cbs-ink);
  --wc-form-color-border: var(--cbs-line);
  --wc-form-color-background: var(--cbs-white);
  --wc-form-border-radius: 4px;
  --sections-background-color: var(--cbs-white);
  --sections-border-color: var(--cbs-line);
  --sections-border-radius: 6px;
  --sections-padding: 28px;
  --links-normal-color: var(--cbs-link);
  --links-hover-color: var(--cbs-ink);
  --forms-buttons-normal-text-color: var(--cbs-ink);
  --forms-buttons-normal-background-color: var(--cbs-gold);
  --forms-buttons-hover-text-color: var(--cbs-ink);
  --forms-buttons-hover-background-color: var(--cbs-hover);
  --forms-buttons-border-color: var(--cbs-gold);
  --forms-buttons-border-radius: 4px;
  --forms-fields-normal-border-color: var(--cbs-line);
  --forms-fields-focus-border-color: var(--cbs-gold);
  --forms-fields-normal-color: var(--cbs-ink);
  --forms-labels-color: var(--cbs-ink);
  color: var(--cbs-ink);
  font-family: var(--cbs-font);
  font-size: 15px;
  line-height: 1.65;
}

body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.woocommerce:not(body), [class*="elementor-widget-woocommerce"], .elementor-widget-wc-elements, .wc-block-cart, .wc-block-checkout, .wc-block-mini-cart) a:not(.button):not(.wp-element-button):not(.wc-block-components-button):not(.remove) {
  color: var(--cbs-link) !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.woocommerce:not(body), [class*="elementor-widget-woocommerce"], .wc-block-cart, .wc-block-checkout) a:not(.button):hover { color: var(--cbs-ink) !important; }

/* Explicit sizes prevent the site's 55px accent from affecting WooCommerce links. */
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.woocommerce:not(body), [class*="elementor-widget-woocommerce"], .elementor-widget-wc-add-to-cart, .elementor-widget-wc-elements, .elementor-widget-wc-products, .elementor-widget-archive-products, .wc-block-grid, .wp-block-woocommerce-product-collection, .wc-block-cart, .wc-block-checkout, .wc-block-mini-cart) :is(a.button, button.button, input.button, .wp-element-button, .wc-block-components-button, .wc-block-components-product-button__button, .elementor-button),
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(a.added_to_cart, a.checkout-button, button.single_add_to_cart_button, #place_order, .woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button) {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  height: auto;
  max-width: 100%;
  padding: 12px 20px !important;
  border: 1px solid var(--cbs-gold) !important;
  border-radius: 4px !important;
  background: var(--cbs-gold) !important;
  background-image: none !important;
  color: var(--cbs-ink) !important;
  box-shadow: none !important;
  font-family: var(--cbs-font) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  font-style: normal !important;
  line-height: 1.35 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  text-decoration: none !important;
  text-align: center;
  white-space: normal;
  vertical-align: middle;
  cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease;
}
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.woocommerce:not(body), [class*="elementor-widget-woocommerce"], .elementor-widget-wc-elements, .elementor-widget-wc-products, .wc-block-grid, .wp-block-woocommerce-product-collection, .wc-block-cart, .wc-block-checkout, .wc-block-mini-cart) :is(.button, .wp-element-button, .wc-block-components-button, .elementor-button):hover,
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(a.added_to_cart, .single_add_to_cart_button, #place_order):hover {
  background: var(--cbs-hover) !important;
  border-color: var(--cbs-hover) !important;
  color: var(--cbs-ink) !important;
}
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active a.added_to_cart.added_to_cart {
  display: flex !important;
  margin: 10px 0 0 !important;
  min-height: 40px;
  padding: 9px 12px !important;
  width: auto !important;
  background: var(--cbs-white) !important;
  color: var(--cbs-link) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.woocommerce, [class*="elementor-widget-woocommerce"], .wc-block-cart, .wc-block-checkout) :is(button:disabled, .button.disabled, .button:disabled, [aria-disabled="true"].button) { opacity: .5 !important; cursor: not-allowed; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.woocommerce:not(body), [class*="elementor-widget-woocommerce"], .wc-block-cart, .wc-block-checkout) :is(a, button, input, select, textarea):focus-visible {
  outline: 2px solid var(--cbs-link) !important;
  outline-offset: 3px !important;
}

/* Product collections: aligned photos, titles, prices and actions. */
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 28px 22px !important;
  margin: 24px 0 40px !important;
  padding: 0 !important;
  list-style: none !important;
}
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active ul.products.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active ul.products.columns-1 { grid-template-columns: 1fr !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active ul.products::before, body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active ul.products::after { display: none !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active ul.products li.product {
  display: flex !important;
  flex-direction: column;
  float: none !important;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 22px 18px !important;
  border: 1px solid var(--cbs-line);
  border-radius: 6px;
  background: var(--cbs-white);
  text-align: center !important;
  box-sizing: border-box;
}
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active ul.products li.product > a.woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
  flex: 1;
  text-decoration: none !important;
  color: var(--cbs-ink) !important;
}
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active ul.products li.product :is(a img, img.attachment-woocommerce_thumbnail) {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: 280px !important;
  max-height: 280px !important;
  object-fit: contain !important;
  object-position: center;
  margin: 0 auto 20px !important;
  box-shadow: none !important;
}
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active ul.products li.product :is(.woocommerce-loop-product__title, h2, h3),
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .wc-block-grid__product-title,
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .wp-block-woocommerce-product-title {
  color: var(--cbs-ink) !important;
  font-family: var(--cbs-title) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  padding: 0 !important;
  margin: 0 0 14px !important;
  min-height: 2.5em;
}
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(ul.products li.product, .wc-block-grid__product) .price {
  margin: auto 0 16px !important;
  color: var(--cbs-link) !important;
  font-family: var(--cbs-font) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active ul.products li.product > :is(a.button, .button) { width: 100% !important; margin: 8px 0 0 !important; box-sizing: border-box; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.woocommerce, [class*="elementor-widget-woocommerce"], .wc-block-grid, .wc-block-cart, .wc-block-checkout) :is(.price, .price .amount, .stock, .star-rating, .woocommerce-Price-amount) { color: var(--cbs-link) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.woocommerce-price-suffix, .price del) { font-size: .78em !important; font-weight: 400; color: var(--cbs-muted) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.woocommerce, [class*="elementor-widget-woocommerce"]) .price ins { background: transparent !important; text-decoration: none !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.woocommerce, [class*="elementor-widget-woocommerce"], .wc-block-grid) :is(.onsale, .wc-block-grid__product-onsale) { background: var(--cbs-gold) !important; color: var(--cbs-ink) !important; border-radius: 4px !important; font: 600 12px/1.4 var(--cbs-font) !important; padding: 7px 10px !important; min-height: 0 !important; min-width: 0 !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-result-count { color: var(--cbs-muted); font: 14px/1.6 var(--cbs-font); }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-pagination :is(ul, li) { border-color: var(--cbs-line) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-pagination :is(a, span) { min-width: 40px; padding: 12px !important; color: var(--cbs-ink) !important; font: 14px/1.2 var(--cbs-font) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-pagination :is(.current, a:hover) { background: var(--cbs-gold) !important; }

/* Single products and recommendations. Elementor columns retain their structure. */
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active.single-product :is(.summary .product_title, .elementor-widget-woocommerce-product-title .elementor-heading-title) { color: var(--cbs-ink) !important; font-family: var(--cbs-title) !important; font-size: clamp(28px, 3vw, 40px) !important; line-height: 1.14 !important; text-transform: none !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active.single-product :is(.summary > .price, .elementor-widget-woocommerce-product-price .price) { color: var(--cbs-link) !important; font: 600 24px/1.5 var(--cbs-font) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-product-details__short-description { color: var(--cbs-muted); font: 15px/1.8 var(--cbs-font); }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-product-gallery__image img { max-height: 540px !important; object-fit: contain !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-product-gallery .flex-control-thumbs { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-product-gallery .flex-control-thumbs li { width: 76px !important; float: none !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-product-gallery .flex-control-thumbs img { width: 76px !important; height: 88px !important; object-fit: contain !important; border: 1px solid var(--cbs-line); border-radius: 4px; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.summary, .elementor-widget-woocommerce-product-add-to-cart) form.cart:not(.variations_form):not(.grouped_form) { display: flex !important; flex-wrap: wrap; align-items: center; gap: 12px; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active form.cart .quantity { margin: 0 !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .variations :is(td, th) { padding: 10px 8px !important; vertical-align: middle; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.related.products, .up-sells.products) { clear: both; margin-top: 48px !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.related.products, .up-sells.products) > h2 { color: var(--cbs-link) !important; font: 600 30px/1.3 var(--cbs-title) !important; text-align: center; margin-bottom: 28px; }
/* Existing Castille product template: replace 12% / 25% / 35% vertical gaps. */
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active.single-product .elementor-975 .elementor-element.elementor-element-477650c8 { --margin-top: 56px !important; --gap: 24px !important; --row-gap: 24px !important; --column-gap: 24px !important; margin-top: 56px !important; row-gap: 24px !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .elementor-widget-woocommerce-product-related .related.products { margin-top: 0 !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-tabs :is(.tabs, .tabs li, .tabs li::before, .tabs li::after) { border-color: var(--cbs-line) !important; box-shadow: none !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-tabs .tabs li { background: var(--cbs-soft) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-tabs .tabs li.active { background: var(--cbs-white) !important; border-bottom-color: var(--cbs-white) !important; }

/* Shared form treatment; preserve payment-provider controls and native validation. */
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.woocommerce:not(body), [class*="elementor-widget-woocommerce"], .elementor-widget-wc-elements, .wc-block-cart, .wc-block-checkout) :is(input.input-text, input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="search"], select, textarea) {
  min-height: 46px;
  max-width: 100%;
  padding: 10px 12px !important;
  border: 1px solid var(--cbs-line) !important;
  border-radius: 4px !important;
  background-color: var(--cbs-white) !important;
  color: var(--cbs-ink) !important;
  box-shadow: none !important;
  font: 400 16px/1.5 var(--cbs-font) !important;
  box-sizing: border-box;
}
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.woocommerce:not(body), [class*="elementor-widget-woocommerce"], .wc-block-cart, .wc-block-checkout) :is(input, select, textarea):focus { border-color: var(--cbs-gold) !important; box-shadow: 0 0 0 2px #b29d7b33 !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.woocommerce:not(body), [class*="elementor-widget-woocommerce"], .wc-block-cart, .wc-block-checkout) :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--cbs-link); }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.woocommerce:not(body), [class*="elementor-widget-woocommerce"]) .form-row label { color: var(--cbs-ink) !important; font: 500 14px/1.6 var(--cbs-font) !important; margin-bottom: 7px; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .quantity .qty { width: 82px !important; min-width: 70px; height: 46px; text-align: center; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .select2-container .select2-selection--single { min-height: 46px !important; border: 1px solid var(--cbs-line) !important; border-radius: 4px !important; background: var(--cbs-white) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--cbs-ink) !important; font: 16px/44px var(--cbs-font) !important; padding-left: 12px; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .select2-container .select2-selection__arrow { height: 44px !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .select2-dropdown { border-color: var(--cbs-line) !important; font: 14px/1.6 var(--cbs-font); }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .select2-results__option--highlighted[aria-selected], body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .select2-results__option--highlighted[data-selected] { color: var(--cbs-ink) !important; background: var(--cbs-gold) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-invalid :is(input.input-text, select, .select2-selection) { border-color: var(--cbs-error) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-invalid label { color: var(--cbs-error) !important; }

/* Classic cart plus Elementor's cart widget. */
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.woocommerce-cart-form, .cart_totals, .e-cart__container, .e-cart__column, .e-checkout__container, .e-checkout__column) { min-width: 0; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce:not(body):has(> .woocommerce-cart-form):has(> .cart-collaterals) { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(300px, 1fr); gap: 28px; align-items: start; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce:not(body):has(> .woocommerce-cart-form):has(> .cart-collaterals) > :not(.woocommerce-cart-form):not(.cart-collaterals) { grid-column: 1 / -1; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce > .cart-collaterals { width: 100% !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .cart-collaterals .cart_totals { float: none !important; width: 100% !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.cart_totals, .woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register, .woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content) { padding: 26px; border: 1px solid var(--cbs-line) !important; border-radius: 6px !important; background: var(--cbs-white); box-sizing: border-box; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .cart_totals { background: var(--cbs-soft); }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.cart_totals h2, .woocommerce-billing-fields h3, #order_review_heading, .woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3) { color: var(--cbs-ink) !important; font: 600 27px/1.25 var(--cbs-title) !important; margin: 0 0 24px; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce table.shop_table { border: 1px solid var(--cbs-line) !important; border-radius: 6px !important; border-spacing: 0; background: var(--cbs-white); color: var(--cbs-ink); font: 14px/1.65 var(--cbs-font); }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce table.shop_table :is(td, th) { padding: 18px 14px !important; border-color: var(--cbs-line) !important; background: transparent; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce table.shop_table thead th { background: var(--cbs-soft) !important; color: var(--cbs-ink) !important; font-weight: 600 !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce table.cart .product-thumbnail { width: 86px; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce table.cart .product-thumbnail img { display: block; width: 66px !important; height: 100px !important; object-fit: contain !important; margin: auto; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce table.cart .product-name a { font-size: 15px !important; line-height: 1.5 !important; color: var(--cbs-ink) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce a.remove { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; color: var(--cbs-muted) !important; background: var(--cbs-soft) !important; font-size: 22px !important; border-radius: 50%; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce a.remove:hover { color: var(--cbs-error) !important; background: #f5eaea !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce .cart .button[name="update_cart"] { background: var(--cbs-white) !important; color: var(--cbs-link) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce table.cart td.actions .coupon { display: flex; gap: 10px; max-width: 100%; flex-wrap: wrap; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce table.cart td.actions .coupon .input-text { width: 180px !important; margin: 0 !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce .wc-proceed-to-checkout { padding-bottom: 0; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce .wc-proceed-to-checkout .checkout-button { display: flex !important; width: 100%; margin-bottom: 0; box-sizing: border-box; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.e-cart-section, .e-checkout__section, .e-coupon-box) { border-color: var(--cbs-line) !important; border-radius: 6px !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce .order-total :is(th, td, .amount) { color: var(--cbs-ink) !important; font-weight: 700; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-checkout #payment { background: var(--cbs-soft) !important; border: 1px solid var(--cbs-line); border-radius: 6px !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-checkout #payment .payment_box { color: var(--cbs-ink) !important; background: #ede6db !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-checkout #payment .payment_box::before { border-bottom-color: #ede6db !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-checkout #payment ul.payment_methods { border-bottom-color: var(--cbs-line) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-checkout #place_order { width: 100%; margin-top: 14px; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-privacy-policy-text { font-size: 13px; color: var(--cbs-muted); }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce ul.order_details { padding: 20px; margin: 24px 0; background: var(--cbs-soft); border: 1px solid var(--cbs-line); border-radius: 6px; }

/* Notices keep their information and validation semantics. */
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner) { border: 1px solid var(--cbs-line) !important; border-left: 4px solid var(--cbs-gold) !important; border-radius: 4px !important; background: var(--cbs-soft) !important; color: var(--cbs-ink) !important; box-shadow: none !important; font: 14px/1.6 var(--cbs-font) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.woocommerce-message, .woocommerce-info)::before { color: var(--cbs-link) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-error { border-left-color: var(--cbs-error) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-error::before { color: var(--cbs-error) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .wc-block-components-notice-banner > svg { background: var(--cbs-gold) !important; fill: var(--cbs-ink) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .wc-block-components-notice-banner.is-error { border-left-color: var(--cbs-error) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .wc-block-components-notice-banner.is-error > svg { background: var(--cbs-error) !important; fill: white !important; }

/* Account, login, addresses, orders, downloads and password reset. */
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-MyAccount-navigation { width: 25%; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-MyAccount-content { width: 72%; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-MyAccount-navigation li { margin: 0; padding: 0; border-bottom: 1px solid var(--cbs-line); }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-MyAccount-navigation li a { display: block; padding: 13px 12px; border-radius: 3px; text-decoration: none; font: 500 14px/1.5 var(--cbs-font) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-MyAccount-navigation li.is-active a { background: var(--cbs-gold) !important; color: var(--cbs-ink) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-MyAccount-navigation li a:hover { background: var(--cbs-soft); }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-MyAccount-content :is(address, fieldset) { border: 1px solid var(--cbs-line) !important; border-radius: 4px; padding: 18px; margin: 16px 0; font-style: normal; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce-MyAccount-content legend { color: var(--cbs-ink); font-weight: 600; padding: 0 8px; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce form :is(.form-row-first, .form-row-last) { width: 48%; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce form .form-row { margin-bottom: 16px; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce form .show-password-input { color: var(--cbs-link); }

/* WooCommerce Blocks, including quantity controls, checkout and cart totals. */
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.wc-block-cart, .wc-block-checkout) :is(.wc-block-components-product-name, .wc-block-components-totals-item__label, .wc-block-components-totals-item__value) { color: var(--cbs-ink) !important; font-size: 15px !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.wc-block-cart, .wc-block-checkout) .wc-block-components-totals-wrapper { border-color: var(--cbs-line) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .wc-block-components-quantity-selector { border: 1px solid var(--cbs-line) !important; border-radius: 4px !important; min-height: 44px; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .wc-block-components-quantity-selector::after { border: none !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .wc-block-components-quantity-selector :is(input, button) { color: var(--cbs-ink) !important; background: transparent !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .wc-block-components-quantity-selector input { border: 0 !important; min-height: 42px !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .wc-block-components-radio-control__input:checked { border-color: var(--cbs-link) !important; background: var(--cbs-white) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .wc-block-components-radio-control__input:checked::before { background: var(--cbs-link) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .wc-block-components-radio-control .wc-block-components-radio-control__option-checked { box-shadow: inset 0 0 0 1px var(--cbs-gold) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .wc-block-components-checkbox__input:checked { background: var(--cbs-gold) !important; border-color: var(--cbs-gold) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .wc-block-components-checkbox__mark { fill: var(--cbs-ink) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .wc-block-components-text-input :is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"]) { min-height: 56px; padding: 22px 12px 6px !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .wc-block-components-text-input label { color: var(--cbs-muted) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .wc-block-components-text-input.has-error input { border-color: var(--cbs-error) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .wc-block-cart-item__image img { max-height: 110px; object-fit: contain; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .wc-block-components-sidebar { background: var(--cbs-soft); border: 1px solid var(--cbs-line); border-radius: 6px; padding: 24px; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .wc-block-cart__submit-button { width: 100%; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .wc-block-components-product-badge { border-color: var(--cbs-line) !important; background: var(--cbs-soft) !important; color: var(--cbs-link) !important; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .wc-block-grid__product { border: 1px solid var(--cbs-line); border-radius: 6px; padding: 18px; }
body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.wc-block-grid__product-image img, .wp-block-woocommerce-product-image img) { height: 280px !important; width: 100%; object-fit: contain !important; }

/* Header cart: gold on both transparent and white/sticky headers. */
body.cbs-header-enabled .cbs-header-actions {
  --width: auto !important;
  --flex-grow: 0 !important;
  --container-widget-width: auto !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  width: auto !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
}
body.cbs-header-enabled .cbs-shop-widget { margin-bottom: 0 !important; flex-shrink: 0; }
body.cbs-header-enabled .cbs-shop-link { white-space: nowrap !important; }
body.cbs-header-enabled .cbs-header-cart { display: inline-flex; flex: 0 0 auto; align-self: center; margin: 0; padding: 0; list-style: none; }
body.cbs-header-enabled .cbs-header-cart[hidden], .cbs-cart-state[hidden] { display: none !important; }
body.cbs-header-enabled a.cbs-cart-link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 46px;
  padding: 10px 13px !important;
  margin: 0 !important;
  border: 1px solid var(--cbs-gold) !important;
  border-radius: 3px !important;
  background: var(--cbs-gold) !important;
  color: var(--cbs-ink) !important;
  font: 600 12px/1.3 var(--cbs-font) !important;
  text-transform: uppercase;
  letter-spacing: .03em;
  text-decoration: none !important;
  white-space: nowrap;
  box-sizing: border-box;
}
body.cbs-header-enabled a.cbs-cart-link:hover { background: var(--cbs-hover) !important; border-color: var(--cbs-hover) !important; }
body.cbs-header-enabled a.cbs-cart-link:focus-visible { outline: 2px solid var(--cbs-link) !important; outline-offset: 3px !important; }
body.cbs-header-enabled a.cbs-cart-link svg { width: 19px !important; height: 19px !important; fill: none !important; stroke: currentColor !important; stroke-width: 1.6; }
body.cbs-header-enabled .cbs-cart-count { display: inline-flex; justify-content: center; align-items: center; min-width: 21px; height: 21px; padding: 0 4px; border-radius: 50%; background: var(--cbs-ink); color: white !important; font: 600 11px/1 var(--cbs-font) !important; box-sizing: border-box; }
body.cbs-header-enabled .cbs-menu-cart { margin-left: 10px !important; }
body.cbs-header-enabled .cbs-header-account { display: inline-flex; flex: 0 0 auto; align-self: center; margin: 0; padding: 0; list-style: none; }
body.cbs-header-enabled .cbs-header-account[hidden], body:not(.cbs-account-enabled) .cbs-header-account { display: none !important; }
body.cbs-header-enabled a.cbs-account-link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 46px !important;
  height: 46px !important;
  min-width: 46px;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid var(--cbs-gold) !important;
  border-radius: 50% !important;
  background: var(--cbs-gold) !important;
  color: var(--cbs-ink) !important;
  text-decoration: none !important;
  box-shadow: none !important;
  box-sizing: border-box;
}
body.cbs-header-enabled a.cbs-account-link:hover { background: var(--cbs-hover) !important; border-color: var(--cbs-hover) !important; }
body.cbs-header-enabled a.cbs-account-link:focus-visible { outline: 2px solid var(--cbs-link) !important; outline-offset: 3px !important; }
body.cbs-header-enabled a.cbs-account-link svg { width: 25px !important; height: 25px !important; fill: none !important; stroke: currentColor !important; stroke-width: 1.6; }
body.cbs-header-enabled .cbs-menu-account { margin-left: 10px !important; }

@media (min-width: 768px) {
  body.cbs-header-enabled .castille-header > .cbs-header-row { column-gap: clamp(12px, 2vw, 32px) !important; }
}
@media (max-width: 1350px) {
  body.cbs-header-enabled .cbs-cart-label { display: none; }
  body.cbs-header-enabled a.cbs-cart-link { padding: 10px !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active ul.products:not(.columns-1):not(.columns-2) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 900px) {
  body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce:not(body):has(> .woocommerce-cart-form):has(> .cart-collaterals) { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  body.cbs-header-enabled .cbs-header-row { flex-wrap: nowrap !important; gap: 8px !important; }
  body.cbs-header-enabled .cbs-header-row > .elementor-widget-nav-menu { --width: auto !important; width: auto !important; min-width: 0; flex: 1 1 auto; }
  body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active ul.products:not(.columns-1) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 16px !important; }
  body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active ul.products li.product { padding: 16px 12px !important; }
  body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active ul.products li.product :is(a img, img.attachment-woocommerce_thumbnail) { height: 220px !important; max-height: 220px !important; }
  body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content) { float: none !important; width: 100% !important; margin-bottom: 20px; padding: 18px; }
  body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active :is(.cart_totals, .woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register, .wc-block-components-sidebar) { padding: 18px; }
  body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce table.shop_table :is(td, th) { padding: 14px 12px !important; }
  body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce table.shop_table_responsive tr td::before { color: var(--cbs-muted); font-weight: 500; }
  body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce table.shop_table_responsive tr:nth-child(2n) td { background: var(--cbs-soft); }
  body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce table.cart td.actions .coupon { float: none; margin-bottom: 12px; }
  body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce table.cart td.actions .coupon :is(.input-text, .button) { width: 100% !important; }
  body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce form :is(.form-row-first, .form-row-last) { width: 100% !important; float: none !important; }
  body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active .woocommerce ul.order_details li { float: none; padding: 12px 0; border: 0; margin: 0; }
  body.cbs-header-enabled .cbs-header-actions { gap: 6px !important; padding-left: 0 !important; padding-right: 4px !important; }
  body.cbs-header-enabled a.cbs-cart-link { min-height: 42px; padding: 9px !important; }
  body.cbs-header-enabled a.cbs-account-link { width: 42px !important; height: 42px !important; min-width: 42px; }
}
@media (max-width: 479px) {
  body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active ul.products, body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active ul.products:not(.columns-1) { grid-template-columns: minmax(0, 1fr) !important; }
  body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active ul.products li.product :is(a img, img.attachment-woocommerce_thumbnail) { height: 250px !important; max-height: 250px !important; }
}
@media (prefers-reduced-motion: reduce) {
  body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active a, body.cbs-active.cbs-active.cbs-active.cbs-active.cbs-active button, body.cbs-header-enabled .cbs-cart-link { transition: none !important; }
}
