/* ══════════════════════════════════════════════════════════════
   ALFANTIC PERFUMERÍA — perfumes-styles.css
   Paleta cálida (arena + café + dorado + terracota) — nada de
   blanco puro para que sea más agradable a la vista.
   ══════════════════════════════════════════════════════════════ */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
  --gold:#B08D57;--gold-light:#D8B77E;--gold-deep:#8C6C3B;
  --terracota:#B5654A;--terracota-soft:rgba(181,101,74,.12);
  --sage:#7C8B6F;--sage-soft:rgba(124,139,111,.14);

  --bg:#ECE2CC;            /* fondo general: arena cálida, no blanco */
  --bg-muted:#E1D2AF;      /* secciones alternas, un poco más oscuro */
  --card:#F8F2E4;          /* tarjetas: crema suave, con contraste sobre --bg */
  --coffee:#362A22;        /* café oscuro para el hero y footer */
  --coffee-2:#453529;

  --ink:#2E2620;--ink-soft:#5B5044;--ink-muted:#8A7F6E;
  --line:rgba(54,42,34,.16);--line-soft:rgba(54,42,34,.08);
  --radius:18px;
}

html{scroll-behavior:smooth}
body{
  font-family:'Jost',sans-serif;background:var(--bg);color:var(--ink);
  line-height:1.65;overflow-x:hidden;min-height:100vh;font-weight:300;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
em{font-style:italic;color:var(--gold-deep)}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ── Header ── */
#pf-header{
  position:sticky;top:0;z-index:100;background:rgba(236,226,204,.94);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft);
}
.pf-header-inner{
  max-width:1200px;margin:0 auto;padding:0 2rem;height:78px;
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
}
.pf-logo{display:flex;align-items:center;gap:.7rem}
.pf-logo img{height:38px;width:auto}
.pf-logo-sub{
  font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1rem;
  color:var(--gold-deep);border-left:1px solid var(--line);padding-left:.7rem;
}
.pf-nav{display:flex;gap:2.2rem}
.pf-nav a{font-size:.85rem;color:var(--ink-soft);letter-spacing:.03em;transition:color .25s}
.pf-nav a:hover{color:var(--gold-deep)}
.pf-back{
  font-size:.75rem;color:var(--ink-muted);border:1px solid var(--line);
  border-radius:999px;padding:.5rem 1rem;transition:all .25s;white-space:nowrap;
}
.pf-back:hover{border-color:var(--gold);color:var(--gold-deep)}
@media(max-width:820px){.pf-nav{display:none}.pf-logo-sub{display:none}}

/* ── Hero (café oscuro para dar variedad y contraste) ── */
.pf-hero{
  position:relative;padding:6rem 2rem 5rem;text-align:center;overflow:hidden;
  background:radial-gradient(65% 60% at 50% 0%,var(--coffee-2),var(--coffee) 75%);
}
.pf-hero::before{
  content:'';position:absolute;top:-10%;left:50%;transform:translateX(-50%);
  width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,rgba(216,183,126,.14),transparent 70%);
  pointer-events:none;
}
.pf-hero-inner{position:relative;max-width:680px;margin:0 auto}
.pf-eyebrow{
  font-family:'Jost',sans-serif;font-size:.7rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold-light);margin-bottom:1.2rem;
}
.pf-hero h1{
  font-family:'Cormorant Garamond',serif;font-weight:400;
  font-size:clamp(2.4rem,5.5vw,3.6rem);line-height:1.18;color:#F5EDE1;margin-bottom:1.3rem;
}
.pf-hero h1 em{color:var(--gold-light)}
.pf-hero-desc{font-size:1rem;color:rgba(245,237,225,.72);max-width:460px;margin:0 auto 2.2rem}

.pf-btn-primary{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:1rem 2.2rem;background:linear-gradient(180deg,var(--gold-light),var(--gold));
  color:#2E2620;font-size:.88rem;font-weight:500;letter-spacing:.03em;
  border:none;border-radius:999px;cursor:pointer;
  box-shadow:0 16px 34px -14px rgba(140,108,59,.55);transition:transform .25s,box-shadow .3s;
}
.pf-btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 42px -14px rgba(140,108,59,.65)}
.pf-btn-primary:disabled{opacity:.6;cursor:default;transform:none}

/* ── Secciones ── */
.pf-section{max-width:1200px;margin:0 auto;padding:5rem 2rem}
.pf-section--muted{max-width:100%;background:var(--bg-muted)}
.pf-section--muted > *{max-width:1200px;margin-left:auto;margin-right:auto}
.pf-section-head{text-align:center;margin-bottom:2.5rem}
.pf-section-head h2{
  font-family:'Cormorant Garamond',serif;font-weight:400;
  font-size:clamp(1.9rem,4vw,2.6rem);color:var(--ink);
}
.pf-eyebrow.dark{color:var(--gold-deep)}

/* ── Toolbar ── */
.pf-toolbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:2rem}
.pf-search-wrap{position:relative;flex:1;min-width:220px;max-width:340px}
.pf-search-wrap svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--ink-muted)}
.pf-search-wrap input{
  width:100%;padding:.85rem 1rem .85rem 2.6rem;border:1px solid var(--line);
  border-radius:999px;background:var(--card);color:var(--ink);font-family:'Jost',sans-serif;
  font-size:.86rem;outline:none;transition:border-color .25s;
}
.pf-search-wrap input:focus{border-color:var(--gold)}
.pf-cat-filters{display:flex;flex-wrap:wrap;gap:.6rem}
.pf-cat-btn{
  padding:.55rem 1.1rem;border:1px solid var(--line);border-radius:999px;background:transparent;
  color:var(--ink-soft);font-family:'Jost',sans-serif;font-size:.78rem;cursor:pointer;transition:all .25s;
}
.pf-cat-btn:hover{border-color:var(--gold)}
.pf-cat-btn.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}

/* ── Grid de productos ── */
.pf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.6rem}
.pf-loading,.pf-empty{
  grid-column:1/-1;text-align:center;padding:3.5rem;color:var(--ink-muted);
  background:var(--card);border-radius:var(--radius);font-size:.85rem;letter-spacing:.05em;
}

.pf-card{
  background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius);
  overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s;
}
.pf-card:hover{transform:translateY(-5px);box-shadow:0 24px 44px -20px rgba(54,42,34,.22)}

.pf-card-img{position:relative;aspect-ratio:1/1;background:var(--bg-muted);overflow:hidden;cursor:pointer}
.pf-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.pf-card:hover .pf-card-img img{transform:scale(1.05)}
.pf-card-img--empty{display:flex;align-items:center;justify-content:center;color:var(--ink-muted);font-size:2rem}
.pf-badge-oferta{
  position:absolute;top:.8rem;left:.8rem;background:var(--terracota);color:#fff;
  font-size:.62rem;letter-spacing:.08em;padding:.3rem .6rem;border-radius:999px;
}
.pf-badge-tipo{
  position:absolute;top:.8rem;right:.8rem;font-size:.6rem;letter-spacing:.06em;
  padding:.25rem .6rem;border-radius:999px;background:rgba(46,38,32,.72);color:#fff;text-transform:uppercase;
}

.pf-card-body{padding:1.2rem 1.3rem 0}
.pf-card-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem}
.pf-tag{
  font-size:.62rem;letter-spacing:.06em;color:var(--gold-deep);
  border:1px solid var(--line);border-radius:999px;padding:.15rem .6rem;
}
.pf-card-name{
  font-family:'Cormorant Garamond',serif;font-size:1.25rem;color:var(--ink);
  margin-bottom:.3rem;display:block;cursor:pointer;
}
.pf-card-rating{display:flex;align-items:center;gap:.35rem;margin-bottom:.5rem;font-size:.72rem;color:var(--ink-muted)}
.pf-card-rating .stars{color:var(--gold)}
.pf-card-desc{
  font-size:.82rem;color:var(--ink-muted);display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical;overflow:hidden;margin-bottom:.9rem;
}

.pf-card-footer{padding:0 1.3rem 1.3rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:auto}
.pf-price-wrap{display:flex;flex-direction:column}
.pf-price-tachado{font-size:.72rem;color:var(--ink-muted);text-decoration:line-through}
.pf-price{font-family:'Cormorant Garamond',serif;font-size:1.35rem;color:var(--gold-deep)}
.pf-price small{font-size:.65rem;color:var(--ink-muted);font-family:'Jost',sans-serif}

.pf-card-actions{display:flex;gap:.4rem}
.pf-btn-icon{
  width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:transparent;
  color:var(--ink-soft);cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:all .2s;flex-shrink:0;
}
.pf-btn-icon:hover{border-color:var(--gold);color:var(--gold-deep);background:var(--terracota-soft)}
.pf-btn-buy{
  padding:.6rem 1rem;background:var(--ink);color:var(--bg);border:none;
  border-radius:999px;font-family:'Jost',sans-serif;font-size:.74rem;font-weight:500;
  cursor:pointer;white-space:nowrap;transition:background .25s,transform .2s;
}
.pf-btn-buy:hover{background:var(--gold-deep);transform:translateY(-1px)}

/* ── Preguntas ── */
.pf-preguntas-wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:2rem;align-items:start}
@media(max-width:820px){.pf-preguntas-wrap{grid-template-columns:1fr}}

.pf-preguntas-lista{display:flex;flex-direction:column;gap:1rem;max-height:520px;overflow-y:auto;padding-right:.3rem}
.pf-pregunta-item{background:var(--card);border:1px solid var(--line-soft);border-radius:14px;padding:1.1rem 1.3rem}
.pf-pregunta-q{font-size:.85rem;color:var(--ink);margin-bottom:.5rem}
.pf-pregunta-q b{color:var(--gold-deep);font-weight:500}
.pf-pregunta-r{font-size:.82rem;color:var(--ink-soft);padding-left:1rem;border-left:2px solid var(--gold);margin-top:.5rem}
.pf-pregunta-r b{color:var(--ink)}

.pf-preguntas-form{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius);padding:1.6rem}
.pf-preguntas-form-title{font-family:'Cormorant Garamond',serif;font-size:1.2rem;margin-bottom:1rem;color:var(--ink)}
.pf-preguntas-form input,.pf-preguntas-form textarea{
  width:100%;padding:.75rem .9rem;border:1px solid var(--line);border-radius:10px;
  background:var(--bg);color:var(--ink);font-family:'Jost',sans-serif;font-size:.85rem;
  outline:none;margin-bottom:.8rem;resize:vertical;
}
.pf-preguntas-form input:focus,.pf-preguntas-form textarea:focus{border-color:var(--gold)}
.pf-preguntas-hint{font-size:.68rem;color:var(--ink-muted);margin-top:.6rem;text-align:center}

.pf-form-msg{font-size:.78rem;margin-top:.7rem;text-align:center}
.pf-form-msg.ok{color:var(--sage)}
.pf-form-msg.err{color:var(--terracota)}

/* ── CTA / contacto (solo WhatsApp) ── */
.pf-cta{background:var(--coffee);padding:5rem 2rem;color:#F5EDE1}
.pf-cta-inner{max-width:560px;margin:0 auto;text-align:center}
.pf-cta-inner h2{color:#F5EDE1}
.pf-cta-inner h2 em{color:var(--gold-light)}
.pf-cta-desc{color:rgba(245,237,225,.68);margin:1rem 0 2rem}
.pf-channel-wa{
  display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;
  background:#25D366;color:#fff;border-radius:999px;font-size:.9rem;font-weight:500;
  transition:transform .25s,box-shadow .3s;box-shadow:0 16px 34px -14px rgba(37,211,102,.5);
}
.pf-channel-wa:hover{transform:translateY(-2px)}

/* ── Footer ── */
.pf-footer{background:#2A2019;color:#F5EDE1;padding:3rem 2rem}
.pf-footer-inner{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;gap:2rem;align-items:center;justify-content:space-between}
.pf-footer-brand img{height:34px;filter:brightness(0) invert(1);margin-bottom:.4rem}
.pf-footer-brand p{font-size:.78rem;color:rgba(245,237,225,.5)}
.pf-footer-nav{display:flex;gap:1.5rem;flex-wrap:wrap}
.pf-footer-nav a{font-size:.8rem;color:rgba(245,237,225,.75);transition:color .25s}
.pf-footer-nav a:hover{color:var(--gold-light)}
.pf-footer-copy{font-size:.72rem;color:rgba(245,237,225,.4)}

/* ══════════════════════════════════════════════════════════════
   MODALES (vista rápida / envío) — compartidos
   ══════════════════════════════════════════════════════════════ */
.pf-modal-ov{
  position:fixed;inset:0;z-index:1500;background:rgba(30,22,17,.68);backdrop-filter:blur(5px);
  display:flex;align-items:center;justify-content:center;padding:1.2rem;
  opacity:0;pointer-events:none;transition:opacity .3s;
}
.pf-modal-ov.show{opacity:1;pointer-events:auto}
.pf-modal{
  position:relative;width:100%;background:var(--card);border-radius:var(--radius);
  box-shadow:0 30px 80px -20px rgba(0,0,0,.5);transform:translateY(16px) scale(.98);
  transition:transform .35s cubic-bezier(.22,1,.36,1);max-height:88vh;overflow-y:auto;
}
.pf-modal-ov.show .pf-modal{transform:translateY(0) scale(1)}
.pf-modal-close{
  position:absolute;top:.8rem;right:.8rem;z-index:2;width:34px;height:34px;border-radius:50%;
  border:1px solid var(--line);background:var(--bg);color:var(--ink);font-size:.9rem;cursor:pointer;
}
.pf-modal-close:hover{background:var(--gold);color:#fff}

.pf-quickview{max-width:820px;padding:1.6rem}
.pf-qv-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:1.8rem}
@media(max-width:680px){.pf-qv-grid{grid-template-columns:1fr}}
.pf-qv-img{aspect-ratio:1/1;background:var(--bg-muted);border-radius:14px;overflow:hidden}
.pf-qv-img img{width:100%;height:100%;object-fit:cover}
.pf-qv-name{font-family:'Cormorant Garamond',serif;font-size:1.7rem;margin-bottom:.4rem}
.pf-qv-attrs{display:flex;flex-wrap:wrap;gap:.5rem;margin:.7rem 0}
.pf-qv-attr{font-size:.7rem;background:var(--sage-soft);color:var(--sage);border-radius:999px;padding:.3rem .7rem}
.pf-qv-desc{font-size:.85rem;color:var(--ink-soft);margin:.8rem 0 1.2rem}
.pf-qv-price{font-family:'Cormorant Garamond',serif;font-size:1.8rem;color:var(--gold-deep);margin-bottom:1rem}
.pf-qv-actions{display:flex;gap:.7rem;margin-bottom:1.5rem}
.pf-qv-actions .pf-btn-primary{flex:1}

.pf-qv-reviews-title{font-family:'Cormorant Garamond',serif;font-size:1.2rem;margin:1.5rem 0 .8rem;border-top:1px solid var(--line-soft);padding-top:1.3rem}
.pf-qv-rating-summary{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;font-size:.85rem;color:var(--ink-soft)}
.pf-qv-review{padding:.9rem 0;border-bottom:1px solid var(--line-soft)}
.pf-qv-review:last-child{border-bottom:none}
.pf-qv-review .stars{color:var(--gold);font-size:.8rem}
.pf-qv-review-name{font-size:.82rem;font-weight:500;margin:.3rem 0 .2rem}
.pf-qv-review-text{font-size:.82rem;color:var(--ink-soft)}
.pf-qv-review-date{font-size:.68rem;color:var(--ink-muted)}

.pf-review-form{margin-top:1.3rem;padding-top:1.3rem;border-top:1px solid var(--line-soft)}
.pf-review-form input,.pf-review-form textarea{
  width:100%;padding:.7rem .9rem;border:1px solid var(--line);border-radius:10px;background:var(--bg);
  color:var(--ink);font-family:'Jost',sans-serif;font-size:.84rem;outline:none;margin-bottom:.7rem;resize:vertical;
}
.pf-review-stars{display:flex;gap:.3rem;margin-bottom:.8rem;font-size:1.4rem;color:var(--line);cursor:pointer}
.pf-review-stars span.activa{color:var(--gold)}

/* ── Modal de envío ── */
.pf-envio-modal{max-width:560px;padding:1.8rem 2rem 2.2rem}
.pf-modal-title{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.5rem;margin:.5rem 0}
.pf-modal-title em{color:var(--gold-deep)}
.pf-modal-desc{font-size:.84rem;color:var(--ink-muted);margin-bottom:1.3rem}
.pf-envio-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:1.3rem}
.pf-field--full{grid-column:1/-1}
.pf-field label{display:block;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:.35rem}
.pf-field input,.pf-field textarea{
  width:100%;padding:.7rem .85rem;border:1px solid var(--line);border-radius:10px;background:var(--bg);
  color:var(--ink);font-family:'Jost',sans-serif;font-size:.84rem;outline:none;resize:vertical;
}
.pf-field input:focus,.pf-field textarea:focus{border-color:var(--gold)}
@media(max-width:480px){.pf-envio-grid{grid-template-columns:1fr}}

@media(max-width:600px){
  .pf-section{padding:3.5rem 1.2rem}
  .pf-hero{padding:4.5rem 1.2rem 3.5rem}
}

body.pf-noscroll{overflow:hidden}

/* ══════════════════════════════════════════════════════════════
   ENVÍO + CUPÓN en el carrito (inyectado dentro de cart.js)
   Colores FIJOS (no variables de página): esto vive siempre dentro
   del carrito oscuro de cart.js, sin importar en qué página estés.
   ══════════════════════════════════════════════════════════════ */
.pf-cart-envio{
  background:#1C1712;border:1px solid rgba(216,183,126,.35);border-radius:12px;
  padding:1rem 1.1rem;margin-bottom:.9rem;font-family:'Jost',sans-serif;
  animation:pfFadeIn .35s ease both;
}
@keyframes pfFadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.pf-cart-envio-row{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:#E8DFD2;margin-bottom:.5rem;font-weight:500}
.pf-envio-gratis-tag{color:#8FDBA8;font-weight:700}
.pf-envio-hint{font-size:.72rem;color:#C9A84C;margin-bottom:.7rem}
.pf-cupon-row{display:flex;gap:.5rem}
.pf-cupon-row input{
  flex:1;padding:.6rem .75rem;border:1px solid rgba(216,183,126,.4);border-radius:8px;background:#0F0C09;
  color:#F5EDE1;font-family:'Jost',sans-serif;font-size:.78rem;outline:none;
}
.pf-cupon-row input::placeholder{color:#7A6F60}
.pf-cupon-row input:focus{border-color:#D8B77E}
.pf-cupon-row button{
  padding:.6rem 1.1rem;border:none;border-radius:8px;background:linear-gradient(180deg,#D8B77E,#B08D57);color:#241B12;
  font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:transform .2s,box-shadow .2s;
}
.pf-cupon-row button:hover{transform:translateY(-1px);box-shadow:0 8px 18px -6px rgba(216,183,126,.5)}
.pf-cupon-msg{font-size:.75rem;margin-top:.6rem;font-weight:600;animation:pfFadeIn .3s ease both}
.pf-cupon-msg.ok{color:#8FDBA8}
.pf-cupon-msg.err{color:#F0A88C}
.pf-cart-descuento-row{color:#8FDBA8;font-weight:700}
.pf-cart-total-row{
  display:flex;align-items:baseline;justify-content:space-between;
  margin-top:.9rem;padding-top:.9rem;border-top:1px solid rgba(216,183,126,.3);
  font-size:.85rem;color:#F5EDE1;font-weight:600;
}
.pf-cart-total-num{font-family:'Cormorant Garamond',serif;font-size:1.65rem;color:#EBC98A;text-shadow:0 0 18px rgba(216,183,126,.35)}
.pf-cart-total-num small{font-family:'Jost',sans-serif;font-size:.65rem;color:#B5A891}
.pf-cupon-nota{font-size:.68rem;color:#A89B89;margin-top:.7rem;line-height:1.5}

/* ══════════════════════════════════════════════════════════════
   FIX: imágenes de producto ya no se recortan (contain, no cover)
   ══════════════════════════════════════════════════════════════ */
.pf-card-img{background:var(--bg-muted);display:flex;align-items:center;justify-content:center;padding:1rem}
.pf-card-img img{width:100%;height:100%;object-fit:contain;transition:transform .5s}
.pf-qv-img{display:flex;align-items:center;justify-content:center;padding:1.2rem}
.pf-qv-img img{width:100%;height:100%;object-fit:contain}

/* ── Galería de imágenes en la vista rápida ── */
.pf-qv-gallery{display:flex;gap:.5rem;margin-top:.6rem;overflow-x:auto;padding-bottom:.2rem}
.pf-qv-gallery img{
  width:56px;height:56px;object-fit:contain;background:var(--bg-muted);border-radius:8px;
  border:2px solid transparent;cursor:pointer;flex-shrink:0;padding:.2rem;
}
.pf-qv-gallery img.activa{border-color:var(--gold)}

/* ── Stepper de cantidad (compra directa) ── */
.pf-qty-stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden;margin-right:.6rem}
.pf-qty-stepper button{width:34px;height:34px;background:transparent;border:none;color:var(--ink);font-size:1rem;cursor:pointer}
.pf-qty-stepper button:hover{background:var(--terracota-soft);color:var(--terracota)}
.pf-qty-stepper span{min-width:28px;text-align:center;font-family:'Jost',sans-serif;font-size:.85rem}
.pf-qv-envio-note{font-size:.72rem;color:var(--ink-muted);margin:.5rem 0 1rem}
.pf-qv-envio-note.gratis{color:var(--sage)}

/* ── Animaciones extra (punto 2: más detalle en la página) ── */
.pf-hero::after{
  content:'';position:absolute;bottom:-20%;right:-8%;width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle,rgba(181,101,74,.10),transparent 70%);pointer-events:none;
}
.pf-card{opacity:0;transform:translateY(18px)}
.pf-card.visible{opacity:1;transform:translateY(0);transition:opacity .55s ease,transform .55s ease}
.pf-badge-oferta{animation:pfPulse 2.4s ease-in-out infinite}
@keyframes pfPulse{0%,100%{box-shadow:0 0 0 0 rgba(181,101,74,.35)}50%{box-shadow:0 0 0 6px rgba(181,101,74,0)}}
.pf-btn-icon,.pf-btn-buy,.pf-cat-btn,.pf-channel-wa{will-change:transform}

/* ── Banner promocional individual por producto ── */
.pf-card{position:relative}
.pf-card-banner{
  position:absolute;top:.9rem;left:-.4rem;z-index:2;
  background:var(--terracota);color:#fff;font-size:.66rem;font-weight:500;letter-spacing:.03em;
  padding:.35rem .8rem .35rem .9rem;border-radius:0 999px 999px 0;
  box-shadow:0 6px 16px -6px rgba(181,101,74,.6);
}
.pf-card-banner::after{
  content:'';position:absolute;left:0;top:100%;border-width:4px 0 0 4px;border-style:solid;
  border-color:transparent transparent transparent #7c3f2c;
}

/* ── Mensaje que llena el espacio vacío del carrito (invita a agregar más) ── */
.pf-cart-promo{
  margin-top:1rem;padding:1rem 1.1rem;border-radius:12px;font-size:.8rem;line-height:1.6;
  background:rgba(181,101,74,.18);border:1px solid rgba(181,101,74,.4);color:#F0DFCF;
  animation:pfFadeIn .35s ease both;
}
.pf-cart-promo b{color:#EBC98A}
.pf-cart-promo.ok{background:rgba(143,219,168,.14);border-color:rgba(143,219,168,.4)}

/* ── Feed general de opiniones (perfumes.html) ── */
.pf-opiniones-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.2rem}
.pf-opinion-card{background:var(--card);border:1px solid var(--line-soft);border-radius:14px;padding:1.2rem 1.3rem}
.pf-opinion-card .stars{color:var(--gold);font-size:.85rem}
.pf-opinion-text{font-size:.85rem;color:var(--ink-soft);margin:.6rem 0;line-height:1.55}
.pf-opinion-autor{font-size:.72rem;color:var(--ink-muted)}
.pf-opinion-autor b{color:var(--ink)}
.pf-opiniones-nota{text-align:center;font-size:.75rem;color:var(--ink-muted);margin-top:1.6rem}

/* ── Imagen principal en la página de detalle de producto ── */
.pf-detalle-img{background:var(--card)}

/* ── Botón "Dejar mi reseña" (página de producto) ── */
.pf-btn-dejar-resena{
  margin-top:1rem;width:100%;padding:.8rem;background:transparent;border:1px solid var(--line);
  border-radius:999px;color:var(--gold-deep);font-family:'Jost',sans-serif;font-size:.82rem;
  cursor:pointer;transition:all .25s;
}
.pf-btn-dejar-resena:hover{border-color:var(--gold);background:var(--terracota-soft)}

/* ══════════════════════════════════════════════════════════════
   MÁS VIDA: animaciones adicionales en toda la página
   ══════════════════════════════════════════════════════════════ */

/* Fondo del hero con leve movimiento continuo (deja de sentirse estático) */
.pf-hero::before{ animation: pfDriftGlow 9s ease-in-out infinite alternate; }
.pf-hero::after{ animation: pfDriftGlow2 11s ease-in-out infinite alternate; }
@keyframes pfDriftGlow{
  0%{transform:translateX(-50%) translateY(0) scale(1)}
  100%{transform:translateX(-46%) translateY(14px) scale(1.08)}
}
@keyframes pfDriftGlow2{
  0%{transform:translate(0,0) scale(1)}
  100%{transform:translate(-14px,-10px) scale(1.1)}
}

/* Partículas suaves flotando en el hero */
.pf-hero-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.pf-hero-particles span{
  position:absolute;bottom:-10px;width:4px;height:4px;border-radius:50%;
  background:rgba(216,183,126,.55);animation:pfFloatUp linear infinite;
}
@keyframes pfFloatUp{
  0%{transform:translateY(0) translateX(0);opacity:0}
  10%{opacity:.8}
  90%{opacity:.4}
  100%{transform:translateY(-260px) translateX(18px);opacity:0}
}

/* Título del hero: leve respiración en el brillo del texto dorado */
.pf-hero h1 em{ animation: pfGlowText 3.4s ease-in-out infinite; }
@keyframes pfGlowText{
  0%,100%{text-shadow:0 0 0 rgba(216,183,126,0)}
  50%{text-shadow:0 0 18px rgba(216,183,126,.45)}
}

/* Botón primario: respiración sutil en el brillo, para que invite al clic */
.pf-btn-primary{ animation: pfBtnBreathe 3.2s ease-in-out infinite; }
@keyframes pfBtnBreathe{
  0%,100%{box-shadow:0 16px 34px -14px rgba(140,108,59,.55)}
  50%{box-shadow:0 16px 40px -10px rgba(140,108,59,.85)}
}
.pf-btn-primary:active{transform:scale(.97)}

/* Destello que recorre la tarjeta de producto al pasar el cursor */
.pf-card{position:relative;overflow:hidden}
.pf-card::before{
  content:'';position:absolute;top:0;left:-60%;width:40%;height:100%;z-index:3;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.16),transparent);
  transform:skewX(-18deg);transition:left .65s ease;pointer-events:none;
}
.pf-card:hover::before{left:120%}

/* Botón de compra de la tarjeta: pequeño "pop" al hacer click */
.pf-btn-buy:active,.pf-btn-icon:active{transform:scale(.92)}

/* Icono "+" del carrito: gira suave al pasar el cursor */
.pf-btn-icon svg,.pf-btn-icon{transition:transform .3s ease,background .25s,color .25s}
.pf-btn-icon:hover{transform:rotate(90deg)}

/* Cintas y etiquetas con una leve entrada */
.pf-badge-tipo,.pf-tag{animation:pfFadeIn .4s ease both}

/* Estrellas de calificación: pequeño brillo al cargar */
.pf-card-rating .stars,.pf-opinion-card .stars{animation:pfFadeIn .5s ease both}

/* Barra de categorías activa con transición más viva */
.pf-cat-btn{transition:all .3s cubic-bezier(.22,1,.36,1)}
.pf-cat-btn.active{transform:scale(1.04)}

@media(prefers-reduced-motion:reduce){
  .pf-hero::before,.pf-hero::after,.pf-hero h1 em,.pf-btn-primary,.pf-hero-particles span{animation:none!important}
}
