/* ==========================================================================
   Sattvik Patra design system – child theme of Botiga
   1. Fonts   2. Tokens   3. Base   4. Buttons & forms   5. Header
   6. Product cards   7. Shop / category pages   8. Product page
   9. Cart   10. Checkout   11. Footer & misc
   ========================================================================== */

/* 1. Fonts (self-hosted, no Google request) ------------------------------ */
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/hanken-grotesk-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/hanken-grotesk-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/hanken-grotesk-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/hanken-grotesk-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Newsreader";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/newsreader-latin-500-normal.woff2) format("woff2")}

/* 2. Tokens --------------------------------------------------------------- */
:root{
  --sp-bg:#FFFFFF; --sp-stone:#EFEDE8; --sp-stone-2:#E5E2DB;
  --sp-ink:#1B2320; --sp-muted:#5E6662; --sp-line:#E1DED7;
  --sp-deep:#22433A; --sp-deep-hover:#18322B; --sp-on-deep:#F2EFE7;
  --sp-copper:#A35A30; --sp-copper-soft:#F4E7DC; --sp-accent-text:#2E6B5A; --sp-danger:#A23B2A;
  --sp-font-display:"Newsreader",Georgia,"Times New Roman",serif;
  --sp-font-ui:"Hanken Grotesk","Helvetica Neue",Arial,sans-serif;
  --sp-r-sm:4px; --sp-r-md:8px; --sp-r-pill:999px;
  --sp-card-ratio:1/1.28;          /* product image ratio on cards and product page */
  --sp-card-fit:cover;             /* change to "contain" to never crop images */
  --sp-shadow:0 16px 48px rgba(20,35,30,.14);
}

/* 3. Base ----------------------------------------------------------------- */
body{font-family:var(--sp-font-ui);color:var(--sp-ink);background:var(--sp-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body,button,input,select,textarea,.button{font-family:var(--sp-font-ui)}
h1,h2,.h1,.h2,.page-title,.woocommerce-products-header__title{font-family:var(--sp-font-display);font-weight:500;letter-spacing:-.01em;line-height:1.12;color:var(--sp-ink)}
h1,.h1{line-height:1.1}
h3,h4,h5,h6,.h3,.h4,.h5,.h6{font-family:var(--sp-font-ui);font-weight:600;color:var(--sp-ink)}
a{color:inherit}
:focus-visible{outline:2px solid var(--sp-copper);outline-offset:2px}
.woocommerce-breadcrumb,.botiga-breadcrumb,nav.woocommerce-breadcrumb{font-size:13px;color:var(--sp-muted)}
.woocommerce-breadcrumb a{text-decoration:none}

/* 4. Buttons & forms ------------------------------------------------------ */
.button,button.button,a.button,input.button,
.single_add_to_cart_button,.checkout-button,#place_order,
.wp-element-button,.wc-block-components-button:not(.is-link),
.woocommerce-mini-cart__buttons .button{
  background:var(--sp-deep)!important;color:#fff!important;border:1px solid var(--sp-deep)!important;
  border-radius:var(--sp-r-pill)!important;font-weight:600;font-size:15px;letter-spacing:.01em;
  min-height:48px;padding:0 28px;display:inline-flex;align-items:center;justify-content:center;
  text-transform:none;box-shadow:none;transition:background-color .2s,border-color .2s;
}
.button:hover,.single_add_to_cart_button:hover,.checkout-button:hover,#place_order:hover,.wp-element-button:hover,.wc-block-components-button:not(.is-link):hover{background:var(--sp-deep-hover)!important;border-color:var(--sp-deep-hover)!important}
.woocommerce-mini-cart__buttons .button:not(.checkout){background:transparent!important;color:var(--sp-ink)!important;border-color:var(--sp-ink)!important}

input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],input[type=search],input[type=url],
select,textarea,.select2-container .select2-selection--single{
  border:1px solid var(--sp-line);border-radius:6px;background:var(--sp-bg);color:var(--sp-ink);font-size:15px;
}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=search],input[type=url],select,.select2-container .select2-selection--single{min-height:50px}
.select2-container .select2-selection--single .select2-selection__rendered{line-height:48px}
.select2-container .select2-selection--single .select2-selection__arrow{height:48px}
input:focus,select:focus,textarea:focus{border-color:var(--sp-ink)!important;box-shadow:0 0 0 1px var(--sp-ink);outline:none}
input[type=checkbox],input[type=radio]{accent-color:var(--sp-deep)}

/* Quantity stepper */
.quantity{border:1px solid var(--sp-line);border-radius:var(--sp-r-pill);overflow:hidden;background:var(--sp-bg)}
.quantity input.qty{border:0!important;box-shadow:none!important;min-height:46px;font-weight:600;background:transparent}

/* 5. Header --------------------------------------------------------------- */
.bhfb-header{border-bottom:1px solid var(--sp-line)}
.bhfb-header .main-navigation a,.bhfb-header .botiga-dropdown a{font-family:var(--sp-font-ui);font-weight:500;font-size:15px;letter-spacing:0}
.bhfb-header .site-title,.bhfb-header .site-title a{font-family:var(--sp-font-display);font-weight:500}

/* 6. Product cards -------------------------------------------------------- */
ul.products li.product{text-align:left}
ul.products li.product .loop-image-wrap{position:relative;background:var(--sp-stone);border-radius:var(--sp-r-md);overflow:hidden}
ul.products li.product .loop-image-wrap img,
ul.products li.product a img.attachment-woocommerce_thumbnail{
  width:100%;height:auto;aspect-ratio:var(--sp-card-ratio);object-fit:var(--sp-card-fit);
  margin:0;border-radius:0;transition:transform .5s ease;
}
ul.products li.product:hover .loop-image-wrap img{transform:scale(1.03)}
ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--sp-font-ui)!important;font-size:16px!important;font-weight:600!important;line-height:1.35;
  letter-spacing:0;margin:14px 0 2px;padding:0;
}
ul.products li.product .woocommerce-loop-product__title a{text-decoration:none}
ul.products li.product .woocommerce-loop-product__title a:hover{text-decoration:underline;text-underline-offset:3px}
.sp-card-sub{font-size:14px;color:var(--sp-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}
ul.products li.product .star-rating{font-size:12px;color:var(--sp-copper);margin:4px 0}
ul.products li.product .price{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;font-variant-numeric:tabular-nums;color:var(--sp-ink);margin-top:2px}
ul.products li.product .price ins{order:-1;text-decoration:none;font-weight:600;font-size:16px}
ul.products li.product .price del{color:var(--sp-muted);font-size:14px;opacity:1}
.sp-off{color:var(--sp-accent-text);font-weight:600;font-size:14px;white-space:nowrap}
ul.products li.product .price .sp-off{order:2}

/* Sale / label badges as small white pills */
.onsale,span.onsale,ul.products li.product .onsale{
  background:var(--sp-bg)!important;color:var(--sp-ink)!important;border-radius:var(--sp-r-pill)!important;
  font-size:12px!important;font-weight:600;line-height:1.2;padding:6px 11px!important;min-height:0!important;min-width:0!important;
  top:12px!important;left:12px!important;right:auto!important;text-transform:none;letter-spacing:0;box-shadow:none;
}

/* Add-to-cart / quick view on the image: show on hover (desktop), hide on touch screens */
ul.products li.product .loop-image-wrap .loop-button-wrap,
ul.products li.product .loop-image-wrap .botiga-quick-view{transition:opacity .2s,transform .2s}
@media (hover:none){
  ul.products li.product .loop-image-wrap .loop-button-wrap,
  ul.products li.product .loop-image-wrap .button,
  ul.products li.product .loop-image-wrap .botiga-quick-view{display:none!important}
}

/* 7. Shop / category pages ----------------------------------------------- */
.woocommerce-products-header{padding:8px 0 4px}
.woocommerce-products-header__title,.archive .page-title{font-size:clamp(32px,3.8vw,52px)}
.term-description,.woocommerce-products-header .term-description{color:var(--sp-muted);max-width:62ch}
.woocommerce-result-count{color:var(--sp-muted);font-size:14px}
.woocommerce-ordering select{border-radius:var(--sp-r-pill);min-height:42px;padding:0 40px 0 16px;font-size:14px;font-weight:500}
@media (max-width:767px){
  ul.products{column-gap:14px!important;row-gap:32px!important}
  ul.products li.product .woocommerce-loop-product__title{font-size:15px!important}
}

/* 8. Product page --------------------------------------------------------- */
.single-product .product_title,.single-product h1.product_title{
  font-family:var(--sp-font-ui)!important;font-weight:500!important;font-size:clamp(26px,2.4vw,34px)!important;
  line-height:1.2!important;letter-spacing:-.015em;margin-bottom:10px;
}
.single-product div.product .summary .price,.single-product div.product p.price{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-variant-numeric:tabular-nums;color:var(--sp-ink);margin:6px 0 4px;
}
.single-product div.product .summary .price ins{order:-1;text-decoration:none;font-size:26px;font-weight:600}
.single-product div.product .summary .price del{font-size:17px;color:var(--sp-muted);opacity:1}
.single-product div.product .summary .price .sp-off{font-size:15px}

/* Gallery: one image at a time, swipe, dots on the image */
.single-product div.product .woocommerce-product-gallery{position:relative}
.single-product .woocommerce-product-gallery .flex-viewport,
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper{border-radius:var(--sp-r-md);overflow:hidden;background:var(--sp-stone)}
.single-product .woocommerce-product-gallery__image img{width:100%;aspect-ratio:var(--sp-card-ratio);object-fit:var(--sp-card-fit)}
.single-product .woocommerce-product-gallery .flex-control-thumbs,
.single-product .woocommerce-product-gallery .botiga-flexslider{display:none!important}
.single-product .woocommerce-product-gallery ol.flex-control-paging{
  position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:5;
  display:flex;gap:2px;margin:0;padding:6px 10px;list-style:none;border-radius:var(--sp-r-pill);
  background:rgba(255,255,255,.75);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:auto;
}
.single-product .woocommerce-product-gallery ol.flex-control-paging li{margin:0;padding:0;width:auto;float:none;display:block}
.single-product .woocommerce-product-gallery ol.flex-control-paging li a{
  display:block;width:18px;height:18px;margin:0;font-size:0;line-height:0;color:transparent;cursor:pointer;
  background:none;box-shadow:none;border-radius:0;text-indent:0;position:relative;
}
.single-product .woocommerce-product-gallery ol.flex-control-paging li a::before{
  content:"";position:absolute;top:50%;left:50%;width:6px;height:6px;transform:translate(-50%,-50%);
  border-radius:3px;background:rgba(27,35,32,.3);transition:width .2s,background .2s;
}
.single-product .woocommerce-product-gallery ol.flex-control-paging li a.flex-active::before{width:16px;background:var(--sp-ink)}
.single-product .woocommerce-product-gallery ul.flex-direction-nav{margin:0;padding:0;list-style:none}
.single-product .woocommerce-product-gallery .flex-direction-nav a{
  position:absolute;top:50%;z-index:5;width:44px;height:44px;margin-top:-22px;border-radius:50%;
  background:var(--sp-bg);border:1px solid var(--sp-line);font-size:0;color:transparent;opacity:0;transition:opacity .2s;
  display:block;overflow:hidden;
}
.single-product .woocommerce-product-gallery .flex-direction-nav a::before{
  content:"";position:absolute;top:50%;left:50%;width:9px;height:9px;border:solid var(--sp-ink);border-width:0 2px 2px 0;
}
.single-product .woocommerce-product-gallery .flex-direction-nav .flex-prev{left:16px}
.single-product .woocommerce-product-gallery .flex-direction-nav .flex-prev::before{transform:translate(-30%,-50%) rotate(135deg)}
.single-product .woocommerce-product-gallery .flex-direction-nav .flex-next{right:16px}
.single-product .woocommerce-product-gallery .flex-direction-nav .flex-next::before{transform:translate(-70%,-50%) rotate(-45deg)}
.single-product .woocommerce-product-gallery:hover .flex-direction-nav a:not(.flex-disabled){opacity:1}
.single-product .woocommerce-product-gallery .flex-direction-nav a.flex-disabled{pointer-events:none}
@media (hover:none){.single-product .woocommerce-product-gallery .flex-direction-nav{display:none}}
.single-product .woocommerce-product-gallery__trigger{
  top:14px!important;right:14px!important;width:40px!important;height:40px!important;border-radius:50%!important;
  background:var(--sp-bg)!important;border:1px solid var(--sp-line);z-index:6;
}
.single-product div.product .onsale{z-index:6}

/* Key highlight chips */
.sp-highlights{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.sp-highlights li{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 12px;border-radius:var(--sp-r-pill);background:var(--sp-stone);font-size:13px;font-weight:500;line-height:1.3;color:var(--sp-ink);margin:0}
.sp-highlights li::before{display:none}
.sp-highlights svg{color:var(--sp-accent-text);flex:none}
.woocommerce-product-details__short-description{color:var(--sp-muted);font-size:16px;line-height:1.6}

/* Quantity + Add to cart on one row */
.single-product div.product form.cart:not(.variations_form),
.single-product div.product .woocommerce-variation-add-to-cart{display:flex;flex-wrap:nowrap;align-items:stretch;gap:12px}
.single-product div.product form.cart .quantity{flex:none;margin:0!important}
.single-product div.product form.cart .single_add_to_cart_button{flex:1;min-height:54px;font-size:16px;margin:0!important}

/* Minimal trust box */
.sp-trust{display:grid;grid-template-columns:1fr 1fr;background:var(--sp-stone);border-radius:var(--sp-r-md);margin:16px 0 8px}
.sp-trust div{display:grid;gap:2px;padding:14px 18px;font-size:13px;color:var(--sp-muted)}
.sp-trust div+div{border-left:1px solid var(--sp-stone-2)}
.sp-trust b{color:var(--sp-ink);font-weight:600;font-size:14px}

/* Product tabs as expandable sections (Customizer: Tabs → Position "Product summary", Layout "Style 6") */
.botiga-accordion{border-top:1px solid var(--sp-line);margin-top:20px}
.botiga-accordion__item{border-bottom:1px solid var(--sp-line)}
.botiga-accordion__toggle{display:flex;justify-content:space-between;align-items:center;padding:18px 0;font-weight:600;font-size:16px;color:var(--sp-ink)!important;text-decoration:none}
.botiga-accordion__body-content{color:var(--sp-muted);font-size:15px;line-height:1.65;padding-bottom:18px}
.botiga-accordion__body-content h1,.botiga-accordion__body-content h2{font-size:22px;margin:20px 0 10px}
/* Default horizontal tabs, if you keep them */
.woocommerce-tabs ul.tabs li a{font-family:var(--sp-font-ui);font-weight:600}
.woocommerce-Tabs-panel{color:var(--sp-muted);line-height:1.65}
.woocommerce-Tabs-panel h2{font-size:clamp(22px,2.2vw,28px)}

/* Related / upsell headings */
.related.products > h2,.upsells.products > h2,.cross-sells > h2{font-size:clamp(26px,2.6vw,36px);margin-bottom:24px}
.product_meta{font-size:13px;color:var(--sp-muted)}

/* 9. Cart ----------------------------------------------------------------- */
.woocommerce-cart .shop_table{border:0;border-radius:0}
.woocommerce-cart .shop_table th{font-size:13px;font-weight:500;color:var(--sp-muted);text-transform:none;letter-spacing:0;border-bottom:1px solid var(--sp-line)}
.woocommerce-cart .shop_table td{border-top:1px solid var(--sp-line);padding-top:20px;padding-bottom:20px}
.woocommerce-cart .shop_table td.product-thumbnail img{border-radius:var(--sp-r-sm);background:var(--sp-stone);aspect-ratio:var(--sp-card-ratio);object-fit:var(--sp-card-fit);width:88px}
.woocommerce-cart .shop_table td.product-name a{font-weight:600;text-decoration:none}
.woocommerce-cart .cart_totals,.woocommerce-cart .cart-collaterals .cart_totals{background:var(--sp-stone);border-radius:var(--sp-r-md);padding:28px;border:0}
.woocommerce-cart .cart_totals h2{font-size:22px;font-family:var(--sp-font-ui);font-weight:600}
.woocommerce-cart .cart_totals .order-total td,.woocommerce-cart .cart_totals .order-total th{font-size:19px;font-weight:600}
.woocommerce-cart .checkout-button{width:100%;min-height:56px!important;font-size:16px!important}
.woocommerce-cart .coupon .input-text{border-radius:var(--sp-r-pill);padding:0 18px;min-height:46px}
/* Block cart */
.wc-block-cart .wc-block-components-sidebar,.wc-block-cart__sidebar{background:var(--sp-stone);border-radius:var(--sp-r-md);padding:24px!important}
.wc-block-cart-item__image img{border-radius:var(--sp-r-sm);background:var(--sp-stone)}
.wc-block-components-product-name{font-weight:600;text-decoration:none}
.wc-block-components-totals-footer-item{font-size:19px}

/* 10. Checkout ------------------------------------------------------------ */
.woocommerce-checkout h3,.woocommerce-checkout #order_review_heading{font-family:var(--sp-font-ui);font-size:21px;font-weight:600;letter-spacing:0}
.woocommerce-checkout .form-row label{font-size:14px;font-weight:500;color:var(--sp-ink)}
.woocommerce-checkout #order_review,.woocommerce-checkout .woocommerce-checkout-review-order{background:var(--sp-stone);border-radius:var(--sp-r-md);padding:24px}
.woocommerce-checkout #order_review table.shop_table{border:0;background:transparent}
.woocommerce-checkout #order_review .order-total th,.woocommerce-checkout #order_review .order-total td{font-size:19px;font-weight:600}
.woocommerce-checkout #payment{background:transparent;border-radius:var(--sp-r-md)}
.woocommerce-checkout #payment ul.payment_methods{border:1px solid var(--sp-line);border-radius:var(--sp-r-md);background:var(--sp-bg);padding:0;overflow:hidden}
.woocommerce-checkout #payment ul.payment_methods li{padding:16px 18px;border-bottom:1px solid var(--sp-line);margin:0;list-style:none}
.woocommerce-checkout #payment ul.payment_methods li:last-child{border-bottom:0}
.woocommerce-checkout #payment ul.payment_methods li label{font-weight:600}
.woocommerce-checkout #payment div.payment_box{background:var(--sp-stone);border-radius:6px;color:var(--sp-muted);font-size:14px}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce-checkout #place_order{width:100%;min-height:58px!important;font-size:16px!important;margin-top:12px}
/* Block checkout */
.wc-block-checkout .wc-block-components-checkout-step__title{font-family:var(--sp-font-ui);font-size:21px;font-weight:600}
.wc-block-checkout__sidebar,.wc-block-checkout .wc-block-components-sidebar{background:var(--sp-stone);border-radius:var(--sp-r-md);padding:24px!important}
.wc-block-components-text-input input,.wc-block-components-combobox .components-combobox-control input,.wc-blocks-components-select__select{border-radius:6px!important;border-color:var(--sp-line)!important}
.wc-block-components-radio-control__option,.wc-block-components-radio-control-accordion-option{border-color:var(--sp-line)!important}
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted{box-shadow:inset 0 0 0 1.5px var(--sp-deep)!important;background:var(--sp-copper-soft)}
.wc-block-components-checkout-place-order-button{width:100%;min-height:58px!important}

/* Notices */
.woocommerce-message,.woocommerce-info{border-top-color:var(--sp-deep)!important;background:var(--sp-stone)!important;border-radius:var(--sp-r-md)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--sp-deep)!important}
.woocommerce-error{border-top-color:var(--sp-danger)!important;border-radius:var(--sp-r-md)}

/* 11. Footer & misc ------------------------------------------------------- */
.bhfb-footer h2,.bhfb-footer .widget-title{font-family:var(--sp-font-ui);font-size:15px;font-weight:600;letter-spacing:0}
.bhfb-footer a{text-decoration:none}
.bhfb-footer a:hover{text-decoration:underline;text-underline-offset:3px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
