/* Ficha comercial: estilos limitados a la página de producto. */
.product-page { max-width:1344px; margin:0 auto; padding:156px 32px 72px; }
.product-page [hidden], .product-mobile-buy[hidden] { display:none !important; }
.product-page button, .product-mobile-buy button, .product-image-dialog button { cursor:pointer; }
.product-page button:disabled, .product-mobile-buy button:disabled { cursor:not-allowed; }
.product-status { display:grid; justify-items:center; align-content:center; min-height:45vh; gap:16px; padding:48px 20px; text-align:center; }
.product-status h1 { font-size:30px; margin:0; }
.product-status p { margin:0; max-width:48ch; }
.product-status a { color:var(--accent-ink); text-decoration:underline; text-underline-offset:4px; }
.product-page .breadcrumbs { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; padding:16px 0 26px; margin:0; color:var(--ink-soft); font-size:12px; line-height:1.6; }
.product-page .breadcrumbs a:hover { color:var(--accent-ink); text-decoration:underline; }
.product-page .breadcrumbs [aria-current] { color:var(--ink); overflow-wrap:anywhere; }
.product-hero { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); grid-template-rows:auto 1fr; column-gap:clamp(32px,5vw,72px); align-items:start; }
.product-heading { grid-column:2; grid-row:1; padding:10px 0 0; min-width:0; }
.product-page .product-kicker { color:var(--accent-ink); font-size:12px; font-weight:700; letter-spacing:.06em; margin:0 0 10px; text-transform:uppercase; }
.product-heading h1 { font-size:clamp(28px,2.6vw,36px); font-weight:600; letter-spacing:-.035em; line-height:1.15; margin:0; overflow-wrap:anywhere; text-wrap:initial; }
.product-gallery { grid-column:1; grid-row:1 / 3; min-width:0; }
.main-image-wrap { position:relative; background:var(--paper); display:flex; align-items:center; justify-content:center; flex-direction:column; height:480px; padding:32px 32px 54px; border-radius:8px; }
.main-product-image { width:100%; height:100%; object-fit:contain; }
.main-image-wrap.is-placeholder .main-product-image { width:76px; height:130px; opacity:.35; }
.product-image-note { color:var(--ink-soft); font-size:13px; margin:14px 0 0; }
.product-page .image-expand { position:absolute; right:18px; bottom:14px; min-height:44px; border:0; background:transparent; color:var(--ink-soft); font-size:12px; padding:8px; text-decoration:underline; text-underline-offset:3px; }
.thumbnail-list { display:flex; gap:10px; overflow-x:auto; padding:12px 2px 4px; }
.product-page .thumbnail { flex:0 0 62px; height:70px; border:1px solid var(--line); border-radius:4px; background:var(--paper); padding:7px; }
.thumbnail img { height:100%; width:100%; object-fit:contain; }
.product-page .thumbnail.is-active { border:2px solid var(--accent-ink); }
.product-purchase { grid-column:2; grid-row:2; min-width:0; }
.product-essentials { color:var(--ink-soft); font-size:15px; line-height:1.65; margin:14px 0 22px; }
.product-limited { color:var(--accent-ink); font-size:12px; font-weight:700; margin:-8px 0 14px; }
.product-price-line { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 14px; }
.product-page .price { color:var(--ink); font-family:var(--sans); font-size:clamp(30px,2.6vw,36px); font-weight:700; letter-spacing:-.04em; line-height:1.2; margin:0; }
.product-page .price span { font-size:12px; letter-spacing:0; font-weight:500; }
.product-page .tax-note { margin:0; color:var(--ink-soft); font-size:12px; }
.product-page .stock-note { color:var(--ink); font-size:13px; font-weight:600; margin:14px 0 18px; }
.purchase-actions { display:grid; grid-template-columns:132px minmax(0,1fr); gap:12px; }
.product-page .quantity-control { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center; width:132px; height:52px; border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.product-page .quantity-control button { border:0; background:transparent; color:var(--ink); height:50px; width:44px; padding:0; font-size:20px; }
.product-page .quantity-control button:disabled { opacity:.35; }
.product-page .quantity-control output { text-align:center; font-size:15px; font-weight:600; }
.product-page .add-button, .product-mobile-buy .add-button { display:flex; align-items:center; justify-content:center; min-height:52px; border:1px solid var(--accent-ink); border-radius:8px; padding:12px 16px; color:#fff; background:var(--accent-ink); font-size:14px; font-weight:700; line-height:1.4; transition:background .15s ease; }
.product-page .add-button:hover, .product-mobile-buy .add-button:hover { background:#713a2b; }
.product-page .add-button:disabled, .product-mobile-buy .add-button:disabled { background:#e8ebe7; color:#536052; border-color:#e8ebe7; }
.product-cart-note { color:var(--ink-soft); font-size:12px; margin:10px 0 0; }
.product-cart-feedback { display:flex; flex-wrap:wrap; gap:8px 16px; align-items:baseline; margin:14px 0 0; padding:12px 14px; background:var(--paper); font-size:13px; border-left:2px solid var(--ink); }
.product-cart-feedback p { margin:0; }
.product-cart-feedback a { color:var(--accent-ink); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.product-whatsapp { display:flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:8px 0; margin-top:12px; font-size:14px; font-weight:600; }
.product-whatsapp:hover { color:var(--accent-ink); text-decoration:underline; text-underline-offset:4px; }
.product-whatsapp img, .product-services img { height:21px; width:21px; flex:0 0 21px; }
.product-services { display:grid; gap:12px; padding:20px 0 0; margin:14px 0 0; list-style:none; border-top:1px solid var(--line); }
.product-services li { display:flex; gap:10px; align-items:center; font-size:13px; line-height:1.5; color:var(--ink-soft); }
.product-details { margin-top:48px; border-top:1px solid var(--line); }
.product-details details { border-bottom:1px solid var(--line); }
.product-details summary { cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:62px; padding:18px 0; font-size:16px; font-weight:600; list-style:none; }
.product-details summary::-webkit-details-marker { display:none; }
.product-details summary::after { content:'+'; font-size:22px; font-weight:400; }
.product-details details[open] > summary::after { content:'−'; }
.product-detail-body { padding:0 0 24px; color:var(--ink-soft); font-size:15px; line-height:1.8; max-width:85ch; }
.product-detail-body p { margin:0 0 10px; }
.product-detail-body p:last-child { margin-bottom:0; }
.product-specifications { margin:0; }
.product-specifications > div { display:grid; grid-template-columns:160px minmax(0,1fr); gap:20px; padding:6px 0; }
.product-specifications dt { color:var(--ink-soft); }
.product-specifications dd { color:var(--ink); margin:0; overflow-wrap:anywhere; }
.product-related { margin-top:56px; }
.product-related-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:24px; }
.product-related-heading h2 { font-size:clamp(23px,2.3vw,28px); font-weight:600; letter-spacing:-.025em; line-height:1.25; margin:0; }
.product-related-heading a { color:var(--accent-ink); font-size:13px; white-space:nowrap; }
.product-related-heading a:hover { text-decoration:underline; }
.product-related-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.product-mobile-buy { display:none; }
.product-image-dialog { border:0; background:var(--paper); border-radius:8px; max-width:min(800px,94vw); width:800px; max-height:92dvh; padding:52px 24px 24px; }
.product-image-dialog::backdrop { background:rgb(0 0 0 / .75); }
.product-image-dialog > img { width:100%; height:min(72dvh,800px); object-fit:contain; }
.product-image-dialog .dialog-close { position:absolute; top:6px; right:10px; height:44px; width:44px; border:0; background:transparent; color:var(--ink); font-size:30px; }
@media (max-width:1000px) {
  .product-page { padding-inline:24px; }
  .product-hero { column-gap:28px; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
  .main-image-wrap { height:430px; padding-inline:20px; }
  .purchase-actions { grid-template-columns:120px minmax(0,1fr); gap:8px; }
  .product-page .quantity-control { width:120px; }
  .product-page .add-button { padding-inline:10px; }
  .product-related-grid { gap:16px; grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:740px) {
  .product-body { padding-bottom:calc(88px + env(safe-area-inset-bottom,0px)); }
  .product-page { padding:132px 20px 48px; }
  .product-page .breadcrumbs { padding:12px 0 20px; font-size:11px; gap:6px; }
  .product-page .breadcrumbs [aria-current], .product-page .breadcrumbs .breadcrumb-current-separator { display:none; }
  .product-hero { display:flex; flex-direction:column; gap:0; }
  .product-heading, .product-gallery, .product-purchase { width:100%; }
  .product-heading { padding:0; margin-bottom:20px; }
  .product-heading h1 { font-size:28px; }
  .product-page .product-kicker { font-size:11px; margin-bottom:8px; }
  .main-image-wrap { height:280px; padding:18px 28px 42px; }
  .product-page .image-expand { bottom:0; right:10px; }
  .product-essentials { margin:20px 0 18px; font-size:14px; }
  .product-page .price { font-size:32px; }
  .purchase-actions { grid-template-columns:120px minmax(0,1fr); }
  .product-details { margin-top:32px; }
  .product-specifications > div { grid-template-columns:115px minmax(0,1fr); gap:14px; }
  .product-related { margin-top:36px; }
  .product-related-heading { display:block; margin-bottom:20px; }
  .product-related-heading a { display:inline-block; margin-top:12px; }
  .product-related-grid { gap:12px; }
  .product-mobile-buy { display:flex; justify-content:space-between; align-items:center; gap:12px; position:fixed; inset:auto 0 0; z-index:9; padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px)); background:#fff; border-top:1px solid var(--line); }
  .product-mobile-buy > div { min-width:0; }
  .product-mobile-price { display:block; font-size:19px; font-weight:700; line-height:1.3; white-space:nowrap; }
  .product-mobile-price span { font-size:10px; font-weight:500; }
  .product-mobile-buy small { display:block; color:var(--ink-soft); font-size:11px; margin-top:4px; }
  .product-mobile-buy .add-button { font-size:13px; padding:10px 14px; min-width:0; max-width:56%; }
}
@media (prefers-reduced-motion:reduce) {
  .product-page *, .product-mobile-buy * { scroll-behavior:auto; transition:none; }
}

/* Composición de la referencia. Mantiene la navegación y componentes compartidos. */
.product-body { --product-ink:#1b1c23; --product-muted:#686971; --product-line:#dededf; --product-surface:#f5f4f2; }
.product-page { max-width:1360px; padding:154px 54px 80px; color:var(--product-ink); }
.product-content { display:flex; flex-direction:column; }
.product-page :is(button,a,summary):focus-visible, .product-mobile-buy button:focus-visible, .product-image-dialog button:focus-visible { outline:2px solid var(--product-ink); outline-offset:4px; }
.product-page .breadcrumbs { gap:12px; padding:18px 0 34px; color:var(--product-muted); }
.product-page .breadcrumbs [aria-current] { color:var(--product-muted); }
.product-hero { grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); grid-template-rows:auto; gap:34px; }
.product-gallery { grid-column:1; grid-row:1; display:grid; grid-template-columns:minmax(0,1fr); gap:14px; }
.product-gallery:has(.thumbnail-list:not([hidden])) { grid-template-columns:clamp(72px,8.3vw,104px) minmax(0,1fr); }
.main-image-wrap { grid-column:-2; grid-row:1; background:var(--product-surface); height:600px; padding:28px 22px 48px; border-radius:6px; overflow:hidden; }
.main-product-image, .thumbnail img { mix-blend-mode:multiply; }
.product-page .image-expand { right:12px; bottom:4px; color:var(--product-muted); }
.thumbnail-list { grid-column:1; grid-row:1; flex-direction:column; gap:14px; max-height:600px; overflow-y:auto; padding:2px; }
.product-page .thumbnail { flex:0 0 112px; height:112px; width:100%; border:1px solid transparent; border-radius:5px; background:var(--product-surface); padding:8px; }
.product-page .thumbnail.is-active { border:1px solid var(--product-ink); }
.product-page .thumbnail:hover { border-color:var(--product-muted); }
.product-purchase { grid-column:2; grid-row:1; }
.product-heading { padding:0; }
.product-page .product-kicker { color:var(--product-muted); font-size:12px; font-weight:600; letter-spacing:.16em; margin:0 0 18px; }
.product-heading h1 { color:var(--product-ink); font-size:clamp(30px,3.45vw,46px); line-height:1.12; }
.product-essentials { color:var(--product-muted); font-size:17px; line-height:1.5; margin:8px 0 22px; }
.product-limited { margin:12px 0; }
.product-price-line { margin-top:20px; }
.product-page .price { color:var(--product-ink); font-size:clamp(30px,2.8vw,38px); letter-spacing:-.045em; }
.product-page .price span, .product-page .tax-note { font-size:11px; color:var(--product-muted); }
.product-page .product-description { color:#545660; font-size:16px; line-height:1.65; margin:28px 0 0; max-width:58ch; }
.product-description p { margin:0; }
.purchase-actions { grid-template-columns:136px minmax(0,1fr); gap:18px; border-top:1px solid var(--product-line); padding-top:30px; margin-top:36px; }
.product-page .quantity-control { width:100%; border-color:var(--product-line); border-radius:5px; }
.product-page .quantity-control button { color:var(--product-ink); font-size:22px; }
.product-page .quantity-control output { font-size:16px; font-weight:500; }
.product-page .add-button, .product-mobile-buy .add-button { gap:12px; border-color:var(--product-ink); border-radius:4px; padding:12px 14px; background:var(--product-ink); font-size:15px; font-weight:600; }
.product-page .add-button:hover, .product-mobile-buy .add-button:hover { background:#35363f; }
.product-page .add-button::before { content:''; flex:0 0 21px; width:21px; height:21px; background:currentColor; mask:url('recursos/simbolos/tabler/shopping-cart.svg') center / contain no-repeat; }
.product-page .add-button:disabled::before { display:none; }
.product-page .add-button:disabled, .product-mobile-buy .add-button:disabled { background:#e8e8e9; color:#606168; border-color:#e8e8e9; }
.product-cart-note { color:var(--product-muted); }
.product-cart-feedback { background:var(--product-surface); border-color:var(--product-ink); }
.product-cart-feedback a { color:var(--product-ink); }
.product-fulfillment { display:grid; gap:18px; margin:34px 0; }
.product-page .stock-note { display:flex; align-items:center; gap:12px; color:var(--product-ink); font-size:14px; font-weight:500; margin:0; }
.stock-note::before { content:'✓'; width:20px; font-size:20px; line-height:1; }
.stock-note.is-unavailable::before { content:'−'; }
.product-delivery { display:flex; align-items:flex-start; gap:12px; font-size:14px; line-height:1.5; margin:0; }
.product-delivery img { width:20px; height:22px; }
.product-delivery small, .product-services small { display:block; color:var(--product-muted); font-size:12px; margin-top:3px; line-height:1.5; }
.product-services { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding:30px 0 0; margin:0; border-color:var(--product-line); }
.product-services li, .product-whatsapp { display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center; font-size:12px; font-weight:400; line-height:1.5; color:var(--product-ink); }
.product-services img { height:25px; width:25px; flex:0 0 25px; }
.product-whatsapp { min-height:44px; padding:0; margin:0; }
.product-whatsapp:hover { color:var(--product-ink); }
.product-related { order:1; margin-top:64px; padding-top:36px; border-top:1px solid var(--product-line); }
.product-related-heading { margin-bottom:22px; }
.product-related-heading a { color:var(--product-muted); font-size:12px; }
.product-related-grid { gap:20px; }
.product-related .lc-product-card { --ink:var(--product-ink); --ink-soft:var(--product-muted); border:0; border-radius:0; background:transparent; box-shadow:none; }
.product-related .lc-product-card:hover { box-shadow:none; }
.product-related .lc-product-card__media { background:var(--product-surface); height:220px; border-radius:5px; }
.product-related .lc-product-card__media > img { padding:16px; mix-blend-mode:multiply; }
.product-related .lc-product-card__body { padding:14px 0 0; }
.product-related .lc-product-card__title { font-size:16px; font-weight:500; letter-spacing:-.015em; line-height:1.4; text-wrap:initial; }
.product-related .lc-product-card__producer { font-size:12px; min-height:0; margin:3px 0 8px; }
.product-related .lc-product-card__volume { border:0; border-radius:0; padding:0; color:var(--product-muted); margin:0 0 12px; font-size:13px; }
.product-related .lc-product-card__footer { border:0; padding-top:0; margin-top:auto; gap:14px; }
.product-related .lc-product-card__price { font-size:19px; letter-spacing:-.025em; }
.product-details { order:2; border-color:var(--product-line); }
.product-details details { border-color:var(--product-line); }
.product-detail-body { color:var(--product-muted); }
.product-specifications dd { color:var(--product-ink); }
@media (max-width:1100px) {
  .product-page { padding-inline:28px; }
  .product-hero { gap:28px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .main-image-wrap { height:530px; padding-inline:16px; }
  .thumbnail-list { max-height:530px; }
  .product-page .thumbnail { flex-basis:90px; height:90px; }
  .purchase-actions { grid-template-columns:120px minmax(0,1fr); gap:12px; }
  .product-page .add-button { font-size:13px; }
  .product-services { gap:10px; }
  .product-related-grid { gap:16px; grid-template-columns:repeat(4,minmax(0,1fr)); }
  .product-related .lc-product-card__media { height:190px; }
  .product-related .lc-product-card__cart { flex-wrap:wrap; }
  .product-related .lc-product-card__cart .lc-product-card__cta { min-width:100%; }
}
@media (max-width:760px) {
  .product-body { padding-bottom:calc(88px + env(safe-area-inset-bottom,0px)); }
  .product-page { padding:130px 20px 48px; }
  .product-page .breadcrumbs { padding:12px 0 22px; font-size:11px; gap:8px; }
  .product-page .breadcrumbs [aria-current], .product-page .breadcrumbs .breadcrumb-current-separator { display:none; }
  .product-hero { display:grid; grid-template-columns:minmax(0,1fr); gap:28px; }
  .product-gallery, .product-purchase { grid-column:1; grid-row:auto; }
  .product-gallery:has(.thumbnail-list:not([hidden])) { grid-template-columns:minmax(0,1fr); }
  .main-image-wrap { grid-column:1; height:390px; padding:22px 24px 42px; }
  .thumbnail-list { grid-row:2; flex-direction:row; overflow-x:auto; padding:2px; }
  .product-page .thumbnail { flex:0 0 70px; height:78px; width:70px; }
  .product-heading { margin:0; }
  .product-heading h1 { font-size:32px; }
  .product-page .product-kicker { font-size:11px; margin-bottom:12px; }
  .product-essentials { margin:8px 0 18px; font-size:16px; }
  .product-page .price { font-size:32px; }
  .product-page .product-description { margin-top:22px; font-size:15px; }
  .purchase-actions { grid-template-columns:120px minmax(0,1fr); margin-top:26px; padding-top:24px; }
  .product-fulfillment { margin:28px 0; }
  .product-services { padding-top:24px; }
  .product-related { margin-top:40px; padding-top:28px; }
  .product-related-heading { display:flex; align-items:flex-start; flex-direction:column; gap:10px; }
  .product-related-heading a { margin:0; }
  .product-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 14px; }
  .product-related .lc-product-card__title { font-size:15px; }
  .product-related .lc-product-card__price { font-size:18px; }
  .product-details { margin-top:36px; }
  .product-mobile-buy { display:flex; justify-content:space-between; align-items:center; gap:12px; position:fixed; inset:auto 0 0; z-index:9; padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px)); background:#fff; border-top:1px solid var(--product-line); }
  .product-mobile-buy .add-button { font-size:13px; padding:10px 14px; }
  .product-mobile-price { color:var(--product-ink); }
}
@media (max-width:380px) {
  .main-image-wrap { height:330px; }
  .product-page { padding-inline:16px; }
  .product-services li, .product-whatsapp { font-size:11px; }
  .product-related .lc-product-card__media { height:165px; }
  .product-mobile-buy { padding-inline:12px; }
  .product-mobile-price { font-size:17px; }
}
@media (prefers-reduced-motion:no-preference) {
  .main-product-image { transition:transform .35s ease; }
  .main-image-wrap:hover .main-product-image { transform:scale(1.025); }
}
