
:root{
  --bg:#f7f5f2;
  --surface:#ffffff;
  --text:#171717;
  --muted:#757575;
  --line:#e9e4de;
  --accent:#171717;
  --soft:#eee8e1;
  --radius:22px;
  --shadow:0 16px 40px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--bg);
  color:var(--text);
}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.topbar{
  position:sticky; top:0; z-index:40;
  min-height:74px;
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:10px 18px;
  background:rgba(247,245,242,.94);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(0,0,0,.05);
}
.icon-btn{
  border:0;background:transparent;font-size:22px;padding:10px;border-radius:14px
}
.icon-btn:hover{background:var(--soft)}
.brand-wrap{display:flex;align-items:center;gap:10px;min-width:0}
.logo{
  width:44px;height:44px;border-radius:50%;object-fit:cover;background:#111;display:none
}
.store-name{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}
.store-tagline{font-size:12px;color:var(--muted)}
.cart-btn{font-size:18px}
#cartCount{
  display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;
  background:#111;color:#fff;border-radius:999px;font-size:12px
}
.view{display:none}
.view.active{display:block}
.hero{
  margin:18px auto 0; width:min(1120px,calc(100% - 28px));
  min-height:390px;border-radius:30px;padding:44px;
  display:grid;grid-template-columns:1.4fr .6fr;align-items:center;
  background:linear-gradient(135deg,#191919,#34302d);
  color:#fff;overflow:hidden;box-shadow:var(--shadow)
}
.hero h1{font-size:clamp(34px,6vw,68px);line-height:.98;letter-spacing:-.045em;margin:10px 0 16px;max-width:760px}
.hero p{max-width:600px;color:#ddd;font-size:17px;line-height:1.6}
.hero-art{font-size:150px;text-align:center;filter:drop-shadow(0 20px 30px rgba(255,255,255,.16))}
.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:#9c9288}
.hero .eyebrow{color:#d8d0c7}
.primary-btn,.secondary-btn,.ghost-btn{
  border:0;border-radius:14px;padding:14px 18px;font-weight:800
}
.primary-btn{background:#111;color:#fff}
.primary-btn:hover{transform:translateY(-1px)}
.secondary-btn{background:var(--soft);color:#111}
.ghost-btn{background:transparent;border:1px solid var(--line)}
.full{width:100%}
.section{width:min(1120px,calc(100% - 28px));margin:38px auto}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:18px}
.section h2,.section h3{margin:6px 0 0}
.text-btn{border:0;background:transparent;font-weight:800;text-decoration:underline}
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.category-card{
  min-height:140px;padding:20px;border:1px solid var(--line);border-radius:22px;background:var(--surface);
  display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 8px 28px rgba(0,0,0,.04)
}
.category-card .emoji{font-size:36px}
.category-card strong{font-size:18px}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.product-card{
  background:var(--surface);border-radius:22px;overflow:hidden;border:1px solid var(--line);
  box-shadow:0 8px 26px rgba(0,0,0,.045)
}
.product-image{
  width:100%;aspect-ratio:1/1;object-fit:cover;background:#eee;display:block
}
.product-body{padding:15px}
.product-category{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.11em}
.product-name{font-weight:800;margin:5px 0 7px}
.product-price{font-size:18px;font-weight:900}
.product-actions{display:flex;gap:8px;margin-top:12px}
.small-btn{flex:1;border:1px solid var(--line);background:#fff;padding:10px;border-radius:12px;font-weight:700}
.add-btn{background:#111;color:#fff;border-color:#111}
.catalog-section{padding-top:8px}
.filters{display:grid;grid-template-columns:1fr 220px;gap:10px;margin-bottom:20px}
input,select,textarea{
  width:100%;border:1px solid var(--line);background:#fff;border-radius:13px;padding:13px 14px;outline:none
}
input:focus,select:focus,textarea:focus{border-color:#111}
.card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 8px 30px rgba(0,0,0,.04)}
.admin-login{max-width:430px;margin:46px auto}
.admin-login input{margin:16px 0 10px}
.muted{color:var(--muted)}
.hidden{display:none!important}
.admin-title-row{display:flex;justify-content:space-between;align-items:center}
.admin-tabs{display:flex;gap:8px;margin:18px 0;overflow:auto}
.admin-tab{border:1px solid var(--line);background:#fff;padding:10px 16px;border-radius:999px;font-weight:800}
.admin-tab.active{background:#111;color:#fff;border-color:#111}
.admin-tab-panel{display:none}
.admin-tab-panel.active{display:block}
.form-card{max-width:760px}
.form-card label{display:block;font-size:13px;font-weight:700;margin:15px 0 6px}
.form-card label input,.form-card label select,.form-card label textarea{margin-top:6px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.inline-check{display:flex!important;align-items:center;gap:10px}
.inline-check input{width:auto!important}
.logo-preview-box{margin:10px 0 16px}
.logo-preview-box img{width:90px;height:90px;border-radius:50%;object-fit:cover;background:#eee;display:none}
.admin-product-list{display:grid;gap:10px}
.admin-item{
  background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;
  display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center
}
.admin-item img{width:64px;height:64px;border-radius:14px;object-fit:cover;background:#eee}
.admin-item-actions{display:flex;gap:8px}
.danger-btn{border:0;background:#fff0f0;color:#a40000;padding:9px 12px;border-radius:11px;font-weight:800}
.empty-state{text-align:center;padding:50px 20px}
.empty-icon{font-size:46px}
.side-menu{
  position:fixed;left:-310px;top:0;bottom:0;width:min(300px,84vw);background:#fff;z-index:80;
  transition:.25s;padding:18px;box-shadow:20px 0 50px rgba(0,0,0,.14)
}
.side-menu.open{left:0}
.side-menu-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.side-menu>button{
  width:100%;text-align:left;border:0;background:transparent;padding:14px;border-radius:12px;font-weight:800
}
.side-menu>button:hover{background:var(--soft)}
.overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:70;opacity:0;pointer-events:none;transition:.2s
}
.overlay.show{opacity:1;pointer-events:auto}
.cart-drawer{
  position:fixed;right:-430px;top:0;bottom:0;width:min(420px,100vw);z-index:90;background:#fff;
  box-shadow:-20px 0 60px rgba(0,0,0,.14);transition:.28s;display:flex;flex-direction:column
}
.cart-drawer.open{right:0}
.cart-head{padding:18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}
.cart-head h2{margin:2px 0}
.cart-items{padding:14px;overflow:auto;flex:1}
.cart-item{display:grid;grid-template-columns:62px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.cart-item img{width:62px;height:62px;border-radius:12px;object-fit:cover;background:#eee}
.qty-controls{display:flex;align-items:center;gap:7px;margin-top:6px}
.qty-controls button{border:1px solid var(--line);background:#fff;width:28px;height:28px;border-radius:9px}
.cart-footer{padding:16px;border-top:1px solid var(--line);display:grid;gap:9px}
.cart-total-row{display:flex;justify-content:space-between;font-size:20px;margin-bottom:5px}
.modal{
  position:fixed;inset:0;background:rgba(0,0,0,.48);z-index:100;display:none;place-items:center;padding:16px
}
.modal.show{display:grid}
.modal-card{width:min(780px,100%);background:#fff;border-radius:26px;position:relative;overflow:hidden}
.product-modal-card{display:grid;grid-template-columns:1fr 1fr}
.modal-close{position:absolute;right:12px;top:12px;border:0;background:rgba(255,255,255,.9);width:38px;height:38px;border-radius:50%;z-index:2}
.modal-product-image{width:100%;height:100%;min-height:420px;object-fit:cover;background:#eee}
.modal-product-body{padding:34px;display:flex;flex-direction:column;justify-content:center}
.modal-product-body h2{font-size:34px;margin:7px 0 10px}
.modal-price{font-size:28px;font-weight:900;margin:16px 0 8px}
.stock{font-size:13px;color:var(--muted);margin-bottom:18px}
.toast{
  position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#111;color:#fff;
  padding:12px 16px;border-radius:999px;z-index:150;opacity:0;pointer-events:none;transition:.22s
}
.toast.show{opacity:1;transform:translate(-50%,0)}
.tiny{font-size:11px}.center{text-align:center}
@media(max-width:850px){
  .hero{grid-template-columns:1fr;padding:30px;min-height:360px}
  .hero-art{display:none}
  .product-grid{grid-template-columns:repeat(2,1fr)}
  .category-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .topbar{padding:8px 10px}
  .store-tagline{display:none}
  .hero{width:calc(100% - 20px);margin-top:10px;border-radius:22px;padding:24px;min-height:330px}
  .hero h1{font-size:42px}
  .section{width:calc(100% - 20px);margin:28px auto}
  .product-grid{gap:10px}
  .product-body{padding:12px}
  .product-actions{flex-direction:column}
  .filters{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .product-modal-card{grid-template-columns:1fr;max-height:92vh;overflow:auto}
  .modal-product-image{min-height:0;aspect-ratio:1/1}
  .modal-product-body{padding:22px}
  .modal-product-body h2{font-size:27px}
  .admin-item{grid-template-columns:54px 1fr}
  .admin-item img{width:54px;height:54px}
  .admin-item-actions{grid-column:1/-1}
}

/* Identidad visual ANHELOS */
.store-name{
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: .12em;
}
.hero h1, .section h2, .modal-product-body h2{
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
}
.brand-word{
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px,7vw,82px);
  letter-spacing:.12em;
  opacity:.88;
}
.category-card{
  font-family: Georgia, "Times New Roman", serif;
}

.back-home-btn{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:0 0 18px;
  padding:10px 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--text);
  font-weight:800;
  box-shadow:0 5px 16px rgba(0,0,0,.035);
}
.back-home-btn:hover{
  background:var(--soft);
}

/* ANHELOS V2.2 - identidad real */
.logo-anhelos{
  width:58px;
  height:58px;
  border-radius:14px;
  object-fit:cover;
  object-position:center;
  background:#fff;
  border:1px solid var(--line);
}
.store-name{
  font-family: Georgia, "Times New Roman", serif;
  font-size:20px;
  letter-spacing:.12em;
}
.store-tagline{
  font-family: ui-rounded, "Trebuchet MS", Arial, sans-serif;
  letter-spacing:.06em;
}
.hero{
  background:linear-gradient(135deg,#111,#2a2927);
}
.hero h1{
  letter-spacing:.10em;
  font-size:clamp(42px,7vw,78px);
}
.hero p{
  font-family: ui-rounded, "Trebuchet MS", Arial, sans-serif;
  font-size:22px;
  letter-spacing:.05em;
}
.hero-brand-card{
  background:#fff;
  border-radius:24px;
  padding:14px;
  box-shadow:0 18px 40px rgba(0,0,0,.18);
  transform:rotate(1.5deg);
}
.hero-brand-card img{
  width:100%;
  display:block;
  border-radius:14px;
}
@media(max-width:850px){
  .hero-brand-card{
    max-width:340px;
    margin-top:14px;
    transform:none;
  }
}
@media(max-width:620px){
  .logo-anhelos{
    width:46px;
    height:46px;
  }
  .hero p{
    font-size:18px;
  }
}

.admin-form-title{display:flex;justify-content:space-between;align-items:center;gap:12px}
.category-admin-card{max-width:760px;margin-top:16px}.category-add-row{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:14px}
.category-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.category-chip{display:inline-flex;gap:8px;align-items:center;background:var(--soft);padding:9px 12px;border-radius:999px;font-weight:800;font-size:13px}.category-chip button{border:0;background:transparent;font-size:18px}
.product-flags{display:flex;gap:24px;flex-wrap:wrap}.multi-image-preview{display:flex;gap:8px;overflow:auto;margin:10px 0}.multi-image-preview img{width:86px;height:86px;border-radius:14px;object-fit:cover;border:1px solid var(--line)}
.admin-item-hidden{opacity:.55}.admin-status{font-size:10px;letter-spacing:.11em;font-weight:900;margin-top:5px}
@media(max-width:620px){.category-add-row{grid-template-columns:1fr}.admin-item-actions{display:grid;grid-template-columns:1fr 1fr 1fr}}

/* V4 - Supabase */
.admin-login label{display:block;font-size:13px;font-weight:800;margin-top:13px}
.admin-login label input{margin-top:6px}
button:disabled{opacity:.45;cursor:not-allowed}
.cloud-badge{font-size:11px;font-weight:900;letter-spacing:.1em}

.checkout-card{max-width:720px;max-height:92vh;overflow:auto}.checkout-choice{display:grid;gap:10px;margin:18px 0}
.choice-card{display:flex!important;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:16px;padding:13px;background:#fff}.choice-card input{width:auto;margin-top:3px}.choice-card span{display:grid;gap:3px}.choice-card small{font-weight:500;color:var(--muted)}
.checkout-summary{display:flex;justify-content:space-between;padding:16px 0;font-size:18px}.admin-orders-list{display:grid;gap:14px;margin-top:16px}.order-filters{display:flex;justify-content:flex-end}.order-filters select{max-width:230px}
.order-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px}.order-head,.order-status-row,.order-items>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.order-head h3{margin:3px 0}.order-meta,.order-address{font-size:12px;color:var(--muted);margin-top:8px}.order-items{display:grid;gap:7px;border-block:1px solid var(--line);padding:12px 0;margin:12px 0;font-size:13px}.payment-pill{font-size:10px;font-weight:900;background:var(--soft);padding:7px 10px;border-radius:999px}
@media(max-width:620px){.order-status-row{align-items:stretch;flex-direction:column}}


/* ===== ANHELOS V6.2 · CHECKOUT ===== */
.checkout-intro{
  margin:-6px 0 22px;
  color:var(--muted);
  font-size:.95rem;
  line-height:1.45;
}
.checkout-section-title{
  margin:4px 0 10px;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#8b8178;
}
.checkout-delivery-title{margin-top:20px}
.checkout-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 16px;
}
.checkout-grid label{
  display:flex;
  flex-direction:column;
  gap:7px;
  font-weight:650;
  font-size:.92rem;
}
.checkout-grid input,
.checkout-grid textarea{
  width:100%;
  min-height:48px;
  border:1px solid #ddd5ce;
  border-radius:14px;
  padding:12px 14px;
  background:#fff;
  font:inherit;
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.checkout-grid textarea{min-height:78px;resize:vertical}
.checkout-grid input:focus,
.checkout-grid textarea:focus{
  border-color:#7b7067;
  box-shadow:0 0 0 3px rgba(123,112,103,.10);
}
.checkout-method-title{
  margin:24px 0 12px;
  font-size:1rem;
}
.checkout-methods{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.checkout-method{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-height:96px;
  padding:16px;
  border:1px solid #ddd5ce;
  border-radius:18px;
  background:#fff;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.checkout-method:hover{
  transform:translateY(-1px);
  border-color:#b7aca3;
}
.checkout-method:has(input:checked){
  border-color:#1f1f1f;
  box-shadow:0 0 0 2px rgba(31,31,31,.07);
}
.checkout-method input{
  margin-top:3px;
  accent-color:#111;
}
.checkout-method strong{display:block;font-size:.96rem;margin-bottom:5px}
.checkout-method small{display:block;color:var(--muted);line-height:1.35}
.checkout-total-premium{
  margin-top:22px;
  padding:18px 0 12px;
  border-top:1px solid #e7e0da;
  font-size:1.02rem;
}
.checkout-total-premium strong{
  font-size:1.35rem;
}
#confirmOrderBtn{
  width:100%;
  min-height:54px;
  border-radius:16px;
  font-size:1rem;
  font-weight:800;
  margin-top:8px;
}
@media(max-width:700px){
  #checkoutModal .modal-card{
    width:min(100%,560px);
    max-height:94vh;
    border-radius:22px 22px 0 0;
    margin-top:auto;
  }
  .checkout-grid,
  .checkout-methods{
    grid-template-columns:1fr;
  }
  .checkout-grid{gap:12px}
  .checkout-method{min-height:auto}
  .checkout-intro{margin-bottom:18px}
}


/* ===== ANHELOS V6.3 · MOBILE CHECKOUT REAL ===== */
.checkout-modal{
  align-items:flex-end;
}
.checkout-sheet{
  width:min(620px,100%);
  max-height:94dvh;
  overflow:auto;
  padding:0;
  border-radius:28px 28px 0 0;
  background:#fbfaf8;
  box-shadow:0 -18px 50px rgba(0,0,0,.22);
}
.checkout-close{
  position:sticky;
  top:14px;
  margin:14px 14px 0 auto;
  z-index:10;
  background:rgba(251,250,248,.95);
  backdrop-filter:blur(8px);
}
.checkout-head{
  padding:0 22px 16px;
}
.checkout-head .eyebrow{
  display:block;
  margin-bottom:6px;
}
.checkout-head h2{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(26px,6vw,36px);
  line-height:1.05;
  font-weight:500;
}
.checkout-head p{
  margin:8px 0 0;
  color:var(--muted);
  font-size:.94rem;
}
.checkout-section{
  padding:16px 22px;
  border-top:1px solid #ebe4dd;
}
.checkout-section-title{
  margin:0 0 12px;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#8e8379;
}
.checkout-field{
  display:block;
  margin:0 0 12px;
}
.checkout-field:last-child{
  margin-bottom:0;
}
.checkout-field span{
  display:block;
  margin:0 0 6px;
  font-size:.84rem;
  font-weight:800;
}
.checkout-field input{
  width:100%;
  height:46px;
  min-height:46px;
  padding:0 13px;
  border:1px solid #ddd5ce;
  border-radius:13px;
  background:#fff;
  font:inherit;
  font-size:.95rem;
  outline:none;
}
.checkout-field input:focus{
  border-color:#262626;
  box-shadow:0 0 0 3px rgba(0,0,0,.06);
}
.checkout-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.checkout-field-small{
  max-width:150px;
}
.payment-section{
  padding-bottom:12px;
}
.payment-options{
  display:grid;
  gap:10px;
}
.payment-option{
  position:relative;
  display:grid;
  grid-template-columns:22px 1fr;
  align-items:center;
  gap:11px;
  min-height:70px;
  padding:12px 14px;
  border:1px solid #ddd5ce;
  border-radius:16px;
  background:#fff;
  cursor:pointer;
}
.payment-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.payment-radio{
  width:20px;
  height:20px;
  border:2px solid #aaa099;
  border-radius:50%;
  position:relative;
}
.payment-option:has(input:checked){
  border-color:#1f1f1f;
  box-shadow:0 0 0 2px rgba(0,0,0,.045);
}
.payment-option:has(input:checked) .payment-radio{
  border-color:#111;
}
.payment-option:has(input:checked) .payment-radio::after{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:50%;
  background:#111;
}
.payment-copy strong{
  display:block;
  font-size:.95rem;
}
.payment-copy small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:.79rem;
  line-height:1.25;
}
.checkout-footer{
  position:sticky;
  bottom:0;
  padding:14px 22px calc(14px + env(safe-area-inset-bottom));
  border-top:1px solid #e5ddd6;
  background:rgba(251,250,248,.97);
  backdrop-filter:blur(10px);
}
.checkout-total-line{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:10px;
}
.checkout-total-line span{
  color:var(--muted);
  font-size:.9rem;
}
.checkout-total-line strong{
  font-size:1.35rem;
  font-family:Georgia,"Times New Roman",serif;
}
.checkout-submit{
  min-height:50px!important;
  border-radius:14px!important;
  margin:0!important;
}
#checkoutStatus{
  min-height:14px;
  margin:7px 0 0;
}
@media(max-width:560px){
  .checkout-sheet{
    max-height:92dvh;
  }
  .checkout-head{
    padding:0 16px 14px;
  }
  .checkout-section{
    padding:14px 16px;
  }
  .checkout-row{
    grid-template-columns:1fr;
    gap:0;
  }
  .checkout-field-small{
    max-width:none;
  }
  .checkout-field{
    margin-bottom:10px;
  }
  .checkout-field input{
    height:44px;
    min-height:44px;
  }
  .checkout-footer{
    padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  }
  .payment-option{
    min-height:64px;
  }
}

/* ===== ANHELOS V6.5 · POST PAGO ===== */
.payment-success-modal{align-items:center}
.payment-success-card{
  width:min(460px,92vw);
  text-align:center;
  border-radius:26px;
  padding:28px 22px 22px;
}
.payment-success-icon{
  width:62px;height:62px;margin:0 auto 14px;
  border-radius:50%;
  display:grid;place-items:center;
  background:#111;color:#fff;
  font-size:32px;font-weight:900;
}
.payment-success-card h2{
  margin:8px 0 8px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:30px;
  font-weight:500;
}
.payment-success-copy{
  color:var(--muted);
  line-height:1.45;
  margin-bottom:18px;
}
.payment-success-data{
  display:grid;
  gap:8px;
  margin:18px 0;
  text-align:left;
  background:#f6f2ee;
  border-radius:16px;
  padding:14px;
}
.payment-success-data>div{
  display:flex;
  justify-content:space-between;
  gap:12px;
}
.payment-success-data span{color:var(--muted);font-size:.85rem}
.payment-success-data strong{font-size:.88rem;word-break:break-word;text-align:right}
.payment-success-card .full{margin-top:10px}

/* ===== ANHELOS V6.6.3 · TRANSFERENCIA ESTÁTICA ===== */
.transfer-promo-static{
  margin:0 0 12px;
  padding:13px 14px;
  border:1px solid #e2dad2;
  border-radius:15px;
  background:#f4f0eb;
}
.transfer-promo-static strong{
  display:block;
  margin-bottom:4px;
  font-size:.95rem;
}
.transfer-promo-static span{
  display:block;
  color:var(--muted);
  font-size:.8rem;
  line-height:1.35;
}
.shipping-buyer-static{
  margin-top:12px;
  padding:10px 12px;
  border-radius:13px;
  background:#faf7f3;
  color:#6f665f;
  font-size:.78rem;
  font-weight:700;
  line-height:1.35;
}

.confirm-transfer-btn{
  margin-top:12px;
}
.order-method-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin-top:8px;
  font-size:.72rem;
  color:var(--muted);
}


/* ===== ANHELOS V6.7 · HERO PIEDRAS ===== */
.hero-stones{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);
  align-items:center;
  gap:28px;
  min-height:410px;
  padding:42px 48px;
  border-radius:28px;
  overflow:hidden;
  background:url("assets/hero-piedras.jpg") center 50% / cover no-repeat;
  box-shadow:0 18px 48px rgba(0,0,0,.10);
}
.hero-stones .hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,
    rgba(0,0,0,.84) 0%,
    rgba(0,0,0,.64) 34%,
    rgba(0,0,0,.28) 64%,
    rgba(0,0,0,.08) 100%);
  pointer-events:none;
}
.hero-stones .hero-copy,
.hero-stones .hero-logo-card{
  position:relative;
  z-index:1;
}
.hero-stones .hero-copy{
  color:#fff;
  max-width:620px;
}
.hero-stones .hero-kicker{
  display:block;
  margin-bottom:12px;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.16em;
}
.hero-stones h1{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(54px,6vw,92px);
  line-height:.98;
  font-weight:500;
  letter-spacing:.02em;
}
.hero-stones .hero-copy p{
  margin:18px 0 24px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(24px,2.2vw,34px);
}
.hero-stones .hero-btn{
  min-height:48px;
  padding:0 20px;
  border:0;
  border-radius:14px;
  background:#111;
  color:#fff;
  font-weight:900;
  font-size:.96rem;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}
.hero-stones .hero-logo-card{
  justify-self:end;
  width:min(340px,100%);
}
.hero-stones .hero-logo-card img{
  display:block;
  width:100%;
  height:auto;
  border-radius:22px;
  box-shadow:0 18px 42px rgba(0,0,0,.24);
  transform:none !important;
}

@media(max-width:760px){
  .hero-stones{
    grid-template-columns:1fr;
    min-height:610px;
    padding:28px 22px;
    align-content:center;
    background-position:center 50%;
  }
  .hero-stones .hero-overlay{
    background:linear-gradient(90deg,
      rgba(0,0,0,.78) 0%,
      rgba(0,0,0,.46) 46%,
      rgba(0,0,0,.16) 78%,
      rgba(0,0,0,.05) 100%);
  }
  .hero-stones .hero-copy{
    padding-top:26px;
    padding-bottom:260px;
  }
  .hero-stones .hero-kicker{
    font-size:.69rem;
    margin-bottom:8px;
  }
  .hero-stones h1{
    font-size:clamp(48px,15vw,68px);
  }
  .hero-stones .hero-copy p{
    font-size:clamp(22px,7vw,30px);
    margin:12px 0 18px;
  }
  .hero-stones .hero-logo-card{
    position:absolute;
    right:16px;
    bottom:42px;
    width:min(56vw,230px);
  }
  .hero-stones .hero-logo-card img{
    border-radius:18px;
  }
}

@media(max-width:420px){
  .hero-stones{
    min-height:570px;
    border-radius:22px;
    padding:24px 18px;
  }
  .hero-stones .hero-copy{
    padding-bottom:235px;
  }
  .hero-stones .hero-logo-card{
    right:13px;
    bottom:34px;
    width:min(58vw,212px);
  }
}


/* ===== ANHELOS V6.7.3 · HERO MOBILE LADO A LADO ===== */
@media(max-width:760px){
  .hero-stones{
    grid-template-columns:1fr;
    min-height:520px;
    padding:28px 20px;
    display:block;
    position:relative;
    background-position:center 48%;
  }

  .hero-stones .hero-overlay{
    background:
      linear-gradient(90deg,
        rgba(0,0,0,.82) 0%,
        rgba(0,0,0,.63) 42%,
        rgba(0,0,0,.26) 72%,
        rgba(0,0,0,.08) 100%);
  }

  .hero-stones .hero-copy{
    position:relative;
    z-index:2;
    width:58%;
    max-width:none;
    padding:82px 0 0 8px;
    margin:0;
  }

  .hero-stones .hero-kicker{
    font-size:.64rem;
    line-height:1.3;
    letter-spacing:.13em;
    margin-bottom:10px;
  }

  .hero-stones h1{
    font-size:clamp(43px,13vw,62px);
    line-height:.94;
  }

  .hero-stones .hero-copy p{
    font-size:clamp(20px,5.8vw,27px);
    line-height:1.08;
    margin:14px 0 18px;
  }

  .hero-stones .hero-btn{
    min-height:44px;
    padding:0 16px;
    font-size:.9rem;
  }

  .hero-stones .hero-logo-card{
    position:absolute;
    z-index:3;
    right:16px;
    top:50%;
    bottom:auto;
    transform:translateY(-38%);
    width:39%;
    max-width:215px;
    margin:0;
  }

  .hero-stones .hero-logo-card img{
    width:100%;
    border-radius:18px;
    box-shadow:0 14px 30px rgba(0,0,0,.24);
    transform:none !important;
  }
}

@media(max-width:420px){
  .hero-stones{
    min-height:500px;
    padding:24px 16px;
  }

  .hero-stones .hero-copy{
    width:57%;
    padding:76px 0 0 6px;
  }

  .hero-stones h1{
    font-size:clamp(40px,12.5vw,54px);
  }

  .hero-stones .hero-copy p{
    font-size:clamp(18px,5.4vw,24px);
  }

  .hero-stones .hero-logo-card{
    right:12px;
    top:52%;
    width:40%;
    max-width:190px;
  }
}

@media(max-width:360px){
  .hero-stones .hero-copy{
    width:56%;
  }

  .hero-stones .hero-logo-card{
    width:41%;
    right:10px;
  }
}


/* ===== ANHELOS V6.7.4 · HERO MOBILE FINAL ===== */
@media(max-width:760px){
  .hero-stones{
    min-height:560px;
    padding:28px 18px;
    display:block;
    position:relative;
    background-position:center 48%;
  }

  .hero-stones .hero-overlay{
    background:
      linear-gradient(90deg,
        rgba(0,0,0,.82) 0%,
        rgba(0,0,0,.64) 38%,
        rgba(0,0,0,.28) 69%,
        rgba(0,0,0,.08) 100%);
  }

  .hero-stones .hero-copy{
    position:relative;
    z-index:2;
    width:56%;
    max-width:none;
    padding:126px 0 0 8px;
    margin:0;
  }

  .hero-stones .hero-kicker{
    display:block;
    font-size:.64rem;
    line-height:1.3;
    letter-spacing:.13em;
    margin:0 0 12px;
    white-space:nowrap;
  }

  .hero-stones h1{
    font-size:clamp(42px,12.8vw,58px);
    line-height:.94;
    white-space:nowrap;
    margin:0;
  }

  .hero-stones .hero-copy p{
    font-size:clamp(19px,5.3vw,24px);
    line-height:1.1;
    margin:14px 0 20px;
    max-width:230px;
  }

  .hero-stones .hero-btn{
    min-height:46px;
    padding:0 18px;
    font-size:.92rem;
  }

  .hero-stones .hero-logo-card{
    position:absolute;
    z-index:3;
    right:16px;
    top:49%;
    bottom:auto;
    transform:translateY(-35%);
    width:38%;
    max-width:190px;
    margin:0;
  }

  .hero-stones .hero-logo-card img{
    width:100%;
    height:auto;
    border-radius:18px;
    box-shadow:0 14px 30px rgba(0,0,0,.24);
    transform:none !important;
  }
}

@media(max-width:420px){
  .hero-stones{
    min-height:540px;
    padding:24px 14px;
  }

  .hero-stones .hero-copy{
    width:55%;
    padding:118px 0 0 6px;
  }

  .hero-stones .hero-kicker{
    font-size:.61rem;
  }

  .hero-stones h1{
    font-size:clamp(40px,12.2vw,52px);
  }

  .hero-stones .hero-copy p{
    font-size:clamp(18px,5.1vw,22px);
    max-width:205px;
  }

  .hero-stones .hero-logo-card{
    right:12px;
    top:50%;
    width:37%;
    max-width:176px;
  }
}

@media(max-width:360px){
  .hero-stones .hero-copy{
    width:54%;
  }

  .hero-stones .hero-logo-card{
    width:36%;
    right:10px;
  }

  .hero-stones h1{
    font-size:39px;
  }
}


/* ===== ANHELOS V6.7.5 · HERO MOBILE AJUSTE REAL ===== */
@media(max-width:760px){
  .hero-stones{
    min-height:540px !important;
    padding:24px 16px !important;
    display:block !important;
    position:relative !important;
    background-position:center 48% !important;
  }

  .hero-stones .hero-copy{
    position:relative !important;
    z-index:2 !important;
    width:58% !important;
    max-width:58% !important;
    padding:120px 0 0 8px !important;
    margin:0 !important;
  }

  .hero-stones .hero-kicker{
    font-size:.60rem !important;
    line-height:1.25 !important;
    letter-spacing:.11em !important;
    white-space:nowrap !important;
    margin:0 0 11px !important;
  }

  .hero-stones h1{
    font-size:42px !important;
    line-height:.95 !important;
    white-space:nowrap !important;
    margin:0 !important;
    letter-spacing:0 !important;
  }

  .hero-stones .hero-copy p{
    font-size:20px !important;
    line-height:1.10 !important;
    max-width:180px !important;
    margin:14px 0 18px !important;
  }

  .hero-stones .hero-btn{
    min-height:44px !important;
    padding:0 15px !important;
    font-size:.88rem !important;
  }

  .hero-stones .hero-logo-card{
    position:absolute !important;
    z-index:3 !important;
    right:12px !important;
    top:46% !important;
    bottom:auto !important;
    width:34% !important;
    max-width:170px !important;
    transform:translateY(-20%) !important;
    margin:0 !important;
  }

  .hero-stones .hero-logo-card img{
    width:100% !important;
    height:auto !important;
    border-radius:17px !important;
    transform:none !important;
  }
}

@media(max-width:420px){
  .hero-stones{
    min-height:520px !important;
    padding:22px 13px !important;
  }

  .hero-stones .hero-copy{
    width:59% !important;
    max-width:59% !important;
    padding:112px 0 0 5px !important;
  }

  .hero-stones .hero-kicker{
    font-size:.57rem !important;
  }

  .hero-stones h1{
    font-size:39px !important;
  }

  .hero-stones .hero-copy p{
    font-size:18px !important;
    max-width:165px !important;
  }

  .hero-stones .hero-logo-card{
    right:10px !important;
    top:47% !important;
    width:33% !important;
    max-width:155px !important;
  }
}

@media(max-width:360px){
  .hero-stones h1{
    font-size:36px !important;
  }

  .hero-stones .hero-copy p{
    font-size:17px !important;
  }

  .hero-stones .hero-logo-card{
    width:32% !important;
    right:8px !important;
  }
}


/* =========================================================
   ANHELOS V6.9.2 · EDITORIAL FINAL
   ========================================================= */

.compat-hidden{display:none!important;}

/* Header branding integrated, no white-logo image */
.brand-integrated{
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  min-width:0;
  background:transparent!important;
}
.brand-integrated img{display:none!important;}
.brand-wordmark{
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.55rem;
  letter-spacing:.16em;
  line-height:1;
  color:#21170f;
  white-space:nowrap;
}
.brand-tagline{
  font-size:.62rem;
  letter-spacing:.14em;
  color:#6f5d4c;
  white-space:nowrap;
}

/* Main editorial hero */
.editorial-home{
  margin:0 auto 22px;
  border-radius:28px;
  overflow:hidden;
  background:#efe2d3;
  box-shadow:0 16px 40px rgba(68,42,24,.09);
}
.editorial-hero{
  position:relative;
  min-height:520px;
  overflow:hidden;
  background:#ead7c1;
}
.editorial-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(236,220,201,.98) 0%,
      rgba(236,220,201,.95) 42%,
      rgba(236,220,201,.40) 60%,
      rgba(236,220,201,.04) 100%),
    url("assets/hero-piedras.jpg") right center / 58% 100% no-repeat;
}
.editorial-brand{
  position:absolute;
  z-index:2;
  left:7%;
  top:7%;
  width:42%;
  text-align:center;
}
.editorial-ornament,
.editorial-small-ornament{
  font-family:Georgia,"Times New Roman",serif;
  color:#4a2c18;
}
.editorial-ornament{
  font-size:1.05rem;
  margin-bottom:4px;
}
.editorial-wordmark{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(46px,5.3vw,76px);
  line-height:1;
  letter-spacing:.08em;
  color:#1f160f;
}
.editorial-submark{
  margin-top:6px;
  font-size:.92rem;
  letter-spacing:.14em;
  color:#473426;
}
.editorial-copy{
  position:absolute;
  z-index:2;
  left:7%;
  top:39%;
  width:42%;
}
.editorial-small-ornament{
  margin-bottom:7px;
  font-size:.9rem;
}
.editorial-copy h1{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(42px,4.7vw,68px);
  line-height:1;
  font-weight:500;
  color:#4a2915;
}
.editorial-copy p{
  max-width:430px;
  margin:14px 0 18px;
  font-size:1rem;
  line-height:1.48;
  color:#2f241c;
}
.editorial-cta{
  min-height:48px;
  padding:0 22px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:7px;
  background:#4a2a17;
  color:white;
  font-size:.84rem;
  font-weight:800;
  letter-spacing:.12em;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(74,42,23,.17);
}
.editorial-benefits{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  min-height:88px;
  background:#f2e6d7;
  border-top:1px solid rgba(74,42,23,.16);
}
.editorial-benefits>div{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-right:1px solid rgba(74,42,23,.15);
  padding:12px 10px;
}
.editorial-benefits>div:last-child{border-right:0;}
.editorial-benefits span{
  font-family:Georgia,"Times New Roman",serif;
  font-size:30px;
}
.editorial-benefits b{
  font-size:.72rem;
  line-height:1.2;
  letter-spacing:.04em;
}

/* Mobile: compact and faithful to approved mockup */
@media(max-width:760px){
  .brand-wordmark{
    font-size:1.25rem;
    letter-spacing:.14em;
  }
  .brand-tagline{
    display:none;
  }

  .editorial-home{
    margin:0 0 18px;
    border-radius:0 0 22px 22px;
    box-shadow:none;
  }

  .editorial-hero{
    min-height:445px;
  }

  .editorial-bg{
    background:
      linear-gradient(90deg,
        rgba(236,220,201,.98) 0%,
        rgba(236,220,201,.93) 48%,
        rgba(236,220,201,.34) 68%,
        rgba(236,220,201,.02) 100%),
      url("assets/hero-piedras.jpg") right center / 61% 100% no-repeat;
  }

  .editorial-brand{
    left:6%;
    top:6%;
    width:58%;
    text-align:left;
  }

  .editorial-ornament{
    font-size:.8rem;
  }

  .editorial-wordmark{
    font-size:41px;
    letter-spacing:.07em;
  }

  .editorial-submark{
    margin-top:4px;
    font-size:.63rem;
    letter-spacing:.12em;
  }

  .editorial-copy{
    left:6%;
    top:34%;
    width:58%;
  }

  .editorial-small-ornament{
    font-size:.74rem;
    margin-bottom:6px;
  }

  .editorial-copy h1{
    font-size:37px;
    line-height:1.02;
  }

  .editorial-copy p{
    max-width:230px;
    margin:10px 0 13px;
    font-size:.82rem;
    line-height:1.37;
  }

  .editorial-cta{
    min-height:43px;
    padding:0 14px;
    font-size:.67rem;
    letter-spacing:.1em;
  }

  .editorial-benefits{
    min-height:72px;
  }

  .editorial-benefits>div{
    flex-direction:column;
    gap:3px;
    padding:7px 4px;
    text-align:center;
  }

  .editorial-benefits span{
    font-size:22px;
  }

  .editorial-benefits b{
    font-size:.56rem;
  }
}

@media(max-width:420px){
  .editorial-hero{
    min-height:430px;
  }

  .editorial-bg{
    background-size:64% 100%;
  }

  .editorial-wordmark{
    font-size:38px;
  }

  .editorial-copy{
    top:35%;
    width:59%;
  }

  .editorial-copy h1{
    font-size:34px;
  }

  .editorial-copy p{
    max-width:215px;
    font-size:.78rem;
  }
}


/* ===== ANHELOS V6.9.3 · DOS FOTOS POR PRODUCTO ===== */
.field-help{
  display:block;
  margin-top:6px;
  color:var(--muted);
  font-size:.76rem;
  font-weight:400;
}
.multi-image-preview{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}
.multi-image-preview img{
  width:96px;
  height:96px;
  object-fit:cover;
  border-radius:14px;
  border:1px solid var(--line);
  background:#fff;
}
.product-gallery{
  position:relative;
  background:#f7f3ee;
}
.product-gallery .modal-product-image{
  display:block;
  width:100%;
}
.gallery-arrow{
  position:absolute;
  z-index:4;
  top:50%;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(0,0,0,.12);
  background:rgba(255,255,255,.9);
  font-size:30px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(0,0,0,.12);
}
.gallery-prev{left:12px}
.gallery-next{right:12px}
.gallery-dots{
  position:absolute;
  z-index:5;
  left:50%;
  bottom:12px;
  transform:translateX(-50%);
  display:flex;
  gap:7px;
}
.gallery-dot{
  width:9px;
  height:9px;
  padding:0;
  border:1px solid rgba(0,0,0,.45);
  border-radius:50%;
  background:rgba(255,255,255,.8);
}
.gallery-dot.active{
  background:#111;
  border-color:#111;
}


/* ===== ANHELOS V6.9.5 · FILTRO EN HOME ===== */
.home-filter-section{
  padding-top:18px;
  padding-bottom:8px;
}
.home-filters{
  margin-top:8px;
}
.home-filter-results{
  margin-top:16px;
}
.home-filter-results.hidden{
  display:none!important;
}

/* ===== ANHELOS V6.9.5 · CATEGORÍAS EDITABLES ===== */
.category-chip-list{
  display:grid;
  gap:9px;
}
.category-edit-row{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto 38px;
  align-items:center;
  gap:8px;
  padding:9px;
  border:1px solid #e4dcd4;
  border-radius:13px;
  background:#fff;
}
.category-edit-emoji{
  text-align:center;
  font-size:1.2rem;
}
.category-name-input{
  width:100%;
  min-height:40px;
  border:1px solid #ddd4cb;
  border-radius:10px;
  padding:0 10px;
  font:inherit;
  outline:none;
}
.category-name-input:focus{
  border-color:#5a3822;
  box-shadow:0 0 0 3px rgba(90,56,34,.08);
}
.category-delete-btn{
  width:38px;
  min-width:38px;
  padding:0!important;
  min-height:38px;
}

@media(max-width:560px){
  .category-edit-row{
    grid-template-columns:30px minmax(0,1fr) 38px;
  }
  .category-edit-row .small-btn{
    grid-column:2/4;
    width:100%;
  }
  .home-filters{
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
  }
}


/* ===== V6.9.5.1 · OFF SEGURO =====
   Solo estilos nuevos y aislados. No altera cards, imágenes ni grillas. */
.product-off-safe{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:7px;
  padding:7px 9px;
  border-radius:10px;
  background:#f3e6d7;
  border:1px solid #dec7ae;
  color:#4a2a17;
  box-sizing:border-box;
}
.product-off-safe span{
  font-size:.68rem;
  font-weight:800;
  line-height:1.15;
}
.product-off-safe strong{
  font-size:.92rem;
  white-space:nowrap;
}

.cart-off-safe{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  box-sizing:border-box;
  margin:10px 0 14px;
  padding:12px 14px;
  border-radius:13px;
  background:#f3e6d7;
  border:1px solid #dec7ae;
  color:#4a2a17;
}
.cart-off-safe > div{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.cart-off-safe > div strong{
  font-size:.84rem;
  line-height:1.2;
}
.cart-off-safe > div span{
  font-size:.70rem;
  line-height:1.2;
}
.cart-off-safe > strong{
  flex:0 0 auto;
  font-size:1.05rem;
  white-space:nowrap;
}

@media(max-width:480px){
  .cart-off-safe{
    align-items:flex-start;
    flex-direction:column;
  }
  .cart-off-safe > strong{
    align-self:flex-end;
  }
}

/* ===== V6.9.5.2 · AVISO DE CUOTAS ===== */
.product-installments-safe{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:5px;
  padding:2px 1px;
  color:#5b4a3e;
  font-size:.74rem;
  font-weight:700;
  line-height:1.2;
}
.installments-card-icon{
  flex:0 0 auto;
  font-size:.95rem;
  line-height:1;
}
