/* ==========================================================================
   Single product page — layout ported from the reference olive-oil theme:
   image (39.8%) | summary (57.4%), full-width yellow/cream tabs, and a
   4-up "Related products" row with a ruled heading.
   ========================================================================== */
.single-product .content-area{ overflow-x:clip; }
.single-product .woocommerce-breadcrumb{ display:none; }

/* ---------- Gallery | Summary ---------- */
.woocommerce div.product{ position:relative; }
.woocommerce div.product::after{ content:""; display:table; clear:both; }

.woocommerce div.product div.images,
.woocommerce #content div.product div.images{
  float:left; width:39.8%; margin:0 0 2em; border:2px solid #e2dfd5; background:transparent; border-radius:0;
}
.woocommerce div.product div.images img{ width:100%; height:auto; display:block; }
.woocommerce div.product div.images .flex-control-thumbs{ margin:4px 0 0; padding:0; }
.woocommerce div.product div.images .flex-control-thumbs li{ margin:0; padding:0 2px; }
.woocommerce div.product .woocommerce-product-gallery{ background:transparent; border-radius:0; }

.woocommerce div.product div.summary,
.woocommerce #content div.product div.summary{
  float:right; width:57.4%; margin:0 0 2em; clear:none;
}
.woocommerce div.product .product_title{
  font:700 42px/1.1 var(--font-head); color:var(--heading); margin:-.15em 0 .6em;
}

/* Price */
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  position:relative; margin:0 0 1.25em; font:700 22px/1.3 var(--font-head); color:var(--yellow-text);
}
.woocommerce div.product p.price ins{ text-decoration:none; font-size:1.125em; font-style:normal; background:none; }
.woocommerce div.product p.price del{ font-size:.875em; color:#aab0b5; }

.woocommerce div.product .woocommerce-product-details__short-description{ color:#666e74; margin:0 0 1.6em; }
.woocommerce div.product .woocommerce-product-details__short-description p{ margin:0 0 1em; }

.woocommerce .woocommerce-product-rating{ float:right; margin:0; }
.woocommerce .woocommerce-product-rating .woocommerce-review-link{ display:none; }
.woocommerce .star-rating{ height:1.2em; margin:4px 0; color:var(--yellow-dark); }

/* ---------- Add to cart ---------- */
.woocommerce div.product form.cart{ margin:0 0 2.55em; overflow:hidden; }
.woocommerce div.product form.cart div.quantity{
  float:left; position:relative; box-sizing:border-box; width:9.8em; height:3.3em; margin:0 .8em 0 0;
  border:1px solid #dad5c9; background:#fff;
}
.woocommerce div.product form.cart div.quantity input.qty{
  width:100%; height:100%; box-sizing:border-box; padding:0 4em 0 .8em; border:0; background:transparent;
  font:600 15px var(--font-btn); color:var(--dark); text-align:left; -moz-appearance:textfield; appearance:textfield; outline:0;
}
.woocommerce div.product form.cart div.quantity input.qty::-webkit-outer-spin-button,
.woocommerce div.product form.cart div.quantity input.qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.woocommerce div.product form.cart div.quantity span{
  position:absolute; right:0; width:3.8em; height:50%; z-index:1; cursor:pointer; user-select:none;
  background:var(--cream-alt); transition:background .2s;
}
.woocommerce div.product form.cart div.quantity span:hover{ background:var(--yellow); }
.woocommerce div.product form.cart div.quantity span.q_inc{ top:0; }
.woocommerce div.product form.cart div.quantity span.q_dec{ bottom:0; border-top:1px solid #fff; }
.woocommerce div.product form.cart div.quantity span::before{
  content:""; position:absolute; left:50%; top:50%; width:6px; height:6px; margin:-2px 0 0 -3px;
  border:solid var(--dark); border-width:0 2px 2px 0; transform:rotate(45deg);
}
.woocommerce div.product form.cart div.quantity span.q_inc::before{ margin-top:-1px; transform:rotate(-135deg); }
.woocommerce div.product form.cart .single_add_to_cart_button{
  float:left; height:3.3em; padding:0 2.4em; line-height:3.3em; vertical-align:middle;
}

/* ---------- Meta ---------- */
.woocommerce .product_meta span{
  display:block; font:400 11px/1.9 var(--font-btn); text-transform:uppercase; color:var(--heading);
}
.woocommerce .product_meta span span,
.woocommerce .product_meta a{
  display:inline; text-transform:lowercase; font:400 14px/1.9 var(--font-body); color:#666e74;
}
.woocommerce .product_meta a:hover{ color:var(--yellow-dark); }

/* ---------- Tabs (full-bleed, yellow tabs on a cream panel) ---------- */
.woocommerce div.product .woocommerce-tabs{
  clear:both; margin:0 calc(50% - 50vw); padding:72px 0;
  --gutter:max(24px, calc((100vw - var(--container)) / 2 + 24px));
}
.woocommerce div.product .woocommerce-tabs ul.tabs{
  margin:0; padding:0 var(--gutter); overflow:visible; display:flex; flex-wrap:wrap; list-style:none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{ display:none !important; content:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  margin:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display:block; position:relative; padding:1.3em 2.2em 1.4em; background:var(--yellow);
  font:700 20px/1.2 var(--font-head); color:var(--heading); text-shadow:none; text-align:left; transition:background .2s;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{ background:var(--cream-alt); color:var(--heading); }
.woocommerce div.product .woocommerce-tabs .panel{
  margin:0; border:0; border-radius:0; background:var(--cream-alt); box-shadow:none;
  padding:3.5em var(--gutter) 2.5em;
}
.woocommerce div.product .woocommerce-tabs .panel > *{ max-width:var(--container); }
.woocommerce div.product .woocommerce-tabs h2{ margin:0 0 .8em; font:400 26px/1.2 var(--font-head); color:var(--heading); }
.woocommerce div.product .woocommerce-tabs h3{ font-size:1.5em; margin-bottom:.5em !important; color:#666e74; }
.woocommerce div.product .woocommerce-tabs p{ color:#666e74; }

/* Reviews */
.woocommerce #reviews #comments ol.commentlist{ padding:0; margin:0 0 1.5em; }
.woocommerce #reviews #comments ol.commentlist li img.avatar{ width:50px; float:left; margin:0 1.5em .5em 0; padding:0; border:0; background:none; position:static; }
.woocommerce #reviews #comments ol.commentlist li .comment-text{ margin:0 0 0 0; padding:0; border:0; }
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta{ padding-top:6px; }
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta strong{ font-size:18px; font-weight:400; color:var(--dark); }
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta time{ font-style:italic; }
#review_form #respond p label{ display:inline-block; margin-bottom:.5em; color:var(--heading); }
.woocommerce #review_form #respond input[type=text],
.woocommerce #review_form #respond input[type=email],
.woocommerce #review_form #respond textarea,
.woocommerce #review_form #respond select{
  width:100%; padding:12px 14px; border:1px solid #dad5c9; background:#fff; font:400 15px var(--font-body); color:var(--dark); border-radius:0; box-sizing:border-box;
}
.woocommerce #review_form #respond textarea{ height:150px; overflow:auto; }
.woocommerce #review_form #respond input:focus,
.woocommerce #review_form #respond textarea:focus,
.woocommerce #review_form #respond select:focus{ border-color:var(--yellow-dark); outline:0; }
.woocommerce #review_form #respond .comment-form-cookies-consent input{ width:auto; margin-right:8px; }
.woocommerce .woocommerce-tabs .form-submit{ margin-top:1em !important; display:block; }

/* ---------- Related / upsells ---------- */
.woocommerce .related.products,
.woocommerce .upsells.products{ clear:both; }
.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2{
  text-align:left; margin:.75em 0 0; padding-top:1.1em; border-top:1px solid #dad5c9;
  font:700 37px/1.1 var(--font-head); color:var(--heading); margin-bottom:.9em;
}
.woocommerce .related ul.products,
.woocommerce .upsells ul.products{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px 24px; margin:0; padding:0;
}
.woocommerce .related ul.products::before, .woocommerce .related ul.products::after,
.woocommerce .upsells ul.products::before, .woocommerce .upsells ul.products::after{ display:none; content:none; }
.woocommerce .related ul.products li.product,
.woocommerce .upsells ul.products li.product{
  width:auto !important; float:none !important; margin:0 !important;
  background:transparent; border:2px solid #e2dfd5; box-shadow:none; padding:0 0 2.7em;
}
.woocommerce .related ul.products li.product:hover,
.woocommerce .upsells ul.products li.product:hover{ box-shadow:none; transform:none; border-color:var(--yellow); }

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .woocommerce .related ul.products, .woocommerce .upsells ul.products{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:768px){
  .woocommerce div.product div.images,
  .woocommerce #content div.product div.images,
  .woocommerce div.product div.summary,
  .woocommerce #content div.product div.summary{ float:none; width:100%; }
  .woocommerce div.product div.summary{ margin-top:1.5em; }
  .woocommerce div.product .woocommerce-tabs{ padding:48px 0; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li{ flex:1 1 50%; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li a{ padding:1em 1.2em; font-size:17px; text-align:center; }
  .woocommerce div.product .woocommerce-tabs .panel{ padding-top:2.2em; }
  .woocommerce .related.products > h2, .woocommerce .upsells.products > h2{ font-size:28px; }
}
@media (max-width:460px){
  .woocommerce .related ul.products, .woocommerce .upsells ul.products{ grid-template-columns:1fr; }
}
