:root{
  --font-head:'Archivo Black',Arial,sans-serif;
  --font-sans:'Space Grotesk',system-ui,sans-serif;
  --color-bg:#FFFFFF;
  --color-bg-alt:#FDF0F6;
  --color-border:#000000;
  --color-heading:#000000;
  --color-body:#5A1535;
  --color-white:#FFFFFF;
  --color-black:#000000;
  --brand:#E0387B;
  --brand-strong:#B82F66;
  --brand-soft:#FBE4ED;
  --navy:#1A000E;
  --yellow:#FFE0EE;
  --orange:#C42D6A;
  --shadow-xs:2px 2px 0 0 #000;
  --shadow-sm:3px 3px 0 0 #000;
  --shadow-md:4px 4px 0 0 #000;
  --shadow-lg:6px 6px 0 0 #000;
  --shadow-xl:10px 10px 0 1px #000;
  --ease:cubic-bezier(.2,.8,.2,1);
  --navbar-height:64px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--font-sans);color:var(--color-body);background:var(--color-bg);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;}
button{font-family:inherit;}
h1,h2,h3,h4{font-family:var(--font-head);color:var(--color-heading);margin:0;}
p{margin:0 0 16px;line-height:1.7;}
.container{max-width:1152px;margin:0 auto;padding-inline:24px;}

/* Navbar */
.navbar{position:sticky;top:0;z-index:50;background:var(--color-white);border-bottom:3px solid var(--color-border);}
.navbar-inner{display:flex;align-items:center;justify-content:space-between;padding-block:12px;}
.logo img{height:30px;width:auto;}
.logo{text-decoration:none;}
.back-btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;text-decoration:none;color:var(--color-heading);border:2px solid var(--color-border);padding:8px 16px;box-shadow:var(--shadow-xs);transition:transform 100ms var(--ease),box-shadow 100ms var(--ease);}
.back-btn:hover{transform:translate(-1px,-1px);box-shadow:var(--shadow-sm);}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:16px;line-height:1;white-space:nowrap;padding:14px 28px;border:2px solid var(--color-border);box-shadow:var(--shadow-sm);cursor:pointer;text-decoration:none;min-height:48px;transition:transform 100ms var(--ease),box-shadow 100ms var(--ease),background-color 100ms var(--ease);}
.btn:hover{transform:translate(-1px,-1px);box-shadow:var(--shadow-md);}
.btn:active{transform:translate(2px,2px);box-shadow:var(--shadow-xs);}
.btn--primary{background:var(--brand);color:var(--color-black);}
.btn--primary:hover{background:var(--brand-strong);}
.btn--dark{background:var(--color-black);color:var(--color-white);}
.btn--dark:hover{background:#222;}
.btn--outline{background:var(--color-white);color:var(--color-black);}
.btn--outline:hover{background:var(--yellow);}

/* Layout */
.product-page{padding-block:64px;}
.product-grid{display:grid;gap:48px;align-items:start;}
@media(min-width:768px){.product-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:1024px){.product-grid{grid-template-columns:1.1fr 0.9fr;gap:72px;}}

/* Gallery */
.gallery-main{
  aspect-ratio:3/2;border:3px solid var(--color-border);box-shadow:var(--shadow-xl);
  background:var(--color-bg-alt);display:flex;align-items:center;justify-content:center;
  overflow:hidden;transition:background 400ms ease;
}
.gallery-thumbs{display:flex;gap:12px;margin-top:12px;}
.gallery-thumb{
  flex:1;aspect-ratio:3/2;border:2px solid var(--color-border);box-shadow:var(--shadow-xs);
  background:var(--color-bg-alt);display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:transform 100ms var(--ease),box-shadow 100ms var(--ease);overflow:hidden;
}
.gallery-thumb:hover{transform:translate(-1px,-1px);box-shadow:var(--shadow-sm);}
.gallery-thumb.active{border-color:var(--brand);border-width:3px;}

/* Garment shape */
.garment{
  width:72%;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;
  border:3px solid var(--color-border);background:var(--g-color,#fff);
  transition:background 400ms ease;
  clip-path:polygon(30% 2%,70% 2%,70% 10%,88% 10%,100% 32%,84% 44%,74% 36%,74% 98%,26% 98%,26% 36%,16% 44%,0% 32%,12% 10%,30% 10%);
}
.garment-print{width:34%;}
.gallery-thumb .garment{width:70%;}

/* Product info */
.product-info{display:flex;flex-direction:column;gap:20px;}
.product-name{font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.1;}
.product-price{font-family:var(--font-head);font-size:clamp(1.75rem,3vw,2.25rem);color:var(--color-heading);}
.product-desc{color:var(--color-body);line-height:1.8;font-size:16px;}
.badge-pocas{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;padding:5px 10px;border:2px solid var(--color-border);background:#FDE6D6;color:#9C4112;width:max-content;}

/* Size selector */
.size-label{font-size:14px;font-weight:700;color:var(--color-heading);margin-bottom:10px;letter-spacing:0.05em;text-transform:uppercase;}
.size-grid{display:flex;gap:8px;flex-wrap:wrap;}
.size-btn{
  min-width:48px;height:48px;padding:0 12px;border:2px solid var(--color-border);
  background:var(--color-white);font-family:var(--font-sans);font-weight:700;font-size:14px;
  cursor:pointer;box-shadow:var(--shadow-xs);transition:transform 100ms var(--ease),box-shadow 100ms var(--ease),background 100ms;
}
.size-btn:hover{transform:translate(-1px,-1px);box-shadow:var(--shadow-sm);}
.size-btn.active{background:var(--color-black);color:var(--color-white);}
.size-btn:disabled{opacity:.35;cursor:not-allowed;transform:none;box-shadow:none;}

/* Actions */
.product-actions{display:flex;flex-direction:column;gap:12px;}
.cart-status{font-weight:700;color:var(--brand-strong);font-size:14px;min-height:20px;}

/* Features */
.features{border-top:2px solid var(--color-border);padding-top:20px;display:flex;flex-direction:column;gap:10px;}
.feature-item{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--color-heading);}
.feature-item svg{color:var(--brand-strong);flex-shrink:0;}

/* Related */
.related{padding-block:64px;border-top:3px solid var(--color-border);background:var(--color-bg-alt);}
.related h2{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:32px;}
.related-grid{display:grid;gap:20px;grid-template-columns:1fr;}
@media(min-width:480px){.related-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:768px){.related-grid{grid-template-columns:repeat(3,1fr);}}
.related-card{background:var(--color-white);border:2px solid var(--color-border);box-shadow:var(--shadow-md);display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform 150ms var(--ease),box-shadow 150ms var(--ease);}
.related-card:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow-lg);}
.related-card-media{aspect-ratio:3/2;border-bottom:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;padding:20px;background:var(--color-bg-alt);}
.related-card-body{padding:14px;}
.related-card-name{font-family:var(--font-head);font-size:15px;margin-bottom:4px;}
.related-card-price{font-weight:700;font-size:14px;color:var(--color-heading);}

/* Footer */
.footer{background:var(--navy);color:var(--color-white);}
.footer-inner{padding-block:40px;display:flex;flex-direction:column;gap:16px;}
.footer-logo{height:28px;}
.footer p{color:#B5B5DE;max-width:32ch;font-size:14px;margin:0;}
.social-row{display:flex;gap:12px;}
.social-row a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:2px solid var(--color-white);color:var(--color-white);transition:transform 150ms var(--ease);}
.social-row a:hover{background:var(--yellow);color:var(--color-black);border-color:var(--yellow);transform:translateY(-2px);}
.footer-bottom{border-top:2px solid #FFFFFF;padding-top:16px;font-size:13px;color:#9C9CD0;margin-top:8px;}

/* Navbar producto — derecha con back-btn + cart */
.nav-right-producto{display:flex;align-items:center;gap:12px;}

/* Cart btn (mismos estilos que la tienda) */
.cart-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:2px solid var(--color-border);background:var(--color-white);box-shadow:var(--shadow-xs);cursor:pointer;transition:transform 100ms,box-shadow 100ms;}
.cart-btn:hover{transform:translate(-1px,-1px);box-shadow:var(--shadow-sm);}
.cart-count{position:absolute;top:-8px;right:-8px;min-width:20px;height:20px;padding:0 4px;background:var(--orange);color:var(--color-black);border:2px solid var(--color-border);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;}

/* Botón ancho completo */
.btn--full{width:100%;justify-content:center;}
