/* ==========================================================
   BE ORGANIC - COMPLETE CLIENT HOTFIX (SAFE TARGETED)
   Date: 2026-04-15
   Scope: CSV body 2,3,4,5,6,9,11,14,18,19,21,23,24,25,26
   NOTE: This file is intentionally scoped to real page IDs/classes on beorganic.sk.
   ========================================================== */

/* ---------- Typography baseline (body 4,5) ---------- */
body.bodyClass,
body.bodyClass input,
body.bodyClass textarea,
body.bodyClass select,
body.bodyClass button {
  font-family: "Montserrat", "Poppins", "Nunito Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body.bodyClass {
  color: #3e3e3e;
}

/* ---------- Logo scale (bod 25) ---------- */
#bo-logo-link {
  width: 210px !important;
  height: 64px !important;
  max-width: 56vw !important;
}

@media (max-width: 767px) {
  #bo-logo-link {
    width: 176px !important;
    height: 52px !important;
  }
}

/* ---------- Header duplicate category links: Novinky / Výpredaj (bod 26) ---------- */
#eshopCategory #l28,
#eshopCategory #l85,
#eshopCategory li > a[href*="/novinky/c28"],
#eshopCategory li > a[href*="/vypredaj/c85"] {
  display: none !important;
}

/* ---------- Homepage (page_home_out) ---------- */
#page_home_out #page_home {
  line-height: 1.6;
}

/* Hero clarity (bod 2) */
#page_home_out #banner-slidervzpn2w2 img {
  width: 100% !important;
  height: auto !important;
  filter: none !important;
  image-rendering: auto;
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* Feature icons under hero (bod 3) */
#page_home_out .features-row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin-top: 18px !important;
}

#page_home_out .feature-item {
  text-align: center;
  padding: 6px 4px;
}

#page_home_out .feature-item img {
  width: 66px !important;
  height: 66px !important;
  object-fit: contain !important;
  display: block;
  margin: 0 auto 8px;
}

#page_home_out .feature-item p {
  margin: 0;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

/* Unified section spacing (bod 6) */
#page_home_out .bo-sets-section,
#page_home_out .bo-skin-section,
#page_home_out .bo-super-section,
#page_home_out .bo-guide-section,
#page_home_out .bo-blog-section,
#page_home_out .bo-benefits-section,
#page_home_out .bo-top-section,
#page_home_out .bo-review-section,
#page_home_out .bo-news-section {
  margin-top: 34px !important;
  margin-bottom: 34px !important;
}

/* Headings unification on homepage (bod 4,5) */
#page_home_out .bo-sets-h2,
#page_home_out .bo-super-h2,
#page_home_out .bo-guide-h2,
#page_home_out .bo-blog-title,
#page_home_out .bo-top-h2,
#page_home_out .bo-review-h2,
#page_home_out .bo-news-h2,
#page_home_out .bo-why-clean-h2,
#page_home_out .bo-skin-section h2,
#page_home_out .pageTitle {
  font-size: clamp(28px, 3.1vw, 38px) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em;
  color: #2f2f2f;
}

#page_home_out .bo-sets-name,
#page_home_out .bo-super-name,
#page_home_out .bo-blog-name,
#page_home_out .bo-benefits-card h3,
#page_home_out #mainPageProductsView .c-product .p-subtitle {
  font-size: 16px !important;
  line-height: 1.4 !important;
}

#page_home_out .bo-super-price,
#page_home_out #mainPageProductsView .c-product .p-price span {
  font-size: 18px !important;
  line-height: 1.2 !important;
}

/* Sets carousel arrows - visible directional hint (bod 9) */
#page_home_out .bo-sets-arrow {
  position: relative;
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  border: 1px solid #ced7c9;
  background: #fff !important;
}

#page_home_out .bo-sets-arrow svg {
  display: none !important;
}

#page_home_out .bo-sets-arrow::before {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -52%);
  font-size: 26px;
  font-weight: 700;
  color: #5f6f5a;
  line-height: 1;
}

#page_home_out .bo-sets-arrow-left::before {
  content: "‹";
}

#page_home_out .bo-sets-arrow-right::before {
  content: "›";
}

/* Home blog card alignment (bod 9 blog desktop consistency) */
#page_home_out .bo-blog-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

#page_home_out .bo-blog-item {
  height: 100% !important;
}

/* Google reviews button style (bod 11) */
#page_home_out .bors-more,
#page_cart_out .bors-more,
#page_link_out .bors-more {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin-top: 12px !important;
  padding: 10px 18px !important;
  border-radius: 999px !important;
  border: 1px solid #2d5016 !important;
  color: #2d5016 !important;
  background: #fff !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

#page_home_out .bors-more:hover,
#page_cart_out .bors-more:hover,
#page_link_out .bors-more:hover {
  background: #2d5016 !important;
  color: #fff !important;
}

/* ---------- Blog page (page_link_out + data-id=222) ---------- */
#page_link_out #page_link[data-id="222"] #pageBodyEditContent {
  font-size: 16px;
  line-height: 1.68;
}

#page_link_out #page_link[data-id="222"] .column_block {
  display: flex !important;
  align-items: center;
  gap: 28px !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#page_link_out #page_link[data-id="222"] .column_block > div:first-child {
  width: 32% !important;
  flex: 0 0 32% !important;
}

#page_link_out #page_link[data-id="222"] .column_block > div:last-child {
  width: 68% !important;
  flex: 1 1 auto !important;
}

#page_link_out #page_link[data-id="222"] h2 {
  font-size: clamp(24px, 2.4vw, 32px) !important;
  line-height: 1.25 !important;
  margin: 0 0 12px !important;
}

/* ---------- Contact page (page_link_out + data-id=215) ---------- */
#page_link_out #page_link[data-id="215"] form[id^="frm_support"] {
  max-width: 760px;
  margin: 0 auto;
}

#page_link_out #page_link[data-id="215"] form[id^="frm_support"] .textBox,
#page_link_out #page_link[data-id="215"] form[id^="frm_support"] input,
#page_link_out #page_link[data-id="215"] form[id^="frm_support"] textarea {
  width: 100% !important;
  border: 1px solid #d7d7d7 !important;
  border-radius: 10px !important;
  padding: 10px 12px !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  box-sizing: border-box;
}

#page_link_out #page_link[data-id="215"] form[id^="frm_support"] input[type="submit"],
#page_link_out #page_link[data-id="215"] form[id^="frm_support"] .button {
  width: auto !important;
  min-width: 160px;
  border-radius: 999px !important;
  padding: 10px 18px !important;
}

/* ---------- Product detail page (page_product_detail_out) ---------- */
/* Hide noisy category text above image (bod 21) */
#page_product_detail_out .divProductCategoryPath {
  display: none !important;
}

/* Right side + detail typography consistency (bod 18,19) */
#page_product_detail_out #divProductDetailInformation,
#page_product_detail_out .divProductDetailInformation,
#page_product_detail_out .divProductDetailLongText,
#page_product_detail_out .productTabberContent {
  font-size: 16px !important;
  line-height: 1.7 !important;
}

#page_product_detail_out .productDetailTitle {
  font-size: clamp(28px, 3vw, 42px) !important;
  line-height: 1.2 !important;
}

#page_product_detail_out .productTabberContent p.price,
#page_product_detail_out .productTabberContent p {
  font-size: 16px !important;
  line-height: 1.72 !important;
  margin-bottom: 10px !important;
  font-weight: 400 !important;
}

#page_product_detail_out #span_productPrice,
#page_product_detail_out #span_productPriceVAT {
  font-size: clamp(24px, 2.5vw, 34px) !important;
  line-height: 1.15 !important;
}

/* ---------- Cart page (page_cart_out) ---------- */
/* Prevent huge amount + currency wrapping (bod 24) */
#page_cart_out #page_cart [class*="price"],
#page_cart_out #page_cart [id*="Price"],
#page_cart_out #page_cart .price,
#page_cart_out #page_cart .currency,
#page_cart_out #page_cart .total {
  line-height: 1.15 !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
}

#page_cart_out #page_cart .cartSubTxt,
#page_cart_out #page_cart td,
#page_cart_out #page_cart th,
#page_cart_out #page_cart p {
  font-size: 15px !important;
  line-height: 1.5 !important;
}

/* Terms checkbox style (bod 23) */
#page_cart_out .bo-cart-terms,
#page_order_out .bo-cart-terms,
#page_checkout_out .bo-cart-terms {
  margin: 12px 0 16px !important;
  padding: 10px 12px !important;
  border: 1px solid #d8d8d8 !important;
  border-radius: 10px !important;
  background: #fafafa !important;
  font-size: 14px !important;
}

/* ---------- Footer ---------- */
/* Keep only custom footer block when present (bod 23 footer confusion) */
#footer .bo-footer-wrap + .pageFooterMenu,
#footer .bo-footer-wrap ~ .pageFooterMenu {
  display: none !important;
}

/* Remove blank list rows in footer info column */
#footer .bo-footer-list li {
  min-height: 0;
}

/* Icons under certificate always in one row */
#footer .bo-footer-social-under-cert {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  white-space: nowrap !important;
}

#footer .bo-footer-social-under-cert > a,
#footer .bo-footer-social-under-cert > .bo-social-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  max-width: 34px !important;
  max-height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: none !important;
}

#footer .bo-footer-social-under-cert > a img,
#footer .bo-footer-social-under-cert > .bo-social-link img,
#footer .bo-footer-social-under-cert > a svg,
#footer .bo-footer-social-under-cert > .bo-social-link svg,
#footer .bo-footer-social-under-cert > a i,
#footer .bo-footer-social-under-cert > .bo-social-link i {
  display: block !important;
  width: 34px !important;
  height: 34px !important;
  max-width: 34px !important;
  max-height: 34px !important;
  font-size: 34px !important;
  line-height: 1 !important;
}

#footer .bo-footer-social-under-cert br {
  display: none !important;
}

/* ---------- Mobile ---------- */
@media (max-width: 991px) {
  #page_home_out .bo-blog-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #page_link_out #page_link[data-id="222"] .column_block {
    gap: 20px !important;
  }
}

@media (max-width: 767px) {
  #page_home_out .features-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  #page_home_out .feature-item img {
    width: 46px !important;
    height: 46px !important;
  }

  #page_home_out .feature-item p {
    font-size: 13px !important;
  }

  #page_home_out .bo-blog-list {
    grid-template-columns: 1fr !important;
  }

  #page_link_out #page_link[data-id="222"] .column_block {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  #page_link_out #page_link[data-id="222"] .column_block > div:first-child,
  #page_link_out #page_link[data-id="222"] .column_block > div:last-child {
    width: 100% !important;
    flex: 1 1 auto !important;
  }

  #footer .bo-footer-social-under-cert > a,
  #footer .bo-footer-social-under-cert > .bo-social-link,
  #footer .bo-footer-social-under-cert > a img,
  #footer .bo-footer-social-under-cert > .bo-social-link img,
  #footer .bo-footer-social-under-cert > a svg,
  #footer .bo-footer-social-under-cert > .bo-social-link svg,
  #footer .bo-footer-social-under-cert > a i,
  #footer .bo-footer-social-under-cert > .bo-social-link i {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    max-width: 30px !important;
    max-height: 30px !important;
    font-size: 30px !important;
  }
}

/* Helper class toggled by JS */
.bo-hidden-duplicate-section {
  display: none !important;
}
