/*
Theme Name: Storefront Child
Theme URI: https://vebylo.com
Description: Child theme for custom VEBYLO WooCommerce product layout.
Author: OpenAI
Template: storefront
Version: 1.0.0
Text Domain: storefront-child
*/

:root{
  --vb-bg:#efefec;
  --vb-paper:#f4f4f1;
  --vb-ink:#111111;
  --vb-muted:#6f6a63;
  --vb-line:#d8d3cd;
  --vb-line2:#c9c3bc;
  --vb-max:1680px;
}

body.single-product{
  background:var(--vb-bg);
  color:var(--vb-ink);
}

body.single-product .site-header,
body.single-product .site-footer,
body.single-product .widget-area,
body.single-product .sidebar,
body.single-product .related.products,
body.single-product .up-sells,
body.single-product .product_meta,
body.single-product .posted_in,
body.single-product .tagged_as,
body.single-product .sku_wrapper,
body.single-product .woocommerce-review-link,
body.single-product .storefront-sticky-add-to-cart{
  display:none !important;
}

body.single-product .site-main,
body.single-product .woocommerce-notices-wrapper,
body.single-product .woocommerce-breadcrumb,
body.single-product div.product,
body.single-product .woocommerce-tabs{
  width:min(var(--vb-max), 94vw);
  margin-left:auto;
  margin-right:auto;
}

body.single-product .woocommerce-breadcrumb{
  margin-top:28px;
  margin-bottom:18px;
  color:var(--vb-muted);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
}

body.single-product .woocommerce-breadcrumb a{
  color:var(--vb-ink);
  text-decoration:none;
}

.vb-product-stage{
  margin-bottom:80px;
}

.vb-product-grid{
  display:grid;
  grid-template-columns:minmax(420px, 1.05fr) minmax(360px, .95fr);
  gap:48px;
  align-items:start;
  margin-bottom:44px;
}

.vb-product-media{
  position:sticky;
  top:32px;
}

.vb-product-media .woocommerce-product-gallery{
  width:100% !important;
  float:none !important;
  margin:0 !important;
}

.vb-product-media .woocommerce-product-gallery__wrapper,
.vb-product-media .flex-viewport{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}

.vb-product-media .woocommerce-product-gallery__image a{
  display:block;
}

.vb-product-media .woocommerce-product-gallery__image img{
  width:100%;
  height:auto;
  display:block;
  background:var(--vb-paper);
  border:1px solid var(--vb-line);
}

.vb-product-media .flex-control-thumbs{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:14px !important;
  padding:0 !important;
}

.vb-product-media .flex-control-thumbs li{
  list-style:none !important;
}

.vb-product-media .flex-control-thumbs img{
  border:1px solid var(--vb-line);
  background:var(--vb-paper);
  opacity:1 !important;
}

.vb-product-kicker{
  color:var(--vb-muted);
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin:4px 0 18px;
}

.vb-product-title{
  margin:0 0 10px;
  color:var(--vb-ink);
  font-size:44px;
  line-height:1.02;
  font-weight:500;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.vb-product-price .price{
  color:var(--vb-ink) !important;
  font-size:28px !important;
  font-weight:500 !important;
  margin:0 0 18px !important;
}

.vb-product-short{
  color:var(--vb-muted);
  font-size:14px;
  line-height:1.7;
  max-width:54ch;
  margin-bottom:22px;
}

.vb-product-summary form.variations_form{
  margin-top:18px !important;
}

.vb-product-summary table.variations{
  width:100% !important;
  border-collapse:separate !important;
  border-spacing:0 10px !important;
  margin:0 0 8px !important;
}

.vb-product-summary table.variations th,
.vb-product-summary table.variations td{
  padding:0 !important;
  vertical-align:middle !important;
}

.vb-product-summary table.variations label{
  display:block;
  color:var(--vb-ink);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin:0 0 7px;
}

.vb-product-summary table.variations select{
  width:100%;
  min-height:48px;
  border:1px solid var(--vb-line2);
  background:#fff;
  color:var(--vb-ink);
  padding:0 12px;
  border-radius:0 !important;
  box-shadow:none !important;
}

.vb-product-summary .reset_variations{
  display:inline-block !important;
  margin-top:8px !important;
  font-size:12px;
  color:var(--vb-muted) !important;
  text-decoration:none !important;
}

.vb-product-summary .single_variation_wrap{
  margin-top:14px;
  border-top:1px solid var(--vb-line);
  padding-top:16px;
}

.vb-product-summary .woocommerce-variation-description{
  color:var(--vb-muted);
  font-size:14px;
  line-height:1.7;
  margin-bottom:10px;
}

.vb-product-summary .woocommerce-variation-price .price{
  font-size:26px !important;
  margin-bottom:8px !important;
}

.vb-product-summary .stock{
  font-size:12px !important;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.vb-product-summary .stock.out-of-stock{
  color:#8e2b2b !important;
}

.vb-product-summary .woocommerce-variation-add-to-cart,
.vb-product-summary form.cart{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin-top:14px !important;
  padding-top:14px;
}

.vb-product-summary .quantity .qty{
  min-width:74px;
  min-height:48px;
  border:1px solid var(--vb-line2);
  background:#fff;
  color:var(--vb-ink);
  padding:0 12px;
  border-radius:0 !important;
}

.vb-product-summary button.single_add_to_cart_button,
.vb-product-summary button.single_add_to_cart_button.button,
.vb-product-summary button.single_add_to_cart_button.alt{
  min-height:48px;
  padding:0 22px !important;
  border-radius:999px !important;
  border:1px solid #111 !important;
  background:#111 !important;
  color:#fff !important;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:11px !important;
  font-weight:700 !important;
  box-shadow:none !important;
}

.vb-product-summary #wc-stripe-payment-request-wrapper,
.vb-product-summary #wc-stripe-payment-request-button-separator,
.vb-product-summary .woopayments-express-checkout,
.vb-product-summary .woocommerce-payments-express-checkout,
.vb-product-summary .payment-request-button{
  display:none !important;
}

body.single-product .woocommerce-tabs{
  margin-top:6px !important;
  margin-bottom:80px !important;
  clear:both !important;
}

body.single-product .woocommerce-tabs ul.tabs{
  display:flex !important;
  gap:18px;
  flex-wrap:wrap;
  margin:0 0 18px !important;
  padding:0 !important;
  border:none !important;
}

body.single-product .woocommerce-tabs ul.tabs::before{
  display:none !important;
}

body.single-product .woocommerce-tabs ul.tabs li{
  margin:0 !important;
  padding:0 !important;
  border:none !important;
  background:transparent !important;
}

body.single-product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce-tabs ul.tabs li::after{
  display:none !important;
}

body.single-product .woocommerce-tabs ul.tabs li a{
  padding:0 !important;
  color:var(--vb-muted) !important;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.16em;
  text-decoration:none;
}

body.single-product .woocommerce-tabs ul.tabs li.active a{
  color:var(--vb-ink) !important;
}

body.single-product .woocommerce-tabs .panel{
  margin:0 !important;
  padding:22px 0 0 !important;
  border-top:1px solid var(--vb-line);
  background:transparent !important;
  box-shadow:none !important;
}

body.single-product .woocommerce-Tabs-panel h2,
body.single-product .woocommerce-Tabs-panel h3{
  color:var(--vb-ink);
  font-size:14px;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin:0 0 10px;
}

body.single-product .woocommerce-Tabs-panel p,
body.single-product .woocommerce-Tabs-panel li{
  color:var(--vb-muted);
  font-size:14px;
  line-height:1.7;
}

@media (max-width: 980px){
  .vb-product-grid{
    grid-template-columns:1fr;
    gap:24px;
  }

  .vb-product-media{
    position:static;
  }

  .vb-product-title{
    font-size:30px;
  }
}

@media (max-width: 640px){
  body.single-product .site-main,
  body.single-product .woocommerce-notices-wrapper,
  body.single-product .woocommerce-breadcrumb,
  body.single-product div.product,
  body.single-product .woocommerce-tabs{
    width:min(94vw, 94vw);
  }

  .vb-product-media .flex-control-thumbs{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .vb-product-title{
    font-size:24px;
  }

  .vb-product-price .price{
    font-size:21px !important;
  }
}
