:root{--ivory:#FFF9F4;--paper:#FFFCF9;--rose:#E8BFC5;--rose2:#D99FA8;--lav:#CFC7E8;--sage:#B8C8B5;--beige:#E8D8C8;--ink:#3D3635;--muted:#7D7470;--white:#fff;--line:rgba(61,54,53,.09);--shadow:0 18px 55px rgba(61,54,53,.09);--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}.container{width:min(1180px,92%);margin:auto}.topbar{padding:9px;text-align:center;font-size:11px;letter-spacing:.05em;color:var(--muted);background:#fffdfb;border-bottom:1px solid var(--line)}nav{position:sticky;top:0;z-index:30;background:rgba(255,249,244,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav-inner{height:96px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-weight:850;letter-spacing:.12em;font-size:16px}.brand-logo{width:68px;height:68px;border-radius:50%;overflow:hidden;display:grid;place-items:center;color:var(--rose2);flex:none}.brand-logo img{width:100%;height:100%;object-fit:cover}.brand-logo span{font-size:25px}.brand-logo.small{width:60px;height:60px}.nav-links{display:flex;gap:28px;font-size:13px;color:#625a56}.nav-links a{position:relative}.nav-links a:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:var(--rose2);transition:.25s}.nav-links a:hover:after{width:100%}.nav-actions{display:flex;gap:9px}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:50%;width:42px;height:42px;transition:.2s}.icon-btn:hover{transform:translateY(-2px)}
.hero{padding:52px 0 55px}.hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:center}.kicker{display:inline-flex;gap:8px;align-items:center;color:#766b68;font-size:12px;letter-spacing:.15em;text-transform:uppercase}.dot{width:7px;height:7px;border-radius:50%;background:var(--rose2)}h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(48px,6vw,80px);line-height:.96;letter-spacing:-.045em;margin:18px 0}.hero p{font-size:17px;line-height:1.7;color:var(--muted);max-width:500px}.cta-row{display:flex;gap:11px;flex-wrap:wrap;margin-top:25px}.btn{border:0;border-radius:999px;padding:13px 20px;font-weight:750;transition:.22s}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(61,54,53,.16)}.btn-soft{background:#fff;border:1px solid var(--line)}.hero-gallery{position:relative;height:540px;border-radius:40px;overflow:hidden;box-shadow:var(--shadow);background:linear-gradient(135deg,#f0d5d8,#e8dff1,#e0eadf)}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;background-size:cover;background-position:center;display:flex;align-items:end;padding:32px}.hero-slide.active{opacity:1}.hero-caption{width:min(100%,480px);background:rgba(255,252,249,.88);backdrop-filter:blur(10px);border-radius:22px;padding:20px;transform:translateY(12px);transition:.8s}.hero-slide.active .hero-caption{transform:translateY(0)}.hero-caption h3{font-family:Georgia,serif;font-size:27px;font-weight:500;margin:0 0 6px}.hero-caption p{font-size:13px;margin:0;color:var(--muted)}.dots{position:absolute;right:25px;top:25px;display:flex;gap:6px}.dots button{border:0;width:7px;height:7px;padding:0;border-radius:50%;background:#fff8;transition:.2s}.dots button.active{background:#fff;width:20px;border-radius:8px}
.section{padding:78px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:27px}.eyebrow{font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:var(--rose2);font-weight:850}h2{font-family:Georgia,serif;font-size:41px;font-weight:500;margin:8px 0}.section-head p{color:var(--muted);max-width:470px;line-height:1.6}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.category{background:#fff;border:1px solid var(--line);border-radius:22px;padding:12px 12px 16px;cursor:pointer;text-align:center;transition:.23s;position:relative;overflow:hidden}.category:before{content:"";position:absolute;inset:auto -30% -70% -30%;height:100%;background:radial-gradient(circle,var(--rose) 0,transparent 67%);opacity:.16;transition:.3s}.category:hover,.category.active{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--rose)}.category:hover:before{transform:translateY(-20px)}.category .cat-icon{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;margin:0 auto 12px;border-radius:15px;position:relative}.category .cat-fallback{width:100%;aspect-ratio:4/3;display:grid;place-items:center;font-size:38px;margin:0 auto 12px;border-radius:15px;background:linear-gradient(135deg,#f6e3e6,#eee8f6);position:relative}.category strong{display:block;font-size:14px;position:relative}.category small{display:block;color:var(--muted);font-size:11px;margin-top:5px;position:relative}.subbar{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;font-size:12px;color:#6d6460}.chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}.catalog{background:#fff;border-radius:34px;padding:28px;box-shadow:var(--shadow)}.toolbar{display:flex;gap:11px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.search{flex:1;min-width:230px}.search input{width:100%;padding:13px 15px;border:1px solid var(--line);background:#fffaf7;border-radius:13px;outline:none}.select{padding:12px;border:1px solid var(--line);border-radius:13px;background:#fffaf7;color:var(--ink)}.products{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.product{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;transition:.25s;cursor:pointer}.product:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.product-img{aspect-ratio:1/1;background:#f2e5e4;display:grid;place-items:center;overflow:hidden;position:relative}.product-img img{width:100%;height:100%;object-fit:cover;transition:.5s}.product:hover .product-img img{transform:scale(1.035)}.image-empty{width:100%;height:100%;display:grid;place-items:center;color:#a79791;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.badge{position:absolute;top:11px;left:11px;background:#fff;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:850;letter-spacing:.07em;z-index:2}.product-body{padding:16px}.product-cat{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--rose2);font-weight:850}.product h3{font-size:15px;margin:7px 0 6px}.product p{font-size:12px;color:var(--muted);line-height:1.5;margin:0 0 13px}.price-row{display:flex;align-items:center;justify-content:space-between}.price{font-weight:850}.mini{border:0;background:var(--ink);color:#fff;border-radius:999px;padding:8px 11px;font-size:11px}.stock-pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:6px 9px;font-size:10px;margin-top:8px}.stock-ok{background:#e5efe3;color:#50654c}.stock-made{background:#eee9f8;color:#665a85}.stock-out{background:#f2e2e2;color:#8a5a5a}
.custom{padding:72px 0}.custom-card{background:linear-gradient(135deg,#f0d9dc,#eee8f6 52%,#e2ecdf);border-radius:36px;padding:50px;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}.custom h2{font-size:47px}.custom p{color:#665e5a;line-height:1.7;max-width:570px}.steps{display:grid;gap:11px}.step{background:#ffffffb8;padding:16px;border-radius:18px;display:flex;gap:12px;align-items:center}.step-num{width:31px;height:31px;border-radius:50%;background:#fff;display:grid;place-items:center;font-weight:800;flex:none}
.about-section{padding-top:20px}.about-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}.about-copy{background:#fff;border:1px solid var(--line);border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.about-rotator{min-height:350px;position:relative}.about-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;background-size:cover;background-position:center;padding:28px;display:flex;align-items:end}.about-slide.active{opacity:1}.about-slide-content{background:#ffffffdf;backdrop-filter:blur(9px);padding:19px;border-radius:20px;max-width:500px}.about-slide-content h3{font-family:Georgia,serif;font-size:28px;font-weight:500;margin:0 0 7px}.about-slide-content p{font-size:13px;color:var(--muted);line-height:1.6;margin:0}.social-card{background:#fff;border:1px solid var(--line);border-radius:30px;padding:29px;box-shadow:var(--shadow)}.social-card h3{font-family:Georgia,serif;font-weight:500;font-size:29px;margin:8px 0 20px}.social-links{display:grid;gap:10px}.social-link{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fffaf7;transition:.2s}.social-link:hover{transform:translateX(3px);border-color:var(--rose)}.social-icon{width:30px;height:30px;border-radius:9px;background:#f1e3e2;display:grid;place-items:center;font-size:14px}.social-link small{display:block;color:var(--muted);margin-top:2px}
footer{padding:45px 0 28px;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}.footer-title{font-weight:800;margin-bottom:10px}footer p,footer a{font-size:12px;color:var(--muted);line-height:1.8}
.modal{position:fixed;inset:0;background:rgba(42,36,34,.45);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;padding:18px;z-index:80}.modal.open{display:flex}.modal-card{width:min(930px,100%);max-height:92vh;overflow:auto;background:#fffaf7;border-radius:30px;box-shadow:0 35px 100px #0002;animation:pop .28s ease}.modal-close{position:absolute;right:16px;top:16px;border:0;background:#fff;width:39px;height:39px;border-radius:50%;box-shadow:0 5px 20px #0001;z-index:5}@keyframes pop{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}.product-modal{display:grid;grid-template-columns:1.05fr .95fr;min-height:570px}.pm-gallery{padding:25px;background:#f4ebe6;position:relative}.pm-main{height:430px;border-radius:22px;overflow:hidden;background:#f2e5e4;display:grid;place-items:center}.pm-main img{width:100%;height:100%;object-fit:cover}.pm-empty{color:#a79791;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.pm-thumbs{display:flex;gap:9px;margin-top:11px;overflow:auto}.pm-thumb{width:68px;height:68px;border-radius:12px;overflow:hidden;border:2px solid transparent;background:#fff;flex:none;display:grid;place-items:center}.pm-thumb.active{border-color:var(--rose2)}.pm-thumb img{width:100%;height:100%;object-fit:cover}.pm-info{padding:42px 34px;position:relative}.pm-info .cat{font-size:10px;text-transform:uppercase;color:var(--rose2);font-weight:850;letter-spacing:.12em}.pm-info h2{font-size:39px}.pm-info .desc{color:var(--muted);line-height:1.7}.pm-price{font-size:25px;font-weight:850;margin:20px 0}.detail-list{display:grid;gap:8px;margin:20px 0}.detail-list div{font-size:12px;color:#665e5a}.detail-list b{color:var(--ink)}.proposal-card{padding:30px}.proposal-head{display:flex;justify-content:space-between}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:18px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:800}.field input,.field textarea,.field select{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px;outline:none}.field textarea{min-height:110px;resize:vertical}.order-summary{border:1px solid var(--line);background:#fff;border-radius:15px;padding:14px;margin-top:14px}.payment-preview{margin-top:14px}.payment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.payment-card{border:1px solid var(--line);border-radius:15px;padding:13px;background:#fff}.payment-card img{width:100%;max-height:180px;object-fit:contain;border-radius:10px;background:#faf5f2}.payment-card strong{font-size:12px}.payment-card p{font-size:11px;color:var(--muted);line-height:1.5}.toast{position:fixed;right:20px;bottom:20px;background:var(--ink);color:#fff;padding:13px 17px;border-radius:13px;z-index:120;display:none}
@media(max-width:950px){.hero-grid,.product-modal,.custom-card,.about-layout{grid-template-columns:1fr}.hero-gallery{height:470px}.category-grid{grid-template-columns:repeat(3,1fr)}.products{grid-template-columns:repeat(2,1fr)}.nav-links{display:none}.pm-main{height:350px}}@media(max-width:560px){h2{font-size:34px}.hero{padding-top:35px}.hero-gallery{height:390px}.category-grid{grid-template-columns:repeat(2,1fr)}.products{grid-template-columns:1fr}.catalog{padding:17px}.custom-card{padding:29px}.custom h2{font-size:36px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.pm-info{padding:30px 22px}.pm-gallery{padding:15px}.pm-main{height:310px}.payment-grid{grid-template-columns:1fr}}
/* ===== CREADOR Y PERSONALIZADOR ===== */
.customizer-card{width:min(1120px,100%);padding:30px;max-height:94vh}.customizer-head{display:flex;justify-content:space-between;gap:25px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:18px}.customizer-head h2{font-size:38px;margin:7px 0}.custom-category-picker{min-width:220px}.custom-category-picker label{font-size:10px;font-weight:800;display:block;margin-bottom:6px}.custom-category-picker select{width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.custom-groups{display:grid;gap:18px;padding:20px 0}.custom-group{border:1px solid var(--line);border-radius:22px;background:#fff;padding:18px}.custom-group-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:13px}.custom-group-head h3{font-size:19px;margin:4px 0 0}.custom-group-head>span{font-size:10px;color:var(--muted);background:#faf3ef;padding:7px 10px;border-radius:999px}.custom-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:10px}.custom-option{border:1px solid var(--line);background:#fffaf7;border-radius:17px;padding:10px;text-align:left;cursor:pointer;transition:.2s;display:flex;flex-direction:column;gap:7px;min-height:110px}.custom-option:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.custom-option.selected{border-color:var(--rose2);box-shadow:0 0 0 2px #e4b4bb55;background:#fff}.custom-option img,.custom-swatch{width:100%;height:75px;border-radius:12px;object-fit:cover;display:block}.custom-swatch{border:1px solid #0001}.custom-option-icon{height:75px;border-radius:12px;background:#f2e5e4;display:grid;place-items:center;font-size:25px;color:var(--rose2)}.custom-option span:not(.custom-swatch):not(.custom-option-icon){font-weight:750;font-size:12px}.custom-option small{font-size:10px;color:var(--muted)}.custom-summary{border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;gap:20px;align-items:center}.custom-summary #customSummary{display:grid;gap:5px;font-size:12px;margin:8px 0}.custom-summary small{color:var(--muted)}
.customizer-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.customizer-admin-card{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff}.customizer-admin-card h3{margin:4px 0}.customizer-admin-card .group-list{display:grid;gap:8px;margin:13px 0}.customizer-admin-card .group-row{border:1px solid #eee7e2;border-radius:12px;padding:10px;display:flex;justify-content:space-between;gap:8px;align-items:center}.customizer-admin-card .option-mini{font-size:10px;color:var(--muted);margin-top:4px}.option-manager{display:grid;gap:12px}.option-manager .option-row{border:1px solid var(--line);padding:12px;border-radius:14px;background:#fff}.option-manager .option-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px}.admin-inline-actions{display:flex;gap:7px;flex-wrap:wrap}.admin-inline-actions .action{cursor:pointer}
@media(max-width:750px){.customizer-head,.custom-summary{flex-direction:column;align-items:stretch}.custom-category-picker{min-width:0}.customizer-admin-grid{grid-template-columns:1fr}.custom-options{grid-template-columns:repeat(2,1fr)}.customizer-card{padding:20px}.custom-summary .btn{width:100%}}

/* Armario visual del personalizador */
.custom-preview-wrap{margin:20px 0;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,#fff,#fff8f6);padding:18px}
.custom-preview-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.custom-preview-title h3{font-family:Georgia,serif;font-weight:500;font-size:25px;margin:5px 0}
.custom-preview-title small{color:var(--muted);font-size:11px}
.custom-preview{min-height:150px;border-radius:18px;background:radial-gradient(ellipse at center,#f7e8eb 0%,#fffaf7 65%);padding:15px;display:grid;place-items:center}
.custom-preview-items{display:flex;align-items:stretch;justify-content:center;flex-wrap:wrap;gap:12px;width:100%}
.custom-preview-item{width:125px;min-height:135px;background:#ffffffd9;border:1px solid #eadedb;border-radius:16px;padding:9px;display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center}
.custom-preview-item img,.custom-preview-color,.custom-preview-symbol{width:100%;height:78px;border-radius:11px;object-fit:cover;display:grid;place-items:center}
.custom-preview-color{border:1px solid #0001}
.custom-preview-symbol{background:#f2e5e4;color:var(--rose2);font-size:30px}
.custom-preview-item b{font-size:11px}.custom-preview-item small{font-size:9px;color:var(--muted)}
.custom-preview-empty{font-size:12px;text-align:center;color:var(--muted);max-width:360px;line-height:1.6;padding:25px}
.custom-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:18px 0}
.preview-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.preview-row img{max-width:130px;max-height:90px;object-fit:cover;border-radius:10px}
@media(max-width:560px){.custom-contact-grid{grid-template-columns:1fr}.custom-preview-title{align-items:flex-start;flex-direction:column}.custom-preview-item{width:calc(50% - 8px)}}


/* =========================================================
   GESTOR Y GALERÍA DE IMÁGENES — TE TRAJE (NUEVO MÓDULO)
========================================================= */
.upload-dropzone {
  border: 2px dashed #e5b9c0;
  background: #fff8f9;
  border-radius: 20px;
  padding: 28px 20px;
  text-align: center;
  cursor: pointer;
  transition: all 0.25s ease;
}
.upload-dropzone:hover {
  background: #fdf0f2;
  border-color: var(--rose2);
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(217, 159, 168, 0.18);
}
.upload-dropzone strong {
  display: block;
  font-size: 15px;
  color: var(--ink);
  margin-bottom: 5px;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
  margin-top: 15px;
}
.gallery-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0,0,0,0.03);
  transition: all 0.25s ease;
  display: flex;
  flex-direction: column;
}
.gallery-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
  border-color: var(--rose);
}
.gallery-thumb-wrap {
  position: relative;
  aspect-ratio: 1/1;
  background: #f7ebea;
  overflow: hidden;
}
.gallery-thumb-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.gallery-card:hover .gallery-thumb-wrap img {
  transform: scale(1.05);
}
.gallery-badge {
  position: absolute;
  top: 9px;
  left: 9px;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(4px);
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--rose2);
}
.gallery-info {
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  justify-content: space-between;
}
.gallery-name {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--ink);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.gallery-actions {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}
.gallery-btn {
  border: 1px solid var(--line);
  background: #fffaf7;
  border-radius: 8px;
  padding: 6px 9px;
  font-size: 10px;
  font-weight: 600;
  cursor: pointer;
  transition: 0.2s;
  color: var(--ink);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.gallery-btn:hover {
  background: var(--ink);
  color: #fff;
  border-color: var(--ink);
}
.gallery-btn.primary {
  background: #fcedf0;
  border-color: #f3cfd5;
  color: #9c4550;
}
.gallery-btn.primary:hover {
  background: #9c4550;
  color: #fff;
}
.gallery-btn.danger {
  color: #a34848;
}
.gallery-btn.danger:hover {
  background: #a34848;
  color: #fff;
}

/* Modal Selector de Galería (Picker para Formularios) */
.image-picker-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: 10px;
  max-height: 52vh;
  overflow-y: auto;
  padding: 8px 2px;
}
.image-picker-item {
  border: 2px solid transparent;
  border-radius: 14px;
  overflow: hidden;
  aspect-ratio: 1/1;
  cursor: pointer;
  position: relative;
  background: #f7ede9;
  transition: 0.2s;
}
.image-picker-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.image-picker-item:hover {
  transform: scale(1.03);
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
  border-color: var(--rose2);
}
.image-picker-item.selected {
  border-color: var(--ink);
  box-shadow: 0 0 0 2px var(--rose2);
}
.image-picker-item .check {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 22px;
  height: 22px;
  background: var(--ink);
  color: #fff;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 11px;
  opacity: 0;
  transition: 0.2s;
}
.image-picker-item.selected .check {
  opacity: 1;
}

/* Fila interactiva de gestión de fotos en el editor de productos */
.editor-images-container {
  display: grid;
  gap: 10px;
  margin-top: 8px;
}
.editor-images-row {
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
  align-items: center;
}
.editor-thumb-box {
  position: relative;
  width: 76px;
  height: 76px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #fff;
}
.editor-thumb-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.editor-thumb-remove {
  position: absolute;
  top: 3px;
  right: 3px;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: rgba(0,0,0,0.68);
  color: #fff;
  border: 0;
  font-size: 11px;
  display: grid;
  place-items: center;
  cursor: pointer;
}
.editor-thumb-remove:hover {
  background: #c23b3b;
}
.editor-thumb-star {
  position: absolute;
  bottom: 3px;
  left: 3px;
  background: rgba(255,255,255,0.9);
  border-radius: 4px;
  padding: 1px 4px;
  font-size: 8px;
  font-weight: 800;
  color: var(--ink);
}

/* Pie de página */
.footer-bottom {
  margin-top: 36px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
  font-size: 12px;
  color: var(--muted);
}

/* =========================================================
   PANEL ADMIN — MEJORAS Y COMPONENTES AVANZADOS
========================================================= */
.btn-whatsapp {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #25D366;
  color: #ffffff !important;
  font-weight: 700;
  font-size: 11px;
  padding: 6px 12px;
  border-radius: 999px;
  text-decoration: none !important;
  border: none;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(37, 211, 102, 0.28);
  transition: all 0.2s ease;
}
.btn-whatsapp:hover {
  background: #1eb956;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(37, 211, 102, 0.4);
}
.quick-actions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin: 18px 0;
}
.quick-action-card {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0,0,0,0.03);
}
.quick-action-card:hover {
  transform: translateY(-2px);
  border-color: var(--rose2);
  box-shadow: 0 6px 18px rgba(217, 159, 168, 0.2);
}
.quick-action-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-size: 20px;
  background: #fff4f6;
  color: #9c4550;
  flex-shrink: 0;
}
.quick-action-text strong {
  display: block;
  font-size: 13px;
  color: var(--ink);
  line-height: 1.2;
}
.quick-action-text small {
  color: var(--muted);
  font-size: 11px;
}
.dashboard-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 20px;
}
@media (max-width: 900px) {
  .dashboard-two-col {
    grid-template-columns: 1fr;
  }
}
.table-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}
.table-search-box {
  display: flex;
  gap: 8px;
  align-items: center;
  flex: 1;
  min-width: 260px;
}
.featured-star-btn {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 18px;
  padding: 4px;
  line-height: 1;
  color: #d1d5db;
  transition: all 0.2s;
}
.featured-star-btn.active {
  color: #f59e0b;
  transform: scale(1.15);
}
.status-pill {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.status-pending { background: #fffbeb; color: #b45309; border: 1px solid #fde68a; }
.status-contacted { background: #ecfeff; color: #0e7490; border: 1px solid #a5f3fc; }
.status-confirmed { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; }
.status-preparing { background: #f5f3ff; color: #6d28d9; border: 1px solid #ddd6fe; }
.status-ready { background: #eef2ff; color: #4338ca; border: 1px solid #c7d2fe; }
.status-delivered { background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; }
.status-cancelled { background: #fff1f2; color: #be123c; border: 1px solid #fecdd3; }

.stat.clickable {
  cursor: pointer;
  transition: all 0.2s ease;
}
.stat.clickable:hover {
  transform: translateY(-2px);
  border-color: var(--rose2);
  box-shadow: 0 4px 14px rgba(217, 159, 168, 0.2);
}

/* Nuevos estilos interactivos avanzados */
.btn-reorder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 7px;
  border: 1px solid var(--line);
  background: #fff;
  cursor: pointer;
  font-size: 11px;
  color: var(--text);
  transition: all 0.15s ease;
}
.btn-reorder:hover:not(:disabled) {
  background: var(--rose-bg);
  border-color: var(--rose2);
  color: var(--rose2);
}
.btn-reorder:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.dedication-card-box {
  background: linear-gradient(135deg, #fffbfb 0%, #fff6f7 100%);
  border: 1px dashed #f2b5be;
  border-radius: 16px;
  padding: 18px;
  margin-top: 10px;
  position: relative;
  box-shadow: 0 4px 15px rgba(220, 160, 170, 0.08);
}
.dedication-card-preview {
  background: #fff;
  border: 1px solid #f7dee2;
  border-radius: 12px;
  padding: 14px 18px;
  font-style: italic;
  font-family: Georgia, serif;
  color: #4a282d;
  box-shadow: inset 0 1px 3px rgba(0,0,0,0.02);
  margin-top: 10px;
  min-height: 70px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.dedication-card-preview .card-to {
  font-weight: bold;
  font-style: normal;
  font-size: 13px;
  color: var(--rose2);
}
.dedication-card-preview .card-body {
  font-size: 14px;
  line-height: 1.5;
  margin: 6px 0;
  word-break: break-word;
}
.dedication-card-preview .card-from {
  font-size: 12px;
  text-align: right;
  font-style: normal;
  color: var(--muted);
}

.stock-select-inline {
  border-radius: 10px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 700;
  border: 1px solid var(--line);
  cursor: pointer;
  transition: all 0.15s;
}
.stock-select-inline:hover {
  border-color: var(--rose2);
}

.whatsapp-notify-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 10px;
  border-radius: 8px;
  background: #25D366;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: all 0.2s;
}
.whatsapp-notify-btn:hover {
  background: #1eb857;
  transform: scale(1.03);
}


/* Nota de pago en el formulario de pedido */
.payment-note{border:1px dashed var(--rose2);background:#fff8f9;border-radius:15px;padding:13px 15px}
.payment-note strong{font-size:12px;color:var(--rose2)}
.payment-note p{margin:5px 0 0;font-size:12px;color:var(--muted);line-height:1.6}
