/* Container width - match header at 1200px */
:root { --botiga_content_width: 1200px; }

/* Font fix - proper fallback stacks */
body { font-family: "DM Sans", sans-serif; }
h1, h2, h3, h4, h5, h6, .site-title { font-family: "DM Serif Display", serif; }

/* Header logo sizing */
.site-logo img,
.custom-logo {
  max-height: 70px !important;
  width: auto !important;
  height: auto !important;
}
/* Hide site title and tagline - logo only */
.bhfb-header .site-title,
.bhfb-header .site-description,
.bhfb-component-site_title .site-title,
.bhfb-component-site_title .site-description {
  display: none !important;
}

/* Header - white bg, no border */
.bhfb-header,
.bhfb-main_header_row {
  background-color: #fff !important;
  border: none !important;
}
.bhfb-main_header_row .container { max-width: 1200px; margin: 0 auto; }

/* Footer - full width */
.bhfb-below_footer_row > .container { max-width: 100%; padding: 0; }
.bhfb-footer .bhfb-below_footer_row .bhfb-component-copyright,
.bhfb-footer .bhfb-below_footer_row .botiga-credits { width: 100%; }

/* Footer grid layout */
.ard-ft { max-width: 1200px; margin: 0 auto; padding: 60px 24px 20px; }
.ard-ft-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; margin-bottom: 40px; }
.ard-ft-col h4 { font-family: "DM Serif Display", serif; font-size: 16px; color: #fff; margin: 0 0 16px; letter-spacing: .5px; }
.ard-ft-col a { display: block; color: #aaa; text-decoration: none; font-size: 14px; line-height: 2; }
.ard-ft-col a:hover { color: #C45D3E; }
.ard-ft-col a.ard-ft-social { display: flex; align-items: center; gap: 6px; }
.ard-ft-col span { display: block; color: #aaa; font-size: 14px; line-height: 2; }
.ard-ft-col span:last-child { color: #666; font-size: 13px; }
.ard-ft-bar { border-top: 1px solid #333; padding: 20px 24px; text-align: center; font-size: 13px; color: #666; }
@media (max-width: 768px) { .ard-ft-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; } }
@media (max-width: 480px) { .ard-ft-grid { grid-template-columns: 1fr; gap: 24px; } }

/* Homepage - remove top and bottom margin on content-wrapper */
.page-template-default.page-id-12 .content-wrapper { margin-top: 0; margin-bottom: 0; }
/* Homepage dynamic category grid styling */
.page-id-12 ul.products.columns-5 {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 20px !important;
  max-width: 1200px;
  margin: 0 auto !important;
  padding: 0 20px !important;
  list-style: none !important;
}
.page-id-12 ul.products.columns-5 li.product-category {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
}
.page-id-12 ul.products.columns-5 li.product-category a {
  position: relative;
  display: block;
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 4/5;
  text-decoration: none;
}
.page-id-12 ul.products.columns-5 li.product-category a img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  transition: transform .4s ease;
}
.page-id-12 ul.products.columns-5 li.product-category a:hover img {
  transform: scale(1.05);
}
.page-id-12 ul.products.columns-5 li.product-category a h2,
.page-id-12 ul.products.columns-5 li.product-category a .woocommerce-loop-category__title {
  position: absolute !important;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 16px 12px !important;
  margin: 0 !important;
  background: linear-gradient(transparent, rgba(0,0,0,.7));
  color: #fff !important;
  font-family: "DM Serif Display", serif !important;
  font-size: 15px !important;
  text-align: center;
  letter-spacing: .3px;
}
.page-id-12 ul.products.columns-5 li.product-category a h2 .count,
.page-id-12 ul.products.columns-5 li.product-category a .woocommerce-loop-category__title .count {
  display: none;
}
@media (max-width: 900px) {
  .page-id-12 ul.products.columns-5 {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
  }
}
@media (max-width: 560px) {
  .page-id-12 ul.products.columns-5 {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .page-id-12 ul.products.columns-5 li.product-category a h2,
  .page-id-12 ul.products.columns-5 li.product-category a .woocommerce-loop-category__title {
    font-size: 13px !important;
    padding: 12px 8px !important;
  }
}

/* Homepage content-wrapper - no padding on tablet/mobile so hero is edge-to-edge */
@media (max-width: 1024px) {
  .page-template-default.page-id-12 .content-wrapper {
    padding: 0 !important;
  }
  .page-template-default.page-id-12 .entry-content > *:not(.wp-block-cover):not(.alignfull):not(.woocommerce) {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

/* Buttons - solid fill, no borders, no hover effect, rounder */
.wp-block-button__link,
.button,
a.button,
button.button,
input[type="submit"],
.wc-block-components-button {
  border: none !important;
  background-color: #1A1A1A !important;
  color: #fff !important;
  border-radius: 50px !important;
}
.wp-block-button__link:hover,
.button:hover,
a.button:hover,
button.button:hover,
input[type="submit"]:hover,
.wc-block-components-button:hover {
  background-color: #1A1A1A !important;
  color: #fff !important;
  border: none !important;
  opacity: 1 !important;
}
.is-style-outline .wp-block-button__link,
.is-style-outline .wp-block-button__link:hover {
  border: none !important;
  background-color: #1A1A1A !important;
  color: #fff !important;
}

/* Fix content alignment - neutralize Bootstrap grid offsets */
.content-wrapper > .row.main-row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.content-wrapper > .row.main-row > .site-main.no-sidebar {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* Fix inner sorting row to also align */
.site-main.no-sidebar > .woocommerce-sorting-wrapper > .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.site-main.no-sidebar > .woocommerce-sorting-wrapper > .row > [class*="col-"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Sort/filter select + review fields - white bg, not grey */
.woocommerce-ordering select.orderby,
.woocommerce-Reviews select,
.woocommerce-Reviews input,
.woocommerce-Reviews textarea,
.comment-form select,
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form textarea {
  background-color: #fff !important;
  border: 1px solid #ddd !important;
}

/* Mobile sort filter - prevent text overlap (handled in 768px rule below) */
.woocommerce-ordering select.orderby {
  text-overflow: ellipsis !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  padding-right: 32px !important;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  max-width: 100% !important;
}

/* Quantity + Add to Cart - tighter spacing */
.botiga-single-addtocart-wrapper {
  gap: 8px !important;
}

/* Quantity input - clean look (product page + cart) */
.quantity {
  border: none !important;
  background: white !important;
  margin-bottom: 0 !important;
}
.quantity input[type="number"].qty,
input[type="number"].qty.text {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
.wc-block-components-quantity-selector {
  border: none !important;
  background: white !important;
  box-shadow: none !important;
}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__input,
.wc-block-cart-item__quantity .wc-block-components-quantity-selector__input {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button,
.wc-block-cart-item__quantity .wc-block-components-quantity-selector__button {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #333 !important;
  border-radius: 0 !important;
}

/* Hero buttons - horizontal on desktop, vertical on mobile */
.wp-block-cover .wp-block-buttons {
  margin-bottom: 0 !important;
}
.wp-block-cover .wp-block-buttons + .wp-block-code,
.wp-block-cover .wp-block-buttons + div[style*="display:flex"] {
  margin-top: 16px;
}
@media (min-width: 601px) {
  .wp-block-cover .wp-block-buttons {
    display: inline-flex !important;
  }
  .wp-block-cover .wp-block-buttons + div[style*="display:flex"] {
    display: inline-flex !important;
    margin-top: 0 !important;
    margin-left: 16px !important;
  }
  .wp-block-cover__inner-container .wp-block-buttons,
  .wp-block-cover__inner-container div[style*="display:flex"] {
    justify-content: center;
  }
}

/* Hero buttons - full width stacked on mobile */
@media (max-width: 600px) {
  .ard-hero-btns {
    flex-direction: column !important;
    align-items: center !important;
  }
  .ard-hero-btns a {
    width: 100% !important;
    max-width: 300px !important;
    text-align: center !important;
    justify-content: center !important;
    border-radius: 50px !important;
  }
}

/* Hero + WhatsApp buttons - rounder */
.ard-hero-btns a,
.ard-wa-btn {
  border-radius: 50px !important;
}

/* WhatsApp buttons - override global dark button style */
.ard-wa-btn:hover {
  background-color: #1DAF54 !important;
  color: #fff !important;
}

/* Mobile breadcrumbs - center align */
@media (max-width: 768px) {
  .botiga-breadcrumb-trail,
  .woocommerce-breadcrumb {
    text-align: center !important;
    justify-content: center !important;
  }
}

/* Mobile sorting - full width stacked */
@media (max-width: 768px) {
  .woocommerce-sorting-wrapper .row {
    flex-direction: column !important;
    gap: 8px;
  }
  .woocommerce-sorting-wrapper .col-6,
  .woocommerce-sorting-wrapper .col-md-6 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
  .woocommerce-sorting-wrapper .botiga-sorting-left-inner,
  .woocommerce-sorting-wrapper .botiga-sorting-right-inner {
    width: 100% !important;
  }
  .woocommerce-sorting-wrapper .woocommerce-ordering,
  .woocommerce-sorting-wrapper .woocommerce-ordering select.orderby {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Blog archive - fix Read more spacing and meta spacing */
.posts-archive .entry-content { margin-bottom: 0; }
.posts-archive .entry-content .more-link { margin-top: 8px; display: inline-block; }
.posts-archive .entry-meta { margin-bottom: 4px; }

/* About page stats grid - vertical on mobile */
@media (max-width: 768px) {
  .ard-stats-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 24px !important; }
}
@media (max-width: 480px) {
  .ard-stats-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
}

/* Blog archive - fix orange meta/excerpt text */
.posts-archive .entry-meta a,
.blog .entry-meta a,
.entry-meta .posted-on a,
.entry-meta .byline a {
  color: #888 !important;
}
.posts-archive .entry-meta a:hover,
.blog .entry-meta a:hover {
  color: #1A1A1A !important;
}
.posts-archive .entry-content,
.posts-archive .entry-content p,
.blog .entry-content p {
  color: #555 !important;
}
.posts-archive .entry-content a.more-link {
  color: #C45D3E !important;
}

/* Remove dashed focus outlines on links */
a:focus,
a:active,
a:focus-visible,
button:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

/* Fix form placeholder color */
:root {
  --bt-color-forms-placeholder: #999;
}
::placeholder {
  color: #999 !important;
  opacity: 1;
}

/* Consistent form styling across all pages (excludes WC Block checkout) */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="date"],
select,
textarea,
.woocommerce input.input-text,
.woocommerce select,
.woocommerce textarea,
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea {
  border: none !important;
  border-radius: 6px !important;
  padding: 14px 16px !important;
  font-size: 15px !important;
  font-family: "DM Sans", sans-serif !important;
  background-color: #eee !important;
  color: #333 !important;
  box-shadow: none !important;
  transition: background-color 0.2s ease !important;
  width: 100%;
  box-sizing: border-box;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="date"]:focus,
select:focus,
textarea:focus,
.woocommerce input.input-text:focus,
.woocommerce select:focus,
.woocommerce textarea:focus,
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
  background-color: #e5e5e5 !important;
  outline: none !important;
  box-shadow: none !important;
}
textarea {
  min-height: 140px;
}
label,
.woocommerce label,
.wpcf7 label {
  font-size: 14px;
  font-weight: 600;
  color: #333;
  margin-bottom: 6px;
  display: block;
}

/* WC Block checkout - match style but preserve floating labels */
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-checkout .select2-selection,
.wc-block-components-combobox .wc-block-components-combobox-control input {
  border: none !important;
  border-radius: 6px !important;
  font-size: 15px !important;
  font-family: "DM Sans", sans-serif !important;
  background-color: #eee !important;
  color: #333 !important;
  box-shadow: none !important;
  transition: background-color 0.2s ease !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-textarea:focus,
.wc-block-components-combobox .wc-block-components-combobox-control input:focus {
  background-color: #e5e5e5 !important;
  outline: none !important;
  box-shadow: none !important;
}
/* Don't override WC Block labels - they use floating label pattern */
.wc-block-components-text-input label,
.wc-block-components-combobox label,
.wc-blocks-components-select__label {
  font-size: inherit !important;
  font-weight: inherit !important;
  margin-bottom: 0 !important;
  display: inherit !important;
  left: 16px !important;
}
/* WC Block checkout - consistent padding for floating labels */
.wc-block-components-text-input input,
.wc-blocks-components-select__select,
.wc-block-components-combobox input {
  padding: 1.5em 16px 0.5em 16px !important;
}

/* Contact form - hide br tags between label and input */
.ard-contact-form p br {
  display: none;
}

/* Search bar - off-white, no border/shadow */
.search-form input[type="search"],
.wp-block-search__input,
.woocommerce-product-search input[type="search"],
.botiga-search-wrapper input[type="search"] {
  background-color: #eee !important;
  border: none !important;
  box-shadow: none !important;
}

/* Product tabs - display as inline tabs */
.woocommerce-tabs ul.tabs.wc-tabs {
  display: inline-flex !important;
  width: auto !important;
}

/* Checkout payment options - clean card style */
.wc-block-components-payment-method-label,
.wc-block-components-payment-method-icons {
  font-family: "DM Sans", sans-serif !important;
}
.wp-block-woocommerce-checkout-payment-block {
  background: #fff !important;
  border-radius: 10px !important;
  padding: 20px 24px !important;
  border: none !important;
  box-shadow: none !important;
}
.wc-block-components-radio-control,
.wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control__option,
.wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control-accordion-content {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}
.wc-block-components-radio-control-accordion-option {
  background: #f5f5f5 !important;
  padding: 16px 20px !important;
  border-radius: 8px !important;
}
.wc-block-components-radio-control-accordion-content {
  padding: 8px 0 0 !important;
  font-size: 14px;
  color: #666;
}

/* Checkout order summary - border top on total with spacing */
.wc-block-components-totals-footer-item {
  border-top: 1px solid #e5e5e5 !important;
  padding-top: 16px !important;
  margin-top: 8px !important;
}

/* Checkout payment - checked radio option */
label.wc-block-components-radio-control__option.wc-block-components-radio-control__option-checked {
  padding: 0 !important;
  font-weight: bold !important;
  margin-bottom: 0 !important;
  color: #000;
}

/* Checkout country field spacing */
.wc-block-components-address-form__country.wc-block-components-country-input {
  margin-top: 12px !important;
}

/* Sorting wrapper bottom padding */
.woocommerce-sorting-wrapper {
  padding-bottom: 0;
}

/* Remove borders globally — keep on separators, form inputs, footer bar, header, checkout summary */
.content-wrapper *:where(:not(hr):not(.wp-block-separator):not(.ard-ft-bar):not(.wc-block-components-totals-footer-item):not(.wc-tabs):not(.wc-block-components-sale-badge):not(.onsale)) {
  border-color: transparent !important;
}
/* Sort filter - remove border */
.woocommerce-ordering select.orderby {
  border: none !important;
}

/* Payment options — force no borders after global reset */
.wc-block-components-radio-control *,
.wc-block-components-radio-control,
.wc-block-components-radio-control::before,
.wc-block-components-radio-control::after,
.wc-block-components-radio-control *::before,
.wc-block-components-radio-control *::after {
  border: 0 none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Product tabs borders — placed after global reset so they win */
.content-wrapper .woocommerce-tabs ul.tabs.wc-tabs {
  border-bottom-width: 1px !important;
  border-bottom-style: solid !important;
  border-bottom-color: #ddd !important;
}
.content-wrapper .woocommerce-tabs ul.tabs.wc-tabs li.active a {
  border-bottom-width: 3px !important;
  border-bottom-style: solid !important;
  border-bottom-color: #1A1A1A !important;
  padding-bottom: 8px !important;
  font-weight: 700 !important;
}

/* Related / Upsell / Recently Viewed products */
.related.products,
.upsells.products,
.recently-viewed-products {
  padding: 40px;
  background: white;
  margin-bottom: 80px !important;
}
.related.products > .products,
.upsells.products > .products,
.recently-viewed-products > .products {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Sale badge - border */
.wc-block-components-product-badge.wc-block-components-sale-badge,
.onsale {
  border: 1px solid #ddd !important;
}

/* Sidebar - clean widget styling (all pages) */
.sidebar-wrapper .product_list_widget {
  margin: 0 !important;
  padding: 25px !important;
  padding-bottom: 1px !important;
  position: static !important;
  box-shadow: none !important;
  max-width: 100% !important;
  background: white !important;
}
.sidebar-wrapper .widget_block h3 {
  margin: 20px 0 !important;
  font-size: 1.125rem !important;
}
.sidebar-wrapper .widget {
  margin: 0 !important;
  padding-bottom: 0 !important;
}
