/* Karachi Marble & Handicraft -- global single-product template.
   Loaded on single product pages only (see inc/km-product.php). */
.km-product-template{--km-navy:#1c2b45;--km-navy-2:#324566;--km-gold:#a9824f;--km-gold-dark:#8a6a3e;--km-stone:#f7f5f1;--km-line:#e4e0d6;--km-muted:#6b7280}
.km-product-template .site-main{font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color:var(--km-navy)}

/* ---------- page frame + breadcrumb ---------- */
.km-product-template.single-product #primary{margin-top:12px;margin-bottom:64px}
.km-product-template .product-title.product-above{margin:0 0 8px;clear:both}
.km-product-template .kadence-breadcrumbs,.km-product-template .kadence-breadcrumbs a{font-size:13px;color:var(--km-muted)}
.km-product-template .kadence-breadcrumbs a:hover{color:var(--km-gold-dark)}

/* ---------- two-column product block ---------- */
.km-product-template.single-product div.product.type-product{display:grid;grid-template-columns:minmax(0,1fr);column-gap:56px;padding:0;padding-top:14px;background:transparent;box-shadow:none}
.km-product-template.single-product div.product.type-product>*{min-width:0}
.km-product-template.single-product div.product>.woocommerce-product-gallery{float:none!important;width:100%!important;max-width:100%!important;margin:0 0 22px!important}
.km-product-template.single-product div.product>.summary{float:none!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}
.km-product-template.single-product div.product>.woocommerce-tabs,
.km-product-template.single-product div.product>.related,
.km-product-template.single-product div.product>.upsells,
.km-product-template.single-product div.product>.up-sells{grid-column:1/-1}
@media (min-width:900px){
  .km-product-template.single-product div.product.type-product{grid-template-columns:minmax(0,11fr) minmax(0,9fr);align-items:start}
  .km-product-template.single-product div.product>.woocommerce-product-gallery{grid-column:1;grid-row:1;margin:0!important}
  .km-product-template.single-product div.product>.summary{grid-column:2;grid-row:1}
}

/* ---------- gallery: big image + thumbnails ---------- */
.km-product-template .woocommerce-product-gallery__image{background:var(--km-stone);border:1px solid var(--km-line);border-radius:0;overflow:hidden;position:relative}
.km-product-template .woocommerce-product-gallery__image>a>img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.km-product-template .woocommerce-product-gallery .flex-control-thumbs{display:flex!important;gap:10px;margin:12px 0 0!important;padding:0!important;list-style:none;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.km-product-template .woocommerce-product-gallery .flex-control-thumbs li{flex:0 0 76px;width:76px!important;float:none!important;margin:0!important;scroll-snap-align:start}
.km-product-template .woocommerce-product-gallery .flex-control-thumbs img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--km-line);border-radius:0;opacity:.6;cursor:pointer;transition:opacity .2s,border-color .2s}
.km-product-template .woocommerce-product-gallery .flex-control-thumbs img:hover{opacity:1}
.km-product-template .woocommerce-product-gallery .flex-control-thumbs img.flex-active{opacity:1;border-color:var(--km-gold)}
@media (min-width:900px){
  .km-product-template .woocommerce-product-gallery .flex-control-thumbs{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible;gap:10px}
  .km-product-template .woocommerce-product-gallery .flex-control-thumbs li{flex:none;width:auto!important}
}

/* ---------- summary: eyebrow, title, short text, CTA, meta ---------- */
.km-product-template .summary .km-pt-eyebrow{display:block;font-size:12.5px;color:var(--km-gold-dark);margin:0 0 10px}
.km-product-template .summary .km-pt-eyebrow a{color:inherit}
.km-product-template .summary .product_title{font:600 clamp(26px,4.4vw,38px)/1.18 'Fraunces',Georgia,'Times New Roman',serif;color:var(--km-navy);margin:0 0 14px;overflow-wrap:anywhere}
.km-product-template .summary .price{font-size:22px;color:var(--km-navy);margin:0 0 14px}
.km-product-template .km-pt-short{font-size:16px;line-height:1.65;color:var(--km-navy-2);margin:0 0 6px;max-width:46ch}
.km-product-template .km-pt-short p{margin:0 0 .7em}
.km-product-template .km-pt-cta{display:flex;flex-direction:column;gap:10px;margin:22px 0 0}
.km-product-template .km-pt-btn{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:52px;padding:14px 22px;border-radius:0;font-family:'Inter',system-ui,sans-serif;font-size:14.5px;font-weight:600;line-height:1.2;text-align:center;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s}
.km-product-template .km-pt-btn--primary{background:var(--km-navy);color:#fff;border:1px solid var(--km-navy)}
.km-product-template .km-pt-btn--primary:hover,.km-product-template .km-pt-btn--primary:focus-visible{background:var(--km-gold-dark);border-color:var(--km-gold-dark)}
.km-product-template .km-pt-btn--wa{background:#fff;color:var(--km-navy);border:1px solid var(--km-navy)}
.km-product-template .km-pt-btn--wa:hover,.km-product-template .km-pt-btn--wa:focus-visible{background:var(--km-stone)}
.km-product-template .km-pt-cta-note{font-size:13.5px;line-height:1.5;color:var(--km-muted);margin:10px 0 0}
@media (min-width:600px){
  .km-product-template .km-pt-cta{flex-direction:row}
  .km-product-template .km-pt-btn--primary{flex:1.4 1 0}
  .km-product-template .km-pt-btn--wa{flex:1 1 0}
}
.km-product-template .summary .yith-add-to-wishlist-button-block{margin:18px 0 0;font-size:13.5px;color:var(--km-navy-2)}
.km-product-template .summary .yith-add-to-wishlist-button-block a,.km-product-template .summary .add_to_wishlist{color:var(--km-navy-2)!important}
.km-product-template .km-pt-meta{margin:20px 0 0;padding:0;border-top:1px solid var(--km-line)}
.km-product-template .km-pt-meta__row{display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--km-line);font-size:14.5px;line-height:1.5}
.km-product-template .km-pt-meta dt{margin:0;padding-top:2px;font-size:12px;font-weight:500;color:var(--km-muted)}
.km-product-template .km-pt-meta dd{margin:0;color:var(--km-navy);font-weight:500;overflow-wrap:anywhere}
.km-product-template .km-pt-meta a{color:var(--km-navy);text-decoration:underline;text-decoration-color:var(--km-gold);text-underline-offset:3px}
.km-product-template .km-pt-meta a:hover{color:var(--km-gold-dark)}

/* ---------- Description / Specifications / Reviews: stacked sections ---------- */
.km-product-template #primary{overflow-x:clip}
.km-product-template .woocommerce-tabs.wc-tabs-wrapper{margin:56px 0 0;padding:0;max-width:760px;margin-left:auto;margin-right:auto}
.km-product-template.single-product .woocommerce-tabs.wc-tabs-wrapper{margin-left:0;margin-right:0}
.km-product-template .woocommerce-tabs ul.tabs{display:none!important}
.km-product-template .woocommerce-tabs .woocommerce-Tabs-panel{display:block!important;box-sizing:border-box;max-width:760px;margin:34px 0 0;padding:34px 0 0;border-top:1px solid var(--km-line)}
.km-product-template .woocommerce-tabs .woocommerce-Tabs-panel:first-of-type{margin-top:0;padding-top:0;border-top:0}
.km-product-template .woocommerce-Tabs-panel>h2,.km-product-template .woocommerce-Reviews-title{font:600 24px/1.25 'Fraunces',Georgia,'Times New Roman',serif;color:var(--km-navy);margin:0 0 16px}
.km-product-template .woocommerce-Tabs-panel--description{font-size:15.5px;line-height:1.75;color:var(--km-navy-2)}
.km-product-template .woocommerce-Tabs-panel--description p{margin:0 0 1em}
.km-product-template .woocommerce-Tabs-panel--description ul{margin:0 0 1.2em;padding-left:1.2em}
.km-product-template .woocommerce-Tabs-panel--description li{margin:0 0 .4em}
.km-product-template .woocommerce-Tabs-panel--description li::marker{color:var(--km-gold)}
.km-product-template .woocommerce-Tabs-panel--description img,.km-product-template .woocommerce-Tabs-panel--description iframe{max-width:100%;height:auto}
.km-product-template .woocommerce-Tabs-panel--description table{display:block;max-width:100%;overflow-x:auto}
.km-product-template table.woocommerce-product-attributes{width:100%;border-collapse:collapse;font-size:14.5px}
.km-product-template table.woocommerce-product-attributes th,.km-product-template table.woocommerce-product-attributes td{padding:12px 0;border:0;border-bottom:1px solid var(--km-line);vertical-align:top;background:transparent;text-align:left}
.km-product-template table.woocommerce-product-attributes th{width:34%;font-size:12px;font-weight:500;color:var(--km-muted)}
.km-product-template table.woocommerce-product-attributes td p{margin:0}
.km-product-template #reviews .woocommerce-noreviews{color:var(--km-muted)}
.km-product-template #reviews .comment-reply-title{font:600 19px/1.3 'Fraunces',Georgia,serif}
.km-product-template #reviews input[type=submit],.km-product-template #reviews .submit{background:var(--km-navy);color:#fff;border:0;border-radius:0;padding:12px 26px;font-weight:600;cursor:pointer}
.km-product-template #reviews input[type=submit]:hover{background:var(--km-gold-dark)}

/* ---------- Related products ---------- */
.km-product-template section.related.products,.km-product-template section.up-sells,.km-product-template section.upsells{margin:64px 0 0;padding:44px 32px;background:var(--km-stone)}
.km-product-template section.related.products>h2,.km-product-template section.up-sells>h2,.km-product-template section.upsells>h2{font:600 26px/1.25 'Fraunces',Georgia,'Times New Roman',serif;color:var(--km-navy);margin:0 0 22px}
.km-product-template section.related ul.products,.km-product-template section.up-sells ul.products,.km-product-template section.upsells ul.products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;margin:0!important;padding:0!important;list-style:none}
@media (min-width:700px){
  .km-product-template section.related ul.products,.km-product-template section.up-sells ul.products,.km-product-template section.upsells ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important}
}
@media (min-width:1000px){
  .km-product-template section.related ul.products,.km-product-template section.up-sells ul.products,.km-product-template section.upsells ul.products{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px!important}
}
.km-product-template section.related ul.products li.product,.km-product-template section.up-sells ul.products li.product,.km-product-template section.upsells ul.products li.product{display:flex!important;flex-direction:column;width:auto!important;height:100%;margin:0!important;padding:0!important;background:#fff;border:1px solid var(--km-line);border-radius:0;overflow:hidden;box-shadow:none}
.km-product-template ul.products li.product .woocommerce-loop-image-link{display:block;margin:0;background:var(--km-stone)}
.km-product-template section.related ul.products li.product img,.km-product-template section.up-sells ul.products li.product img,.km-product-template section.upsells ul.products li.product img{display:block;width:100%!important;height:auto!important;aspect-ratio:1/1;object-fit:cover}
.km-product-template section.related ul.products li.product .product-details,.km-product-template section.up-sells ul.products li.product .product-details,.km-product-template section.upsells ul.products li.product .product-details{display:flex;flex-direction:column;flex:1 1 auto;gap:8px;padding:14px}
.km-product-template ul.products li.product .km-pt-rp-cat{margin:0;font-size:11.5px;color:var(--km-gold-dark)}
.km-product-template ul.products li.product .woocommerce-loop-product__title{margin:0;font:600 14.5px/1.35 'Fraunces',Georgia,serif;min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--km-navy)}
.km-product-template ul.products li.product .woocommerce-loop-product__title a{color:inherit;text-decoration:none}
.km-product-template ul.products li.product .price{margin:0;font-size:14px;color:var(--km-muted)}
.km-product-template ul.products li.product .price:has(.km-quote-label),.km-product-template ul.products li.product .km-quote-label{display:none}
.km-product-template ul.products li.product .product-action-wrap{margin-top:auto;position:static!important;opacity:1!important;visibility:visible!important;transform:none!important;max-height:none!important}
.km-product-template a.km-pt-card-quote{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:42px;padding:9px 8px;border:1px solid var(--km-navy);border-radius:0;background:#fff;color:var(--km-navy);font-family:'Inter',system-ui,sans-serif;font-size:12.5px;font-weight:600;line-height:1.2;text-align:center;text-decoration:none;transition:background-color .2s,color .2s}
.km-product-template a.km-pt-card-quote:hover,.km-product-template a.km-pt-card-quote:focus-visible{background:var(--km-navy);color:#fff}

/* ---------- phones ---------- */
@media (max-width:767px){
  .km-product-template.single-product #primary{margin-top:6px;margin-bottom:40px}
  .km-product-template.single-product div.product.type-product{padding-top:14px}
  .km-product-template .woocommerce-product-gallery__image>a>img{aspect-ratio:1/1}
  .km-product-template .woocommerce-tabs.wc-tabs-wrapper{margin-top:40px}
  .km-product-template .woocommerce-Tabs-panel>h2,.km-product-template .woocommerce-Reviews-title,.km-product-template section.related.products>h2{font-size:22px}
  .km-product-template section.related.products{margin-top:48px;padding:32px 18px}
  .km-product-template .km-pt-meta__row{grid-template-columns:92px minmax(0,1fr)}
}
