/* ============================================================
   AURA — bienestar & cuidado personal (demo aislada)
   Plantilla page-aura · clase de cuerpo .aura-frame
   ============================================================ */
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:400;
	src:url('fonts/aura/cormorant/cormorant-400.woff2') format('woff2'); font-display:swap; }
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:500;
	src:url('fonts/aura/cormorant/cormorant-500.woff2') format('woff2'); font-display:swap; }
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:600;
	src:url('fonts/aura/cormorant/cormorant-600.woff2') format('woff2'); font-display:swap; }
@font-face { font-family:'Work Sans'; font-style:normal; font-weight:400;
	src:url('fonts/aura/worksans/worksans-400.woff2') format('woff2'); font-display:swap; }
@font-face { font-family:'Work Sans'; font-style:normal; font-weight:500;
	src:url('fonts/aura/worksans/worksans-500.woff2') format('woff2'); font-display:swap; }
@font-face { font-family:'Work Sans'; font-style:normal; font-weight:600;
	src:url('fonts/aura/worksans/worksans-600.woff2') format('woff2'); font-display:swap; }

.aura-frame {
	--a-bone:#FBF8F2;	--a-ivory:#F1ECE1;	--a-sand:#E4DCCB;	--a-stone:#C4BCAD;
	--a-sage:#93A58F;	--a-olive:#4E5B44;	--a-deep:#39422F;	--a-ink:#26281F;
	--a-soft:#7E7A6E;	--a-line:#DDD5C6;	--a-accent:#6E7F5E;	--a-mist:#EEF0E9;
	--a-font-display:'Cormorant Garamond', Georgia, serif;
	--a-font-body:'Work Sans', -apple-system, 'Helvetica Neue', Arial, sans-serif;
	--a-gut:clamp(1.15rem,4vw,3rem);
	--a-read:720px;
	--a-wide:1240px;
	--a-radius:14px;
}
.aura-frame, .aura-frame body { background:var(--a-bone); color:var(--a-ink); }
.aura-frame body { font-family:var(--a-font-body); font-weight:400; line-height:1.68; font-size:1rem; -webkit-font-smoothing:antialiased; }
@media (prefers-reduced-motion:reduce){ .aura-frame *, .aura-frame *::before, .aura-frame *::after{ animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* ---------- Tipografía básica ---------- */
.aura-frame h1,.aura-frame h2,.aura-frame h3,.aura-frame h4,
.aura-frame .is-layout-flex h1,.aura-frame .is-layout-flex h2,
.aura-frame .is-layout-flex h3,.aura-frame .is-layout-flex h4{ font-family:var(--a-font-display); font-weight:500; color:var(--a-ink); letter-spacing:-.005em; }
.aura-frame h1{ font-size:clamp(2.8rem,7.5vw,5.6rem); line-height:.98; }
.aura-frame h2{ font-size:clamp(2rem,4.5vw,3.2rem); line-height:1.04; }
.aura-frame h3{ font-size:clamp(1.3rem,2.4vw,1.7rem); line-height:1.12; }
.aura-frame p{ margin-block:.9rem; }
.aura-frame a{ color:inherit; text-decoration-thickness:1px; text-underline-offset:3px; transition:color .2s,border-color .2s; }
.aura-frame a:hover{ color:var(--a-olive); }
.aura-frame .aura-kicker{ font-family:var(--a-font-body); font-size:.74rem; font-weight:600;
	letter-spacing:.26em; text-transform:uppercase; color:var(--a-olive); margin:0 0 1rem; display:block; }
.aura-frame .aura-lede{ font-size:1.06rem; line-height:1.7; color:var(--a-ink); max-width:42rem; }
.aura-frame .aura-muted{ color:var(--a-soft); }

/* ---------- Contenedores ---------- */
.aura-frame .aura-main .wp-block-group{ max-width:none; }
.aura-frame .aura-main .alignwide{ margin-inline:auto; }
.aura-frame .aura-shell{ max-width:var(--a-wide); margin-inline:auto; padding-inline:var(--a-gut); }
.aura-frame .aura-sect{ padding-block:clamp(3.5rem,8vw,6.5rem); }
.aura-frame .aura-sect.has-background{ padding-block:0; }

/* ---------- Botones ---------- */
.aura-frame .aura-btn, .aura-frame .wp-block-button .wp-element-button{
	font-family:var(--a-font-body); display:inline-block; font-size:.8rem; font-weight:600;
	letter-spacing:.14em; text-transform:uppercase; text-decoration:none; line-height:1;
	padding:1.05rem 1.8rem; border-radius:999px; cursor:pointer; border:1px solid transparent;
	transition:background .2s,color .2s,border-color .2s,box-shadow .2s; }
.aura-frame .wp-block-button .wp-element-button{ background:var(--a-deep); color:var(--a-bone); }
.aura-frame .wp-block-button .wp-element-button:hover{ background:var(--a-olive); color:var(--a-bone); }
.aura-frame .wp-block-button.is-style-outline .wp-element-button{ background:transparent; color:var(--a-ink); border-color:var(--a-softe); }
.aura-frame .wp-block-button.is-style-outline .wp-element-button:hover{ border-color:var(--a-olive); color:var(--a-olive); background:transparent; }
.aura-frame .aura-btn.aura-btn-solid{ background:var(--a-deep); color:var(--a-bone); }
.aura-frame .aura-btn.aura-btn-solid:hover{ background:var(--a-olive); color:var(--a-bone); }
.aura-frame .aura-btn.aura-btn-ghost{ background:transparent; color:var(--a-ink); border:1px solid var(--a-stone); }
.aura-frame .aura-btn.aura-btn-ghost:hover{ border-color:var(--a-olive); color:var(--a-olive); }
.aura-frame .aura-btn.aura-btn-clear{ background:transparent; color:var(--a-soft); border:1px solid var(--a-line); }
.aura-frame .aura-btn.aura-btn-clear:hover{ border-color:var(--a-accent); color:var(--a-accent); }
a.aura-btn.aura-btn-solid{ color:var(--a-bone); }

/* ---------- Header ---------- */
.aura-header{ background:var(--a-bone); border-bottom:1px solid var(--a-line); position:relative; z-index:50; }
.aura-header-inner{ max-width:var(--a-wide); margin-inline:auto; padding:.9rem var(--a-gut); align-items:center; }
.aura-brand{ align-items:baseline; column-gap:1.05rem; }
.aura-wordmark{ margin:0; font-family:var(--a-font-display); font-weight:500; font-size:1.9rem; line-height:1; letter-spacing:.16em; }
.aura-wordmark a{ text-decoration:none; }
.aura-wordmark a:hover{ color:var(--a-ink); }
.aura-wordmark-mark{ color:var(--a-olive); font-family:var(--a-font-body); font-weight:600; font-size:.82rem; letter-spacing:0; position:relative; top:-.9em; }
.aura-tagline{ margin:0; font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--a-soft); }
.aura-nav{ column-gap:1.5rem; row-gap:.4rem; }
.aura-navlink{ margin:0; }
.aura-navlink a{ font-size:.78rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; color:var(--a-ink); padding-block:.2rem; border-bottom:1px solid transparent; }
.aura-navlink a:hover{ color:var(--a-olive); border-color:var(--a-olive); }
.aura-header-inner{ justify-content:flex-start; }
.aura-frame .aura-header-inner{ column-gap:2rem; }
.aura-frame .aura-actions{ margin-left:auto; }
.aura-cat-strip{ background:var(--a-ivory); border-bottom:1px solid var(--a-line); padding-block:.6rem; }
.aura-cat-strip p{ margin:0; }
.aura-cat-strip a{ display:inline-flex; align-items:center; gap:.5rem; font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; color:var(--a-olive); }
.aura-cat-strip a:hover{ color:var(--a-ink); }
.aura-actions{ column-gap:1.2rem; align-items:center; }
.aura-cart-link{ margin:0; }
.aura-cart-link a{ font-size:.8rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; color:var(--a-ink); }
.aura-cart-link a:hover{ color:var(--a-olive); }
.aura-frame .aura-cart-link a{ display:inline-flex; align-items:center; }
.aura-frame .aura-cart-icon{ display:inline-flex; align-items:center; line-height:0; }
.aura-cart-count{ display:inline-block; background:var(--a-olive); color:var(--a-bone); font-size:.68rem; font-weight:600; line-height:1; padding:.34em .55em; border-radius:999px; vertical-align:middle; }
.aura-nav-toggle{ display:none; }
@media(min-width:1081px){
	.aura-frame .aura-header .aura-nav-toggle{ display:none; }
	.aura-frame .aura-cart-icon svg{ width:22px; height:22px; }
	.aura-frame .aura-cart-link a{ gap:.55rem; font-size:.85rem; }
	.aura-frame .aura-cart-label{ display:inline; text-transform:uppercase; letter-spacing:.12em; font-weight:600; color:var(--a-ink); }
}

/* ---------- Footer ---------- */
.aura-footer{ background:var(--a-deep); color:#EDECEC; margin-top:0; }
.aura-footer-inner{ padding-block:clamp(3rem,6vw,4.6rem) 2rem; }
.aura-footer .aura-wordmark{ color:#F1ECE1; }
.aura-footer .aura-wordmark-mark{ color:var(--a-sage); }
.aura-footer .aura-brand{ align-items:flex-start; flex-direction:column; row-gap:.8rem; }
.aura-footer-tag{ color:#C9C9C2; font-size:.95rem; max-width:20rem; }
.aura-foot-title{ margin:0 0 .9rem; font-family:var(--a-font-body); font-size:.74rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--a-sage); }
.aura-foot-links{ row-gap:.5rem; }
.aura-foot-link{ margin:0; }
.aura-foot-link a{ font-size:.92rem; color:#EDECEC; text-decoration:none; }
.aura-foot-link a:hover{ color:#fff; text-decoration:underline; }
.aura-foot-rule{ margin:2.4rem 0 1.4rem; border:0; border-top:1px solid rgba(237,236,236,.16); }
.aura-foot-bottom{ row-gap:.5rem; }
.aura-foot-copy,.aura-foot-demo{ margin:0; font-size:.8rem; color:#B9B9B2; }
.aura-demo-tag{ color:var(--a-sage); font-size:.8rem; font-style:normal; }
.aura-footer-back{ border-bottom:1px solid rgba(237,236,236,.16); padding-bottom:1.4rem; margin-bottom:clamp(2rem,4vw,2.8rem); }
.aura-backlink{ margin:0; }
.aura-backlink a{ font-family:var(--a-font-body); font-size:.82rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; color:var(--a-sage); display:inline-flex; align-items:center; gap:.55rem; }
.aura-backlink a:hover{ color:#fff; text-decoration:underline; }
.aura-frame .aura-footer-cols{ gap:clamp(1.6rem,4vw,3rem); align-items:flex-start; }

/* ---------- Focus / accesibilidad ---------- */
.aura-frame a:focus-visible,.aura-frame button:focus-visible,
.aura-frame .wp-block-button__link:focus-visible{ outline:2px solid var(--a-olive); outline-offset:2px; border-radius:4px; }
.aura-frame .aura-field input:focus-visible,.aura-frame .aura-field select:focus-visible,
.aura-frame .aura-field textarea:focus-visible{ outline:3px solid var(--a-olive); outline-offset:2px; box-shadow:0 0 0 1px var(--a-olive) inset; }

/* ---------- Aparición por scroll ---------- */
.aura-frame .aura-reveal{ }
.aura-frame.js .aura-reveal{ opacity:1; transform:none; }
.aura-frame.js .aura-reveal:not(.is-in){ opacity:0; transform:translateY(14px); }

/* ---------- Lightbox ---------- */
.aura-frame .aura-lightbox{ position:fixed; inset:0; background:rgba(37,40,30,.9); display:flex; align-items:center; justify-content:center; z-index:200; padding:2rem; }
.aura-frame .aura-lightbox img{ max-width:92vw; max-height:88vh; object-fit:contain; border-radius:6px; }
.aura-frame .aura-lb-close{ position:absolute; top:1.1rem; right:1.1rem; background:transparent; color:#fff; border:1px solid rgba(255,255,255,.4); font-size:1.7rem; line-height:1; width:2.6rem; height:2.6rem; border-radius:999px; cursor:pointer; }
.aura-frame .aura-lb-close:hover{ color:var(--a-sage); border-color:var(--a-sage); }

/* ---------- Hero / home ---------- */
.aura-frame .aura-hero{ position:relative; padding-block:clamp(2.6rem,7vw,5rem); overflow:hidden; }
.aura-frame .aura-hero-media{ position:relative; border-radius:var(--a-radius); overflow:hidden; }
.aura-frame .aura-hero-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.aura-frame .aura-home-band{ background:var(--a-ivory); }
.aura-frame .aura-band-invert{ background:var(--a-olive); color:#EDECEC; }
.aura-frame .aura-band-invert h1,.aura-frame .aura-band-invert h2,.aura-frame .aura-band-invert h3{ color:#F4F0E8; }
.aura-frame .aura-band-invert .aura-kicker{ color:var(--a-sage); }

/* ---------- Secciones de páginas ---------- */
.aura-frame .aura-page-head{ padding-block:clamp(3rem,7vw,5.5rem) clamp(1.6rem,4vw,3rem); max-width:var(--a-wide); }
.aura-frame .aura-page-head h1{ font-size:clamp(2.6rem,6.5vw,4.6rem); }
.aura-frame .aura-page-head p{ max-width:44rem; color:var(--a-soft); }
.aura-frame .aura-band{ padding-block:clamp(2.8rem,6vw,5rem); }
.aura-frame .aura-band-bone{ background:var(--a-ivory); }
.aura-frame .aura-band-deep{ background:var(--a-deep); color:#EDECEC; }
.aura-frame .aura-band-deep h1,.aura-frame .aura-band-deep h2,.aura-frame .aura-band-deep h3{ color:#F4F0E8; }
.aura-frame .aura-band-deep p{ color:rgba(244,240,232,.86); }
.aura-frame .aura-on-deep{ color:#E7E2D6 !important; }
.aura-frame .aura-band-cta{ text-align:center; background:var(--a-sage); }
.aura-frame .aura-cta-inner{ max-width:44rem; margin-inline:auto; }
.aura-frame .aura-cta-inner h2{ color:var(--a-deep); }
.aura-frame .aura-cta-inner p{ color:rgba(38,40,31,.78); }
.aura-frame .aura-eyebrow{ font-size:clamp(1.6rem,3.4vw,2.3rem); }
.aura-frame .aura-note{ color:var(--a-soft); }
.aura-frame .aura-collections-head{ align-items:center; margin-bottom:1.8rem; }

/* Hero (home) */
.aura-frame .aura-hero-grid{ display:grid; gap:clamp(1.8rem,5vw,3.5rem); align-items:center; grid-template-columns:1fr; }
.aura-frame .aura-hero-copy{ }
.aura-frame .aura-hero-title{ font-size:clamp(2.8rem,7.5vw,5.6rem); margin:0 0 .6rem; }
.aura-frame .aura-lead{ font-size:1.06rem; line-height:1.7; color:var(--a-ink); max-width:32rem; }
.aura-frame .aura-hero-img{ border-radius:var(--a-radius); overflow:hidden; }
.aura-frame .aura-hero-img img{ width:100%; display:block; }
@media(min-width:840px){ .aura-frame .aura-hero-grid{ grid-template-columns:1.05fr 1fr; } }

/* Tarjeta base */
.aura-frame .aura-card{ }
.aura-frame .aura-card img{ width:100%; display:block; border-radius:var(--a-radius); }
.aura-frame .aura-card-cat{ font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--a-olive); margin:.9rem 0 .2rem; font-weight:600; }
.aura-frame .aura-card-linkc{ margin:1.1rem 0 0; }
.aura-frame .aura-card-linkc a{ font-size:.8rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; color:var(--a-ink); }
.aura-frame .aura-card-linkc a:hover{ color:var(--a-olive); }

/* Editorial */
.aura-frame .aura-editorial-copy{ }
.aura-frame .aura-steps{ margin-top:1rem; }
.aura-frame .aura-step{ display:flex; gap:1.1rem; align-items:flex-start; padding-block:.9rem; border-top:1px solid var(--a-line); }
.aura-frame .aura-step b{ font-family:var(--a-font-display); font-weight:600; font-size:1.5rem; color:var(--a-olive); line-height:1; min-width:2.4rem; }
.aura-frame .aura-step small{ display:block; color:var(--a-soft); font-size:.82rem; }
.aura-frame .aura-step p:last-child{ margin:0; font-size:.95rem; }

/* Ingredientes */
.aura-frame .aura-ingered{ display:grid; gap:clamp(1.6rem,4vw,3rem); align-items:center; grid-template-columns:1fr; }
.aura-frame .aura-ing-img{ border-radius:var(--a-radius); overflow:hidden; }
.aura-frame .aura-ing-img img{ width:100%; display:block; }
.aura-frame .aura-ing-copy .wp-block-list li{ margin-block:.3rem; }
@media(min-width:840px){ .aura-frame .aura-ingered{ grid-template-columns:1fr 1.2fr; } }

/* Journal */
.aura-frame .aura-journal-tease{ display:grid; gap:1.6rem; grid-template-columns:1fr; }
.aura-frame .aura-ju-card{ border-top:1px solid var(--a-line); padding-top:1.2rem; }
.aura-frame .aura-ju-cat{ font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--a-olive); font-weight:600; margin:0 0 .5rem; }
.aura-frame .aura-ju-card h2,.aura-frame .aura-ju-card h3{ font-size:1.5rem; margin:.2rem 0 .6rem; }
.aura-frame .aura-ju-card p{ color:var(--a-soft); }
@media(min-width:720px){ .aura-frame .aura-journal-tease{ grid-template-columns:repeat(2,1fr);} }
@media(min-width:1000px){ .aura-frame .aura-journal-tease{ grid-template-columns:repeat(4,1fr);} }

/* Colecciones (3 familias) */
.aura-frame .aura-coll-grid{ display:grid; gap:1.4rem; grid-template-columns:1fr; }
.aura-frame .aura-coll-card{ position:relative; border-radius:var(--a-radius); overflow:hidden; text-decoration:none; display:block; }
.aura-frame .aura-coll-card img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.aura-frame .aura-coll-card:hover img{ transform:scale(1.04); }
.aura-frame .aura-coll-cap{ position:absolute; inset:auto 0 0; padding:1.4rem 1.5rem; background:linear-gradient(transparent,rgba(26,29,22,.65)); color:#fff; }
.aura-frame .aura-coll-cap h3{ color:#fff; margin:0 0 .2rem; }
.aura-frame .aura-coll-cap p{ margin:0; font-size:.86rem; color:rgba(255,255,255,.88); }

/* Destacados / productos */
.aura-frame .aura-col-grid{ display:grid; gap:1.6rem; grid-template-columns:1fr; }
.aura-frame .aura-col-grid .aura-col-card{ border-radius:var(--a-radius); overflow:hidden; background:var(--a-ivory); padding:1.4rem; border:1px solid var(--a-line); }
.aura-frame .aura-col-grid > *, .aura-frame .aura-product-grid > *, .aura-frame .aura-journal-tease > *, .aura-frame .aura-hero-grid > *{ margin-top:0; }
@media(min-width:720px){ .aura-frame .aura-col-grid{ grid-template-columns:repeat(3,1fr);} }
.aura-frame .aura-product-grid{ display:grid; gap:1.6rem; grid-template-columns:repeat(2,1fr); }
.aura-frame .aura-product-card{ border-radius:var(--a-radius); display:flex; flex-direction:column; }
.aura-frame .aura-product-thumb{ border-radius:var(--a-radius); overflow:hidden; aspect-ratio:1/1; background:var(--a-ivory); }
.aura-frame .aura-product-thumb img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.aura-frame .aura-product-card:hover .aura-product-thumb img{ transform:scale(1.05); }
.aura-frame .aura-product-name{ font-family:var(--a-font-display); font-weight:500; font-size:1.28rem; margin:.85rem 0 .1rem; color:var(--a-ink); }
.aura-frame .aura-product-cat{ font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--a-soft); margin:0; }
.aura-frame .aura-product-price{ font-weight:600; color:var(--a-olive); margin:.2rem 0 0; }
.aura-frame .aura-product-link{ font-size:.84rem; font-weight:600; letter-spacing:.06em; text-decoration:none; color:var(--a-ink); position:relative; }
.aura-frame .aura-product-link:hover{ color:var(--a-olive); }

/* Editorial (ritos) */
.aura-frame .aura-editorial{ display:grid; gap:2.5rem; align-items:center; grid-template-columns:1fr; }
.aura-frame .aura-editorial img{ border-radius:var(--a-radius); width:100%; display:block; }
.aura-frame .aura-step{ display:flex; gap:1.1rem; align-items:flex-start; padding-block:.9rem; border-top:1px solid var(--a-line); }
.aura-frame .aura-step b{ font-family:var(--a-font-display); font-weight:600; font-size:1.5rem; color:var(--a-olive); line-height:1; min-width:2.4rem; }
.aura-frame .aura-step p{ margin:0; }
.aura-frame .aura-step small{ display:block; color:var(--a-soft); }

/* ---------- Catálogo (tienda) ---------- */
.aura-frame .aura-catalog-toolbar{ display:flex; flex-wrap:wrap; gap:.55rem; align-items:center; margin:0 0 1.6rem; }
.aura-frame .aura-fil-group{ margin:0 .35rem 0 .2rem; font-size:.66rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--a-soft); white-space:nowrap; }
.aura-frame .aura-chip{ margin:0; padding:0; }
.aura-frame .aura-chip .wp-block-button__link{ font-family:var(--a-font-body); font-size:.76rem; font-weight:600; letter-spacing:.05em; line-height:1;
	background:var(--a-bone); color:var(--a-ink); border:1px solid var(--a-line); border-radius:999px;
	padding:.6rem 1.1rem; cursor:pointer; margin:0; white-space:nowrap; box-shadow:0 1px 2px rgba(30,32,24,.05);
	transition:border-color .22s ease, background-color .22s ease, color .22s ease, transform .14s ease, box-shadow .22s ease; }
.aura-frame .aura-chip .wp-block-button__link:hover{ border-color:var(--a-olive); color:var(--a-olive); background-color:var(--a-bone); transform:translateY(-1px); box-shadow:0 5px 14px rgba(30,32,24,.1); }
.aura-frame .aura-chip .wp-block-button__link:active{ transform:scale(.96); }
.aura-frame .aura-chip .wp-block-button__link:focus-visible{ outline:2px solid var(--a-olive); outline-offset:2px; }
.aura-frame .aura-chip.is-active .wp-block-button__link{ background:var(--a-deep); border-color:var(--a-deep); color:#fff; box-shadow:0 4px 14px rgba(57,66,47,.32); }
.aura-frame .aura-chip.is-active .wp-block-button__link:hover{ color:#fff; border-color:var(--a-olive); }
.aura-frame .aura-count{ font-size:.84rem; color:var(--a-soft); margin-left:auto; }
.aura-frame .aura-catalog-grid{ display:grid; gap:1.5rem 1.4rem; grid-template-columns:repeat(2,1fr); }
.aura-frame .aura-catalog-grid > .aura-product-card, .aura-frame .aura-product-grid > .aura-product-card{ margin-top:0; }
.aura-frame .aura-catalog-empty{ background:var(--a-ivory); border:1px dashed var(--a-stone); border-radius:var(--a-radius); padding:3rem 1.5rem; text-align:center; display:none; }
.aura-frame .aura-catalog-empty.is-shown{ display:block; }
.aura-frame .aura-catalog-empty p{ margin-bottom:.2rem; }

/* ---------- Ficha de producto ---------- */
.aura-frame .aura-ficha{ display:grid; gap:clamp(1.8rem,5vw,4rem); grid-template-columns:1fr; }
.aura-frame .aura-gallery{ position:relative; }
.aura-frame .aura-gal-main{ border-radius:var(--a-radius); overflow:hidden; background:var(--a-ivory); cursor:zoom-in; }
.aura-frame .aura-gal-main img{ width:100%; display:block; }
.aura-frame .aura-gal-thumbs{ margin-top:.7rem; gap:.6rem; }
.aura-frame .aura-gal-thumb{ width:4.2rem; height:4.2rem; border-radius:9px; overflow:hidden; cursor:pointer; border:1px solid transparent; opacity:.7; transition:opacity .2s,border-color .2s; }
.aura-frame .aura-gal-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.aura-frame .aura-gal-thumb.is-active{ opacity:1; border-color:var(--a-olive); }
.aura-frame .aura-ficha-info{} 
.aura-frame .aura-price{ font-size:1.6rem; font-weight:600; color:var(--a-deep); margin:.5rem 0 1.2rem; }
.aura-frame .aura-ficha-extra{ font-size:.9rem; color:var(--a-ink); }
.aura-frame .aura-rule{ border:0; border-top:1px solid var(--a-line); margin:1.2rem 0; }
.aura-frame .aura-variant-row,.aura-frame .aura-buyrow{ row-gap:.6rem; align-items:center; }
.aura-frame .aura-variant{ }
.aura-frame .aura-variant .wp-element-button{ min-width:2.9rem; padding:.8rem .2rem; text-align:center; background:var(--a-bone); color:var(--a-ink); border:1px solid var(--a-line); border-radius:9px; font-size:.9rem; letter-spacing:0; text-transform:none; }
.aura-frame .aura-variant.is-active .wp-element-button, .aura-frame .aura-variant .wp-element-button:hover{ background:var(--a-deep); color:#fff; border-color:var(--a-deep); }
.aura-frame .aura-qty{ align-items:center; }
.aura-frame .aura-qty .wp-element-button{ min-width:2.6rem; padding:.72rem .2rem; text-align:center; background:var(--a-bone); color:var(--a-ink); border:1px solid var(--a-line); border-radius:9px; font-size:1.15rem; letter-spacing:0; text-transform:none; }
.aura-frame .aura-qty .wp-element-button:hover{ border-color:var(--a-olive); color:var(--a-olive); }
.aura-frame .aura-qty-num{ margin:0; min-width:2.4rem; text-align:center; font-weight:600; }
.aura-frame .aura-add{ }
.aura-frame .aura-add-msg{ font-size:.88rem; font-weight:600; color:var(--a-accent); margin:0 0 0 .6rem; }
.aura-frame .aura-specs{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--a-line); border:1px solid var(--a-line); border-radius:9px; overflow:hidden; margin-top:1.4rem; }
.aura-frame .aura-spec{ background:var(--a-bone); padding:.8rem 1rem; }
.aura-frame .aura-spec small{ color:var(--a-soft); display:block; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; }
.aura-frame .aura-spec b{ font-weight:600; font-size:.95rem; }
.aura-frame .aura-related{ margin-top:clamp(3rem,6vw,4.5rem); padding-top:0; }
.aura-related .aura-kicker{ }

/* ---------- Carrito ---------- */
.aura-frame .aura-cart-table{ width:100%; border-collapse:collapse; background:var(--a-bone); }
.aura-frame .aura-cart-head th{ text-align:left; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--a-soft); padding:.7rem .4rem; border-bottom:1px solid var(--a-line); }
.aura-frame .aura-cart-row td{ padding:1rem .4rem; border-bottom:1px solid var(--a-line); vertical-align:middle; }
.aura-frame .aura-cart-item{ display:flex; gap:1rem; align-items:center; }
.aura-frame .aura-cart-thumb{ width:4.4rem; height:4.4rem; object-fit:cover; border-radius:9px; }
.aura-frame .aura-cart-name{ margin:0; font-weight:600; }
.aura-frame .aura-cart-variant{ margin:0; font-size:.82rem; color:var(--a-soft); }
.aura-frame .aura-cart-price,.aura-frame .aura-cart-line{ white-space:nowrap; }
.aura-frame .aura-cart-qty{ display:inline-flex; align-items:center; gap:.4rem; }
.aura-frame .aura-cart-qty button{ width:2rem; height:2rem; border-radius:8px; border:1px solid var(--a-line); background:var(--a-bone); cursor:pointer; font-size:1.05rem; line-height:1; }
.aura-frame .aura-cart-qty button:hover{ border-color:var(--a-olive); color:var(--a-olive); }
.aura-frame .aura-cart-qnum{ min-width:1.5rem; text-align:center; font-weight:600; }
.aura-frame .aura-cart-remove{ background:transparent; border:0; color:var(--a-soft); text-decoration:underline; cursor:pointer; font-size:.82rem; }
.aura-frame .aura-cart-remove:hover{ color:var(--a-deep); }
.aura-frame .aura-cart-foot{ display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:space-between; margin-top:1.6rem; }
.aura-frame .aura-cart-total{ margin:0; font-size:1.2rem; font-weight:600; }
.aura-frame .aura-cart-total small{ color:var(--a-soft); font-weight:400; font-size:.8rem; }
.aura-frame .aura-total-val{ color:var(--a-deep); }
.aura-frame .aura-cart-actions{ display:flex; gap:.7rem; flex-wrap:wrap; }
.aura-frame .aura-cart-empty{ background:var(--a-ivory); border:1px dashed var(--a-stone); border-radius:var(--a-radius); padding:3.2rem 1.5rem; text-align:center; }
.aura-frame .aura-cart-empty h3{ margin:0 0 .4rem; }

/* ---------- Compra (checkout demo) ---------- */
.aura-frame .aura-sim-note{ font-size:.86rem; color:var(--a-soft); border:1px solid var(--a-line); border-left:3px solid var(--a-sage); background:var(--a-ivory); padding:.8rem 1rem; border-radius:6px; margin:0 0 1.6rem; }
.aura-frame .aura-checkout-layout{ display:grid; gap:2rem; grid-template-columns:1fr; }
.aura-frame .aura-checkout-form{ }
.aura-frame .aura-field{ display:flex; flex-direction:column; gap:.35rem; }
.aura-frame .aura-field label{ font-size:.78rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.aura-frame .aura-field input,.aura-frame .aura-field select,.aura-frame .aura-field textarea{ border:1px solid var(--a-line); background:#fff; color:var(--a-ink); border-radius:10px; padding:.85rem 1rem; font-family:var(--a-font-body); font-size:.96rem; width:100%; box-sizing:border-box; }
.aura-frame .aura-field input:focus,.aura-field select:focus,.aura-frame .aura-field textarea:focus{ outline:none; border-color:var(--a-olive); }
.aura-frame .aura-field .aura-errmsg{ display:none; font-size:.78rem; color:#A33; }
.aura-frame .aura-field.err .aura-errmsg{ display:block; }
.aura-frame .aura-field.err input{ border-color:#B3553F; }
.aura-frame .aura-checkout-msg{ color:var(--a-accent); font-weight:600; margin:1rem 0 0; }
.aura-frame .aura-checkout-msg:empty{ display:none; }
.aura-frame .aura-final{ display:none; background:var(--a-ivory); border:1px solid var(--a-line); border-radius:var(--a-radius); padding:1.6rem; }
.aura-frame .aura-final.is-shown{ display:block; }
.aura-frame .aura-final-lines{ }
.aura-frame .aura-final-line{ display:flex; justify-content:space-between; gap:1rem; padding:.5rem 0; border-bottom:1px solid var(--a-line); font-size:.94rem; }
.aura-frame .aura-final-total{ display:flex; justify-content:space-between; font-weight:700; margin-top:.8rem; font-size:1.05rem; }
.aura-frame .aura-cart-summary{ background:var(--a-ivory); border:1px solid var(--a-line); border-radius:var(--a-radius); padding:1.4rem; align-self:start; }
.aura-frame .aura-cart-summary h3{ margin:0 0 .8rem; font-size:1.2rem; }
.aura-frame .aura-sum-line{ display:flex; justify-content:space-between; gap:1rem; font-size:.94rem; padding-block:.4rem; border-bottom:1px solid var(--a-line); }
.aura-frame .aura-sum-total{ display:flex; justify-content:space-between; font-weight:700; margin-top:.7rem; }

/* ---------- Contacto ---------- */
.aura-frame .aura-contact-grid{ display:grid; gap:2.5rem; }
.aura-frame .aura-info-block{ border-top:1px solid var(--a-line); padding-block:1rem; }
.aura-frame .aura-info-block small{ display:block; color:var(--a-soft); text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; margin-bottom:.2rem; }
.aura-frame .aura-info-block p{ margin:0; }

/* ---------- Responsive ---------- */
@media(min-width:720px){ .aura-frame .aura-coll-grid{ grid-template-columns:repeat(3,1fr);} }
@media(min-width:720px){ .aura-frame .aura-product-grid{ grid-template-columns:repeat(3,1fr);} }
@media(min-width:720px){ .aura-frame .aura-catalog-grid{ grid-template-columns:repeat(3,1fr);} }
@media(min-width:1000px){ .aura-frame .aura-catalog-grid{ grid-template-columns:repeat(4,1fr);} }
@media(min-width:840px){ .aura-frame .aura-ficha{ grid-template-columns:1fr 1fr; } }
@media(min-width:840px){ .aura-frame .aura-editorial{ grid-template-columns:1.4fr 1fr; } }
@media(min-width:840px){ .aura-frame .aura-checkout-layout{ grid-template-columns:1.4fr 1fr; } }
@media(min-width:840px){ .aura-frame .aura-contact-grid{ grid-template-columns:1.4fr 1fr; } }
@media(max-width:1080px){
	.aura-frame .aura-nav{ position:absolute; top:100%; left:0; right:0; background:var(--a-bone); border-bottom:1px solid var(--a-line);
		flex-direction:column; align-items:flex-start; gap:1rem; padding:1.1rem var(--a-gut); display:none; box-shadow:0 18px 30px rgba(30,32,24,.08); }
	.aura-frame .aura-header.aura-nav-open .aura-nav{ display:flex; }
	.aura-frame .aura-nav-toggle{ display:inline-block; }
	.aura-frame .aura-header .aura-actions{ column-gap:.9rem; }
	.aura-frame .aura-cart-label{ display:none; }
}
.aura-frame .aura-header.aura-nav-open .aura-nav-toggle .wp-element-button{ background:var(--a-olive); color:#fff; border-color:var(--a-olive); }
@media(max-width:520px){
	.aura-frame .aura-brand .aura-tagline{ display:none; }
	.aura-frame .aura-cart-link a{ font-size:.74rem; }
	.aura-frame .aura-header .aura-actions{ column-gap:.6rem; }
	.aura-frame .aura-header-inner{ column-gap:.8rem; }
}

/* ---------- Contacto (demo) ---------- */
.aura-frame .aura-contact-form{ display:grid; gap:1.1rem; }
.aura-frame .aura-demo-note{ font-size:.85rem; color:var(--a-soft); border:1px solid var(--a-line); border-left:3px solid var(--a-sage); background:var(--a-ivory); padding:.8rem 1rem; border-radius:6px; }
.aura-frame .aura-product-name a{ color:inherit; text-decoration:none; }
.aura-frame .aura-product-name a:hover{ color:var(--a-olive); text-decoration:underline; }

/* ==========================================================================
   AURA — REWORK "CALMA LUMINOSA": botones con floración, entradas con desenfoque
   que se aclara, tarjetas que respiran y cabecera compacta.
   Movimiento solo bajo prefers-reduced-motion: no-preference.
   ========================================================================== */

/* ---- Cabecera compacta ---- */
.aura-cat-strip { padding-block: .3rem; }
.aura-cat-strip a { min-height: 32px; }
.aura-header-inner { padding-block: .6rem; }
.aura-frame .aura-header p { margin-block: 0; }
.aura-navlink a { display: inline-flex; align-items: center; min-height: 40px; }
.aura-frame .aura-cart-link a { min-height: 40px; }
.aura-frame .aura-nav-toggle .wp-element-button { min-height: 44px; min-width: 44px; }

/* ---- Botones: floración desde el centro, sin elevación ---- */
.aura-frame .wp-block-button .wp-element-button, .aura-frame .aura-btn {
	min-height: 46px; display: inline-flex; align-items: center; justify-content: center;
	background-repeat: no-repeat !important; background-position: 50% 50% !important;
	background-image: radial-gradient(circle closest-side, var(--a-olive) 96%, transparent 100%) !important;
	background-size: 0% 0% !important;
	transform: none !important;
	transition: background-size .9s cubic-bezier(.22,.61,.36,1), color .5s ease, border-color .5s ease, box-shadow .7s ease, translate .2s ease !important;
}
.aura-frame .wp-block-button .wp-element-button:hover, .aura-frame .wp-block-button .wp-element-button:focus-visible,
.aura-frame .aura-btn:hover, .aura-frame .aura-btn:focus-visible {
	background-size: 320% 320% !important; transform: none !important; box-shadow: 0 0 0 6px rgba(110,127,94,.16);
}
.aura-frame .aura-btn-ghost .wp-element-button, .aura-frame .wp-block-button.is-style-outline .wp-element-button {
	background-color: transparent; background-image: radial-gradient(circle closest-side, var(--a-deep) 96%, transparent 100%) !important;
}
.aura-frame .aura-btn-ghost .wp-element-button:hover, .aura-frame .aura-btn-ghost .wp-element-button:focus-visible,
.aura-frame .wp-block-button.is-style-outline .wp-element-button:hover { color: var(--a-bone); border-color: var(--a-deep); background-color: transparent; }
.aura-frame .wp-block-button .wp-element-button:active, .aura-frame .aura-btn:active { translate: 0 1px; }
.aura-frame .aura-chip .wp-block-button__link { min-height: 44px; }
.aura-frame .aura-chip .wp-block-button__link { background-image: none !important; box-shadow: none; }
.aura-frame .aura-chip .wp-block-button__link:hover { box-shadow: none; }

/* ---- Móvil ---- */
@media (max-width: 640px) {
	.aura-frame .aura-hero-grid { gap: 1.4rem; }
	.aura-frame .aura-hero-img img { aspect-ratio: 4 / 3; object-fit: cover; }
}

/* ---- Movimiento: calma luminosa ---- */
@media (prefers-reduced-motion: no-preference) {
	.au-w { display: inline-block; vertical-align: top; }
	html.au-m .au-wi { display: inline-block; opacity: 0; filter: blur(10px); translate: 0 .35em; transition: opacity 1.2s ease, filter 1.4s ease, translate 1.4s cubic-bezier(.22,.61,.36,1); transition-delay: calc(var(--i,0) * 110ms + 140ms); }
	html.au-m.au-in .au-wi { opacity: 1; filter: none; translate: 0 0; }
	html.au-m .aura-hero .aura-kicker, html.au-m .aura-hero .aura-lead, html.au-m .aura-hero .wp-block-buttons { opacity: 0; translate: 0 14px; transition: opacity 1.1s ease, translate 1.2s cubic-bezier(.22,.61,.36,1); }
	html.au-m.au-in .aura-hero .aura-kicker { opacity: 1; translate: 0 0; transition-delay: .1s; }
	html.au-m.au-in .aura-hero .aura-lead { opacity: 1; translate: 0 0; transition-delay: .8s; }
	html.au-m.au-in .aura-hero .wp-block-buttons { opacity: 1; translate: 0 0; transition-delay: 1s; }

	/* niebla que se aclara en imágenes y bloques */
	.aura-frame.js .aura-reveal:not(.is-in) { opacity: 0; transform: none; translate: 0 26px; filter: blur(8px); }
	.aura-frame.js .aura-reveal { transition: opacity 1.3s ease, translate 1.4s cubic-bezier(.22,.61,.36,1), filter 1.3s ease; transition-delay: calc(var(--i,0) * 130ms); }
	.aura-frame.js .aura-reveal.is-in { opacity: 1; translate: 0 0; filter: none; }
	html.au-m .aura-hero-img img { scale: 1.1; translate: 0 var(--au-py, 0px); transition: scale 2.6s cubic-bezier(.22,.61,.36,1); }
	html.au-m.au-in .aura-hero-img img { scale: 1; }

	/* tarjetas de catálogo: aparecen con suavidad al filtrar */
	.aura-frame .aura-product-card { animation: au-pop .8s cubic-bezier(.22,.61,.36,1) both; animation-delay: calc(var(--i,0) * 60ms); }
	@keyframes au-pop { from { opacity: 0; translate: 0 14px; scale: .98; } to { opacity: 1; translate: 0 0; scale: 1; } }

	@media (hover: hover) and (pointer: fine) {
		.aura-frame .aura-card figure, .aura-frame .aura-product-card figure { overflow: hidden; }
		.aura-frame .aura-card img, .aura-frame .aura-product-card img { transition: scale 1.4s cubic-bezier(.22,.61,.36,1); }
		.aura-frame .aura-card:hover img, .aura-frame .aura-product-card:hover img { scale: 1.05; }
	}
}

.aura-frame h1.aura-ficha-name { font-size: clamp(2rem, 4.5vw, 3.2rem); line-height: 1.04; }

.aura-header > * + * { margin-block-start: 0 !important; }

/* Las bandas a ancho completo contenían sus bloques en la columna de lectura (720px):
   hero, colecciones y editoriales quedaban estrechos. Se devuelven a la retícula ancha. */
.aura-frame main .alignfull.is-layout-constrained > .aura-hero-grid,
.aura-frame main .alignfull.is-layout-constrained > .aura-collections-head,
.aura-frame main .alignfull.is-layout-constrained > .aura-col-grid,
.aura-frame main .alignfull.is-layout-constrained > .aura-editorial,
.aura-frame main .alignfull.is-layout-constrained > .aura-ingered,
.aura-frame main .alignfull.is-layout-constrained > .aura-journal-tease,
.aura-frame main .alignfull.is-layout-constrained > .aura-cta-inner {
	max-width: var(--a-wide) !important; margin-inline: auto !important; width: 100%;
}
.aura-frame .aura-hero-grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
@media (max-width: 860px) { .aura-frame .aura-hero-grid { grid-template-columns: minmax(0, 1fr); } }
.aura-frame h1.aura-hero-title { font-size: clamp(2.6rem, 6vw, 5rem); }
/* El contenedor de contenido estaba limitado a 720px: las bandas a ancho completo no lo eran. */
.aura-frame .aura-main > .entry-content.wp-block-post-content {
	max-width: none !important; width: auto !important;
	margin-left: calc(-1 * var(--wp--style--root--padding-left, 0px)) !important;
	margin-right: calc(-1 * var(--wp--style--root--padding-right, 0px)) !important;
}
/* Fase 3 — objetivos táctiles: enlaces de cabecera, navegación, pie y títulos de tarjeta (mín. 36–44 px) */
body.page-template-page-aura header a, body.page-template-page-aura footer a, body.page-template-page-aura .wp-block-navigation-item__content { display: inline-flex; align-items: center; min-height: 36px; }
body.page-template-page-aura header .wp-block-navigation-item__content, body.page-template-page-aura header nav a { min-height: 44px; }
body.page-template-page-aura .wp-block-navigation__responsive-container-open, body.page-template-page-aura .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; }
body.page-template-page-aura [class*="-card-name"] a, body.page-template-page-aura [class*="-card-title"] a, body.page-template-page-aura [class*="-card"] h3 a { display: inline-block; padding-block: .4rem; }
body.page-template-page-aura { --cfx-ink:#26281F;--cfx-paper:#FBF8F2;--cfx-accent:#6E7F5E;--cfx-r:20px;--cfx-display:"Cormorant Garamond",serif; }

/* ==========================================================================
   CATÁLOGO — MOVIMIENTO DE PRODUCTO (AURA): inclinación con brillo, botón y visor de
   vista rápida, vuelo a la cesta y estados de enfoque. Solo bajo no-preference salvo lo estructural.
   ========================================================================== */
body.page-template-page-aura .cfx-media { position: relative; overflow: hidden; border-radius: var(--cfx-r, 12px); transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transform-style: preserve-3d; transition: transform .5s cubic-bezier(.22,.61,.36,1), box-shadow .5s ease; will-change: transform; }
body.page-template-page-aura .cfx-media::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0; background: radial-gradient(circle at var(--gx, 50%) var(--gy, 50%), rgba(255,255,255,.28), transparent 55%); transition: opacity .4s ease; mix-blend-mode: soft-light; }
@media (hover: hover) and (pointer: fine) {
	body.page-template-page-aura .aura-product-card:hover .cfx-media { box-shadow: 0 30px 50px -28px rgba(0,0,0,.45); }
	body.page-template-page-aura .aura-product-card:hover .cfx-media::after { opacity: 1; }
}
body.page-template-page-aura .cfx-qv-btn { position: absolute; z-index: 3; left: 50%; bottom: .8rem; translate: -50% 0; display: inline-flex; align-items: center; min-height: 44px; padding: 0 1.2rem; border: 0; border-radius: 999px; background: rgba(255,255,255,.94); color: var(--cfx-ink, #1b1b1b); font: 600 .74rem/1 inherit; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; opacity: 0; translate: -50% 12px; transition: opacity .35s ease, translate .5s cubic-bezier(.22,.61,.36,1), background-color .3s ease, color .3s ease; box-shadow: 0 10px 26px -10px rgba(0,0,0,.5); }
body.page-template-page-aura .aura-product-card:hover .cfx-qv-btn, body.page-template-page-aura .aura-product-card:focus-within .cfx-qv-btn, body.page-template-page-aura .cfx-qv-btn:focus-visible { opacity: 1; translate: -50% 0; }
body.page-template-page-aura .cfx-qv-btn:hover { background: var(--cfx-ink, #1b1b1b); color: #fff; }
body.page-template-page-aura .cfx-qv-btn:focus-visible { outline: 2px solid var(--cfx-accent, #b8793e); outline-offset: 3px; }
@media (hover: none) { body.page-template-page-aura .cfx-qv-btn { opacity: 1; translate: -50% 0; min-height: 40px; padding: 0 1rem; } }
html.cfx-lock { overflow: hidden; }
.cfx-qv { position: fixed; inset: 0; z-index: 300; display: grid; place-items: center; padding: clamp(.8rem, 3vw, 2rem); background: rgba(14,12,10,.7); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); opacity: 0; transition: opacity .45s ease; }
.cfx-qv[hidden] { display: none; } .cfx-qv.is-open { opacity: 1; }
.cfx-qv-box { position: relative; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); width: min(980px, 100%); max-height: calc(100svh - 2rem); overflow: auto; border-radius: calc(var(--cfx-r, 12px) * 2); background: var(--cfx-paper, #fff); color: var(--cfx-ink, #1b1b1b); box-shadow: 0 50px 100px -30px rgba(0,0,0,.7); }
.cfx-qv-img { min-height: 320px; background: #ddd; overflow: hidden; } .cfx-qv-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cfx-qv-info { display: flex; flex-direction: column; justify-content: center; gap: .6rem; padding: clamp(1.4rem, 4vw, 3rem); }
.cfx-qv-cat { margin: 0; font: 600 .7rem/1 inherit; letter-spacing: .18em; text-transform: uppercase; color: var(--cfx-accent, #b8793e); }
.cfx-qv-t { margin: 0; font: 500 clamp(1.7rem, 3.4vw, 2.6rem)/1.08 var(--cfx-display, inherit); letter-spacing: -.01em; color: inherit; }
.cfx-qv-p { margin: 0 0 1rem; font-size: 1.3rem; font-variant-numeric: tabular-nums; }
.cfx-qv-go { align-self: flex-start; display: inline-flex; align-items: center; gap: .9rem; min-height: 52px; padding: 0 .5rem 0 1.5rem; border-radius: 999px; background: var(--cfx-ink, #1b1b1b); color: #fff !important; text-decoration: none !important; font: 600 .82rem/1 inherit; letter-spacing: .04em; transition: box-shadow .4s ease; }
.cfx-qv-go i { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #fff; color: var(--cfx-ink, #1b1b1b); font-style: normal; transition: translate .4s cubic-bezier(.22,.61,.36,1); }
.cfx-qv-go:hover { box-shadow: 0 0 0 5px rgba(0,0,0,.12); } .cfx-qv-go:hover i { translate: 4px 0; }
.cfx-qv-x { position: absolute; z-index: 2; top: .8rem; right: .8rem; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255,255,255,.92); color: #1b1b1b; font-size: 1.5rem; line-height: 1; cursor: pointer; box-shadow: 0 8px 22px -8px rgba(0,0,0,.5); }
.cfx-qv-x:hover { background: #1b1b1b; color: #fff; } .cfx-qv a:focus-visible, .cfx-qv button:focus-visible { outline: 2px solid var(--cfx-accent, #b8793e); outline-offset: 3px; }
@media (max-width: 720px) { .cfx-qv-box { grid-template-columns: minmax(0, 1fr); } .cfx-qv-img { min-height: 240px; max-height: 38svh; } }
.cfx-fly { position: fixed; z-index: 400; pointer-events: none; border-radius: 50%; background-size: cover; background-position: center; box-shadow: 0 20px 40px -10px rgba(0,0,0,.5); border: 3px solid #fff; }
@media (prefers-reduced-motion: reduce) { body.page-template-page-aura .cfx-media { transform: none !important; transition: none; } .cfx-qv { transition: none; } }

/* ==========================================================================
   AURA — HERO "RITUAL": un arco de fotografía cambia con cada momento del ritual
   (prepara, nutre, ambienta); un anillo marca el tiempo de cada paso. Original de AURA.
   ========================================================================== */
.ax-wrap { padding: 0 !important; margin-block: 0 !important; }
.ax, .ax * { box-sizing: border-box; }
.ax { position: relative; background: var(--a-bone, #FBF8F2); color: var(--a-ink, #26281F); overflow: hidden; isolation: isolate; }
.ax-orb { position: absolute; z-index: -1; border-radius: 50%; filter: blur(60px); opacity: .55; pointer-events: none; }
.ax-orb--a { width: 28rem; height: 28rem; right: -6rem; top: -8rem; background: #dfe7d6; }
.ax-orb--b { width: 22rem; height: 22rem; left: -7rem; bottom: -6rem; background: #efe3cc; }
.ax-in { max-width: 1240px; margin-inline: auto; padding: clamp(2rem, 5vw, 4.4rem) var(--a-gut, 2rem) clamp(2.4rem, 5vw, 4.4rem); display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .9fr); gap: clamp(1.8rem, 5vw, 4.5rem); align-items: center; }
.ax-k { margin: 0 0 1.1rem; font: 600 .72rem/1 var(--a-font-body, sans-serif); letter-spacing: .22em; text-transform: uppercase; color: var(--a-olive, #4E5B44); }
.ax-title { margin: 0 0 1.1rem; font: 500 clamp(2.7rem, 5.8vw, 5.2rem)/.98 var(--a-font-display, serif); letter-spacing: -.012em; color: var(--a-ink, #26281F); text-wrap: balance; }
.ax-lede { margin: 0 0 1.6rem; max-width: 33rem; font-size: 1.08rem; line-height: 1.65; color: #5b5d50; }
.ax-steps { list-style: none; margin: 0 0 1.8rem; padding: 0; display: grid; gap: .5rem; max-width: 34rem; }
.ax-step { width: 100%; display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 1rem; align-items: center; padding: .55rem .9rem .55rem .55rem; text-align: left; background: transparent; border: 1px solid transparent; border-radius: 999px; color: inherit; font: inherit; cursor: pointer; transition: background-color .5s ease, border-color .5s ease; }
.ax-step:hover { border-color: var(--a-line, #DDD5C6); }
.ax-step.is-on { background: #fff; border-color: var(--a-line, #DDD5C6); box-shadow: 0 18px 40px -26px rgba(38,40,31,.5); }
.ax-step:focus-visible { outline: 2px solid var(--a-olive, #4E5B44); outline-offset: 3px; }
.ax-ring { position: absolute; width: 52px; height: 52px; rotate: -90deg; }
.ax-ring circle { fill: none; stroke: var(--a-sage, #93A58F); stroke-width: 2; stroke-dasharray: 126; stroke-dashoffset: 126; }
.ax-no { position: relative; width: 52px; height: 52px; display: grid; place-items: center; font: 500 1.15rem/1 var(--a-font-display, serif); color: var(--a-olive, #4E5B44); }
.ax-step { position: relative; } .ax-step .ax-ring { left: .55rem; top: 50%; translate: 0 -50%; }
.ax-st { display: grid; gap: .1rem; } .ax-st b { font: 600 .95rem/1.2 var(--a-font-body, sans-serif); letter-spacing: .02em; }
.ax-st small { font-size: .88rem; line-height: 1.45; color: #6b6d5f; max-height: 0; opacity: 0; overflow: hidden; transition: max-height .7s cubic-bezier(.22,.61,.36,1), opacity .5s ease; }
.ax-step.is-on .ax-st small { max-height: 4.5rem; opacity: 1; }
.ax-cta { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem 1.5rem; }
.ax .ax-btn { position: relative; display: inline-flex; align-items: center; gap: .9rem; min-height: 52px; padding: 0 .5rem 0 1.6rem; border-radius: 999px; background: var(--a-deep, #39422F); color: var(--a-bone, #FBF8F2); text-decoration: none; font: 600 .84rem/1 var(--a-font-body, sans-serif); letter-spacing: .06em; text-transform: uppercase; overflow: hidden; isolation: isolate; transition: box-shadow .6s ease; }
.ax-btn i { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--a-bone, #FBF8F2); color: var(--a-deep, #39422F); font-style: normal; transition: translate .5s cubic-bezier(.22,.61,.36,1); }
.ax-btn::before { content: ""; position: absolute; z-index: -1; left: 50%; top: 50%; width: 0; height: 0; border-radius: 50%; background: var(--a-olive, #4E5B44); translate: -50% -50%; transition: width .9s cubic-bezier(.22,.61,.36,1), height .9s cubic-bezier(.22,.61,.36,1); }
.ax-btn:hover::before, .ax-btn:focus-visible::before { width: 320%; height: 500%; } .ax-btn:hover { box-shadow: 0 0 0 6px rgba(110,127,94,.16); } .ax-btn:hover i { translate: 3px 0; }
.ax .ax-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--a-ink, #26281F); font: 600 .84rem/1 var(--a-font-body, sans-serif); letter-spacing: .06em; text-transform: uppercase; text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat; padding-bottom: 3px; transition: background-size .5s ease; }
.ax-link:hover { background-size: 0 1px; background-position: 100% 100%; }
.ax a:focus-visible { outline: 2px solid var(--a-olive, #4E5B44); outline-offset: 4px; }
.ax-stage { display: grid; place-items: center; }
.ax-arch { position: relative; width: min(100%, 460px); aspect-ratio: 3 / 4; overflow: hidden; border-radius: 999px 999px 36px 36px; background: #e8e0d0; box-shadow: 0 50px 80px -44px rgba(57,66,47,.6); }
.ax-pic { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity 1.1s ease; }
.ax-pic.is-on { opacity: 1; z-index: 1; }
.ax-pic img { width: 100%; height: 100%; object-fit: cover; display: block; scale: 1.1; filter: blur(8px); transition: scale 2.2s cubic-bezier(.22,.61,.36,1), filter 1.2s ease; }
.ax-pic.is-on img { scale: 1; filter: blur(0); }
.ax-chip { position: absolute; z-index: 2; left: 1.2rem; bottom: 1.4rem; display: inline-flex; align-items: center; gap: .7rem; min-height: 44px; padding: 0 .5rem 0 1.1rem; border-radius: 999px; background: rgba(251,248,242,.92); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: var(--a-ink, #26281F); text-decoration: none; font: 600 .78rem/1 var(--a-font-body, sans-serif); letter-spacing: .06em; box-shadow: 0 12px 28px -12px rgba(0,0,0,.4); }
.ax-chip i { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--a-deep, #39422F); color: #fff; font-style: normal; }
@media (max-width: 900px) {
	.ax-in { grid-template-columns: minmax(0, 1fr); }
	.ax-stage { order: -1; } .ax-arch { width: min(100%, 360px); aspect-ratio: 4 / 4.6; }
	.ax-step .ax-st small { max-height: 4.5rem; opacity: 1; } .ax-step:not(.is-on) .ax-st small { max-height: 0; opacity: 0; }
}
@media (prefers-reduced-motion: no-preference) {
	.ax-step.is-on .ax-ring circle { animation: ax-ring var(--ax-dur, 5200ms) linear both; }
	.ax[data-paused] .ax-step.is-on .ax-ring circle { animation-play-state: paused; }
	@keyframes ax-ring { from { stroke-dashoffset: 126; } to { stroke-dashoffset: 0; } }
	.ax-orb--a { animation: ax-float 14s ease-in-out infinite; } .ax-orb--b { animation: ax-float 18s ease-in-out infinite reverse; }
	@keyframes ax-float { 0%, 100% { translate: 0 0; } 50% { translate: -24px 30px; } }
	.ax-w { display: inline-block; vertical-align: top; }
	html.ax-m .ax-wi { display: inline-block; opacity: 0; filter: blur(10px); translate: 0 .35em; transition: opacity 1.2s ease, filter 1.4s ease, translate 1.4s cubic-bezier(.22,.61,.36,1); transition-delay: calc(var(--i, 0) * 110ms + 140ms); }
	html.ax-m.ax-ready .ax-wi { opacity: 1; filter: none; translate: 0 0; }
	html.ax-m .ax-k, html.ax-m .ax-lede, html.ax-m .ax-steps, html.ax-m .ax-cta { opacity: 0; translate: 0 16px; transition: opacity 1.1s ease, translate 1.2s cubic-bezier(.22,.61,.36,1); }
	html.ax-m.ax-ready .ax-k { opacity: 1; translate: 0 0; transition-delay: .05s; } html.ax-m.ax-ready .ax-lede { opacity: 1; translate: 0 0; transition-delay: .8s; } html.ax-m.ax-ready .ax-steps { opacity: 1; translate: 0 0; transition-delay: 1s; } html.ax-m.ax-ready .ax-cta { opacity: 1; translate: 0 0; transition-delay: 1.2s; }
	html.ax-m .ax-arch { opacity: 0; scale: .94; filter: blur(10px); transition: opacity 1.4s ease .2s, scale 1.6s cubic-bezier(.22,.61,.36,1) .2s, filter 1.4s ease .2s; }
	html.ax-m.ax-ready .ax-arch { opacity: 1; scale: 1; filter: none; }
}

.ax-title { font-size: clamp(2.6rem, 5vw, 4.5rem); }
.aura-main .ax .ax-title, .aura-frame .ax .ax-title { color: var(--a-ink, #26281F); }

/* ==========================================================================
   MÓVIL — DOCK INFERIOR, PROGRESO DE LECTURA Y FOCO TÁCTIL (AURA)
   Pensado para el pulgar: navegación a una mano, indicador que se desliza entre
   páginas y tarjetas que se "encienden" al centrarse en pantalla (el equivalente
   táctil del hover). Solo se activa en pantallas estrechas.
   ========================================================================== */
.arm-dock, .arm-prog { display: none; }
@media (max-width: 820px) {
	body.arm-has-dock { padding-bottom: calc(86px + env(safe-area-inset-bottom, 0px)); }
	.arm-prog { display: block; position: fixed; z-index: 90; top: 0; left: 0; right: 0; height: 3px; background: transparent; pointer-events: none; }
	.arm-prog i { display: block; height: 100%; background: #39422F; transform: scaleX(0); transform-origin: left; }
	.arm-dock {
		display: flex; position: fixed; z-index: 90; left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom, 0px));
		margin: 0; padding: 6px; gap: 2px; background: #FBF8F2; border: 1px solid #DDD5C6; border-radius: 999px;
		box-shadow: 0 14px 34px -10px rgba(0,0,0,.45), 0 2px 6px rgba(0,0,0,.18);
		font-family: var(--a-font-body, sans-serif); -webkit-tap-highlight-color: transparent; isolation: isolate;
		transition: transform .45s cubic-bezier(.22,.61,.36,1), opacity .3s ease;
	}
	.arm-dock.is-away { transform: translateY(calc(100% + 24px)); opacity: 0; pointer-events: none; }
	.arm-dock a {
		position: relative; z-index: 1; flex: 1 1 0; min-width: 0; min-height: 52px; display: grid; justify-items: center; align-content: center; gap: 3px;
		padding: 4px 2px; border-radius: calc(999px - 6px); color: #5f6455; text-decoration: none; font-size: .64rem; font-weight: 600; letter-spacing: .02em; line-height: 1.1;
		text-transform: none; background: none; border: 0; transition: color .25s ease, scale .2s ease;
	}
	.arm-dock a:active { scale: .92; }
	.arm-dock a svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transition: transform .35s cubic-bezier(.34,1.56,.64,1); }
	.arm-dock a span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.arm-dock a.is-on { color: #ffffff; }
	.arm-dock a.is-on svg { transform: translateY(-1px) scale(1.12); }
	.arm-dock a.is-cta { background: #39422F; color: #ffffff; flex: 1.15 1 0; border-radius: calc(999px - 6px); }
	.arm-dock a.is-cta.is-on { color: #ffffff; box-shadow: inset 0 0 0 2px rgba(255,255,255,.55); }
	.arm-ind { position: absolute; z-index: 0; top: 6px; bottom: 6px; left: 0; width: 0; border-radius: calc(999px - 6px); background: #4E5B44; opacity: 0; pointer-events: none; }
	.arm-ind.is-go { opacity: 1; transition: transform .5s cubic-bezier(.34,1.3,.64,1), width .5s cubic-bezier(.34,1.3,.64,1); }
	.arm-dock a:focus-visible { outline: 2px solid #ffffff; outline-offset: -2px; }
	/* Foco táctil: la tarjeta más cercana al centro de la pantalla se enciende. */
	.aura-product-card { transition: translate .6s cubic-bezier(.22,.61,.36,1), box-shadow .6s ease; }
	.aura-product-card.arm-live { translate: 0 -4px; box-shadow: 0 18px 30px -18px rgba(0,0,0,.45); }
	.aura-product-card img { transition: scale 1.2s cubic-bezier(.22,.61,.36,1); }
	.aura-product-card.arm-live img { scale: 1.06; }
	@media (prefers-reduced-motion: reduce) { .arm-dock, .arm-ind.is-go, .arm-dock a, .arm-dock a svg { transition: none; } }
}
@media (hover: none) { .wp-element-button:active, [class*="-btn"]:active, [class*="-cta"]:active { scale: .97; } }


/* ==========================================================================
   ENTRADA — pantalla de carga propia de AURA (motivo: breath)
   ========================================================================== */
html.arm-intro-on { overflow: hidden; }
.arm-intro { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; background: #39422F; color: #FBF8F2; font-family: var(--a-font-body, sans-serif); overflow: hidden; }
.arm-intro-in { position: relative; z-index: 2; display: grid; justify-items: center; gap: .9rem; padding: 2rem; text-align: center; transition: opacity .4s ease, transform .7s cubic-bezier(.76,0,.24,1); }
.arm-intro-g { width: clamp(150px, 42vw, 260px); height: auto; color: #B9C8B3; overflow: visible; }
.arm-intro-g path, .arm-intro-g circle[pathLength] { stroke-dasharray: 1; stroke-dashoffset: 1; animation: arm-draw 1s cubic-bezier(.65,0,.35,1) .1s forwards; }
.arm-intro-g path[stroke-dasharray="6 8"] { stroke-dasharray: 6 8; stroke-dashoffset: 0; animation: none; clip-path: inset(0 100% 0 0); animation: arm-wipe 1s ease .1s forwards; }
@keyframes arm-draw { to { stroke-dashoffset: 0; } }
@keyframes arm-wipe { to { clip-path: inset(0 0 0 0); } }
@keyframes arm-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.arm-intro-name { display: block; font-family: var(--a-font-display, serif); font-size: clamp(2.6rem, 13vw, 5rem); line-height: 1; letter-spacing: -.02em; opacity: 0; animation: arm-in .8s ease .25s forwards; }
.arm-intro-tag { display: block; font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; opacity: 0; color: #FBF8F2; animation: arm-in .8s ease .45s forwards; }
.arm-intro-tag { opacity: 0; }
.arm-intro-by { display: block; margin-top: 1.4rem; font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; opacity: 0; animation: arm-in .8s ease .65s forwards; }
.arm-intro.is-out .arm-intro-in { opacity: 0; transform: translateY(-10px); }
@media (prefers-reduced-motion: reduce) { .arm-intro { display: none; } html.arm-intro-on { overflow: auto; } }

.arm-intro { transition: opacity .8s ease, filter .8s ease; }
.arm-intro.is-out { opacity: 0; filter: blur(14px); }
.arm-intro-orb { width: clamp(120px, 34vw, 190px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.55), #B9C8B3 55%, rgba(185,200,179,.15) 72%); box-shadow: 0 0 0 0 rgba(185,200,179,.35); animation: arm-breath 2.4s ease-in-out infinite; }
@keyframes arm-breath { 0%, 100% { transform: scale(.72); box-shadow: 0 0 0 0 rgba(185,200,179,.3); } 50% { transform: scale(1); box-shadow: 0 0 0 28px rgba(185,200,179,0); } }


/* === fix: «Añadir al carrito» no debe partirse en móvil (la fila de compra era nowrap) === */
.aura-add .wp-block-button__link { white-space: nowrap; }
@media (max-width: 600px) {
	.aura-buyrow.is-nowrap { flex-wrap: wrap; row-gap: 14px; }
	.aura-buyrow .aura-add { flex: 1 1 100%; }
	.aura-buyrow .aura-add .wp-block-button__link { display: block; width: 100%; text-align: center; }
}
/* === fix: la ficha de producto no tenía margen lateral en móvil (texto pegado al borde) === */
@media (max-width: 600px) {
	.aura-ficha-info.has-global-padding { padding-left: 22px !important; padding-right: 22px !important; }
}
