/* =========================================================
   impresion.cl — single product
   ========================================================= */
.imp-single{padding:26px 0 60px;}

/* Elementor envuelve los hijos del contenedor en .e-con-inner: la grilla de dos
   columnas tiene que vivir ahí, si no las columnas quedan apretadas a un lado. */
.imp-single .imp-single__cols > .e-con-inner{display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);gap:clamp(32px,4vw,64px);
  align-items:start;max-width:var(--imp-wrap);width:100%;}
.imp-single .imp-single__cols > .e-con-inner > .elementor-widget{width:100%;max-width:none;}

/* Gallery */
.imp-gallery{position:relative;}
.imp-gallery__main{border-radius:var(--imp-radius);overflow:hidden;background:var(--imp-card);aspect-ratio:1/1;}
.imp-gallery__main img{width:100%;height:100%;object-fit:cover;display:block;}
.imp-gallery__zoom{position:absolute;top:14px;right:14px;width:34px;height:34px;display:grid;place-items:center;
  color:var(--imp-muted);background:rgba(255,255,255,.85);border-radius:50%;}
.imp-gallery__thumbs{display:flex;align-items:center;gap:14px;margin-top:18px;}
.imp-gallery__track{display:flex;gap:14px;overflow-x:auto;scrollbar-width:none;flex:1;}
.imp-gallery__track::-webkit-scrollbar{display:none;}
.imp-gallery__thumb{flex:0 0 108px;aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:var(--imp-card);
  border:2px solid transparent;cursor:pointer;transition:border-color .18s;}
.imp-gallery__thumb.is-active,.imp-gallery__thumb:hover{border-color:var(--imp-accent);}
.imp-gallery__thumb img{width:100%;height:100%;object-fit:cover;}
.imp-gallery__arrow{width:32px;height:32px;border-radius:50%;border:1px solid var(--imp-border);background:#fff;
  display:grid;place-items:center;cursor:pointer;color:var(--imp-black);flex:0 0 auto;}
.imp-gallery__arrow:hover{border-color:var(--imp-accent);color:var(--imp-accent);}

/* Summary head */
.imp-summary__meta{display:flex;align-items:center;gap:12px;justify-content:flex-end;font-size:13px;color:var(--imp-muted);}
.imp-summary__meta span{color:#C3C3CC;}
.imp-summary__title{font-size:clamp(24px,2.2vw,32px);font-weight:500;text-align:center;margin:12px 0 14px;line-height:1.25;}
.imp-summary__price{text-align:center;font-family:var(--imp-font-head);font-size:26px;font-weight:600;color:var(--imp-black);
  padding-bottom:26px;border-bottom:1px solid var(--imp-border);margin-bottom:28px;}
.imp-summary__price .imp-price-iva{font-size:15px;}
.imp-summary__price del{color:var(--imp-muted);font-weight:400;font-size:19px;margin-right:8px;}
.imp-summary__price ins{text-decoration:none;}

/* Option groups (cantidad, tiempo de producción, etc.) */
.imp-optgroup{margin-bottom:26px;}
.imp-optgroup__label{display:block;text-align:center;font-family:var(--imp-font-head);font-size:13px;font-weight:600;
  letter-spacing:.09em;text-transform:uppercase;color:var(--imp-black);margin-bottom:12px;}
.imp-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;}
.imp-chip{border:1px solid var(--imp-border);background:#fff;border-radius:var(--imp-radius-sm);padding:9px 16px;
  font-size:14px;color:var(--imp-ink);cursor:pointer;transition:.15s;white-space:nowrap;line-height:1.2;}
.imp-chip:hover{border-color:var(--imp-black);}
.imp-chip.is-active{background:var(--imp-black);border-color:var(--imp-black);color:#fff;font-weight:600;}
.imp-chip.is-disabled{opacity:.4;pointer-events:none;text-decoration:line-through;}
.imp-chips--scroll{max-height:330px;overflow-y:auto;padding:2px;}

/* File upload */
.imp-upload{display:flex;border:1px solid var(--imp-border);border-radius:var(--imp-radius-sm);overflow:hidden;background:var(--imp-card);}
.imp-upload__name{flex:1;padding:0 16px;display:flex;align-items:center;font-size:14px;color:var(--imp-muted);min-height:44px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.imp-upload__btn{display:inline-flex;align-items:center;gap:8px;background:var(--imp-accent);color:#fff;border:0;
  padding:0 18px;font-size:14px;font-weight:600;cursor:pointer;font-family:var(--imp-font-head);transition:.15s;}
.imp-upload__btn:hover{background:var(--imp-accent-dark);}
.imp-upload input[type="file"]{display:none;}
.imp-linkfield input[type="url"],.imp-linkfield input[type="text"]{width:100%;min-height:44px;border:1px solid var(--imp-border);
  border-radius:var(--imp-radius-sm);padding:0 16px;font-size:14px;background:#fff;}
.imp-linkfield input:focus{outline:none;border-color:var(--imp-accent);box-shadow:0 0 0 3px rgba(240,24,144,.16);}

/* Cart row */
.imp-cartrow{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;align-items:stretch;margin-top:30px;}
.imp-cartrow .imp-qty{display:flex;justify-content:space-between;width:100%;}

.imp-wishlist{display:flex;align-items:center;justify-content:center;gap:11px;margin-top:20px;font-size:15px;color:var(--imp-ink);}
.imp-wishlist svg{color:var(--imp-black);}
.imp-wishlist:hover{color:var(--imp-accent);}

.imp-share{margin-top:26px;text-align:center;}
.imp-share__label{font-family:var(--imp-font-head);font-size:12px;font-weight:600;letter-spacing:.09em;
  text-transform:uppercase;color:var(--imp-black);margin-bottom:12px;}
.imp-share__links{display:flex;gap:22px;justify-content:center;}
.imp-share__links a{color:var(--imp-black);}
.imp-share__links a:hover{color:var(--imp-accent);}

/* Tabs */
.imp-tabs{margin-top:clamp(48px,6vw,80px);padding-top:40px;border-top:1px solid var(--imp-border);}
.imp-tabs__nav{display:flex;gap:10px;justify-content:center;list-style:none;margin:0 0 34px;padding:0;}
.imp-tabs__nav li a{display:inline-block;padding:11px 24px;border-radius:var(--imp-radius-sm);font-family:var(--imp-font-head);
  font-size:15px;color:var(--imp-ink);border:1px solid transparent;}
.imp-tabs__nav li.is-active a{border-color:var(--imp-border);box-shadow:var(--imp-shadow);background:#fff;color:var(--imp-black);}
.imp-tabs__panel{display:none;font-size:16px;line-height:1.7;}
.imp-tabs__panel.is-active{display:block;}
.imp-tabs__panel h2,.imp-tabs__panel h3{font-size:22px;font-weight:700;margin:28px 0 14px;}
.imp-tabs__panel ul,.imp-tabs__panel ol{padding-left:22px;display:grid;gap:9px;margin:0 0 18px;}
.imp-tabs__panel a{color:var(--imp-accent);}
.imp-tabs__panel a:hover{text-decoration:underline;}

@media (max-width:960px){
  .imp-single .imp-single__cols > .e-con-inner{grid-template-columns:1fr;gap:34px;}
  .imp-cartrow{grid-template-columns:1fr;}
  .imp-summary__meta{justify-content:center;}
}
