:root{
  --vino:#7A3A3C;--vino-d:#5E2A2C;
  --ciruela:#7C5689;--ciruela-d:#5F3F6B;
  --lavanda:#C7B6DD;--lavanda-soft:#EFE1E8;--malva:#D6A0C0;--durazno:#E7B393;
  --crema:#FBF3EF;--crema-2:#F5E7E2;--texto:#2F211E;--texto-suave:#5A4842;
  --linea:rgba(110,50,52,0.13);
  --sans:'Raleway',-apple-system,system-ui,sans-serif;
  --mano:'Yellowtail',cursive;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --grad-titulo:linear-gradient(105deg,#7A3A3C,#7C5689 78%,#6E4E8E);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);color:var(--texto);font-weight:400;line-height:1.8;-webkit-font-smoothing:antialiased;position:relative;
  background:linear-gradient(180deg,#FBF3EF 0%,#F7ECEA 100%);}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:999;opacity:0.04;mix-blend-mode:multiply;background-image:var(--grain);background-size:190px 190px;}
img{max-width:100%;display:block;} a{color:inherit;text-decoration:none;}
.gtext{background:var(--grad-titulo);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
section[id], .cat-block{scroll-margin-top:96px;}
.tienda-sec{scroll-margin-top:72px;}
.prose p, .cb-manifiesto p, .exp-present .exp-item p{text-align:justify;}

header{position:sticky;top:0;z-index:50;background:rgba(251,243,239,0.85);backdrop-filter:blur(12px);border-bottom:0.5px solid var(--linea);}
.nav{max-width:1180px;margin:0 auto;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.logo{height:27px;width:118px;aspect-ratio:1655/395;background:var(--img-honra) no-repeat center/contain;display:inline-block;}
.logo-sabina{height:25px;width:146px;aspect-ratio:1642/281;background:var(--img-sabina) no-repeat center/contain;display:inline-block;}
.brandmark{display:inline-flex;flex-direction:column;align-items:center;line-height:0;}
.brandmark .bm-name{width:152px;aspect-ratio:1642/281;background:var(--img-sabina) no-repeat center/contain;display:block;}
.brandmark .bm-lema{width:92px;aspect-ratio:1655/395;background:var(--img-honra) no-repeat center/contain;display:block;margin-top:2px;}
.franja .btn-franja{display:inline-block;margin-top:22px;padding:12px 30px;border-radius:26px;font-size:13px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;background:var(--durazno);color:#4A2A16;transition:all .17s;}
.franja .btn-franja:hover{filter:brightness(1.06);transform:translateY(-1px);}
.menu{display:flex;gap:28px;align-items:center;}
.menu a{font-size:14px;font-weight:500;color:var(--texto);transition:color .15s;}
.menu a:hover,.menu a.active{color:var(--vino);}
.menu a.tienda{background:linear-gradient(135deg,#95505E,var(--vino-d));color:#fff;padding:8px 19px;border-radius:24px;font-size:13px;box-shadow:0 4px 14px rgba(94,42,44,0.24);}
.menu a.tienda:hover{filter:brightness(1.07);color:#fff;}
.burger{display:none;background:none;border:none;cursor:pointer;font-size:24px;color:var(--vino);}

.hero{text-align:center;padding:122px 28px 110px;position:relative;overflow:hidden;
  background:
   radial-gradient(30% 26% at 50% 30%,rgba(231,179,147,0.34),transparent 70%),
   radial-gradient(64% 54% at 50% 32%,rgba(199,182,221,0.34),transparent 74%),
   linear-gradient(180deg,#F4EAF0 0%,#FBF3EF 66%);}
.hero .sabina-big{width:min(560px,88%);aspect-ratio:1642/281;background:var(--img-sabina) no-repeat center/contain;margin:0 auto 2px;filter:drop-shadow(0 5px 16px rgba(110,78,142,0.18));}
.hero .logo-big-img{width:min(300px,54%);aspect-ratio:1655/395;background:var(--img-honra) no-repeat center/contain;margin:8px auto 0;filter:drop-shadow(0 4px 12px rgba(110,78,142,0.16));}
.honra-mark{width:min(360px,72%);aspect-ratio:1655/395;background:var(--img-honra) no-repeat center/contain;margin:0 auto;filter:drop-shadow(0 4px 12px rgba(110,78,142,0.16));}
.cierre-refrain{text-align:center;padding:70px 28px 58px;}
.cierre-refrain .cierre-lead{font-size:16px;color:var(--texto-suave);font-weight:400;letter-spacing:0.06em;margin-bottom:2px;}
.cierre-refrain .cierre-big{font-size:clamp(26px,4.2vw,36px);color:var(--vino);font-weight:500;letter-spacing:0.01em;margin-bottom:24px;}
.foot-brand{display:flex;align-items:center;gap:14px;}
.foot-sello{width:54px;height:54px;background:var(--img-sello) no-repeat center/contain;flex-shrink:0;filter:drop-shadow(0 3px 10px rgba(124,86,137,0.22));}
.foot-name{font-size:17px;color:var(--vino);font-weight:600;letter-spacing:0.02em;}
.hero .epi{font-size:12.5px;letter-spacing:0.36em;text-transform:uppercase;color:var(--ciruela);font-weight:600;margin-top:16px;}
.hero .welcome{max-width:648px;margin:30px auto 0;font-size:18.5px;line-height:1.75;color:var(--texto);font-weight:400;}
.hero .cta{margin-top:38px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.btn{display:inline-block;padding:13px 32px;border-radius:26px;font-size:13px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;transition:all .17s;cursor:pointer;border:1px solid transparent;}
.btn-1{background:linear-gradient(135deg,#95505E,var(--vino-d));color:#fff;box-shadow:0 8px 20px rgba(94,42,44,0.26);}
.btn-1:hover{filter:brightness(1.07);transform:translateY(-1px);}
.btn-2{border-color:var(--ciruela);color:var(--ciruela-d);background:rgba(255,255,255,0.45);}
.btn-2:hover{background:var(--ciruela);color:#fff;}

/* Hero compacto de páginas interiores */
.page-hero{text-align:center;padding:78px 28px 60px;position:relative;overflow:hidden;
  background:radial-gradient(60% 60% at 50% 20%,rgba(199,182,221,0.32),transparent 72%),linear-gradient(180deg,#F4EAF0 0%,#FBF3EF 70%);}
.page-hero .eyebrow{font-size:11px;letter-spacing:0.34em;text-transform:uppercase;color:var(--ciruela);font-weight:600;}
.page-hero h1{font-size:clamp(34px,5vw,54px);font-weight:500;line-height:1.12;margin-top:12px;letter-spacing:0.01em;color:var(--vino);background:none;-webkit-text-fill-color:currentColor;}
.page-hero .mano{font-family:var(--mano);font-size:clamp(40px,7vw,68px);line-height:1;}
.page-hero p{max-width:620px;margin:18px auto 0;font-size:17.5px;color:var(--texto);font-weight:400;line-height:1.7;}
.page-hero .name-mano{width:min(460px,80%);aspect-ratio:1642/281;background:var(--img-sabina) no-repeat center/contain;margin:10px auto 4px;filter:drop-shadow(0 4px 12px rgba(110,78,142,0.16));}

section{padding:88px 28px;position:relative;} .wrap{max-width:1180px;margin:0 auto;}
.sec-head{text-align:center;max-width:660px;margin:0 auto 48px;}
.sec-head .eyebrow{font-size:11px;letter-spacing:0.34em;text-transform:uppercase;color:var(--ciruela);font-weight:600;}
.sec-head h2{font-size:clamp(30px,4.2vw,42px);font-weight:500;line-height:1.18;margin-top:10px;letter-spacing:0.01em;color:var(--vino);background:none;-webkit-text-fill-color:currentColor;}
.sec-head p{margin-top:14px;font-size:16.5px;color:var(--texto);font-weight:400;}

/* Prosa (Sobre mí) */
.prose{max-width:720px;margin:0 auto;}
.prose p{font-size:18.5px;line-height:1.85;color:var(--texto);font-weight:400;margin-bottom:22px;}
.prose p.lead{font-size:22px;color:var(--vino);font-weight:400;}
.prose .firma{font-family:var(--mano);font-size:40px;color:var(--ciruela);line-height:0.9;margin-top:8px;}

.franja{color:#fff;text-align:center;position:relative;
  background:radial-gradient(75% 130% at 50% 0%,rgba(255,255,255,0.10),transparent 58%),linear-gradient(165deg,#8C4A52 0%,#6E3238 100%);}
.franja .wrap{max-width:780px;}
.franja p{font-size:clamp(20px,2.6vw,27px);line-height:1.55;font-weight:400;}
.franja .mano{font-family:var(--mano);font-size:38px;display:block;margin-top:14px;color:var(--durazno);text-shadow:0 2px 16px rgba(231,179,147,0.4);}

.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;}
.cat{background:linear-gradient(180deg,#ffffff,#FBF2EF);border:0.5px solid var(--linea);border-radius:14px;padding:30px 26px;transition:transform .18s,box-shadow .18s;box-shadow:0 4px 16px rgba(90,50,52,0.06);position:relative;overflow:hidden;display:block;color:inherit;}
.cat::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--malva),var(--durazno));opacity:0.7;}
.cat .dot{width:38px;height:38px;border-radius:50%;margin-bottom:16px;box-shadow:0 4px 12px rgba(110,55,60,0.16);
  background:radial-gradient(circle at 32% 30%,#E4D6EE,var(--lavanda));}
.cat:nth-child(2) .dot{background:radial-gradient(circle at 32% 30%,#EBC5DA,var(--malva));}
.cat:nth-child(3) .dot{background:radial-gradient(circle at 32% 30%,#A98BB4,var(--ciruela));}
.cat:nth-child(4) .dot{background:radial-gradient(circle at 32% 30%,#F3D2B6,var(--durazno));}
.cat:nth-child(5) .dot{background:radial-gradient(circle at 32% 30%,#EED9CE,#D6A98F);}
.cat:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(90,50,52,0.15);}
.cat h3{font-size:21px;font-weight:600;color:var(--vino);margin-bottom:8px;letter-spacing:0.01em;}
.cat p{font-size:15px;color:var(--texto);line-height:1.6;font-weight:400;}
.cat .link{margin-top:16px;font-size:12.5px;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;color:var(--ciruela-d);}

.tienda-sec{color:#fff;
  background:radial-gradient(80% 120% at 50% 0%,rgba(255,255,255,0.08),transparent 55%),linear-gradient(165deg,#7E4045 0%,#5A2A2E 100%);}
.tienda-sec .head{max-width:1180px;margin:0 auto 34px;}
.tienda-sec .head h2{font-size:clamp(28px,4.2vw,42px);font-weight:400;letter-spacing:0.02em;}
.tienda-sec .head p{margin-top:10px;font-size:15px;color:rgba(255,255,255,0.86);max-width:640px;font-weight:300;}
.tienda-layout{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:210px 1fr;gap:30px;align-items:start;}
.side{background:rgba(255,255,255,0.12);border:0.5px solid rgba(255,255,255,0.13);border-radius:14px;padding:22px 20px;position:sticky;top:80px;}
.side h4{font-size:16px;margin-bottom:14px;color:#fff;font-weight:600;}
.side a{display:block;font-size:14px;color:rgba(255,255,255,0.85);padding:7px 0;border-bottom:0.5px solid rgba(255,255,255,0.14);transition:color .15s;font-weight:300;cursor:pointer;}
.side a:hover{color:#fff;} .side a.on{color:#fff;font-weight:500;}
.cat-block{margin-bottom:44px;}
.cat-block .cb-title{font-size:22px;font-weight:500;margin-bottom:6px;letter-spacing:0.02em;}
.cat-block .cb-sub{font-size:13.5px;color:rgba(255,255,255,0.8);margin-bottom:20px;font-weight:300;max-width:640px;}
.cat-block .cb-manifiesto{max-width:700px;margin:6px 0 24px;}
.cat-block .cb-manifiesto p{font-size:16px;line-height:1.75;color:rgba(255,255,255,0.93);font-weight:400;margin-bottom:12px;}
.cat-block .cb-manifiesto p:last-child{margin-bottom:0;}
.exp-present{max-width:760px;margin:0 auto;}
.exp-present .exp-item{margin-bottom:48px;}
.exp-present .exp-item h3{font-size:23px;color:var(--vino);font-weight:600;margin-bottom:14px;letter-spacing:0.01em;}
.exp-present .exp-item p{font-size:17px;line-height:1.8;color:var(--texto);font-weight:400;margin-bottom:12px;}
.exp-present .exp-item .practical{font-size:15px;color:var(--texto-suave);font-style:italic;}
.exp-present .exp-item .link{display:inline-block;margin-top:12px;font-size:12.5px;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;color:var(--ciruela-d);}
.prod-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:18px;}
.prod{background:linear-gradient(180deg,#ffffff,#FBF2EF);border-radius:14px;overflow:hidden;color:var(--texto);box-shadow:0 10px 26px rgba(45,20,25,0.22);transition:transform .18s,box-shadow .18s;}
.prod:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(45,20,25,0.3);}
.prod .pic{position:relative;aspect-ratio:1/1;overflow:hidden;background:#efe6e2;}
.prod .pic-img{width:100%;height:100%;object-fit:cover;display:block;}
.prod .pic .swap-top{position:absolute;inset:0;opacity:1;transition:opacity .5s ease;}
.prod:hover .pic .swap-top{opacity:0;}
.prod .body{padding:16px 18px 20px;text-align:center;}
.prod .cat-tag{font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ciruela-d);font-weight:600;}
.prod .pname{font-size:14.5px;font-weight:600;color:var(--vino);margin:6px 0 10px;line-height:1.25;display:block;}
.prod a.pname:hover{color:var(--ciruela-d);}
.prod .price{font-size:12.5px;color:var(--texto-suave);margin-bottom:13px;font-weight:500;letter-spacing:0.03em;}
.prod .mini{display:inline-block;padding:9px 20px;border-radius:22px;font-size:11px;font-weight:600;letter-spacing:0.07em;text-transform:uppercase;transition:all .16s;cursor:pointer;}
.prod .mini.book{background:linear-gradient(135deg,#95505E,var(--vino-d));color:#fff;box-shadow:0 6px 16px rgba(94,42,44,0.24);}
.prod .mini.buy{background:var(--durazno);color:#4A2A16;}
.prod .mini:hover{filter:brightness(1.08);transform:translateY(-1px);}

/* Refrán de cierre */
.honra-mark{width:min(360px,72%);}

/* Footer */
footer{background:linear-gradient(180deg,#F3E4DF 0%,#ECD9D2 100%);color:var(--texto);padding:58px 28px 28px;border-top:0.5px solid var(--linea);}
.foot{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:34px;}
.foot h4{font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--vino);margin-bottom:14px;font-weight:700;}
.foot a{display:block;font-size:14px;color:var(--texto-suave);padding:5px 0;transition:color .15s;font-weight:400;}
.foot a:hover{color:var(--vino);}
.foot-bottom{max-width:1180px;margin:32px auto 0;padding-top:20px;border-top:0.5px solid var(--linea);font-size:12px;color:var(--texto-suave);text-align:center;letter-spacing:0.04em;}

/* Botón flotante de Tarot (abajo a la derecha) */
.tarot-float{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;align-items:center;gap:11px;padding:11px 20px 11px 15px;border-radius:40px;background:linear-gradient(135deg,#8C4A9E,#5F3F6B);color:#fff;box-shadow:0 10px 28px rgba(60,30,70,0.42);transition:transform .18s,box-shadow .18s;}
.tarot-float:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(60,30,70,0.52);color:#fff;}
.tarot-float .fc{font-size:20px;line-height:1;filter:drop-shadow(0 1px 5px rgba(255,255,255,0.5));}
.tarot-float .ft{display:flex;flex-direction:column;line-height:1.15;}
.tarot-float .ft b{font-size:13.5px;font-weight:600;letter-spacing:0.02em;}
.tarot-float .ft em{font-size:10.5px;font-style:normal;opacity:0.85;letter-spacing:0.02em;}

/* Fichas de producto */
.ficha-hero{text-align:center;padding:70px 28px 40px;position:relative;overflow:hidden;
  background:radial-gradient(60% 60% at 50% 18%,rgba(199,182,221,0.30),transparent 72%),linear-gradient(180deg,#F4EAF0 0%,#FBF3EF 72%);}
.ficha-hero .back{display:inline-block;font-size:12.5px;color:var(--ciruela-d);font-weight:600;margin-bottom:16px;letter-spacing:0.03em;}
.ficha-hero .back:hover{color:var(--vino);}
.ficha-hero .cat-tag{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ciruela);font-weight:600;}
.ficha-hero h1{font-size:clamp(30px,4.6vw,46px);font-weight:500;color:var(--vino);margin-top:10px;line-height:1.14;letter-spacing:0.01em;}
.ficha-wrap{max-width:1060px;margin:46px auto 0;padding:0 28px;}
.ficha-top{display:grid;grid-template-columns:minmax(0,480px) 1fr;gap:44px;align-items:start;}
.ficha-desc{padding-top:4px;}
.ficha-desc .ficha-lead{font-size:22px;color:var(--vino);font-weight:400;line-height:1.4;margin-bottom:18px;}
.ficha-desc p{font-size:16.5px;line-height:1.8;color:var(--texto);margin-bottom:16px;text-align:justify;}
.ficha-portada{width:100%;border-radius:16px;box-shadow:0 16px 40px rgba(45,20,25,0.22);position:sticky;top:90px;}
.ficha-detailwrap{max-width:1060px;margin:38px auto 0;padding:0 28px;}
.ficha-detail{background:linear-gradient(180deg,#ffffff,#FBF2EF);border:0.5px solid var(--linea);border-radius:14px;padding:24px 28px;margin-top:18px;box-shadow:0 6px 20px rgba(90,50,52,0.06);}
.ficha-detail h3{font-size:18.5px;color:var(--vino);font-weight:600;margin-bottom:12px;letter-spacing:0.01em;}
.ficha-detail p{font-size:15.5px;line-height:1.72;color:var(--texto);margin-bottom:10px;}
.ficha-detail p:last-child{margin-bottom:0;}
.ficha-detail em{color:var(--ciruela-d);font-style:italic;font-weight:500;}
.ficha-buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px;justify-content:center;}
.ficha-note{text-align:center;font-size:13px;color:var(--texto-suave);font-style:italic;margin:18px auto 0;max-width:620px;}

/* Hover-swap portada<->frase en fichas */
.hoverswap{position:relative;width:100%;aspect-ratio:1/1;border-radius:16px;overflow:hidden;box-shadow:0 16px 40px rgba(45,20,25,0.22);cursor:pointer;}
.hoverswap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hoverswap .hs-top{opacity:1;transition:opacity .55s ease;}
.hoverswap:hover .hs-top{opacity:0;}
.hoverswap.flip .hs-top{opacity:0;}

/* Menú mobile desplegable */
.menu.open{display:flex;}

/* Animaciones de aparición al scrollear */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

@media(max-width:860px){
  .menu{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:rgba(251,243,239,0.98);backdrop-filter:blur(12px);padding:8px 24px 18px;border-bottom:0.5px solid var(--linea);box-shadow:0 12px 24px rgba(90,50,52,0.12);}
  .menu a{padding:11px 0;border-bottom:0.5px solid var(--linea);}
  .menu a.tienda{width:max-content;margin-top:8px;}
  .burger{display:block;}
  .tienda-layout{grid-template-columns:1fr;}
  .side{position:static;display:flex;flex-wrap:wrap;gap:8px;}
  .side h4{width:100%;margin-bottom:6px;}
  .side a{border:0;padding:7px 14px;background:rgba(255,255,255,0.14);border-radius:16px;}
  .ficha-top{grid-template-columns:1fr;gap:26px;}
  .ficha-portada{position:static;}
  .foot{grid-template-columns:1fr;gap:24px;}
  .tarot-float{right:14px;bottom:14px;padding:10px 16px 10px 13px;}
  .tarot-float .ft em{display:none;}
}

/* Juego oracular: Tocá las tres cartas */
.tarot-wrap{max-width:760px;margin:0 auto;text-align:center;}
.tarot-opening,.tarot-closing{max-width:600px;margin:0 auto 8px;font-size:16px;font-style:italic;color:var(--ciruela-d);line-height:1.6;}
.tarot-closing{margin-top:24px;color:var(--vino);}
.deck{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin:30px auto 0;}
.tcard{width:190px;aspect-ratio:2/3;perspective:1100px;cursor:pointer;}
.tcard .inner{position:relative;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d;}
.tcard.flipped .inner{transform:rotateY(180deg);}
.tface{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px;box-shadow:0 12px 30px rgba(45,20,25,0.24);}
.tback{background:radial-gradient(120% 120% at 50% 0%,rgba(255,255,255,0.12),transparent 60%),linear-gradient(160deg,#8C4A9E,#5F3F6B);color:#fff;border:1px solid rgba(255,255,255,0.18);}
.tback .star{font-size:34px;margin-bottom:10px;filter:drop-shadow(0 2px 8px rgba(255,255,255,0.5));}
.tback span{font-size:12px;letter-spacing:0.14em;text-transform:uppercase;opacity:0.9;font-weight:500;}
.tfront{background:linear-gradient(180deg,#FFFDFB,#F6E9E4);color:var(--texto);transform:rotateY(180deg);border:1px solid var(--linea);justify-content:flex-start;padding:22px 16px;text-align:center;}
.tfront .tpos{font-size:10.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--ciruela-d);font-weight:600;margin-bottom:8px;}
.tfront .arc{font-family:var(--mano);font-size:23px;color:var(--vino);line-height:1.1;margin-bottom:10px;}
.tfront .msg{font-size:12.8px;line-height:1.5;color:var(--texto);font-weight:400;overflow-y:auto;}
.tarot-again{margin-top:30px;}
@media(max-width:620px){ .tcard{width:150px;} .deck{gap:12px;} .tfront .msg{font-size:11.5px;} }

/* Miniaturas más grandes: inicio 2 por fila, tienda 3 por fila */
.prod-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;}
.cat-block .prod-grid{grid-template-columns:repeat(auto-fill,minmax(288px,1fr));}
.tienda-sec .wrap .prod-grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));max-width:840px;margin:0 auto;}
@media(max-width:720px){ .prod-grid,.cat-block .prod-grid,.tienda-sec .wrap .prod-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));} }
@media(max-width:520px){ .prod-grid,.cat-block .prod-grid,.tienda-sec .wrap .prod-grid{grid-template-columns:1fr;max-width:340px;} }

/* Efecto de aparición más visible (override) */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1);will-change:opacity,transform;}
.reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.reveal{transform:none;transition:opacity .6s ease;}}

/* Aparición por keyframes (más confiable que transition) */
.reveal{opacity:0;transform:none;transition:none;}
.reveal.in{animation:revealIn .9s cubic-bezier(.2,.7,.2,1) both;}
@keyframes revealIn{from{opacity:0;transform:translateY(32px);}to{opacity:1;transform:none;}}
@media(prefers-reduced-motion:reduce){.reveal.in{animation:revealFade .6s ease both;}}
@keyframes revealFade{from{opacity:0;}to{opacity:1;}}

/* Fade general: solo opacidad, sin desplazamiento vertical */
@keyframes revealIn{from{opacity:0;}to{opacity:1;}}
.reveal.in{animation:revealIn 1s ease both;}

/* Fade más lento (el doble) */
.reveal.in{animation:revealIn 2s ease both;}

/* Juego de tarot: cartas con ilustración */
.tfront{padding:0;overflow:hidden;}
.tfront .tcard-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.tfront .tcap{position:absolute;left:0;right:0;bottom:0;padding:12px 10px 10px;background:linear-gradient(0deg,rgba(47,27,29,0.94),rgba(47,27,29,0.55),transparent);color:#fff;text-align:center;}
.tfront .tcap .tpos{font-size:9.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--durazno);font-weight:600;margin-bottom:2px;}
.tfront .tcap .arc{font-family:var(--mano);font-size:21px;color:#fff;line-height:1.05;}
#tarot-reading{max-width:600px;margin:28px auto 0;text-align:left;}
#tarot-reading .rd{margin-bottom:13px;font-size:15px;line-height:1.62;color:var(--texto);opacity:0;animation:revealFade .8s ease forwards;}
#tarot-reading .rd strong{color:var(--vino);font-weight:600;}

/* Cartas del juego: proporción real de la ilustración (sin recorte) + caption solo con el nombre */
.tcard{aspect-ratio:560/1028;}
.tfront .tcap{padding:22px 10px 9px;background:linear-gradient(0deg,rgba(47,27,29,0.92),rgba(47,27,29,0.42) 55%,transparent);}
.tfront .tcap .arc{font-size:19px;}

/* Lectura del tarot: "Leyendo las cartas…" + aparición palabra por palabra */
#tarot-reading .rd{opacity:1;animation:none;}
.rd-loading{font-style:italic;color:var(--ciruela-d);text-align:center;font-size:15.5px;}
.rd-loading .dots span{animation:blinkDot 1.4s infinite;}
.rd-loading .dots span:nth-child(2){animation-delay:.2s;}
.rd-loading .dots span:nth-child(3){animation-delay:.4s;}
@keyframes blinkDot{0%,60%,100%{opacity:.2;}30%{opacity:1;}}
#tarot-reading .rd .wd{opacity:0;animation:wordIn .55s ease forwards;}
@keyframes wordIn{from{opacity:0;}to{opacity:1;}}

/* ===== Ficha modelo tienda (campos desde Notion): media + precios + bloques ===== */
.ficha-media{display:flex;flex-direction:column;gap:20px;position:sticky;top:90px;}
.ficha-media .ficha-flyer{width:100%;border-radius:16px;box-shadow:0 12px 30px rgba(45,20,25,0.18);}
.ficha-price{background:linear-gradient(180deg,#ffffff,#FBF2EF);border:0.5px solid var(--linea);border-radius:14px;padding:18px 20px;box-shadow:0 6px 20px rgba(90,50,52,0.06);}
.ficha-price h4{font-size:11.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ciruela-d);font-weight:600;margin-bottom:10px;}
.price-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:9px 0;border-bottom:0.5px solid var(--linea);}
.price-row:last-child{border-bottom:0;}
.price-label{font-size:14.5px;line-height:1.35;color:var(--texto);}
.price-val{font-size:16px;font-weight:600;color:var(--vino);white-space:nowrap;}
.price-group{margin-bottom:2px;}
.price-gh{font-size:12.5px;font-weight:600;color:var(--vino);margin:10px 0 2px;padding-top:9px;border-top:0.5px solid var(--linea);}
.ficha-price .price-group:first-of-type .price-gh{border-top:0;padding-top:2px;margin-top:0;}
.price-group .price-row:last-child{border-bottom:0;}
.ficha-body .ficha-lead{font-size:24px;color:var(--vino);font-weight:400;line-height:1.35;margin-bottom:18px;}
.ficha-body>p{font-size:16.5px;line-height:1.8;color:var(--texto);margin-bottom:16px;text-align:justify;}
.vermas{margin-top:2px;border-top:0.5px solid var(--linea);padding-top:10px;}
.vermas summary{list-style:none;cursor:pointer;color:var(--ciruela-d);font-weight:600;font-size:14.5px;}
.vermas summary::-webkit-details-marker{display:none;}
.vermas summary::before{content:"▸ ";font-size:11px;}
.vermas[open] summary::before{content:"▾ ";}
.vermas .vermas-body{margin-top:12px;}
.vermas .vermas-body h4{font-size:15px;color:var(--vino);font-weight:600;margin:15px 0 6px;}
.vermas .vermas-body p{font-size:15.5px;line-height:1.72;color:var(--texto);margin-bottom:10px;}
@media(max-width:860px){ .ficha-media{position:static;} }
/* "Leer más": corte en seco + expansión inline, sin JS (checkbox hack) */
.lm-toggle{position:absolute;opacity:0;width:0;height:0;pointer-events:none;}
.lm-link{color:var(--ciruela-d);font-weight:600;cursor:pointer;white-space:nowrap;}
.lm-link:hover{color:var(--vino);}
.lm-full{display:none;}
.lm-toggle:checked ~ .lm-teaser{display:none;}
.lm-toggle:checked ~ .lm-full{display:block;}
.lm-full h4{font-size:15px;color:var(--vino);font-weight:600;margin:15px 0 6px;}
.lm-full p{font-size:15.5px;line-height:1.72;color:var(--texto);margin-bottom:10px;}
.lm-full .lm-link{display:inline-block;margin-top:8px;}
.ficha-reassure{font-style:italic;color:var(--ciruela-d);}
.ficha-trust{margin-top:12px;padding-top:12px;border-top:0.5px solid var(--linea);font-size:14.5px;color:var(--texto-suave);}
.ficha-trust strong{color:var(--vino);font-weight:600;}
/* Botón cruzado individual <-> grupal */
.formato-cross{display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(180deg,#ffffff,#F3EAF3);border:0.5px solid var(--linea);border-radius:14px;padding:13px 18px;margin:6px 0 4px;cursor:pointer;transition:filter .15s;box-shadow:0 6px 20px rgba(90,50,52,0.06);}
.formato-cross:hover{filter:brightness(1.03);}
.formato-cross:active{transform:scale(0.995);}
.formato-cross .fc-txt{font-size:14px;color:var(--ciruela-d);font-weight:400;line-height:1.35;}
.formato-cross .fc-txt strong{color:var(--vino);font-weight:600;}
.formato-cross .fc-arrow{color:var(--vino);font-size:20px;flex-shrink:0;}

/* ===== Escala de lectura: fuente más grande en general (ago-2026) ===== */
.menu a{font-size:15.5px;}
.page-hero p{font-size:20px;}
.sec-head p{font-size:19px;}
.sec-head h2{font-size:clamp(32px,4.4vw,44px);}
.cat h3{font-size:23px;}
.cat p{font-size:18px;}
.cat .link{font-size:13.5px;}
.franja .btn-franja{font-size:14px;}
.prose p{font-size:20px;}
.prose p.lead{font-size:23.5px;}
.cat-block .cb-title{font-size:25px;}
.cat-block .cb-sub{font-size:16.5px;}
.cat-block .cb-manifiesto p{font-size:18.5px;}
.exp-present .exp-item h3{font-size:24px;}
.exp-present .exp-item p{font-size:19px;}
.prod .cat-tag{font-size:12.5px;}
.prod .pname{font-size:17px;}
.prod .price{font-size:15px;}
.prod .mini{font-size:12.5px;}
.side h4{font-size:17.5px;}
.side a{font-size:15.5px;}
.ficha-desc p, .ficha-body>p{font-size:19px;}
.ficha-desc .ficha-lead, .ficha-body .ficha-lead{font-size:25px;}
.ficha-detail h3{font-size:20.5px;}
.ficha-detail p{font-size:17.5px;}
.ficha-note{font-size:14.5px;}
.price-label{font-size:16px;}
.price-val{font-size:17.5px;}
.lm-full p, .vermas .vermas-body p{font-size:17px;}
.foot a{font-size:15px;}
#tarot-reading .rd{font-size:17.5px;}
.tarot-opening,.tarot-closing{font-size:18px;}

/* ===== Tienda: alinear texto al ancho de las fotos (ago-2026) ===== */
.cat-block .cb-manifiesto{max-width:none;}
.cat-block .cb-sub{max-width:none;}

/* ===== Reverso real de las cartas en el juego oracular (ago-2026) ===== */
.tback{background:#2f1b2e url("tarot-reverso.jpg") center center/contain no-repeat;color:#fff;border:1px solid rgba(255,255,255,0.2);padding:0;}
.tback .star{display:none;}
.tback span{position:absolute;left:0;right:0;bottom:0;padding:13px 8px 7px;
  background:linear-gradient(0deg,rgba(35,20,34,0.82),rgba(35,20,34,0.30) 72%,transparent);
  font-size:10.5px;letter-spacing:0.13em;text-transform:uppercase;opacity:1;font-weight:600;
  text-shadow:0 1px 6px rgba(0,0,0,0.55);}

/* ===== Justificado en recuadros (.cat) y en la lectura del tarot (ago-2026) ===== */
.cat p{text-align:justify;}
#tarot-reading .rd{text-align:justify;text-align-last:left;}
#tarot-reading .rd:last-child{text-align:left;}
