/* Product detail page */
.product-detail-wrap{padding-top:22px;padding-bottom:64px;min-height:65vh}
.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:9px;color:#666;font-size:.86rem;margin:0 0 22px}
.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{color:#111;text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:4px}
.product-detail-card{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,4vw,54px);align-items:start;background:#fff;border:1px solid var(--g300);border-radius:8px;padding:clamp(18px,3vw,36px);box-shadow:0 8px 30px rgba(0,0,0,.045)}
.detail-image-frame{height:clamp(320px,42vw,520px);display:grid;place-items:center;background:linear-gradient(180deg,#fff 0%,#fafaf8 100%);border:1px solid var(--g100);border-radius:6px;padding:24px}
.detail-image-frame img{width:100%;height:100%;object-fit:contain}
.image-caption{font-size:.75rem;color:var(--g600);margin-top:9px;text-align:center}
.detail-info{padding:6px 0}.detail-category{display:inline-block;background:#fff7cc;color:#4d4100;border-left:4px solid var(--yellow);padding:6px 10px;font-size:.74rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin-bottom:14px}
.detail-info h1{font-size:clamp(1.8rem,3.5vw,2.65rem);font-weight:850;letter-spacing:-.035em;line-height:1.12;margin-bottom:12px}
.detail-model{font-size:.95rem;color:var(--g600);overflow-wrap:anywhere}.detail-model strong{color:var(--ink);font-family:Consolas,"Courier New",monospace}
.detail-price{font-size:1.4rem;font-weight:850;margin-top:24px;padding:16px 0;border-block:1px solid var(--g100)}
.detail-intro{color:var(--g600);margin-top:14px;max-width:48ch}
.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.quantity-field{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px}.quantity-field label{font-weight:700;font-size:.9rem}
.quantity-stepper{display:flex;align-items:center;border:1px solid var(--g300);border-radius:5px;overflow:hidden;height:42px;min-width:132px}.quantity-stepper button{height:100%;width:42px;border:0;background:#f5f5f4;font-size:1.3rem;font-weight:700;cursor:pointer}.quantity-stepper button:hover{background:var(--yellow)}.quantity-stepper output{flex:1;text-align:center;font-weight:800}
.detail-add,.btn-whatsapp{width:100%;min-height:50px}.btn-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:2px solid #178447;background:#178447;color:#fff;border-radius:var(--r);font:inherit;font-weight:750;cursor:pointer;padding:0 14px}.btn-whatsapp:hover{background:#116c38;border-color:#116c38}
.detail-status{margin-top:14px;padding:12px 14px;border-left:4px solid var(--ok);background:#eef8f0;color:#174b29;font-size:.9rem}.detail-note{font-size:.78rem;color:var(--g600);margin-top:14px;line-height:1.55}
.spec-section{margin-top:44px}.spec-section .section-head{margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--g300)}.spec-section .section-head h2{text-transform:uppercase;letter-spacing:-.025em}.spec-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;border:1px solid var(--g300);border-radius:7px;padding:8px 22px;background:#fff}.spec-list li{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--g100);font-size:.9rem;overflow-wrap:anywhere;min-width:0}.spec-list li::before{content:'✓';flex:0 0 auto;font-weight:900;color:#8c7000}.spec-label{color:var(--g600);flex:0 0 42%;font-weight:650}.spec-value{color:var(--ink);font-weight:550;min-width:0}.spec-full{flex:1}.spec-empty{border:1px solid var(--g300);border-radius:7px;padding:22px 24px;background:linear-gradient(135deg,#fff 0%,#fafaf7 100%);display:flex;align-items:flex-start;gap:12px}.spec-empty::before{content:'✓';color:#8c7000;font-weight:900;font-size:1.1rem}.spec-empty strong{display:block;font-size:.98rem}.spec-empty p{color:var(--g600);margin:4px 0 0;font-size:.88rem}
.related-section{margin-top:48px}.related-section .section-head a{font-weight:700;text-decoration:none;font-size:.9rem}.related-section .section-head a:hover{text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:4px}.related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.related-card{border:1px solid var(--g300);border-radius:6px;overflow:hidden;text-decoration:none;background:#fff;display:flex;flex-direction:column;min-width:0}.related-card:hover{border-color:#aaa;box-shadow:0 5px 18px rgba(0,0,0,.07);transform:translateY(-2px)}.related-card img{width:100%;height:150px;object-fit:contain;padding:14px;border-bottom:1px solid var(--g100)}.related-card span{font-weight:750;font-size:.9rem;padding:12px 12px 4px}.related-card small{color:var(--g600);padding:0 12px 12px;overflow-wrap:anywhere}
.detail-loading,.detail-not-found{text-align:center;padding:70px 20px;background:var(--g50);border:1px solid var(--g100);border-radius:8px}.detail-not-found h1{margin-bottom:12px}.detail-not-found p{margin-bottom:22px;color:var(--g600)}.product-list-link{text-decoration:none}
.card-product-link{display:block;color:inherit;text-decoration:none}.card-product-link:focus-visible,.card-title-link:focus-visible{outline:3px solid var(--yellow);outline-offset:-3px}.card-title-link{color:inherit;text-decoration:none}.card-title-link:hover{text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:4px}
@media(max-width:760px){.spec-label{flex-basis:40%}.product-detail-card{grid-template-columns:1fr;gap:20px}.detail-image-frame{height:clamp(280px,75vw,440px)}.detail-info h1{font-size:clamp(1.8rem,7vw,2.4rem)}.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.related-card img{height:140px}.spec-list{grid-template-columns:1fr}.product-nav{display:none}.product-list-link{margin-left:auto}.product-list-link .cart-label{display:none}}
@media(max-width:420px){.product-detail-wrap{padding-top:14px;padding-bottom:42px}.breadcrumbs{font-size:.78rem;margin-bottom:14px}.product-detail-card{padding:12px;border-radius:5px}.detail-image-frame{height:270px;padding:14px}.detail-actions{grid-template-columns:1fr}.quantity-field{grid-column:auto}.detail-price{margin-top:18px}.spec-list{padding:6px 13px}.related-grid{gap:10px}.related-card img{height:118px;padding:8px}.related-card span{font-size:.82rem;padding:9px 9px 4px}.related-card small{font-size:.72rem;padding:0 9px 9px}}

/* Product gallery and editorial description */
.detail-thumbnails{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.detail-thumb{width:68px;height:68px;padding:5px;background:#fff;border:1px solid var(--g300);border-radius:5px;cursor:pointer;display:grid;place-items:center}
.detail-thumb img{width:100%;height:100%;object-fit:contain}
.detail-thumb:hover,.detail-thumb.is-active{border-color:var(--yellow);box-shadow:0 0 0 2px rgba(255,212,0,.25)}
.description-section{margin-top:34px}
.product-description-content{border:1px solid var(--g300);border-radius:7px;background:#fff;padding:clamp(18px,3vw,30px);line-height:1.75;color:#343434}
.product-description-content h3{font-size:1.05rem;color:#111;margin:24px 0 8px;border-left:3px solid var(--yellow);padding-left:10px}
.product-description-content h3:first-child{margin-top:0}
.product-description-content p{margin:0 0 13px}
.product-description-content ul{margin:0 0 16px;padding-left:22px}
.product-description-content li{padding:3px 0}
@media(max-width:420px){.detail-thumb{width:58px;height:58px}.product-description-content{padding:14px}}

/* Editorial product sections */
.editorial-section{margin-top:34px}.editorial-section .section-head{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--g300)}.editorial-section .section-head h2{text-transform:uppercase;letter-spacing:-.025em}.editorial-list{list-style:none;margin:0;padding:10px 22px;border:1px solid var(--g300);border-radius:7px;background:#fff;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}.editorial-list li{padding:13px 0;border-bottom:1px solid var(--g100);line-height:1.55;overflow-wrap:anywhere}.editorial-list li:before{content:'✓';font-weight:900;color:#9a7a00;margin-right:10px}.why-choose-section .product-description-content{line-height:1.8}
@media(max-width:760px){.editorial-list{grid-template-columns:1fr;padding:8px 15px}}


/* Fix main product image sizing */
.detail-image-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  min-width: 0;
  overflow: hidden;
  background: #f0efec;
}

.detail-image-frame .detail-main-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.detail-image-frame [hidden] {
  display: none !important;
}

.detail-gallery {
  min-width: 0;
  overflow: hidden;
}

.detail-thumbnails {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}



/* Related products: keep the image and fallback in the same frame. */
.related-image-frame {
  position: relative;
  display: block;
  width: 100%;
  height: 260px;
  overflow: hidden;
  background: #f5f4f1;
}

.related-image-frame > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  padding: 14px;
  border: 0;
  object-fit: contain;
  object-position: center;
  box-sizing: border-box;
}

.related-image-frame > .product-image-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  margin: 0;
  background: #eeece8;
  color: #555;
  text-align: center;
  box-sizing: border-box;
}

.related-image-frame > .product-image-placeholder[hidden] {
  display: none !important;
}

.related-product-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px;
  background: #fff;
  overflow-wrap: anywhere;
}

.related-product-info > span {
  padding: 0;
}

.related-product-info > small {
  padding: 0;
}

.related-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}

@media (max-width: 420px) {
  .related-image-frame { height: 190px; }
  .related-image-frame > img { padding: 8px; }
  .related-product-info { padding: 10px; }
}

