/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Creative Themes
 * Template: blocksy
 * Text Domain: blocksy
 **/


/* ============================================================
   404 PAGE
   ============================================================ */

body.error404 .ct-search-results {
  background-color: #ffffff;
  font-size: 16px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08), 0 30px 60px rgba(0, 0, 0, 0.12) !important;
}

body.error404 .ct-search-results a:hover {
  text-decoration: underline;
}

#search-modal a.ct-search-item span:hover,
#search-modal .ct-search-more:hover {
  text-decoration: underline;
}


/* ============================================================
   SEARCH RESULTS
   ============================================================ */

body.search.search-results:not(.archive):not(.woocommerce):not(.woocommerce-page):not(.post-type-archive-product) h1,
body.search.search-results:not(.archive):not(.woocommerce):not(.woocommerce-page):not(.post-type-archive-product) h2 {
  font-size: 24px;
}

body.search.search-results:not(.archive):not(.woocommerce):not(.woocommerce-page):not(.post-type-archive-product) .meta-categories a {
  font-size: 12px;
}

#search-modal [type=submit]:hover {
  background-color: #ffffff;
}


/* ============================================================
   PRODUCT FEATURES LAYOUT
   ============================================================ */

.product-features {
  display: flex;
  flex-direction: column;
  gap: 80px;
}

.feature-row {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.feature-row.reverse {
  flex-direction: column;
}

/* Image */

.feature-image {
  display: flex;
  justify-content: center;
  align-items: center;
}

.feature-image img {
  width: 75%;
  height: auto;
  object-fit: cover;
  display: block;
}

/* Text */

.feature-text {
  display: flex;
  justify-content: center;
  align-items: center;
}

.feature-text-inner {
  width: 100%;
  padding: 0;
}

.feature-text h2 {
  font-family: 'Roboto Slab', serif;
  font-size: 32px;
  line-height: 48px;
  font-weight: 500;
  margin-bottom: 18px;
  color: #1b1b1b;
}

.feature-text p {
  font-size: 16px;
  line-height: 1.6;
  color: #444;
}

/* WooCommerce description */

.woocommerce-Tabs-panel--description .xps-card-tile-description {
  font-size: 16px !important;
}

/* Desktop (≥992px): two-column layout */

@media (min-width: 992px) {
  .feature-row {
    flex-direction: row;
    align-items: center;
  }

  .feature-row.reverse {
    flex-direction: row-reverse;
  }

  .feature-col {
    width: 50%;
  }

  .feature-image img {
    width: 100%;
    max-width: 473px;
  }

  /* First row: image on left */
  .feature-row:not(.reverse) .feature-image {
    padding-right: 30px;
  }

  .feature-row:not(.reverse) .feature-text {
    justify-content: flex-start;
  }

  .feature-row:not(.reverse) .feature-text-inner {
    max-width: 536px;
  }

  /* Second row: image on right */
  .feature-row.reverse .feature-image {
    padding-left: 40px;
  }

  .feature-row.reverse .feature-text {
    justify-content: flex-start;
    padding-left: 70px;
  }

  .feature-row.reverse .feature-text-inner {
    max-width: 602px;
  }
}


/* ============================================================
   PRODUCT SPECIFICATIONS GRID
   ============================================================ */

.sage-spec-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px 60px;
  margin-top: 40px;
}

@media (min-width: 768px) {
  .sage-spec-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .sage-spec-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.sage-spec-item {
  display: flex;
  align-items: flex-start;
  gap: 15px;
}

.sage-icon img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  display: block;
}

.sage-spec-title {
  font-weight: 600;
  font-size: 16px;
  margin-bottom: 8px;
}

.sage-spec-description {
  font-size: 15px;
  line-height: 1.6;
  color: #333;
  margin: 0;
  padding: 0;
  margin-left: 18px;
}

.sage-spec-description ul {
  margin: 0;
  padding-left: 20px;
  list-style-position: outside;
}

.sage-spec-description li {
  margin-bottom: 4px;
}

.sage-spec-description > *:first-child {
  margin-top: 0;
}


/* ============================================================
   FOOTER
   ============================================================ */

#footer h3.widget-title {
  color: #ffffff;
  font-size: 14px !important;
  font-style: normal;
  letter-spacing: 0;
  font-family: Helvetica;
  font-weight: 700;
}

#footer .widget_nav_menu a {
  font-size: 16px;
  font-weight: 400;
}

#footer .widget_nav_menu a:hover {
  text-decoration: underline;
}


/* ============================================================
   SINGLE PRODUCT
   ============================================================ */

body.single-product div.woocommerce-tabs.wc-tabs-wrapper ul.wc-tabs {
  display: none !important;
}

body.single-product .woocommerce-Tabs-panel--description {
  max-width: 1110px;
  margin: 0 auto;
  text-align: center;
}

.entry-summary-items > .ct-product-add-to-cart {
  --product-element-spacing: 0;
}

body.single-product .product_title {
  font-size: 40px;
  line-height: 56px;
}

body.single-product .product_meta .posted_in {
  display: none !important;
}

@media (min-width: 1000px) {
  .ct-default-gallery .entry-summary,
  .ct-stacked-gallery .entry-summary {
    margin-inline-start: 60px;
  }
}

/* Breadcrumbs */

body.single-product .ct-breadcrumbs .first-item,
body.single-product .ct-breadcrumbs .last-item,
body.single-product .ct-breadcrumbs .ct-separator {
  display: none !important;
}

body.single-product .ct-product-gallery-container .ct-media-container {
  background-color: #f9f9f9;
  border-radius: 4px;
  border: solid 1px #E6E7E7;
}

/* SKU & meta */

body.single-product span.sku_wrapper {
  font-size: 12px !important;
  color: #000000 !important;
  font-weight: 400 !important;
  text-transform: none !important;
}

div.product-entry-wrapper.is-width-constrained > div.summary.entry-summary.entry-summary-items > div.product_meta > span.sku_wrapper > span {
  opacity: 1 !important;
}

/* Variations table */

body.single-product table.variations label {
  font-size: 12px;
  color: #313638;
  font-weight: 700;
  text-transform: uppercase;
}

body.single-product table.variations label span {
  font-size: 14px;
  color: #313638;
  font-weight: 700;
  text-transform: none;
}

body.single-product .reset_variations {
  display: none !important;
}

/* Swatches — active/hover states */

[data-swatches-type="image"] > *.active .ct-swatch,
body.single-product [data-swatches-type="image"] > *.active .ct-swatch {
  --swatch-border-color: var(--theme-palette-color-1);
}

body.single-product [data-swatches-type="image"] > *:not(.ct-out-of-stock):hover .ct-swatch {
  --swatch-border-color: var(--theme-palette-color-9);
}

/* Gallery arrows
   Using relative URLs — works on any domain (staging, prod, local) */

body.single-product .flexy-arrow-prev {
  left: auto !important;
  right: 84px !important;
}

body.single-product .flexy-arrow-next {
  right: 30px;
}

body.single-product [class*=flexy-arrow] {
  bottom: 30px;
  top: auto;
  border: 1px solid #313638;
}

.flexy-container .flexy > [class*=flexy-arrow] {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}

body.single-product [class*=flexy-arrow]:hover {
  background-color: #f9f9f9 !important;
}

body.single-product [class*=flexy-arrow]:active {
  background-color: #f9f9f9 !important;
  transform: scale(0.95) !important;
}

.flexy-arrow-next svg,
.flexy-arrow-prev svg {
  display: none;
}

.flexy-arrow-next::before,
.flexy-arrow-prev::before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  background-color: currentColor;
}

.flexy-arrow-next::before {
  mask-image: url('/wp-content/uploads/2025/06/faChevronRight.svg');
  -webkit-mask-image: url('/wp-content/uploads/2025/06/faChevronRight.svg');
}

.flexy-arrow-prev::before {
  mask-image: url('/wp-content/uploads/2025/06/faChevronLeft.svg');
  -webkit-mask-image: url('/wp-content/uploads/2025/06/faChevronLeft.svg');
}


/* ============================================================
   PRODUCT LOOP (ARCHIVES)
   ============================================================ */

.sage-product-loop .ct-variation-swatches {
  display: flex !important;
  flex-wrap: nowrap;
  gap: 10px;
  align-items: center;
}

.sage-product-loop .ct-swatch {
  width: 20px !important;
  height: 20px !important;
  border-radius: 50%;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

body.archive.tax-product_cat .woocommerce-loop-product__title {
  font-size: 18px;
  line-height: 22px;
}

body.archive .ct-swatch-container {
  pointer-events: none !important;
  cursor: default !important;
}

body.archive .ct-swatch {
  border: none !important;
}

body.archive.tax-product_cat #product-category-hero-image {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
}

@media (max-width: 768px) {
  body.archive.tax-product_cat #product-category-hero-image {
    position: static;
    right: auto;
    top: auto;
    bottom: auto;
    width: 100%;
  }
}


/* ============================================================
   PRODUCT COLOR SWATCHES SHORTCODE
   ============================================================ */

.color-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 0;
  padding: 0;
}

.color-swatch-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.color-swatch {
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  object-fit: cover;
  border: none;
  display: block;
}


/* ============================================================
   NAVIGATION / MEGA MENU
   ============================================================ */

.header-menu-1 .menu-item-has-children .ct-column-heading {
  margin: 20px 0 4px;
}

.header-menu-1 ul.sub-menu li.menu-item-has-children .ct-menu-link:hover {
  text-decoration: underline;
  text-underline-offset: calc(-16% + 6px);
}

.header-menu-1 ul.sub-menu {
  padding-bottom: 18px;
}

.header-menu-1 .sub-menu li a {
  padding-top: 1px !important;
  padding-bottom: 1px !important;
}

[data-id="menu"] > ul > li[class*="ct-mega-menu"] > .sub-menu:after {
    border-bottom: 1px solid #CBCCCC;
    border-top: 1px solid #CBCCCC;
}

/* Mobile menu search icon */

@media (max-width: 767px) {
  .ct-search-form.ct-has-dropdown .ct-search-form-controls .ct-icon {
    color: #ffffff !important;
  }
  
  #offcanvas > div:nth-child(3) > div > div.ct-search-box > form {
    border-radius: 0;
  }
  
  #offcanvas > div:nth-child(3) > div > div.ct-search-box > form > div.ct-search-form-inner.ct-pseudo-input {
    height: 42px;
  }
  
  #offcanvas > div:nth-child(3) > div > div.ct-search-box > form > div.ct-search-form-inner.ct-pseudo-input > button {
    background-color: var(--theme-palette-color-7);
    color: var(--theme-palette-color-6);
  }

}




/* ============================================================
   CUSTOM IMAGE OVERLAY
   ============================================================ */

.custom-image-overlay {
  position: relative;
  display: inline-block;
  overflow: hidden;
  border-radius: 8px; /* все 4 угла — скругление на самом блоке с фото */
}

.custom-image-overlay::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
 background: linear-gradient(
    to bottom,
    transparent 70%,
    rgba(53, 57, 59, 0.6) 85%,
    #35393B 95%
  );
}

.custom-image-overlay img {
  display: block;
  width: 100%;
}

/* ============================================================
   WPML
   ============================================================ */

.otgs-development-site-front-end {
  display: none;
}


/* ============================================================
   ELEMENTOR ACCORDION FIX
   ============================================================ */

.e-n-accordion-item-title[aria-expanded="false"] {
  border-bottom: 1px solid #d5d8dc;
}

.e-n-accordion-item-title[aria-expanded="true"] {
  border-bottom: none;
}

.e-n-accordion-item {
  border-bottom: 1px solid #d5d8dc;
}


/* ============================================================
   SINGLE PAGE (non-product)
   ============================================================ */

.wp-singular h1.page-title,
.wp-singular header > h1 {
  font-size: 32px !important;
  line-height: 56px !important;
}


/* ============================================================
   RRP CARD (Related Recipes / Products)
   ============================================================ */

.rrp-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  height: 120px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 8px;
  padding: 12px 10px;
  text-decoration: none;
  overflow: hidden;
  transition: opacity 0.25s ease;
}

.rrp-card:hover {
  opacity: 0.68;
}

.rrp-media {
  flex: 0 0 100px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  height: 100%;
}

.rrp-img {
  max-height: 100px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.rrp-body {
  flex: 1 1 auto;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
}

.rrp-body .rrp-title {
  font-family: 'Roboto Slab', Sans-Serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.4;
  color: #121212;
}


/* ============================================================
   RELATED RECIPES (product page)
   ============================================================ */

.related-recipes-list {
  margin: 20px 0;
}

.recipe-item {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 24px 0;
  border-top: 1px solid #CBCCCC;
}

.recipe-image {
  flex-shrink: 0;
  width: 120px;
  height: 120px;
  overflow: hidden;
  border: 1px solid #CBCCCC;
  border-radius: 4px;
}

.recipe-image img {
  width: 120px !important;
  height: 120px !important;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.recipe-content {
  flex: 1;
}

.recipe-title {
  margin: 0 0 10px 0;
  font-size: 14px;
  font-weight: bold;
}

.recipe-description {
  margin-bottom: 10px;
  font-size: 14px;
}

.recipe-pdf-link {
  display: inline-flex;
  align-items: center;
  padding: 4px 16px;
  text-decoration: none;
  font-family: "Helvetica", Sans-serif;
  font-size: 14px;
  font-weight: 700;
  border-radius: 50px;
  border: 1px solid #76797A;
  transition: background-color 0.3s ease;
}

.recipe-pdf-link:hover {
  background-color: #E6E7E7;
  text-decoration: none;
}


/* ================================================
   HEADER: white background + dark elements on dropdown open
   Verified against page markup
   ================================================ */

/* 1. Header row background */
[data-header*="type-1"] .ct-header [data-transparent-row="yes"]:has(.ct-menu-link[aria-expanded="true"]) {
    background-color: #ffffff !important;
    transition: background-color 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* 2. Main menu links */
[data-header*="type-1"] .ct-header [data-transparent-row="yes"]:has(.ct-menu-link[aria-expanded="true"]) [data-id="menu"] > ul > li > a {
    color: #35393B !important;
    --color: #35393B;
    transition: color 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* 3. Dropdown arrow icon */
[data-header*="type-1"] .ct-header [data-transparent-row="yes"]:has(.ct-menu-link[aria-expanded="true"]) [data-id="menu"] > ul > li > a .ct-toggle-dropdown-desktop .ct-icon {
    color: #35393B !important;
    fill: #35393B !important;
    transition: fill 0.25s cubic-bezier(0.4, 0, 0.2, 1),
                color 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* 4. Active menu item indicator */
[data-header*="type-1"] .ct-header [data-transparent-row="yes"]:has(.ct-menu-link[aria-expanded="true"]) [data-id="menu"] > ul > li[class*="current-menu-"] > a:after {
    background-color: #35393B !important;
}

/* 5. Logo: hide white (default), show dark (sticky) */
[data-header*="type-1"] .ct-header [data-transparent-row="yes"]:has(.ct-menu-link[aria-expanded="true"]) .site-branding .default-logo {
    display: none !important;
}

[data-header*="type-1"] .ct-header [data-transparent-row="yes"]:has(.ct-menu-link[aria-expanded="true"]) .site-branding .sticky-logo {
    display: inline-block !important;
}

/* 6. Underline on hover (before click) */
[data-header*="type-1"] .ct-header [data-transparent-row="yes"]:has(.ct-menu-link[aria-expanded="true"]) [data-id="menu"] > ul > li > a.ct-menu-link:hover::after {
    opacity: 1 !important;
    background-color: #35393B !important;
}

/* 6b. Hide indicator on non-expanded, non-active, non-hovered items */
[data-header*="type-1"] .ct-header [data-transparent-row="yes"]:has(.ct-menu-link[aria-expanded="true"]) [data-id="menu"] > ul > li:not([class*="current-menu-"]):not(:has(> a.ct-menu-link[aria-expanded="true"])):not(:hover) > a.ct-menu-link::after {
    opacity: 0 !important;
}

/* 7. Language switcher color */
[data-header*="type-1"] .ct-header [data-transparent-row="yes"]:has(.ct-menu-link[aria-expanded="true"]) [data-id="language-switcher"] .ct-language,
[data-header*="type-1"] .ct-header [data-transparent-row="yes"]:has(.ct-menu-link[aria-expanded="true"]) [data-id="language-switcher"] .ct-icon,
[data-header*="type-1"] .ct-header [data-transparent-row="yes"]:has(.ct-menu-link[aria-expanded="true"]) [data-id="language-switcher"] .ct-label {
    color: #35393B !important;
    --color: #35393B;
    fill: #35393B !important;
    transition: color 0.25s cubic-bezier(0.4, 0, 0.2, 1),
                fill 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* 8. Search icon color */
[data-header*="type-1"] .ct-header [data-transparent-row="yes"]:has(.ct-menu-link[aria-expanded="true"]) [data-id="button"] .ct-offcanvas-trigger {
    color: #35393B !important;
    fill: #35393B !important;
    transition: color 0.25s cubic-bezier(0.4, 0, 0.2, 1),
                fill 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

#offcanvas div.ct-search-form-inner.ct-pseudo-input{
  border-radius:0 !important;
  border-color: #35393B !important;
}

.ct-drawer-canvas .ct-search-form-inner.ct-pseudo-input .wp-element-button {
    border-radius: 0;
    border-left:none;
    border-right:none;
    border-top: solid 1px;
    border-bottom: solid 1px;
}

#offcanvas > div:nth-child(3) > div > div.ct-search-box > form > div.ct-search-form-inner.ct-pseudo-input {
    border-radius: 0;
}

@media (max-width: 999px) {
  #offcanvas div.ct-search-form-inner.ct-pseudo-input, #offcanvas div.ct-search-form-inner.ct-pseudo-input .wp-element-button {
  border-radius:0 !important;
  border: solid 1px #ffffff !important;
}
}

  
  
/* home */

body.home #category-carousel  div.swiper-pagination
{margin-top: 30px;}