/**
 * VOPEČBUŘT RC2.3.2 – final launch polish.
 * Rubik Dirt: main marketing headlines only.
 * Roboto Bold: subheadlines and functional headings.
 * Roboto Regular: body copy and controls.
 */

/* --------------------------------------------------------------------------
   Brand typography hierarchy
   -------------------------------------------------------------------------- */
body.vb-legal-page-243 .entry-content h2,
body.vb-legal-page-243 .entry-content h3,
body.vb-legal-page-243 .entry-content h4,
body.vb-contact-page-243 .entry-content h2,
body.vb-contact-page-243 .entry-content h3,
body.vb-theme.single-product .woocommerce-tabs .panel > h2,
body.vb-theme.single-product .woocommerce-tabs .panel > h3,
body.vb-theme.single-product .woocommerce-Tabs-panel > h2,
body.vb-theme.single-product .woocommerce-Tabs-panel > h3,
body.vb-theme.single-product .woocommerce-product-details__short-description h2,
body.vb-theme.single-product .woocommerce-product-details__short-description h3,
body.vb-theme.single-product .vb-product-safety h2,
body.vb-theme.woocommerce-cart .cart_totals > h2,
body.vb-theme.woocommerce-checkout .woocommerce-billing-fields > h3,
body.vb-theme.woocommerce-checkout .woocommerce-additional-fields > h3,
body.vb-theme.woocommerce-checkout #order_review_heading {
  font-family: var(--vb-subheading-font, "Roboto", Arial, sans-serif) !important;
  font-weight: 700 !important;
  font-style: normal !important;
  line-height: 1.18 !important;
  letter-spacing: .015em !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
}

body.vb-legal-page-243 .entry-content h2 {
  font-size: clamp(1.55rem, 2.5vw, 2.1rem) !important;
  line-height: 1.18 !important;
}

body.vb-legal-page-243 .entry-content h3 {
  font-size: clamp(1.25rem, 2vw, 1.65rem) !important;
  line-height: 1.22 !important;
}

body.vb-legal-page-243 .entry-content h4 {
  font-size: clamp(1.05rem, 1.6vw, 1.3rem) !important;
  line-height: 1.25 !important;
}

/* --------------------------------------------------------------------------
   Contact page: restore the hidden H1 inside the existing branded hero.
   -------------------------------------------------------------------------- */
body.vb-contact-page-243 .entry-title {
  display: block !important;
}

body.vb-contact-page-243 .entry-header {
  min-height: 126px !important;
  align-items: center !important;
}

body.vb-contact-page-243 .vb-business-address {
  display: grid !important;
  gap: .25rem !important;
  margin: 0 0 1.5rem !important;
  padding: 1rem 1.1rem !important;
  border-left: 4px solid #d89336 !important;
  background: rgba(242, 226, 201, .52) !important;
  color: #333a2b !important;
  font-style: normal !important;
  line-height: 1.55 !important;
}

body.vb-contact-page-243 .vb-business-address span,
body.vb-contact-page-243 .vb-business-address strong {
  display: block !important;
}

/* --------------------------------------------------------------------------
   Cookie controls: never overlap cart, checkout, contact or product gallery.
   -------------------------------------------------------------------------- */
.cky-btn-revisit-wrapper,
.cky-btn-revisit-wrapper.cky-revisit-bottom-left,
.cky-revisit-bottom-left,
.cky-revisit-bottom-right {
  position: fixed !important;
  inset: auto auto max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)) !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  transform: none !important;
  z-index: 9999 !important;
}

.cky-btn-revisit-wrapper .cky-btn-revisit {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
}

.cky-notice-btn-wrapper .cky-btn,
.cky-prefrence-btn-wrapper .cky-btn {
  min-height: 44px !important;
  border-width: 2px !important;
  font-family: var(--vb-subheading-font, "Roboto", Arial, sans-serif) !important;
  font-weight: 700 !important;
}

.cky-notice-btn-wrapper .cky-btn-reject,
.cky-prefrence-btn-wrapper .cky-btn-reject {
  color: #333a2b !important;
  background: #f2e2c9 !important;
  border-color: #333a2b !important;
}

/* --------------------------------------------------------------------------
   404: keep the custom section title, hide the widget's duplicate title.
   -------------------------------------------------------------------------- */
body.error404 .widget_product_categories > .widgettitle {
  display: none !important;
}

/* --------------------------------------------------------------------------
   Cart and checkout mobile polish.
   -------------------------------------------------------------------------- */
body.vb-theme.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  color: #333a2b !important;
  background: #f2e2c9 !important;
  border-left: 4px solid #d89336 !important;
}

body.vb-theme.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a {
  color: #84511a !important;
  font-weight: 700 !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px !important;
}

body.vb-theme.woocommerce-checkout #billing_address_2::placeholder,
body.vb-theme.woocommerce-checkout #shipping_address_2::placeholder {
  color: rgba(51, 58, 43, .68) !important;
  opacity: 1 !important;
}

@media (max-width: 620px) {
  body.vb-theme.woocommerce-cart table.shop_table_responsive tr td::before,
  body.vb-theme.woocommerce-cart table.shop_table_responsive tr th::before {
    margin-right: .5rem !important;
    padding-right: .15rem !important;
  }

  body.vb-theme.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    min-height: 48px !important;
    padding: 14px 16px !important;
    font-size: .88rem !important;
    line-height: 1.25 !important;
    letter-spacing: .035em !important;
    white-space: normal !important;
  }

  body.vb-theme.woocommerce-checkout .woocommerce-info,
  body.vb-theme.woocommerce-checkout .woocommerce-message,
  body.vb-theme.woocommerce-checkout .woocommerce-error {
    padding: 14px 16px !important;
    font-size: .92rem !important;
    line-height: 1.45 !important;
  }

  body.vb-contact-page-243 .entry-header {
    min-height: 112px !important;
    margin-bottom: 24px !important;
  }

  body.vb-contact-page-243 .entry-title {
    font-size: clamp(2.5rem, 13vw, 3.6rem) !important;
    line-height: .95 !important;
  }
}
