*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,sans-serif;background:#fff9f6;color:#171214}button,input,select,textarea{font:inherit}.hidden{display:none!important}a{text-decoration:none;color:inherit}.setup{padding:10px 5vw;background:#fff0c2;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:40}.setup span{margin-left:8px}.topbar{height:76px;padding:0 5vw;display:flex;align-items:center;gap:30px;border-bottom:1px solid #eadfe1;position:sticky;top:0;background:#fff9f6ef;backdrop-filter:blur(12px);z-index:10}.brand{font:700 24px Georgia}.brand span{color:#c77d8d}nav{display:flex;gap:20px}.headerActions{margin-left:auto;display:flex;gap:10px}.hero{min-height:600px;padding:70px 7vw;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;background:linear-gradient(135deg,#fff9f6,#f0dfe3)}.eyebrow,.sectionHead small{font-size:11px;letter-spacing:3px;font-weight:800;color:#9d5968}.hero h1{font:700 clamp(52px,7vw,92px) Georgia;line-height:.94}.hero em{color:#a65e6f}.primary{background:#171214;color:#fff;border:0;border-radius:999px;padding:13px 18px;font-weight:800}.heroVisual{height:430px;position:relative}.oval{position:absolute;inset:15px 80px 15px 20px;border-radius:48% 48% 20% 20%;background:linear-gradient(150deg,#c77d8d,#f6dfe4)}.heroBadge{position:absolute;right:5%;bottom:12%;width:180px;height:180px;border-radius:50%;display:grid;place-items:center;background:#171214;color:white;font:700 66px Georgia}.promoHero{padding:55px 8vw;background:#c77d8d;color:white}.promoHero h2{font:700 50px Georgia}.benefits{display:grid;grid-template-columns:repeat(3,1fr);background:#171214;color:white;padding:24px 6vw;gap:20px}.benefits b{display:block;font:700 18px Georgia}.benefits span{font-size:13px;color:#d7ccd0}.shop{padding:75px 6vw}.sectionHead{display:flex;justify-content:space-between;align-items:end}.sectionHead h2{font:700 50px Georgia;margin:5px 0}.sectionHead input{padding:12px 16px;border:1px solid #eadfe1;border-radius:999px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.filters select{padding:10px;border:1px solid #eadfe1;border-radius:10px;background:white}.categories{display:flex;gap:8px;overflow:auto;padding:14px 0 24px}.categories button{border:1px solid #eadfe1;border-radius:999px;background:white;padding:9px 14px}.categories .active{background:#171214;color:white}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.card{background:white;border:1px solid #eadfe1;border-radius:20px;overflow:hidden;position:relative}.badge{position:absolute;z-index:2;top:10px;left:10px;background:#171214;color:white;border-radius:999px;padding:6px 9px;font-size:10px}.img{aspect-ratio:4/5;background:#f2dce1;cursor:pointer}.img img{width:100%;height:100%;object-fit:cover}.ph{height:100%;display:grid;place-items:center;font:700 48px Georgia;color:#9e6470}.body{padding:16px}.body h3{font:700 21px Georgia}.body p{color:#756a6d;font-size:13px}.selects{display:grid;grid-template-columns:1fr 1fr;gap:8px}.selects select{padding:9px;border:1px solid #eadfe1;border-radius:10px}.sizeGuide{padding:70px 7vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;background:white}.sizeGuide h2{font:700 46px Georgia}.tableWrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:13px;border-bottom:1px solid #eadfe1;text-align:left}.panel{position:fixed;right:0;top:0;width:min(540px,100vw);height:100%;background:#fff9f6;z-index:30;padding:28px;overflow:auto;transform:translateX(103%);transition:.2s}.panel.open{transform:none}.wide{width:min(900px,100vw)}.close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:32px}.panel form{display:grid;gap:10px}.panel input,.panel textarea,.panel select{padding:12px;border:1px solid #eadfe1;border-radius:10px;background:white}.summary,.stepbox,.status{margin:14px 0;padding:14px;background:white;border:1px solid #eadfe1;border-radius:12px}.summary div{display:flex;justify-content:space-between;padding:5px}.full{width:100%}.tabs{display:flex;gap:6px;overflow:auto;margin:18px 0}.tabs button{border:0;border-radius:999px;padding:10px 14px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stats div,.adminItem,.order,.promo{background:white;border:1px solid #eadfe1;border-radius:12px;padding:12px;margin:8px 0}.stats span{display:block;color:#756a6d;font-size:12px}.variant{display:grid;grid-template-columns:1fr 1fr .7fr auto;gap:8px;margin:8px 0}.floatingWa{position:fixed;right:20px;bottom:20px;background:#20b45b;color:white;padding:14px 18px;border-radius:999px;font-weight:800;z-index:12}footer{text-align:center;padding:45px;background:#171214;color:white}footer div{font:700 34px Georgia}footer span{color:#c77d8d}#overlay{position:fixed;inset:0;background:#0006;z-index:20;display:none}#overlay.show{display:block}#toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);background:#171214;color:white;border-radius:999px;padding:10px 16px;display:none;z-index:50}#toast.show{display:block}@media(max-width:900px){nav{display:none}.grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr}.benefits{grid-template-columns:1fr}.sizeGuide{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}}
#checkoutBtn:disabled{opacity:.65;cursor:wait}

.colorImageRow{display:grid;grid-template-columns:1fr 1.5fr auto;gap:8px;align-items:center;margin:8px 0}
.colorImageRow input[type="text"]{min-width:0}
.colorImagePreview{width:52px;height:62px;object-fit:cover;border-radius:8px;border:1px solid #eadfe1;background:#f2dce1}
@media(max-width:700px){.colorImageRow{grid-template-columns:1fr}.colorImagePreview{width:70px;height:82px}}


/* BODY FIT - MOBILE HARDENING */
*{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
img{max-width:100%;height:auto}
input,select,textarea,button{font-size:16px}
button,input,select,textarea{min-height:44px}
body{padding-bottom:env(safe-area-inset-bottom)}
.modal,.drawer,.panel{max-width:100vw}
.modal-content,.drawer-content{max-height:92vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
.product-card,.card{min-width:0}
.product-card img,.card img{width:100%;object-fit:cover}
table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
.admin-grid,.form-grid,.products-grid{min-width:0}

@media(max-width:768px){
  header,.header{padding-left:14px;padding-right:14px}
  nav,.nav{gap:8px;flex-wrap:wrap}
  .hero{padding:28px 16px}
  .hero h1{font-size:clamp(30px,9vw,48px);line-height:1.05}
  .hero p{font-size:15px}
  .products,.grid,.products-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;padding-left:10px!important;padding-right:10px!important}
  .product-card,.card{border-radius:14px}
  .product-card .img,.card .img{aspect-ratio:4/5}
  .product-card h3,.card h3{font-size:14px}
  .product-card button,.card button{width:100%}
  .modal-content,.drawer-content,.panel{width:100%!important;max-width:100%!important;border-radius:18px 18px 0 0}
  .modal{align-items:flex-end}
  form{width:100%}
  form input,form select,form textarea{width:100%}
  .variant,.colorImageRow{grid-template-columns:1fr!important}
  .admin-grid,.form-grid{grid-template-columns:1fr!important}
  .admin-tabs{overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
  .admin-tabs button{flex:0 0 auto}
  .cart-row,.order-row{grid-template-columns:1fr!important}
  .checkout-actions{position:sticky;bottom:0;background:inherit;padding-bottom:calc(10px + env(safe-area-inset-bottom))}
}

@media(max-width:420px){
  .products,.grid,.products-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .brand,.logo{font-size:20px}
  .product-card .price,.card .price{font-size:14px}
  .product-card select,.card select{font-size:14px;padding:8px}
}

@media(max-width:340px){
  .products,.grid,.products-grid{grid-template-columns:1fr!important}
}


/* ===== BODY FIT - MOBILE FIX DEFINITIVO ===== */
html, body {
  width: 100%;
  max-width: 100%;
  margin: 0;
  overflow-x: hidden !important;
}

body, main, section, header, footer, .container, .wrap, .content, .page {
  max-width: 100% !important;
}

*, *::before, *::after {
  box-sizing: border-box !important;
}

img, video, canvas, svg {
  max-width: 100% !important;
  height: auto;
}

input, select, textarea, button {
  max-width: 100% !important;
}

pre, code {
  white-space: pre-wrap;
  word-break: break-word;
}

table {
  width: 100% !important;
  max-width: 100% !important;
}

.modal,
.drawer,
.overlay,
.dialog,
.popup {
  width: 100vw !important;
  max-width: 100vw !important;
  left: 0 !important;
  right: 0 !important;
}

.modal-content,
.drawer-content,
.dialog-content,
.popup-content,
.panel {
  width: min(100% - 20px, 720px) !important;
  max-width: calc(100vw - 20px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow-x: hidden !important;
}

#cartModal .modal-content,
#productModal .modal-content,
#adminModal .modal-content {
  max-width: calc(100vw - 16px) !important;
}

.product-card,
.card,
.order-card,
.admin-card,
.cart-item,
.cart-row,
.product-row,
.variant,
.colorImageRow {
  min-width: 0 !important;
  max-width: 100% !important;
}

.product-card *,
.card *,
.order-card *,
.admin-card *,
.cart-item *,
.cart-row *,
.product-row *,
.variant *,
.colorImageRow * {
  min-width: 0;
}

@media (max-width: 768px) {
  body {
    font-size: 15px;
  }

  .container,
  .wrap,
  main,
  section {
    width: 100% !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  header,
  .header {
    width: 100% !important;
    padding: 10px 12px !important;
    gap: 8px !important;
  }

  nav,
  .nav,
  .header-actions {
    flex-wrap: wrap !important;
    max-width: 100% !important;
  }

  .hero {
    width: 100% !important;
    padding: 24px 14px !important;
    overflow: hidden !important;
  }

  .hero h1 {
    font-size: clamp(28px, 9vw, 44px) !important;
    overflow-wrap: anywhere;
  }

  .products,
  .products-grid,
  .grid {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .product-card,
  .card {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .product-card .img,
  .card .img {
    width: 100% !important;
    aspect-ratio: 4 / 5;
    overflow: hidden !important;
  }

  .product-card .img img,
  .card .img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .product-card h3,
  .card h3,
  .product-card p,
  .card p {
    overflow-wrap: anywhere;
  }

  .modal-content,
  .drawer-content,
  .dialog-content,
  .popup-content,
  .panel {
    width: calc(100vw - 12px) !important;
    max-width: calc(100vw - 12px) !important;
    margin: 6px !important;
    padding: 14px !important;
    max-height: 94vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    border-radius: 16px !important;
  }

  form,
  form > *,
  .form-grid,
  .admin-grid {
    width: 100% !important;
    max-width: 100% !important;
  }

  .form-grid,
  .admin-grid,
  .variant,
  .colorImageRow,
  .cart-row,
  .order-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  input,
  select,
  textarea,
  button {
    width: 100% !important;
    font-size: 16px !important;
  }

  .admin-tabs,
  .tabs {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch;
  }

  .admin-tabs button,
  .tabs button {
    width: auto !important;
    min-width: max-content !important;
  }

  .table-wrap,
  .table-container {
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  table {
    min-width: 640px;
  }

  #cartList,
  #ordersList,
  #adminProducts,
  #promosList {
    width: 100% !important;
    max-width: 100% !important;
  }

  .checkout-summary,
  .summary,
  .totals {
    width: 100% !important;
    max-width: 100% !important;
  }

  .checkout-summary > *,
  .summary > *,
  .totals > * {
    max-width: 100% !important;
  }

  .floating-whatsapp,
  .whatsapp-float {
    right: 12px !important;
    bottom: calc(12px + env(safe-area-inset-bottom)) !important;
    max-width: calc(100vw - 24px) !important;
  }
}

@media (max-width: 430px) {
  .products,
  .products-grid,
  .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .product-card,
  .card {
    font-size: 13px;
  }

  .product-card button,
  .card button,
  .product-card select,
  .card select {
    font-size: 13px !important;
    min-height: 40px !important;
  }
}

@media (max-width: 350px) {
  .products,
  .products-grid,
  .grid {
    grid-template-columns: 1fr !important;
  }
}


/* ===== BODY FIT - IMAGENES AJUSTADAS ===== */
.heroVisual{display:flex;align-items:center;justify-content:center}
.heroVisual .oval{max-width:100%;max-height:100%}

.img{
  aspect-ratio: 4/5;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:linear-gradient(180deg,#f7ecef,#f3e1e6);
}

.img img{
  width:100%;
  height:100%;
  object-fit:contain !important;
  object-position:center;
  display:block;
  padding:10px;
}

.colorImagePreview{
  object-fit:contain !important;
  background:#fff;
  padding:4px;
}

#productDetail .detailGallery,
.detailGallery{
  display:grid;
  gap:10px;
}

#productDetail .detailGallery img,
.detailGallery img{
  width:100%;
  max-height:420px;
  object-fit:contain;
  object-position:center;
  background:#fff;
  border:1px solid #eadfe1;
  border-radius:12px;
  padding:8px;
  display:block;
}

@media (max-width: 768px){
  .hero{gap:18px}
  .heroVisual{height:260px !important;min-height:260px}
  .oval{inset:12px 38px 12px 12px !important}
  .heroBadge{width:110px !important;height:110px !important;font-size:42px !important;right:8% !important;bottom:10% !important}

  .img{
    aspect-ratio:1/1.18 !important;
    border-bottom:1px solid #f0e5e7;
  }

  .img img{
    padding:8px !important;
  }

  #productDetail .detailGallery img,
  .detailGallery img{
    max-height:280px;
  }
}

@media (max-width: 430px){
  .heroVisual{height:220px !important;min-height:220px}
  .img{aspect-ratio:1/1.12 !important}
  .img img{padding:6px !important}
}


/* ADMIN: acciones de producto */
.adminProductRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.adminProductActions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.adminProductActions button{
  border:1px solid #eadfe1;
  background:#fff;
  border-radius:999px;
  padding:9px 13px;
  min-height:40px;
  cursor:pointer;
}
.adminProductActions .dangerBtn{
  background:#fff0f0;
  border-color:#e7bcbc;
  color:#9b2226;
  font-weight:800;
}
@media(max-width:768px){
  .adminProductRow{
    align-items:stretch;
    flex-direction:column;
  }
  .adminProductActions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .adminProductActions button{
    width:100% !important;
  }
}


/* ===== BODY FIT - ALINEACION VISUAL ===== */
.topbar{
  min-height:76px;
  height:auto;
}
.brand,
nav,
.headerActions{
  display:flex;
  align-items:center;
}
nav a,
.headerActions button,
.categories button,
.filters select,
.filters label,
.primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.sectionHead{
  align-items:center !important;
  gap:18px;
}
.sectionHead > div{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.sectionHead small,
.sectionHead h2{
  text-align:left;
}
.sectionHead h2{
  line-height:1;
}

/* buscador con lupa bien centrada */
#search{
  width:min(320px,100%);
  min-height:46px;
  padding:12px 46px 12px 16px !important;
  line-height:1.2;
  background:
    linear-gradient(transparent,transparent),
    radial-gradient(circle at center, transparent 44%, #756a6d 46%, #756a6d 56%, transparent 58%);
  background-size:auto,18px 18px;
  background-repeat:no-repeat;
  background-position:center,calc(100% - 18px) 50%;
  position:relative;
}

/* filtros */
.filters{
  align-items:center;
}
.filters select,
.filters label{
  min-height:44px;
}
.filters label{
  gap:7px;
  padding:0 10px;
}
.filters label input{
  width:auto !important;
  min-height:auto !important;
  margin:0;
}

/* tarjetas */
.card .body{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.card .body small,
.card .body h3,
.card .body p{
  margin:0;
  text-align:left;
}
.card .body h3{
  line-height:1.15;
}
.card .selects select{
  text-align:left;
}

/* paneles y formularios */
.panel h2,
.panel h3,
.panel p{
  text-align:left;
}
.panel form label{
  display:grid;
  gap:6px;
  text-align:left;
}
.panel input,
.panel textarea,
.panel select{
  text-align:left;
}
.summary div{
  align-items:center;
  gap:12px;
}
.summary b{
  text-align:right;
}

/* botones admin */
.adminProductActions button{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

/* tablas */
th,td{
  vertical-align:middle;
}

/* mobile */
@media(max-width:768px){
  .topbar{
    padding:10px 12px !important;
    min-height:64px;
  }
  .brand{
    line-height:1;
  }
  .headerActions{
    margin-left:auto;
    gap:6px;
  }
  .headerActions button{
    width:auto !important;
    min-width:auto !important;
    padding:9px 12px;
  }

  .sectionHead{
    display:grid !important;
    grid-template-columns:1fr !important;
    align-items:stretch !important;
    gap:12px;
  }
  .sectionHead small,
  .sectionHead h2{
    text-align:center;
  }
  .sectionHead h2{
    margin:4px 0 !important;
  }
  #search{
    width:100% !important;
    margin:0 auto;
  }

  .filters{
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:8px !important;
    width:100%;
  }
  .filters label{
    grid-column:1 / -1;
    justify-content:flex-start;
    width:100% !important;
  }

  .categories{
    align-items:center;
  }
  .categories button{
    flex:0 0 auto;
    min-height:40px;
  }

  .card .body{
    padding:12px !important;
  }
  .card .body small{
    font-size:11px;
  }
  .card .body h3{
    font-size:15px !important;
  }
  .card .body p{
    font-size:12px;
  }

  .selects{
    grid-template-columns:1fr !important;
  }

  .panel h2{
    padding-right:42px;
  }
  .close{
    width:44px !important;
    height:44px !important;
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:1;
  }
}

@media(max-width:390px){
  .filters{
    grid-template-columns:1fr;
  }
  .filters label{
    grid-column:auto;
  }
}


/* ===== BODY FIT - PULIDO ESTETICO FINAL ===== */
:root{
  --bf-text:#171214;
  --bf-muted:#756a6d;
  --bf-line:#eadfe1;
  --bf-soft:#fff4f2;
  --bf-rose:#c77d8d;
}

button{
  line-height:1.15;
}

.primary,
.headerActions button,
.categories button,
.tabs button,
.adminProductActions button,
.removeBtn{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.headerActions{
  align-items:center;
}

.headerActions button{
  padding:10px 14px;
}

.card .body{
  min-height:235px;
}

.card .body .productAddBtn{
  margin-top:auto;
}

.productMeta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:4px;
  padding-top:10px;
  border-top:1px solid var(--bf-line);
}

.productPrice{
  font-size:18px;
  font-weight:800;
  color:var(--bf-text);
  white-space:nowrap;
}

.stockPill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 9px;
  border-radius:999px;
  background:#f7edef;
  color:var(--bf-muted);
  font-size:12px;
  white-space:nowrap;
}

.stockPill b{
  color:var(--bf-text);
  font-size:13px;
}

.cartLine{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
}

.cartMeta{
  display:flex;
  flex-wrap:wrap;
  gap:7px 14px;
  margin-top:7px;
  color:var(--bf-muted);
  font-size:13px;
}

.cartMeta span{
  display:inline-flex;
  align-items:center;
  gap:5px;
}

.removeBtn{
  border:1px solid #e7bcbc;
  background:#fff5f5;
  color:#9b2226;
  border-radius:999px;
  padding:8px 12px;
  flex:0 0 auto;
}

.emptyText{
  text-align:center;
  color:var(--bf-muted);
  padding:16px 0;
}

.summary{
  display:grid;
  gap:2px;
}

.summary div{
  min-height:38px;
  padding:8px 2px;
  border-bottom:1px solid #f0e6e8;
}

.summary div:last-child{
  border-bottom:0;
  margin-top:4px;
  padding-top:12px;
  font-size:18px;
}

.summary b{
  min-width:95px;
  margin-left:auto;
}

.stats div{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-height:92px;
  justify-content:center;
}

.stats span{
  letter-spacing:.2px;
}

.stats b{
  font-size:22px;
  line-height:1.1;
}

.lowStockRow{
  display:grid;
  grid-template-columns:1.5fr 1fr auto;
  align-items:center;
  gap:16px;
}

.lowStockRow span:last-child{
  display:inline-flex;
  gap:6px;
  align-items:center;
  justify-content:flex-end;
}

.adminProductInfo{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.adminProductMeta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  color:var(--bf-muted);
  font-size:13px;
}

.adminProductMeta span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.filters select,
#search{
  border-color:var(--bf-line);
  box-shadow:0 1px 0 rgba(23,18,20,.02);
}

.filters select:focus,
#search:focus,
.panel input:focus,
.panel select:focus,
.panel textarea:focus{
  outline:none;
  border-color:var(--bf-rose);
  box-shadow:0 0 0 3px rgba(199,125,141,.12);
}

.categories button{
  white-space:nowrap;
}

.panel .primary{
  min-height:46px;
}

@media(max-width:768px){
  .card .body{
    min-height:220px;
  }

  .productMeta{
    align-items:flex-start;
    flex-direction:column;
    gap:7px;
  }

  .productPrice{
    font-size:16px;
  }

  .stockPill{
    padding:5px 8px;
  }

  .cartLine{
    align-items:stretch;
    flex-direction:column;
  }

  .removeBtn{
    width:100% !important;
  }

  .cartMeta{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px 10px;
  }

  .summary b{
    min-width:88px;
  }

  .stats{
    gap:8px !important;
  }

  .stats div{
    min-height:86px;
    padding:12px !important;
  }

  .stats b{
    font-size:19px;
  }

  .lowStockRow{
    grid-template-columns:1fr;
    gap:7px;
  }

  .lowStockRow span:last-child{
    justify-content:flex-start;
  }

  .adminProductMeta{
    gap:6px 14px;
  }

  .adminProductActions{
    align-items:stretch;
  }
}

@media(max-width:390px){
  .cartMeta{
    grid-template-columns:1fr;
  }
}


/* ===== AJUSTE LOGO + BOLSA ===== */
.brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  line-height:1;
  min-width:max-content;
}
.brandMain{
  font:700 24px Georgia, serif;
  letter-spacing:.2px;
  color:#171214;
}
.brandAccent{
  color:#c77d8d;
  margin-left:2px;
}
.brand small{
  font-size:10px;
  letter-spacing:1.8px;
  text-transform:uppercase;
  color:#9d5968;
  font-weight:700;
}

.headerActions{
  gap:12px;
  flex-wrap:wrap;
}
.actionBtn,
#adminOpen,
#cartOpen{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid #e8dde0;
  background:#f1eef0;
  color:#171214;
  font-weight:700;
  white-space:nowrap;
}
.cartBtn{
  min-width:106px;
}
.countBadge,
#cartCount{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  height:24px;
  padding:0 7px;
  border-radius:999px;
  background:#171214;
  color:#fff;
  font-size:13px;
  line-height:1;
}

.heroBadge{
  position:absolute;
  right:3%;
  bottom:10%;
  width:210px;
  height:210px;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  background:linear-gradient(155deg,#1b1518,#241c20);
  color:#fff;
  border:6px solid rgba(255,255,255,.32);
  box-shadow:0 18px 42px rgba(0,0,0,.18);
  text-align:center;
  padding:18px;
}
.heroBadgeTop{
  font:700 28px Georgia, serif;
  letter-spacing:1px;
  color:#f6dde3;
}
.heroBadgeMain{
  font:700 52px Georgia, serif;
  line-height:.95;
  color:#fff;
}
.heroBadge small{
  margin-top:2px;
  font-size:11px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:#dcb7c1;
}

@media (min-width: 769px){
  .topbar{
    height:auto;
    min-height:84px;
    padding-top:12px;
    padding-bottom:12px;
  }
}

@media(max-width:768px){
  .topbar{
    height:auto;
    min-height:86px;
    gap:12px;
    align-items:flex-start;
    padding-top:12px;
    padding-bottom:12px;
    flex-wrap:wrap;
  }
  .brandMain{
    font-size:23px;
  }
  .brand small{
    font-size:9px;
    letter-spacing:1.3px;
  }
  nav{
    gap:10px;
    row-gap:6px;
    flex:1 1 140px;
  }
  .headerActions{
    width:100%;
    justify-content:flex-end;
  }
  .actionBtn,#adminOpen,#cartOpen{
    padding:10px 15px;
    gap:8px;
  }
  .cartBtn{
    min-width:100px;
  }
  .heroBadge{
    width:170px;
    height:170px;
    right:4%;
    bottom:8%;
    padding:14px;
  }
  .heroBadgeTop{
    font-size:22px;
  }
  .heroBadgeMain{
    font-size:40px;
  }
  .heroBadge small{
    font-size:9px;
    letter-spacing:1.5px;
  }
}

@media(max-width:480px){
  .headerActions{
    justify-content:space-between;
    gap:10px;
  }
  .actionBtn,#adminOpen,#cartOpen{
    flex:0 0 auto;
  }
  .countBadge,#cartCount{
    min-width:22px;
    height:22px;
    font-size:12px;
  }
  .heroBadge{
    width:150px;
    height:150px;
  }
  .heroBadgeTop{
    font-size:19px;
  }
  .heroBadgeMain{
    font-size:34px;
  }
}


/* ===== ESTETICA SUAVE / FEMENINA ===== */
body{
  background:#fdf9f8;
  color:#241b1e;
}
.setup{
  background:#fff4f6;
  border-bottom:1px solid #f0dde2;
}
.topbar{
  background:rgba(253,249,248,.96);
  border-bottom:1px solid #efe0e4;
  box-shadow:0 8px 28px rgba(110,72,86,.05);
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
}
.brandIcon{
  width:48px;
  height:48px;
  border-radius:14px;
  background:linear-gradient(180deg,#fff,#fff5f7);
  border:1px solid #f0dde2;
  box-shadow:0 8px 20px rgba(110,72,86,.07);
  display:grid;
  place-items:center;
  padding:8px;
  flex:0 0 auto;
}
.brandIcon svg{width:100%;height:100%;display:block}
.brandText{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.brandMain{
  color:#2c2125;
  letter-spacing:.4px;
}
.brandAccent{color:#c98a99}
.brand small{color:#b07a87}
nav a{
  position:relative;
  color:#5f5055;
}
nav a:hover{color:#2b2024}
nav a::after{
  content:"";
  position:absolute;
  left:0;bottom:-6px;
  width:0;height:2px;
  background:#d7a1ae;
  border-radius:999px;
  transition:.2s;
}
nav a:hover::after{width:100%}
.actionBtn,#adminOpen,#cartOpen{
  background:#f6f1f3;
  border-color:#ebdee2;
  color:#312529;
  box-shadow:0 6px 16px rgba(98,63,74,.06);
}
.actionBtn:hover,#adminOpen:hover,#cartOpen:hover,
.primary:hover,.mini:hover,.danger:hover{
  transform:translateY(-1px);
}
.hero{
  background:linear-gradient(135deg,#fffaf9 0%,#f8edef 55%,#f6e7eb 100%);
}
.eyebrow,.sectionHead small{
  color:#b17886;
}
.hero h1,
.sectionHead h2,
.sizeGuide h2,
.promoHero h2,
.benefits b,
.body h3{
  color:#22181c;
}
.hero em{color:#bf7f8f}
.hero p{max-width:560px;color:#5e5055}
.primary{
  background:linear-gradient(180deg,#251b1f,#120c0f);
  padding:14px 22px;
  box-shadow:0 12px 26px rgba(37,27,31,.14);
}
.heroVisual{height:440px}
.oval{
  inset:18px 78px 18px 24px;
  border-radius:42% 42% 18% 18%;
  background:linear-gradient(155deg,#f3cdd7,#f7e3e8);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.heroBadge{
  background:linear-gradient(180deg,#fff8fa,#fff);
  border:1px solid #efd9df;
  box-shadow:0 18px 36px rgba(117,79,92,.12);
  color:#2b2024;
  gap:10px;
}
.heroIcon{
  width:96px;
  height:96px;
  display:grid;
  place-items:center;
}
.heroIcon svg{width:100%;height:100%;display:block}
.heroBadgeTop{
  font-size:28px;
  letter-spacing:.8px;
  color:#2a1f24;
}
.heroBadge small{
  color:#b27b88;
}
.benefits{
  grid-template-columns:repeat(3,1fr);
  background:transparent;
  padding:26px 6vw 10px;
}
.benefits > div{
  background:#fff;
  border:1px solid #eee0e4;
  border-radius:22px;
  padding:20px 22px;
  box-shadow:0 14px 30px rgba(104,72,83,.06);
}
.benefits span{color:#8c7b80}
.shop{padding-top:56px}
.sectionHead input,
.filters select,
.panel input,.panel textarea,.panel select{
  border:1px solid #ebdee2;
  background:#fff;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.02);
}
.categories button,
.filters label{
  background:#fff;
  border:1px solid #ebdee2;
  border-radius:999px;
}
.categories .active{
  background:#23191d;
}
.card{
  border:1px solid #efe2e6;
  border-radius:24px;
  box-shadow:0 16px 32px rgba(106,75,85,.06);
}
.img{
  background:linear-gradient(180deg,#fbf3f5,#f6e5ea);
}
.storePlaceholder{
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:18px;
}
.storeIconWrap{
  width:96px;
  height:96px;
  display:grid;
  place-items:center;
}
.storeIconWrap svg{width:100%;height:100%;display:block}
.storePlaceholder span{
  font:700 15px/1.2 Georgia, serif;
  color:#a06b79;
  text-align:center;
}
.body p{color:#7b6d72}
.selects select{
  background:#fffdfd;
}
.sizeGuide{
  background:linear-gradient(180deg,#fff 0,#fffafa 100%);
}
.tableWrap table{
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 14px 28px rgba(106,75,85,.05);
}
.panel{
  background:#fffaf9;
  box-shadow:-18px 0 36px rgba(80,52,61,.12);
}
footer{
  background:#fff5f7;
  border-top:1px solid #efdee2;
}
footer div{color:#251b1f}
footer span{color:#c98a99}

@media(max-width:768px){
  .brandIcon{
    width:42px;height:42px;padding:7px;border-radius:12px;
  }
  .brandMain{font-size:22px}
  .hero{
    background:linear-gradient(180deg,#fffafa 0%,#f8edef 100%);
  }
  .heroBadge{
    width:172px;
    height:172px;
  }
  .heroIcon{width:82px;height:82px}
  .heroBadgeTop{font-size:22px}
  .benefits{
    grid-template-columns:1fr;
    gap:12px;
  }
  .benefits > div{padding:18px 18px}
}

@media(max-width:480px){
  .brand{gap:10px}
  .brandIcon{width:38px;height:38px;padding:6px}
  .brandMain{font-size:20px}
  .brand small{font-size:8.5px}
  .heroBadge{
    width:156px;height:156px;
    right:3%;
    bottom:7%;
  }
  .heroIcon{width:74px;height:74px}
  .heroBadgeTop{font-size:19px}
  .storeIconWrap{width:84px;height:84px}
  .storePlaceholder span{font-size:14px}
}


/* ===== ENVIO POR CODIGO POSTAL + FOOTER ===== */
.shippingCalculator{
  display:grid;
  gap:9px;
  padding:12px;
  border:1px solid #eadde1;
  border-radius:14px;
  background:#fff;
}
.postalRow{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
}
.secondaryBtn{
  border:1px solid #ddcbd0;
  background:#fff5f7;
  color:#5c4149;
  border-radius:999px;
  padding:10px 14px;
  font-weight:700;
}
.shippingQuote{
  font-size:13px;
  color:#79686e;
  padding:4px 2px;
}
.shippingQuote strong{
  color:#241b1e;
}
.twoCols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.shippingZoneRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.adminSectionIntro{
  margin-bottom:12px;
}
.adminSectionIntro h3{
  margin-bottom:4px;
}
.adminSectionIntro p{
  margin-top:0;
  color:#7a6b70;
}

.siteFooter{
  background:#fff6f8;
  color:#4c3b41;
  border-top:1px solid #ecdde1;
  padding:42px 6vw 34px;
  text-align:left;
}
.footerBrand{
  margin-bottom:28px;
}
.footerBrand strong{
  font:700 32px Georgia,serif;
  color:#2a1e23;
}
.footerBrand strong span{
  color:#c98a99;
}
.footerBrand p{
  margin:6px 0 0;
  color:#8d7980;
}
.footerGrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:26px;
}
.footerGrid h4{
  margin:0 0 12px;
  font:700 16px Georgia,serif;
  color:#2e2226;
}
.footerGrid p,
.footerGrid a{
  display:block;
  margin:7px 0;
  color:#75656b;
  font-size:14px;
}
.footerGrid a:hover{
  color:#b36f80;
}

@media(max-width:768px){
  .postalRow{
    grid-template-columns:1fr;
  }
  .twoCols{
    grid-template-columns:1fr;
  }
  .shippingZoneRow{
    align-items:stretch;
    flex-direction:column;
  }
  .footerGrid{
    grid-template-columns:1fr 1fr;
    gap:24px 18px;
  }
}

@media(max-width:430px){
  .footerGrid{
    grid-template-columns:1fr;
  }
}
