:root{
  --ink:#2d2926;--muted:#746c64;--cream:#f7f3ed;--paper:#fffdf9;--gold:#b99a63;
  --petrol:#0d647d;--petrol-dark:#08495c;--line:#e8dfd4;--shadow:0 18px 50px rgba(45,41,38,.09);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--paper)}
a{color:inherit;text-decoration:none}.topbar{background:var(--petrol);color:white;text-align:center;padding:10px 14px;font-size:13px;font-weight:600}
.header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,253,249,.94);backdrop-filter:blur(14px);z-index:20}
.brand{display:flex;align-items:center;gap:12px;font-family:"Cormorant Garamond",serif;font-size:24px;font-weight:700}.brand img{width:54px;height:54px;border-radius:50%;object-fit:cover}
nav{display:flex;gap:28px;font-size:14px;font-weight:600}nav a:hover{color:var(--petrol)}.menu-btn{display:none;border:0;background:none;font-size:28px}
.hero{min-height:620px;padding:80px 8vw;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;background:linear-gradient(135deg,#fffdf9 0%,#f4eee4 100%)}
.eyebrow{letter-spacing:.18em;font-size:12px;font-weight:700;color:var(--petrol)}h1,h2,h3{font-family:"Cormorant Garamond",serif;margin:0}.hero h1{font-size:clamp(52px,7vw,88px);line-height:.95;max-width:750px;margin:14px 0 22px}.hero p{font-size:18px;line-height:1.7;color:var(--muted);max-width:650px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:999px;border:1px solid var(--ink);font-weight:700;font-size:14px;cursor:pointer;background:white}.btn.primary{background:var(--petrol);border-color:var(--petrol);color:white}.btn.primary:hover{background:var(--petrol-dark)}.btn.ghost{background:transparent}.btn.small{padding:10px 14px;font-size:13px}
.hero-badges{display:flex;gap:18px;flex-wrap:wrap;margin-top:28px;font-size:13px;color:var(--muted)}.hero-card{background:white;border-radius:32px;padding:28px;box-shadow:var(--shadow);transform:rotate(1deg)}.hero-card img{width:100%;border-radius:22px;display:block}
.section{padding:90px 6vw}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:28px}.section-head h2{font-size:46px;margin-top:8px}.search-wrap input,.filters select,.form-grid input,.form-grid select,.form-grid textarea,.section-head input{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:white;font:inherit;color:var(--ink);outline:none}.search-wrap{min-width:280px}.filters{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:28px}.filters input{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:white;font:inherit;color:var(--ink);outline:none}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.product-card{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:white;transition:.2s;cursor:pointer}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.product-image{aspect-ratio:1/1;background:var(--cream);display:grid;place-items:center;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:cover}.product-image .placeholder{font-family:"Cormorant Garamond";font-size:28px;color:var(--gold)}
.product-body{padding:18px}.product-brand{font-size:11px;letter-spacing:.15em;color:var(--petrol);font-weight:700}.product-body h3{font-size:26px;margin:5px 0}.meta{font-size:13px;color:var(--muted);margin:6px 0}.price{font-size:21px;font-weight:800;margin-top:14px}.cash{font-size:13px;color:var(--petrol);font-weight:700;margin-top:4px}
.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;background:var(--cream)}.benefit-card{background:white;border-radius:22px;padding:28px;border:1px solid var(--line)}.benefit-card span{font-size:28px;font-weight:800;color:var(--petrol)}.benefit-card h3{font-size:26px;margin-top:12px}.benefit-card p{color:var(--muted);font-size:14px;line-height:1.5}
.contact{display:flex;justify-content:space-between;align-items:center;gap:24px}.contact h2{font-size:48px;margin:8px 0}.contact p{color:var(--muted)}footer{display:flex;justify-content:space-between;padding:30px 6vw;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.hidden{display:none!important}.empty{text-align:center;padding:60px;color:var(--muted)}.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}.modal-card{position:relative;background:white;border-radius:26px;max-width:920px;width:100%;max-height:90vh;overflow:auto;z-index:2;padding:28px}.modal-close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:30px;cursor:pointer}.modal-product{display:grid;grid-template-columns:1fr 1fr;gap:28px}.modal-product .product-image{border-radius:20px}.modal-product h2{font-size:44px}.details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.detail{padding:12px;background:var(--cream);border-radius:12px;font-size:13px}.payment-box{border:1px solid var(--line);border-radius:18px;padding:16px;margin:16px 0}.payment-box strong{display:block;margin-bottom:8px}
.admin-body{background:var(--cream)}.admin-header{height:76px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4vw}.admin-shell{padding:40px 4vw}.admin-card{background:white;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 10px 30px rgba(45,41,38,.04)}.auth-card{max-width:520px;margin:70px auto}.auth-card h1,.admin-title h1{font-size:46px;margin:8px 0}.admin-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.admin-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid.one{grid-template-columns:1fr}.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700}.form-grid .full{grid-column:1/-1}.form-actions{display:flex;gap:10px}.form-msg{margin-top:12px;font-size:13px}.section-head.compact{align-items:center}.section-head.compact h2{font-size:30px}.admin-list{display:flex;flex-direction:column;gap:10px;max-height:900px;overflow:auto}.admin-item{border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;grid-template-columns:1fr auto;gap:10px}.admin-item h3{font-size:22px}.admin-item .actions{display:flex;gap:6px;align-items:start}.icon-btn{border:1px solid var(--line);background:white;border-radius:10px;padding:8px;cursor:pointer}
@media(max-width:1000px){.product-grid{grid-template-columns:repeat(2,1fr)}.benefits{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr}.hero-card{max-width:640px}.admin-layout{grid-template-columns:1fr}}
@media(max-width:700px){.header{height:70px;padding:0 18px}.brand span{font-size:20px}.brand img{width:44px;height:44px}.menu-btn{display:block}nav{display:none;position:absolute;top:70px;left:0;right:0;background:white;flex-direction:column;padding:20px;border-bottom:1px solid var(--line)}nav.open{display:flex}.hero{padding:55px 20px;gap:35px}.hero h1{font-size:54px}.section{padding:65px 20px}.section-head{align-items:stretch;flex-direction:column}.search-wrap{min-width:0}.filters{grid-template-columns:1fr 1fr}.product-grid{grid-template-columns:1fr 1fr;gap:10px}.product-body{padding:13px}.product-body h3{font-size:21px}.benefits{grid-template-columns:1fr}.contact{flex-direction:column;align-items:start}footer{padding:24px 20px}.modal-product{grid-template-columns:1fr}.modal-card{padding:20px}.details{grid-template-columns:1fr 1fr}.admin-shell{padding:24px 14px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.admin-title{align-items:start;gap:15px}.topbar{font-size:11px}}

.image-upload-field>label{display:block;margin-bottom:7px;font-size:12px;font-weight:700}.image-upload-box{border:1px dashed var(--line);border-radius:16px;padding:16px;background:var(--cream)}.image-upload-box input[type=file]{width:100%;font:inherit}.upload-help{font-size:12px;color:var(--muted);margin-top:8px}.admin-image-preview{display:block;width:180px;height:180px;object-fit:cover;border-radius:16px;margin-top:14px;border:1px solid var(--line);background:white}

.notes-block{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--cream)}.notes-block h3{font-size:24px;margin-bottom:8px}.notes-image{margin-top:12px;border-radius:16px;overflow:hidden}.notes-image img{display:block;width:100%;height:auto}.notes-chips{display:flex;gap:8px;flex-wrap:wrap}.note-chip{font-size:12px;padding:7px 10px;border-radius:999px;background:white;border:1px solid var(--line)}
@media(max-width:1000px){.filters{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.filters{grid-template-columns:1fr 1fr}}

/* V5: en el detalle del producto las fotos se muestran completas, sin recorte */
.modal-product .product-image{
  aspect-ratio:auto;
  min-height:0;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}
.modal-product .product-image img{
  width:100%;
  height:auto;
  max-height:72vh;
  object-fit:contain;
  object-position:center;
}
@media(max-width:700px){
  .modal{display:block;overflow-y:auto;padding:12px;}
  .modal-card{max-height:none;overflow:visible;margin:8px auto 24px;padding:20px;}
  .modal-product .product-image img{max-height:none;}
}

/* V6: fotos completas y modal alineado arriba */
.product-card .product-image{
  aspect-ratio: 4 / 5;
  background:#fff;
  padding:12px;
}
.product-card .product-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

.modal-product{
  align-items:start;
}
.modal-product .product-image{
  align-self:start;
  width:100%;
  background:#fff;
  padding:0;
}
.modal-product .product-image img{
  display:block;
  width:100%;
  height:auto;
  max-height:72vh;
  object-fit:contain;
  object-position:top center;
}

@media(max-width:700px){
  .product-card .product-image{aspect-ratio:4 / 5;padding:8px;}
  .modal-product .product-image img{max-height:58vh;}
}


/* V7: el bloque inferior ocupa todo el ancho del modal */
.modal-product{
  display:block;
}
.modal-top{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  align-items:start;
}
.modal-bottom{
  margin-top:22px;
  padding-top:22px;
  border-top:1px solid var(--line);
}
.modal-bottom .details{
  grid-template-columns:repeat(4,1fr);
  margin:0 0 20px;
}
.purchase-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  align-items:start;
}
.purchase-row .payment-box{
  margin:0;
}
.purchase-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:18px;
}
.purchase-footer p{
  margin:0;
}

@media(max-width:850px){
  .modal-top{grid-template-columns:1fr;}
  .modal-bottom .details{grid-template-columns:1fr 1fr;}
  .purchase-row{grid-template-columns:1fr;}
  .purchase-footer{align-items:flex-start;flex-direction:column;}
}
