/* Flawless Shop – single product page. Loaded only on product pages. */
.single-product .fs-main.fs-shop{padding-top:14px}
.fs-breadcrumb{margin-bottom:18px}
.fs-crumb-sep{margin:0 4px}
.single-product div.product{display:grid;grid-template-columns:minmax(0,600fr) minmax(0,371fr);column-gap:45px;align-items:start}
.single-product div.product>*{grid-column:1/-1}
.single-product div.product>.fs-gallery{grid-column:1;grid-row:1}
.single-product div.product>.summary{grid-column:2;grid-row:1;float:none;width:auto;min-width:0}
.single-product div.product>.woocommerce-notices-wrapper{grid-row:auto}

/* Gallery */
.fs-gallery--single{display:grid;grid-template-columns:60px minmax(0,1fr);gap:20px;align-items:start}
.fs-gallery--single:not(:has(.fs-gallery__thumbs)){grid-template-columns:1fr}
.fs-gallery__thumbs{max-height:var(--fs-gallery-h,520px);overflow-y:auto;scrollbar-width:none}
.fs-gallery__thumbs::-webkit-scrollbar{display:none}
.fs-gallery__thumbs ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.fs-gallery__thumb{display:block;width:60px;height:60px;padding:0;border:1px solid transparent;border-radius:6px;overflow:hidden;background:var(--fs-cream);cursor:pointer}
.fs-gallery__thumb[aria-current=true]{border-color:#8b7568}
.fs-gallery__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.fs-gallery--single .fs-gallery__track{border-radius:14px}
.fs-gallery--single .fs-gallery__track>*{cursor:zoom-in}

/* Summary */
.summary .product_title{font-size:28px;margin:0 0 8px}
.summary .fs-price-block{margin:0 0 20px}
.summary .fs-price{font-size:18px}
.summary .fs-unit{font-size:14px}
.summary .woocommerce-product-details__short-description{font-size:16px;line-height:1.35;margin:0 0 18px}
.summary .woocommerce-product-details__short-description p{margin:0}
.fs-pills-info{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:10px}
.fs-pills-info li{display:flex;align-items:center;min-height:32px;padding:0 14px;border-radius:999px;background:var(--fs-beige);font-size:14px}
.fs-roast{margin:0 0 20px}
.fs-roast__title{font-size:18px;text-transform:none;margin:0 0 12px}
.fs-roast__scale{display:flex;height:6px;border-radius:3px;overflow:hidden}
.fs-roast__seg{flex:1;background:#b88a60;position:relative}
.fs-roast__seg--medium{background:#a2714b}
.fs-roast__seg--dark{background:#6a4328}
.fs-roast__seg.is-active{margin-block:-1px;height:8px}
.fs-roast__labels{display:flex;margin-top:12px;font-size:16px}
.fs-roast__labels span{flex:1;text-align:center;opacity:.8}
.fs-roast__labels span.is-active{font-weight:600;opacity:1}
.fs-roast__scale{position:relative;margin-top:14px}
.fs-roast--light .fs-roast__seg--light::before,.fs-roast--medium .fs-roast__seg--medium::before,.fs-roast--dark .fs-roast__seg--dark::before{content:"▼";position:absolute;left:50%;top:-16px;transform:translateX(-50%);font-size:11px;color:#8a6a4f}
.fs-roast--light .fs-roast__seg--light::after,.fs-roast--medium .fs-roast__seg--medium::after,.fs-roast--dark .fs-roast__seg--dark::after{content:"▲";position:absolute;left:50%;bottom:-16px;transform:translateX(-50%);font-size:11px;color:#8a6a4f}
.summary .fs-qty-label{margin-top:2px}
.summary .quantity{height:44px;padding:0 10px;margin-bottom:0}
.summary .quantity .fs-qty-btn{width:30px}
.woocommerce .summary .quantity input.qty,.summary .quantity .qty{border:0;border-inline:1px solid #cfc6c0;border-radius:0;height:20px;width:46px;margin:0 6px}
.summary .product_meta{margin-top:20px;font-size:14px;color:var(--fs-muted);display:flex;flex-direction:column;gap:2px}
.summary .product_meta a{color:inherit}

.fs-pickup{display:flex;align-items:flex-start;gap:10px;margin-top:20px;padding:14px;border:1px solid var(--fs-ink);border-radius:10px}
.fs-pickup .fs-icon{color:#3a8c47;margin-top:1px}
.fs-pickup__text{flex:1;display:flex;flex-direction:column;font-size:15px}
.fs-pickup__text span{font-size:13.5px;margin-top:8px}
.fs-pickup .fs-link-underline{font-size:13.5px;white-space:nowrap}
.fs-promos{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:14px}
.fs-promo-card{padding:14px;border-radius:10px;background:#fdf1ea}
.fs-promo-card--promo2{background:#f7f4e8}
.fs-promo-card h3{font-size:17px;margin:0 0 8px;text-transform:none}
.fs-promo-card p{margin:0;font-size:14.5px;line-height:1.3}

.fs-ugc{margin-top:20px}
.fs-ugc__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.fs-ugc__head h3{font-size:19px;margin:0}
.fs-ugc__nav{display:flex;gap:6px}
.fs-ugc__track{display:flex;gap:8px;list-style:none;margin:0;padding:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.fs-ugc__track::-webkit-scrollbar{display:none}
.fs-ugc__track li{flex:0 0 calc(25% - 6px);scroll-snap-align:start}
.fs-ugc__item{position:relative;display:block;width:100%;aspect-ratio:3/4;padding:0;border:0;border-radius:12px;overflow:hidden;cursor:pointer;background:var(--fs-cream)}
.fs-ugc__item video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.fs-ugc__play{position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;background:var(--fs-primary);color:#fff;display:flex;align-items:center;justify-content:center}

/* Nutrition */
.fs-nutrition{display:grid;grid-template-columns:1fr minmax(0,420px);gap:24px;align-items:center;margin:48px 0;padding:40px 24px 40px 36px;border-radius:14px;color:#fff;background:#34553a center/cover no-repeat;overflow:hidden}
.fs-nutrition__eyebrow{font-size:15px;text-transform:uppercase;margin:0 0 10px}
.fs-nutrition h2{font-size:28px;margin:0 0 12px}
.fs-nutrition__copy p{font-size:15px;line-height:1.3;max-width:420px}
.fs-nutrition__card{background:rgba(26,16,10,.94);border-radius:14px;padding:16px 16px 14px}
.fs-nutrition__head{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.8)}
.fs-nutrition__head h3{font-size:18px;margin:0}
.fs-nutrition__head em{font-size:15px}
.fs-nutrition table{width:100%;border-collapse:collapse;font-size:14px}
.fs-nutrition th,.fs-nutrition td{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.18);text-align:left;font-weight:400}
.fs-nutrition th{font-weight:700}
.fs-nutrition td:last-child{text-align:right;font-weight:700}
.fs-nutrition tr.is-sub th{padding-left:16px;font-weight:400}
.fs-nutrition tr.is-sub td:last-child{font-weight:400}
.fs-nutrition__note{margin:10px 0 0;font-style:italic;font-size:14px;border-top:1px solid rgba(255,255,255,.8);padding-top:10px}

/* Tabs, reviews, related */
.woocommerce-tabs{margin:32px 0}
.woocommerce-tabs ul.tabs{display:flex;gap:24px;list-style:none;margin:0 0 18px;padding:0;border-bottom:1px solid var(--fs-line)}
.woocommerce-tabs ul.tabs li a{display:block;padding:10px 0;font:400 18px var(--fs-font-head);text-transform:uppercase;text-decoration:none;color:#b5a39b}
.woocommerce-tabs ul.tabs li.active a{color:var(--fs-ink);box-shadow:0 2px 0 var(--fs-ink)}
.woocommerce-Tabs-panel h2{font-size:22px}
.woocommerce-Tabs-panel{font-size:16px;line-height:1.45}
.shop_attributes{width:100%;border-collapse:collapse}
.shop_attributes th,.shop_attributes td{padding:8px 0;border-bottom:1px solid var(--fs-line);text-align:left}
#reviews .commentlist{list-style:none;padding:0}
#reviews .comment_container{display:flex;gap:12px;margin-bottom:16px}
.comment-form-rating select{display:block}
.related.products>h2,.up-sells>h2{text-align:center;font-size:30px;margin:12px 0 20px}
.related.products,.up-sells{margin-top:40px}

@media (max-width:1024px){
  .single-product div.product{grid-template-columns:minmax(0,1fr);row-gap:24px}
  .single-product div.product>.fs-gallery,.single-product div.product>.summary{grid-column:1;grid-row:auto}
  .fs-nutrition{grid-template-columns:1fr}
}
@media (max-width:768px){
  .fs-gallery--single{grid-template-columns:1fr}
  .fs-gallery--single .fs-gallery__thumbs{order:2;max-height:none;overflow-x:auto}
  .fs-gallery--single .fs-gallery__thumbs ul{flex-direction:row}
  .fs-gallery__thumb{width:56px;height:56px}
  .summary .product_title{font-size:24px}
  .fs-ugc__track li{flex-basis:calc(46% - 6px)}
  .fs-promos{grid-template-columns:1fr}
  .fs-nutrition{padding:28px 16px;margin:32px 0}
  .fs-nutrition h2{font-size:24px}
  .woocommerce-tabs ul.tabs{gap:16px;overflow-x:auto}
}
