/*
Theme Name: Zar Coffees Single Product v6
Theme URI: https://zarcoffees.com/
Description: Exact WordPress conversion of the supplied Zar Coffees homepage source.
Version: 2.5.0
Author: Zar Coffees
Text Domain: zar-coffees-single-product-v6
*/

/* ZAR dedicated checkout page shell. The custom checkout plugin opens the modal here. */
body.zar-checkout-page-shell{margin:0;min-height:100vh;background:#252334;}
.zar-checkout-page-shell-main{min-height:100vh;}

/* ZAR dedicated checkout page */
.zar-dedicated-checkout-page{margin:0;background:#f5f5f5}.zar-dedicated-checkout-page-bg{min-height:100vh;background:#f5f5f5}


/* ZAR v15: remaining product/cart fixes. */
.zar-single-product-page .zar-price-hidden{display:none!important;}
.zar-single-product-page .custom-payment-options{width:100%!important;display:block!important;}
.zar-single-product-page .safe_card_img{width:100%!important;display:block!important;min-height:0!important;text-align:left!important;}
.zar-single-product-page .safe_card_img img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:left center!important;}

/* The cart drawer has one scrollable region and a checkout action that never
   disappears below the fold. */
#cart-overlay .cart-overlay-content{height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;}
#cart-overlay .offcanvas-cart-content-container{height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;}
#cart-overlay .cart-product-wrapper{height:auto!important;flex:1 1 auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;}
#cart-overlay .cart-product-container{flex:1 1 auto!important;min-height:0!important;height:auto!important;overflow-y:auto!important;overflow-x:hidden!important;padding-bottom:14px!important;}
#cart-overlay .zar-cart-order-note{flex:0 0 auto!important;}
#cart-overlay .cart-buttons{position:relative!important;flex:0 0 auto!important;width:100%!important;padding:12px 0 0!important;background:#fff!important;z-index:20!important;}
#cart-overlay .cart-buttons .checkout_btn{width:100%!important;display:block!important;min-height:52px!important;line-height:1.2!important;}

@media(max-width:767px){
  /* Product page: remove the desktop sticky/fixed gallery height that creates
     the huge blank block seen on mobile. */
  .zar-single-product-page .shop-page-wrapper{margin-top:20px!important;}
  .zar-single-product-page .shop-page-wrapper>.container{width:100%!important;max-width:100%!important;padding-left:14px!important;padding-right:14px!important;}
  .zar-single-product-page .shop-page-wrapper .row.pb-100,.zar-single-product-page .shop-page-wrapper .row.pb-md-85,.zar-single-product-page .shop-page-wrapper .row.pb-sm-65{padding-bottom:25px!important;}
  .zar-single-product-page .product__sticky_content,.zar-single-product-page .product__slide_wrapper,.zar-single-product-page .product-gallery-sticky,.zar-single-product-page .shop-product__big-image-gallery-wrapper{height:auto!important;min-height:0!important;position:relative!important;}
  .zar-single-product-page .product_media_gallery,.zar-single-product-page .zar-gallery-slide{height:auto!important;min-height:0!important;max-height:none!important;}
  .zar-single-product-page .zar-gallery-slide .product_variant_image{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;margin:0 auto!important;}
  .zar-single-product-page .product_media_nav.left_vertical_slide{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;padding:12px 0 0!important;}
  .zar-single-product-page .product_media_nav .pro_gallery_item{flex:0 0 72px!important;width:72px!important;height:72px!important;margin:0!important;}
  .zar-single-product-page .product_media_nav .product-single__media{width:72px!important;height:72px!important;}
  .zar-single-product-page .product_media_nav img{width:100%!important;height:100%!important;object-fit:contain!important;}
  .zar-single-product-page .shop-product-rightside-icons{top:10px!important;right:10px!important;}
  .zar-single-product-page .product-shop{padding-top:20px!important;}
  .zar-single-product-page .shop-product__title h2{font-size:31px!important;line-height:1.15!important;}
  .zar-single-product-page .custom-payment-options{margin:20px 0 28px!important;padding-bottom:22px!important;}
  .zar-single-product-page .safe_card_img img{width:100%!important;max-width:100%!important;height:auto!important;}
  .zar-single-product-page .cpv-quantity{width:200px!important;max-width:100%!important;}
}
@media(max-width:479px){
  #cart-overlay .cart-overlay-content{padding:18px 14px 12px!important;}
  #cart-overlay .cart-title{font-size:23px!important;margin-bottom:12px!important;}
  #cart-overlay .cart-product-container{padding-bottom:10px!important;}
  #cart-overlay .zar-cart-line{grid-template-columns:82px minmax(0,1fr)!important;gap:12px!important;padding:14px 0!important;min-height:0!important;}
  #cart-overlay .zar-cart-line .image{width:82px!important;height:90px!important;}
  #cart-overlay .zar-cart-line .content h5{font-size:15px!important;line-height:1.3!important;}
  #cart-overlay .zar-cart-actions{gap:9px!important;}
  #cart-overlay .zar-cart-qty{height:38px!important;}
  #cart-overlay .zar-qty-btn,#cart-overlay .zar-qty-value{height:36px!important;line-height:36px!important;width:34px!important;}
  #cart-overlay .zar-cart-remove-text{font-size:13px!important;}
  #cart-overlay .zar-cart-order-note{padding:12px 0 10px!important;margin-top:0!important;}
  #cart-overlay .cart-buttons{padding-top:8px!important;}
}

/* ZAR checkout page content */
.zar-dedicated-checkout-page-content{min-height:100vh;background:#fff;padding:40px 24px;box-sizing:border-box}
.zar-checkout-inner{width:min(1100px,100%);margin:0 auto;background:#fff}
.zar-checkout-heading{font-size:36px;line-height:1.2;color:#3c280d;margin:0 0 30px;font-weight:500}
.zar-checkout-inner form.checkout{margin:0!important}
@media(max-width:767px){.zar-dedicated-checkout-page-content{padding:24px 15px}.zar-checkout-heading{font-size:28px;margin-bottom:20px}}

/* ZAR v19: shared cart drawer + dedicated checkout mobile consistency. */
#cart-overlay .zar-cart-line,
#cart-overlay .zar-cart-recommendation,
#cart-overlay .zar-cart-order-note,
#cart-overlay .cart-buttons{box-sizing:border-box!important;}
#cart-overlay .cart-overlay-content{width:520px!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;}
#cart-overlay .offcanvas-cart-content-container{height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;}
#cart-overlay .cart-product-wrapper{flex:1 1 auto!important;height:auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;}
#cart-overlay .cart-product-container{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding-bottom:12px!important;}
#cart-overlay .zar-cart-order-note{flex:0 0 auto!important;background:#fff!important;}
#cart-overlay .cart-buttons{flex:0 0 auto!important;position:relative!important;width:100%!important;background:#fff!important;border-top:1px solid #eee!important;padding:10px 0 calc(10px + env(safe-area-inset-bottom))!important;z-index:50!important;}
#cart-overlay .cart-buttons .checkout_btn{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:52px!important;height:52px!important;margin:0!important;padding:0 12px!important;box-sizing:border-box!important;}
/* The floating language control must never cover cart content/actions. */
body.active-body-search-overlay .zar-floating-language-picker{display:none!important;visibility:hidden!important;pointer-events:none!important;}

/* Dedicated checkout: use the same ZAR typography and prevent the desktop
   checkout columns from overflowing on phones. */
body.zar-dedicated-checkout-page,
body.zar-dedicated-checkout-page *{box-sizing:border-box;}
body.zar-dedicated-checkout-page{margin:0!important;overflow-x:hidden!important;background:#fff!important;color:#3c280d!important;font-family:"Work Sans",Arial,sans-serif!important;}
body.zar-dedicated-checkout-page h1,
body.zar-dedicated-checkout-page h2,
body.zar-dedicated-checkout-page h3,
body.zar-dedicated-checkout-page h4,
body.zar-dedicated-checkout-page h5,
body.zar-dedicated-checkout-page h6{font-family:"Work Sans",Arial,sans-serif!important;color:#3c280d!important;}
body.zar-dedicated-checkout-page .zar-dedicated-checkout-page-content{width:100%!important;min-height:100dvh!important;padding:32px 24px!important;background:#fff!important;overflow-x:hidden!important;}
body.zar-dedicated-checkout-page .zar-checkout-inner{width:min(1180px,100%)!important;max-width:1180px!important;margin:0 auto!important;background:#fff!important;}
body.zar-dedicated-checkout-page .zar-checkout-heading{font-family:"Work Sans",Arial,sans-serif!important;font-size:36px!important;font-weight:500!important;line-height:1.2!important;color:#3c280d!important;}
body.zar-dedicated-checkout-page form.checkout{width:100%!important;max-width:100%!important;margin:0!important;}
body.zar-dedicated-checkout-page form.checkout input,
body.zar-dedicated-checkout-page form.checkout select,
body.zar-dedicated-checkout-page form.checkout textarea,
body.zar-dedicated-checkout-page form.checkout button{max-width:100%;box-sizing:border-box;}

@media(max-width:767px){
  #cart-overlay .cart-overlay-content{width:100%!important;max-width:100%!important;height:100dvh!important;max-height:100dvh!important;padding:18px 14px calc(8px + env(safe-area-inset-bottom))!important;}
  #cart-overlay .cart-title{font-family:"Work Sans",Arial,sans-serif!important;font-size:24px!important;line-height:1.2!important;margin:0 0 12px!important;padding-bottom:12px!important;}
  #cart-overlay .cart-product-container{padding-bottom:8px!important;}
  #cart-overlay .zar-cart-order-note{padding:10px 0 8px!important;margin:0!important;}
  #cart-overlay .cart-buttons{padding:8px 0 calc(8px + env(safe-area-inset-bottom))!important;}
  #cart-overlay .cart-buttons .checkout_btn{min-height:50px!important;height:50px!important;font-size:14px!important;}

  body.zar-dedicated-checkout-page .zar-dedicated-checkout-page-content{padding:0!important;min-height:100dvh!important;width:100%!important;}
  body.zar-dedicated-checkout-page .zar-checkout-inner{width:100%!important;max-width:none!important;margin:0!important;padding:0 16px 30px!important;}
  body.zar-dedicated-checkout-page .zar-checkout-heading{font-size:28px!important;margin:0 0 18px!important;}
  body.zar-dedicated-checkout-page form.checkout{display:flex!important;flex-direction:column!important;width:100%!important;}
  /* Standard WooCommerce checkout: summary follows contact details on mobile,
     with no horizontal overflow. */
  body.zar-dedicated-checkout-page form.checkout .col2-set,
  body.zar-dedicated-checkout-page form.checkout #customer_details,
  body.zar-dedicated-checkout-page form.checkout #order_review_heading,
  body.zar-dedicated-checkout-page form.checkout #order_review{width:100%!important;max-width:100%!important;float:none!important;clear:both!important;margin-left:0!important;margin-right:0!important;}
  body.zar-dedicated-checkout-page form.checkout .col2-set .col-1,
  body.zar-dedicated-checkout-page form.checkout .col2-set .col-2{width:100%!important;float:none!important;margin:0 0 20px!important;}
  body.zar-dedicated-checkout-page form.checkout #order_review{overflow-x:hidden!important;}
  body.zar-dedicated-checkout-page form.checkout .form-row{width:100%!important;float:none!important;margin-left:0!important;margin-right:0!important;}
  body.zar-dedicated-checkout-page form.checkout input,
  body.zar-dedicated-checkout-page form.checkout select,
  body.zar-dedicated-checkout-page form.checkout textarea{width:100%!important;min-width:0!important;font-size:16px!important;}
  body.zar-dedicated-checkout-page form.checkout .woocommerce-checkout-review-order-table{width:100%!important;table-layout:fixed!important;}
  body.zar-dedicated-checkout-page form.checkout .woocommerce-checkout-review-order-table th,
  body.zar-dedicated-checkout-page form.checkout .woocommerce-checkout-review-order-table td{word-break:break-word!important;padding:10px 6px!important;}
}
@media(max-width:479px){
  body.zar-dedicated-checkout-page .zar-checkout-inner{padding-left:12px!important;padding-right:12px!important;}
  body.zar-dedicated-checkout-page .zar-checkout-heading{font-size:25px!important;}
}


/* ZAR v21: final mobile review isolation. */
@media (max-width:767px){
  .zar-single-product-page .zar-review-widget{
    display:block!important;
    width:calc(100% - 24px)!important;
    max-width:none!important;
    min-height:0!important;
    height:auto!important;
    margin:32px 12px 0!important;
    padding:0!important;
    overflow:visible!important;
    clear:both!important;
  }
  .zar-single-product-page .zar-review-widget h2.zar-review-title{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0 0 12px!important;
    padding:0!important;
    font-family:"Work Sans",Arial,sans-serif!important;
    font-size:30px!important;
    line-height:1.15!important;
    font-weight:400!important;
    letter-spacing:0!important;
    transform:none!important;
    zoom:1!important;
  }
  .zar-single-product-page .zar-review-head{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0 0 18px!important;
    border-bottom:1px solid #d8d8d8!important;
  }
  .zar-single-product-page .zar-review-summary{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
    width:100%!important;
    gap:10px!important;
    margin:0!important;
  }
  .zar-single-product-page .zar-review-summary .zar-stars{
    flex:0 0 auto!important;
    font-size:18px!important;
    line-height:1!important;
    letter-spacing:1px!important;
  }
  .zar-single-product-page .zar-review-summary-text{
    flex:0 1 auto!important;
    font-size:15px!important;
    line-height:1.4!important;
    white-space:nowrap!important;
  }
  .zar-single-product-page .zar-write-review{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:52px!important;
    min-height:52px!important;
    margin:18px 0 0!important;
    padding:0 15px!important;
    box-sizing:border-box!important;
    font-size:13px!important;
    letter-spacing:2px!important;
  }
  .zar-single-product-page .zar-review-form{
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:18px 0 0!important;
    padding:16px!important;
    box-sizing:border-box!important;
  }
  .zar-single-product-page .zar-review-list{
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
  }
  .zar-single-product-page .zar-review-empty{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:18px 0!important;
    font-size:15px!important;
    line-height:1.5!important;
  }
  .zar-single-product-page .zar-review-card{
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:18px 0!important;
  }
  .zar-single-product-page .zar-review-card-top{
    width:100%!important;
    min-width:0!important;
  }
  .zar-single-product-page .zar-review-date{margin-left:auto!important;white-space:nowrap!important;}
  .zar-single-product-page .zar-review-comment{margin:10px 0 0 52px!important;}
}
@media (max-width:479px){
  .zar-single-product-page .zar-review-widget{width:calc(100% - 20px)!important;margin-left:10px!important;margin-right:10px!important;margin-top:28px!important;}
  .zar-single-product-page .zar-review-widget h2.zar-review-title{font-size:28px!important;}
  .zar-single-product-page .zar-review-summary .zar-stars{font-size:17px!important;}
  .zar-single-product-page .zar-review-summary-text{font-size:14px!important;}
}
