/*
Theme Name:     Dooriva
Theme URI:      n/a
Template:       kadence
Author:         M M Kahal
Author URI:     http://github.com/mmkahal
Description:    This theme is specifically built for Dooriva.
Version:        1.0
License:        GNU General Public License v3.0 (or later)
License URI:    https://www.gnu.org/licenses/gpl-3.0.html
*/

/* remove the theme default button effect from show-hide password field button */
button.show-password-input {
    background-color: transparent;
    border: none;
    padding: 0; /* Optional: Removes padding */
    margin: 0; /* Optional: Removes margin */
    outline: none; /* Optional: Removes the outline that appears on focus */
}

/* remove woocommerce account page default navigation */ 
.woocommerce-MyAccount-navigation {
	display:none;
}

.woocommerce-account .woocommerce-MyAccount-content {
	width:100%;
}

/* custom seprator line for product page */
.product-title-separator{
	height: 0.2px !important;
	max-height: 0.2px !important;
}

/* add border after customer rating */
.product-rating-with-border{
	border-bottom: 0.2px solid #d8d8d8 !important;
}


/* Make add-to-cart form full width */
/* Force the cart form to use horizontal flex layout */
.add-to-basket-full-width form.cart {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    align-items: center;
    gap: 10px; /* Optional: adjust spacing between elements */
}

/* Ensure the quantity wrapper takes up a portion of the space */
.add-to-basket-full-width .quantity.spinners-added {
    flex: 1 !important;
    margin: 0; /* Remove any extra margins, if necessary */
    display: flex;
    align-items: center;
}

/* Style the quantity input to fill its container */
.add-to-basket-full-width .quantity.spinners-added input.qty {
    width: 100%;
    text-align: center;
}

/* Make the add-to-basket button fill the remaining space */
.add-to-basket-full-width .single_add_to_cart_button {
    flex: 2 !important;
    width: 100%;
    display: block;
    text-align: center;
}


/* styling woo breadcrumbs */
.kadence-breadcrumbs {
    font-size: 12px;
    color: #565656;
}

.kadence-breadcrumbs a {
    color: #0073aa;
    text-decoration: none;
}

.kadence-breadcrumbs a:hover {
    color: #005177;
    text-decoration: underline;
}

/* .kadence-breadcrumbs::before {
    /content: "You are here: ";
    font-weight: bold;
} */

span.bc-delimiter:after {
    content: "> ";
    visibility: visible;
}

span.bc-delimiter {
    visibility: hidden;
}



/* custom image swatch */

/* Ensure all images inside custom-img-swatches are 100x100px */
.custom-img-swatche img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 8px;
  }
  
  /* Basic styling for each swatch option */
  .custom-img-swatche .wapf-swatch {
    display: inline-block;
    padding: 6px;
    margin: 8px;
    border: 2px solid #ccc;
    border-radius: 10px;
    transition: all 0.3s ease;
    text-align: center;
    cursor: pointer;
  }
  
  /* Hover effect */
  .custom-img-swatche .wapf-swatch:hover {
    border-color: #888;
  }
  
  /* Styling for the selected swatch */
  .custom-img-swatche .wapf-swatch.wapf-checked {
    border-color: #0073aa;
    box-shadow: 0 0 0 3px rgba(0, 115, 170, 0.3);
  }
  
  /* Style the label text under each swatch */
  .custom-img-swatche .wapf-swatch-label {
    margin-top: 6px;
    font-size: 14px;
    font-weight: 500;
    color: #333;
  }
  

  /* custom woo list select input */
  /* Target select fields inside custom swatch container */
/* Target all select fields inside WooCommerce */
.custom-prod-select select {
  width: 100%;
  max-width: 100%;
  padding: 10px 14px;
  font-size: 16px;
  color: #333;
  background-color: #fff;
  border: 2px solid #ccc;
  border-radius: 10px;
  appearance: none;
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23666'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 10px 6px;
  cursor: pointer;
  transition: all 0.3s ease;
}

/* Hover state */
.custom-prod-select select:hover {
  border-color: #888;
}

/* Focus state */
.custom-prod-select select:focus {
  border-color: #0073aa;
  box-shadow: 0 0 0 3px rgba(0, 115, 170, 0.3);
  outline: none;
}

/* ==========================================================================
   Filter Everything (wpc-) product filter panel
   Sand panel, Raleway section titles, Inter term labels, forest green accent.
   Applies wherever the filter widget renders: main shop and category archives.
   Added 2026-09-15. Backup of the previous file: wp-content/novamira-sandbox/
   ========================================================================== */

.widget_wpc_filters_widget {
  background: #F2ECE4;
  border-radius: 8px;
  padding: 24px 20px;
}
@media all and (max-width: 767px) {
  .widget_wpc_filters_widget { padding: 20px 16px; }
}

/* Sections separated by hairlines rather than boxes */
.widget_wpc_filters_widget .wpc-filters-section {
  padding: 18px 0;
  border-top: 1px solid #CAC3BC;
}
.widget_wpc_filters_widget .wpc-filters-section:first-of-type {
  padding-top: 0;
  border-top: 0;
}

/* Section titles */
.widget_wpc_filters_widget .wpc-filter-title button {
  font-family: var(--global-heading-font-family, "Raleway", sans-serif);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  color: #212121;
  text-transform: none;
  letter-spacing: 0;
  padding: 0;
  width: 100%;
  text-align: left;
  background: none;
  border: 0;
  border-radius: 0;
}
.widget_wpc_filters_widget .wpc-filter-title button:hover { color: #2E7D32; background: none; }
.widget_wpc_filters_widget .wpc-filter-has-selected .wpc-filter-title button { color: #2E7D32; }

/* Term rows */
.widget_wpc_filters_widget .wpc-term-item { margin: 0 0 6px; }
.widget_wpc_filters_widget .wpc-term-item-content-wrapper label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  cursor: pointer;
}
.widget_wpc_filters_widget .wpc-filter-link {
  font-family: var(--global-body-font-family, "Inter", sans-serif);
  font-size: 15px;
  line-height: 1.5;
  color: #3D3D3D;
  text-decoration: none;
}
.widget_wpc_filters_widget .wpc-filter-link:hover { color: #2E7D32; }
.widget_wpc_filters_widget .wpc-term-count { color: #6B6B6B; font-size: 13px; }
.widget_wpc_filters_widget input[type="checkbox"]:checked + label .wpc-filter-link { color: #2E7D32; font-weight: 500; }

/* Checkboxes in the brand accent */
.widget_wpc_filters_widget .wpc-filters-checkboxes input[type="checkbox"] {
  accent-color: #2E7D32;
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
  margin: 0;
}

/* Nested categories */
.widget_wpc_filters_widget .wpc-term-item .wpc-filters-ul-list {
  margin: 6px 0 0 8px;
  padding-left: 10px;
  border-left: 1px solid #CAC3BC;
}

/* See more / see less */
.widget_wpc_filters_widget a.wpc-toggle-a {
  font-family: var(--global-body-font-family, "Inter", sans-serif);
  font-size: 14px;
  font-weight: 500;
  color: #2E7D32;
  text-decoration: none;
}
.widget_wpc_filters_widget a.wpc-toggle-a:hover { text-decoration: underline; }

/* Active filter chips as brand pills */
.wpc-filter-chips-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
  padding: 0;
  list-style: none;
}
.wpc-filter-chips-list .wpc-filter-chip { margin: 0; }
.wpc-filter-chips-list .wpc-chip-content {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #2E7D32;
  color: #FFFFFF;
  border-radius: 50px;
  padding: 6px 12px;
  font-family: var(--global-body-font-family, "Inter", sans-serif);
  font-size: 13px;
  line-height: 1.2;
}
.wpc-filter-chips-list a { text-decoration: none; }
.wpc-filter-chips-list .wpc-chip-remove-icon { font-size: 15px; line-height: 1; opacity: 0.85; }
.wpc-filter-chips-list .wpc-filter-chip:hover .wpc-chip-content { background: #C62828; }
.wpc-filter-chips-list .wpc-chip-reset-all .wpc-chip-content {
  background: transparent;
  color: #3D3D3D;
  border: 1px solid #CAC3BC;
}
.wpc-filter-chips-list .wpc-chip-reset-all:hover .wpc-chip-content {
  background: transparent;
  color: #C62828;
  border-color: #C62828;
}

/* Mobile open button matches the theme button */
.wpc-filters-open-button-container a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #2E7D32;
  color: #FFFFFF;
  border-radius: 50px;
  padding: 14px 28px;
  font-size: 15px;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-decoration: none;
}
.wpc-filters-open-button-container a:hover { background: #C62828; color: #FFFFFF; }
.wpc-filters-open-button-container a .wpc-icon-html-wrapper span { background: #FFFFFF; }

/* Mobile filter popup header */
.wpc-widget-popup-title {
  font-family: var(--global-heading-font-family, "Raleway", sans-serif);
  font-weight: 700;
  color: #212121;
}

/* --------------------------------------------------------------------------
   Filter Everything: mobile popup, and overrides.
   NOTE: the plugin enqueues its CSS while rendering the widget, so it always
   loads AFTER this stylesheet. Order cannot be relied on, so the selectors
   below repeat a class to outrank the plugin rather than using !important.
   -------------------------------------------------------------------------- */

/* Keep the chip close icon white; the plugin turns it #c00 on hover */
.wpc-filter-chips-list.wpc-filter-chips-list a:hover .wpc-chip-remove-icon,
.wpc-filter-chips-list.wpc-filter-chips-list span[data-wpc-span-link]:hover .wpc-chip-remove-icon,
.wpc-filter-chips-list.wpc-filter-chips-list span.wpc-apply-button-chip:hover .wpc-chip-remove-icon,
.wpc-filter-chips-list.wpc-filter-chips-list .wpc-filter-chip:hover .wpc-chip-remove-icon {
  color: #FFFFFF;
}
/* except the outlined reset-all chip, which stays dark on a light ground */
.wpc-filter-chips-list.wpc-filter-chips-list .wpc-chip-reset-all:hover .wpc-chip-remove-icon {
  color: #C62828;
}

/* Mobile popup header */
.wpc-widget-close-container.wpc-widget-close-container {
  background: #F2ECE4;
  border-bottom: 1px solid #CAC3BC;
}
.wpc-widget-popup-title.wpc-widget-popup-title {
  font-family: var(--global-heading-font-family, "Raleway", sans-serif);
  font-size: 18px;
  font-weight: 700;
  color: #212121;
}
.wpc-widget-close-container .wpc-widget-close-icon .wpc-icon-html-wrapper {
  background: #FFFFFF;
}
.wpc-widget-close-container .wpc-widget-close-icon span.wpc-icon-line-1,
.wpc-widget-close-container .wpc-widget-close-icon span.wpc-icon-line-2,
.wpc-widget-close-container .wpc-widget-close-icon span.wpc-icon-line-3 {
  background: #212121;
}

/* Popup body and its scroll area */
.wpc-filters-main-wrap.wpc-filters-main-wrap .wpc-filters-widget-content {
  background: #F2ECE4;
}
.wpc-filters-overlay.wpc-filters-overlay { background: #212121; }

/* Sticky apply / reset bar inside the popup */
.wpc-filters-widget-controls-container.wpc-filters-widget-controls-container {
  background: #FFFFFF;
  border-top: 1px solid #CAC3BC;
}
.wpc-filters-main-wrap a.wpc-filters-submit-button.wpc-filters-submit-button {
  background: #2E7D32;
  color: #FFFFFF;
  border: 0;
  border-radius: 50px;
  padding: 14px 28px;
  font-size: 15px;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-decoration: none;
}
.wpc-filters-main-wrap a.wpc-filters-submit-button.wpc-filters-submit-button:hover { background: #C62828; color: #FFFFFF; }
.wpc-filters-main-wrap a.wpc-filters-reset-button.wpc-filters-reset-button {
  color: #3D3D3D;
  border-radius: 50px;
  padding: 14px 22px;
  text-decoration: none;
}
.wpc-filters-main-wrap a.wpc-filters-reset-button.wpc-filters-reset-button:hover { color: #C62828; }

/* Mobile open button, overriding the plugin button style */
body .wpc-filters-open-button-container a.wpc-filters-open-widget.wpc-filters-open-widget,
body .wpc-filters-open-button-container a.wpc-open-close-filters-button.wpc-open-close-filters-button {
  background: #2E7D32;
  color: #FFFFFF;
  border: 0;
  border-radius: 50px;
  padding: 14px 28px;
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-decoration: none;
}
body .wpc-filters-open-button-container a.wpc-filters-open-widget .wpc-icon-html-wrapper span,
body .wpc-filters-open-button-container a.wpc-open-close-filters-button .wpc-icon-html-wrapper span {
  background: #FFFFFF;
}

/* ==========================================================================
   Click Kitchens - single product page
   Concept: a joinery specification sheet. Rules and measured columns carry
   the structure; cards are reserved for things you can actually choose.

   HOOKS: target the ck-* classNames on the template rows, never Kadence's
   generated .kb-row-layout-id<post>_<hash> classes. Kadence regenerates those
   whenever the template is saved under a different post ID, which silently
   orphans every rule keyed to them.

   LAYOUT: band padding, backgrounds and max-widths are set natively in the
   Kadence row settings. Nothing here should duplicate them.

   PALETTE: palette1 is RED, palette2 is the brand GREEN.
   ========================================================================== */

:root {
  --ck-ink:    var(--global-palette3, #212121);
  --ck-muted:  var(--global-palette5, #6b6b6b);
  --ck-rule:   var(--global-palette6, #cac3bc);
  --ck-sand:   var(--global-palette7, #f2ece4);
  --ck-shade:  var(--global-palette8, #fafafa);
  --ck-paper:  var(--global-palette9, #ffffff);
  --ck-green:  var(--global-palette2, #2e7d32);
  --ck-green-dk: var(--global-palette11, #13612e);
  --ck-red:    var(--global-palette1, #c62828);

  --ck-13: 13px; --ck-15: 15px; --ck-17: 17px;
  --ck-21: 21px; --ck-27: 27px; --ck-34: 34px;

  --ck-2: 8px;  --ck-3: 12px; --ck-4: 16px; --ck-6: 24px;
  --ck-8: 32px; --ck-12: 48px; --ck-16: 64px;
}

/* --- Typography -------------------------------------------------------- */

/* The theme sets h1 at 64px / line-height 1.5, which puts a blank line inside
   the product name. Scoped to the product page so nothing else moves. */
.ck-buy-zone h1,
.ck-buy-zone .wp-block-kadence-wootemplate-blocks-title h1 {
  font-family: Raleway, sans-serif;
  font-size: clamp(27px, 3.2vw, var(--ck-34));
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.015em;
  margin: 0 0 var(--ck-3);
  text-wrap: balance;
}
.ck-prose h2,
.ck-explore-section h2,
.ck-guides-head h2,
.ck-reviews h2,
.ck-cta h2 {
  font-size: var(--ck-27);
  line-height: 1.18;
  letter-spacing: -0.01em;
  margin-bottom: var(--ck-4);
}
.ck-prose h3 { font-size: var(--ck-21); line-height: 1.25; margin-top: var(--ck-8); }
.ck-prose p  { font-size: var(--ck-17); line-height: 1.65; }

/* Prose wants a reading measure, which the theme's content width is too wide
   to give. The row's own max-width setting stays for everything else. */
.ck-prose > .kt-row-column-wrap,
.ck-detail > .kt-row-column-wrap {
  max-width: 68ch;
  margin-inline: auto;
}

/* --- Buy zone ---------------------------------------------------------- */

@media (min-width: 1025px) {
  .ck-buy-zone > .kt-row-column-wrap { align-items: flex-start; }
  .ck-buy-zone > .kt-row-column-wrap > .wp-block-kadence-column:first-child > .kt-inside-inner-col {
    position: sticky;
    top: 110px;
  }
  .ck-buy-zone > .kt-row-column-wrap > .wp-block-kadence-column:last-child > .kt-inside-inner-col {
    padding-left: var(--ck-8);
  }
}

.ck-buy-zone .wp-block-kadence-wootemplate-blocks-price {
  font-size: var(--ck-27);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  margin-bottom: var(--ck-4);
  padding-bottom: var(--ck-4);
  border-bottom: 1px solid var(--ck-rule);
}
.ck-buy-zone .wp-block-kadence-wootemplate-blocks-price .woocommerce-Price-amount { font-weight: 600; }
.ck-buy-zone .wp-block-kadence-wootemplate-blocks-excerpt {
  max-width: 46ch;
  font-size: var(--ck-17);
  line-height: 1.6;
  color: var(--ck-muted);
  margin-bottom: var(--ck-6);
}
.ck-buy-zone .wp-block-kadence-wootemplate-blocks-rating:empty { display: none; }

/* --- Specification: a sheet, not a card -------------------------------- */

.ck-spec-title {
  font-family: Raleway, sans-serif;
  font-size: var(--ck-13);
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--ck-muted);
  margin: var(--ck-12) 0 var(--ck-2);
  padding-bottom: var(--ck-2);
  border-bottom: 2px solid var(--ck-ink);
}
.ck-buy-zone .wp-block-kadence-wootemplate-blocks-additional-information {
  border: 0; border-radius: 0; background: none; padding: 0;
}
.ck-buy-zone .woocommerce-product-attributes { width: 100%; border: 0; border-collapse: collapse; margin: 0; }
.ck-buy-zone .woocommerce-product-attributes tr { border: 0; }
.ck-buy-zone .woocommerce-product-attributes th,
.ck-buy-zone .woocommerce-product-attributes td {
  border: 0;
  border-bottom: 1px solid var(--ck-rule);
  padding: var(--ck-3) 0;
  font-size: var(--ck-15);
  line-height: 1.45;
  background: none;
  vertical-align: baseline;
  font-variant-numeric: tabular-nums;
}
.ck-buy-zone .woocommerce-product-attributes th {
  width: 40%;
  color: var(--ck-muted);
  font-weight: 400;
  text-align: left;
}
.ck-buy-zone .woocommerce-product-attributes td { color: var(--ck-ink); font-weight: 500; }
.ck-buy-zone .woocommerce-product-attributes td p { margin: 0; }

/* --- Configurator ------------------------------------------------------ */

.ck-buy-zone form.cart {
  background: var(--ck-shade);
  border: 1px solid var(--ck-rule);
  padding: var(--ck-6);
  border-radius: 4px;
}
.tm-extra-product-options .cpf-section { margin-bottom: var(--ck-4); }
.tm-extra-product-options h4.tm-section-label,
.tm-extra-product-options h4.tm-section-label[class*="bgcolor-"] {
  background: var(--ck-sand) !important;
  color: var(--ck-ink) !important;
  border: 0;
  border-radius: 3px;
  padding: var(--ck-3) var(--ck-4);
  margin-bottom: var(--ck-3);
  font-family: Raleway, sans-serif;
  font-size: var(--ck-13);
  font-weight: 700;
  letter-spacing: 0.06em;
}
.tm-extra-product-options h4.tm-section-label .tm-arrow { color: var(--ck-ink); opacity: .6; }
.tm-extra-product-options label.tm-epo-element-label {
  font-weight: 500;
  font-size: var(--ck-15);
  color: var(--ck-ink) !important;
  padding-top: var(--ck-4);
}
.tm-extra-product-options .tm-epo-required { color: var(--ck-red); }

.tm-extra-product-options li.tmcp-field-wrap.tc-mode-text label,
.tm-extra-product-options li.tmcp-field-wrap.tc-mode-text .tm-epo-field-label {
  border: 1px solid var(--ck-rule) !important;
  border-radius: 3px !important;
  padding: var(--ck-3) var(--ck-4) !important;
  background: var(--ck-paper) !important;
  box-shadow: none !important;
  font-size: var(--ck-15);
  line-height: 1.3;
  transition: border-color .12s ease, background-color .12s ease;
}
.tm-extra-product-options li.tmcp-field-wrap.tc-mode-text label:hover,
.tm-extra-product-options li.tmcp-field-wrap.tc-mode-text .tm-epo-field-label:hover {
  border-color: var(--ck-ink) !important;
}
.tm-extra-product-options li.tmcp-field-wrap:has(input:checked) label,
.tm-extra-product-options li.tmcp-field-wrap:has(input:checked) .tm-epo-field-label,
.tm-extra-product-options li.tmcp-field-wrap.tc-active label {
  border-color: transparent !important;
  background: var(--ck-paper) !important;
  box-shadow: none !important;
  font-weight: 600;
}
.tm-extra-product-options li.tmcp-field-wrap,
.tm-extra-product-options li.tmcp-field-wrap.tc-active,
.tm-extra-product-options .tmcp-field-wrap-inner {
  border-color: transparent !important;
  background: none !important;
  box-shadow: none !important;
  border-radius: 3px;
}
.tm-extra-product-options select,
.tm-extra-product-options input[type="text"],
.tm-extra-product-options input[type="number"],
.tm-extra-product-options textarea {
  border: 1px solid var(--ck-rule) !important;
  border-radius: 3px !important;
  padding: var(--ck-3) !important;
  background: var(--ck-paper);
  color: var(--ck-ink);
  font-size: var(--ck-15);
}
.tm-extra-product-options select:focus,
.tm-extra-product-options input:focus,
.tm-extra-product-options textarea:focus {
  border-color: var(--ck-green) !important;
  outline: 2px solid var(--ck-green);
  outline-offset: 2px;
}
.tm-extra-product-options .tc-price,
.tm-extra-product-options .tm-price {
  color: var(--ck-ink);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.tc-epo-totals .tm-final-totals {
  font-size: var(--ck-21);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--ck-ink);
}
form.cart .single_add_to_cart_button {
  width: 100%;
  border-radius: 50px !important;
  padding-block: var(--ck-3);
  font-size: var(--ck-17);
  font-weight: 600;
}

/* --- Made to Measure: quoted by phone, never added to the basket -------- */

form.cart .ck-mtm-note, body .ck-mtm-note { display: none; }
form.cart.ck-mtm-active .single_add_to_cart_button,
form.cart.ck-mtm-active .quantity,
form.cart.ck-mtm-active .tc-epo-totals,
form.cart.ck-mtm-active .tm-final-totals,
form.cart.ck-mtm-active .tm-totals-form,
form.cart.ck-mtm-active .tc-totals-form,
form.cart.ck-mtm-active .tm-extra-product-options-totals,
body.ck-mtm-active form.cart .single_add_to_cart_button,
body.ck-mtm-active form.cart .quantity,
body.ck-mtm-active form.cart .tc-epo-totals,
body.ck-mtm-active form.cart .tm-totals-form,
body.ck-mtm-active form.cart .tc-totals-form { display: none !important; }
form.cart.ck-mtm-active .ck-mtm-note,
body.ck-mtm-active form.cart .ck-mtm-note {
  display: block;
  margin: var(--ck-4) 0 0;
  padding: var(--ck-4);
  border: 0;
  border-left: 3px solid var(--ck-green);
  background: var(--ck-paper);
  color: var(--ck-ink);
  font-size: var(--ck-15);
  line-height: 1.6;
}

/* --- Explore: related doors by range, colour and finish ---------------- */

.ck-explore__tabs { display: none; }
.ck-explore--js .ck-explore__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ck-2);
  margin-bottom: var(--ck-8);
}
.ck-explore__tab {
  appearance: none;
  border: 1px solid var(--ck-rule);
  border-radius: 3px;
  padding: var(--ck-3) var(--ck-4);
  font-family: Raleway, sans-serif;
  font-size: var(--ck-15);
  font-weight: 600;
  color: var(--ck-muted);
  cursor: pointer;
  transition: background-color .12s ease, border-color .12s ease, color .12s ease;
}
/* Kadence styles bare <button> and its hover background is palette1 (red).
   Its button:hover rule is 0,1,1 so it outranks .ck-explore__tab - match it
   with our own pseudo-class selectors rather than reaching for !important. */
.ck-explore__tab,
.ck-explore__tab:visited {
  background: var(--ck-paper);
  box-shadow: none;
  text-decoration: none;
}
.ck-explore__tab:hover,
.ck-explore__tab:focus {
  background: var(--ck-sand);
  border-color: var(--ck-rule);
  color: var(--ck-ink);
  box-shadow: none;
}
.ck-explore__tab:focus-visible { outline: 2px solid var(--ck-ink); outline-offset: 2px; }
/* Selected last so it survives hover. */
.ck-explore__tab[aria-selected="true"],
.ck-explore__tab[aria-selected="true"]:hover,
.ck-explore__tab[aria-selected="true"]:focus {
  background: var(--ck-sand);
  border-color: var(--ck-ink);
  color: var(--ck-ink);
}
.ck-explore--js .ck-explore__panel-title { display: none; }
.ck-explore__panel-title { font-size: var(--ck-21); line-height: 1.25; margin: 0 0 var(--ck-4); }
.ck-explore__panel + .ck-explore__panel { margin-top: var(--ck-12); }

.ck-explore ul.products li.product {
  border: 0; border-radius: 0; padding: 0; background: none; box-shadow: none;
}
.ck-explore ul.products li.product img {
  border: 1px solid var(--ck-rule);
  transition: border-color .12s ease;
}
.ck-explore ul.products li.product:hover img { border-color: var(--ck-ink); }
.ck-explore ul.products li.product .price {
  font-variant-numeric: tabular-nums;
  color: var(--ck-muted);
}

/* --- Tablet ------------------------------------------------------------ */

@media (max-width: 1024px) {
  .ck-buy-zone .wp-block-kadence-wootemplate-blocks-excerpt { max-width: none; }
  .ck-spec-title { margin-top: var(--ck-8); }
  .ck-buy-zone .woocommerce-product-attributes { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--ck-8); }
  .ck-buy-zone .woocommerce-product-attributes tbody { display: contents; }
  .ck-buy-zone .woocommerce-product-attributes tr { display: flex; justify-content: space-between; gap: var(--ck-4); border-bottom: 1px solid var(--ck-rule); }
  .ck-buy-zone .woocommerce-product-attributes th,
  .ck-buy-zone .woocommerce-product-attributes td { border-bottom: 0; }
  .ck-buy-zone .woocommerce-product-attributes th { width: auto; }

  /* The gallery and the specification share the left column, so stacking the
     columns whole puts the spec between the gallery and the configurator.
     display:contents dissolves that column so they can be ordered:
     gallery -> title/price/configurator -> specification. */
  .ck-buy-zone > .kt-row-column-wrap { display: flex; flex-direction: column; }
  .ck-buy-zone > .kt-row-column-wrap > .wp-block-kadence-column:first-child,
  .ck-buy-zone > .kt-row-column-wrap > .wp-block-kadence-column:first-child > .kt-inside-inner-col { display: contents; }
  .ck-buy-zone .wp-block-kadence-wootemplate-blocks-gallery { order: 1; }
  .ck-buy-zone > .kt-row-column-wrap > .wp-block-kadence-column:last-child { order: 2; }
  .ck-buy-zone .ck-spec-title { order: 3; margin-top: var(--ck-12); }
  .ck-buy-zone .wp-block-kadence-wootemplate-blocks-additional-information { order: 4; }
}

/* --- Mobile ------------------------------------------------------------ */

@media (max-width: 767px) {
  .ck-buy-zone .woocommerce-product-attributes { display: table; }
  .ck-buy-zone .woocommerce-product-attributes tbody { display: table-row-group; }
  .ck-buy-zone .woocommerce-product-attributes tr { display: table-row; }
  .ck-buy-zone .woocommerce-product-attributes th,
  .ck-buy-zone .woocommerce-product-attributes td { display: table-cell; border-bottom: 1px solid var(--ck-rule); }

  .ck-buy-zone form.cart { padding: var(--ck-4); margin-inline: calc(var(--ck-4) * -1); border-radius: 0; }

  /* Clearance for the sticky bar belongs inside the closing section - padding
     the body instead leaves a white band between it and the footer. */
  body.ck-has-stickybar { padding-bottom: 0; }
  body.ck-has-stickybar .ck-cta { padding-bottom: calc(var(--ck-12) + 76px); }

  .ck-explore--js .ck-explore__tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: var(--ck-4);
    scrollbar-width: none;
  }
  .ck-explore--js .ck-explore__tabs::-webkit-scrollbar { display: none; }
  .ck-explore__tab { white-space: nowrap; font-size: var(--ck-13); }
}

/* --- Mobile sticky purchase bar ---------------------------------------- */

.ck-stickybar {
  position: fixed;
  inset: auto 0 0 0;
  z-index: 60;
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: var(--ck-4);
  padding: var(--ck-3) var(--ck-4);
  background: var(--ck-paper);
  border-top: 1px solid var(--ck-rule);
  transform: translateY(100%);
  transition: transform .2s ease;
}
.ck-stickybar__price {
  font-size: var(--ck-17);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--ck-ink);
  line-height: 1.2;
}
.ck-stickybar__price small { display: block; font-size: var(--ck-13); font-weight: 400; color: var(--ck-muted); }
.ck-stickybar__btn {
  flex: 0 0 auto;
  border: 0;
  border-radius: 50px;
  padding: var(--ck-3) var(--ck-6);
  background: var(--ck-green);
  color: var(--ck-paper);
  font-size: var(--ck-15);
  font-weight: 600;
  cursor: pointer;
}
.ck-stickybar__btn:hover { background: var(--ck-green-dk); }
.ck-stickybar__btn:focus-visible { outline: 2px solid var(--ck-ink); outline-offset: 2px; }
@media (max-width: 767px) {
  .ck-stickybar { display: flex; }
  .ck-stickybar.is-visible { transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .ck-stickybar { transition: none; }
  .ck-explore ul.products li.product img { transition: none; }
}
