@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--pink:#bf2759;--ink:#402331;--cream:#fffaf4;--muted:#7c6570}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:hover,.primary:hover{filter:brightness(.94)}.announcement{background:var(--pink);color:white;text-align:center;padding:10px;font-size:10px;letter-spacing:2px}.announcement span{margin:0 25px}header{padding:24px 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9dedb;background:var(--cream)}.brand{font-family:'Playfair Display',Georgia,serif;font-size:37px;font-weight:700;line-height:.9;color:var(--pink);letter-spacing:-2px}.brand span{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:4px;margin:10px 0 0 6px}nav{display:flex;gap:32px;font-size:13px}.bag{background:transparent;border:1px solid #d8c7cc;border-radius:30px;padding:12px 18px;font-size:12px}.bag b{margin-left:12px;background:var(--pink);color:white;padding:3px 7px;border-radius:50%}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:690px;padding:65px 8% 75px;gap:65px;overflow:hidden}.eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:700;color:var(--pink)}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500}h1{font-size:clamp(48px,5.5vw,80px);line-height:1.08;letter-spacing:-3px;margin:25px 0}em{color:var(--pink);font-weight:500}p{font-size:14px;line-height:1.8;color:var(--muted)}.hero-copy>p{max-width:400px}.primary{border:0;border-radius:5px;background:var(--pink);color:white;padding:18px 25px;display:inline-flex;gap:35px;align-items:center;font-size:13px;font-weight:600;margin-top:15px}.hero-note{display:flex;gap:12px;align-items:center;margin-top:30px;font-size:11px;line-height:1.6;color:var(--muted)}.hero-note span{font-size:35px;color:var(--pink)}.hero-art{position:relative;margin:15px 30px 30px 0}.hero-art>img{width:100%;height:475px;object-fit:cover;border-radius:180px 180px 12px 12px;transform:rotate(3deg)}.hero-art:before{content:'';position:absolute;inset:15px -20px -15px 12px;border:1px solid #dda6b9;border-radius:190px 190px 12px 12px;transform:rotate(-3deg)}.round-text{position:absolute;top:-25px;right:-25px;border-radius:50%;width:112px;height:112px;background:#e9eab5;z-index:2;display:flex;align-items:center;text-align:center;font-size:11px;letter-spacing:2px;transform:rotate(15deg)}.tag{position:absolute;top:60%;left:-35px;z-index:2;background:#fff;padding:14px 22px;font-size:13px;transform:rotate(-8deg);box-shadow:0 8px 30px #45213118}.tag span{color:var(--pink);margin-left:15px}.small-photo{position:absolute;bottom:-65px;right:-40px;background:white;padding:9px 9px 15px;width:160px;transform:rotate(-9deg);box-shadow:0 10px 40px #40233120}.small-photo img{height:160px;width:100%;object-fit:cover}.small-photo span{display:block;text-align:center;font-size:9px;margin-top:8px}.spark{position:absolute;left:-45px;top:5px;font-size:65px;color:var(--pink)}.ribbon{display:flex;justify-content:space-around;gap:30px;padding:23px 10px;background:#f6e4e8;font-size:11px;letter-spacing:1.5px;overflow:hidden;white-space:nowrap}.catalog,.steps,.faq{padding:85px 7%}.section-heading{display:flex;justify-content:space-between;align-items:end}h2{font-size:46px;line-height:1.15;letter-spacing:-1.4px;margin:18px 0 30px}.section-heading>p{font-size:12px;padding-bottom:20px}.tools{display:flex;justify-content:space-between;gap:20px;margin:20px 0 32px}.filters{display:flex;gap:8px}.filters button{border:1px solid #e0d0d4;border-radius:25px;background:transparent;padding:11px 20px;font-size:12px}.filters .active{background:var(--ink);color:white;border-color:var(--ink)}input,select,textarea{background:white;border:1px solid #dfd1d5;padding:12px;border-radius:5px;max-width:100%}#search{width:240px;font-size:12px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px 20px}.card{min-width:0}.photo{position:relative;height:310px;border-radius:8px;overflow:hidden;background:#eee0da;cursor:pointer}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.photo:hover img{transform:scale(1.06)}.photo .label{position:absolute;left:10px;top:12px;background:#fffaf4ed;padding:7px 10px;border-radius:3px;font-size:9px;letter-spacing:.7px}.card h3{font-size:20px;margin:16px 0 5px}.card-bottom{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.add{border:1px solid #d9c7cb;background:transparent;border-radius:50%;height:32px;width:32px;font-size:22px;color:var(--pink)}.price-note{font-size:11px;color:var(--muted);line-height:1.7;margin-top:25px}.custom{background:#f4e1e5;display:grid;grid-template-columns:1fr 1fr;padding:65px 10%;gap:70px;align-items:center}.custom h2{font-size:55px}.custom p{max-width:350px}.custom-images{display:flex;gap:15px;align-items:center}.custom-images img{width:50%;height:310px;object-fit:cover;border:8px solid white;transform:rotate(-7deg);box-shadow:0 10px 25px #40233115}.custom-images img+img{transform:rotate(8deg);margin-top:60px}.steps{text-align:center}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;text-align:left;margin-top:45px}.step-grid article{border-top:1px solid #ddc9cf;padding-top:25px}.step-grid span{font-size:10px;color:var(--pink);letter-spacing:2px}.step-grid h3{font-size:24px}.step-grid p{font-size:13px}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;border-top:1px solid #e9dedb}.faq summary{padding:22px 0;cursor:pointer;font-size:14px}.faq details{border-bottom:1px solid #dfcfd4}.faq details p{font-size:13px}footer{background:var(--ink);color:white;padding:50px 7%;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:25px}footer .brand{color:#f4c8d6}footer p{color:#d4bec8}footer>div{display:flex;gap:30px;font-size:13px}footer small{font-size:10px;color:#c7acb7}dialog{border:0;border-radius:12px;padding:35px;width:700px;max-width:94vw;max-height:90vh;color:var(--ink);background:var(--cream)}dialog::backdrop{background:#2e1323a6;backdrop-filter:blur(5px)}.close{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:30px;color:var(--ink)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.detail-grid>img{width:100%;height:390px;object-fit:cover;border-radius:6px}.detail-grid h2{font-size:30px}label{display:block;font-size:12px;margin-top:15px}label input,label select,label textarea{display:block;width:100%;margin-top:7px}textarea{height:75px}.bag-row{padding:15px 0;border-bottom:1px solid #e2cfd4;display:flex;gap:15px;align-items:center}.bag-row img{width:55px;height:65px;object-fit:cover}.bag-row div{flex:1}.bag-row p{font-size:11px;margin:3px 0}.remove{border:0;background:none;color:var(--pink)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:6px;padding:15px 25px;display:none;z-index:10;font-size:13px}:focus-visible{outline:3px solid #d25480;outline-offset:4px}@media(min-width:1500px){main{max-width:1600px;margin:auto}}@media(max-width:900px){.hero{gap:30px;padding:50px 6% 80px}.hero-art>img{height:430px}.grid{grid-template-columns:repeat(3,1fr)}.photo{height:280px}.custom{padding:50px 6%;gap:35px}nav{gap:15px}}@media(max-width:650px){header{padding:20px 5%}.brand{font-size:30px}nav{display:none}.announcement{font-size:8px;letter-spacing:1px}.announcement span{margin:0 8px}.hero{grid-template-columns:1fr;padding:40px 7% 85px;gap:40px}.hero h1{font-size:55px}.hero-art{margin:0 25px}.hero-art>img{height:400px}.hero-note{margin-top:20px}.small-photo{width:125px;bottom:-40px}.small-photo img{height:125px}.round-text{width:90px;height:90px;font-size:9px}.ribbon{justify-content:start}.catalog,.steps,.faq{padding:55px 6%}.section-heading{display:block}.section-heading>p{padding:0}.tools{flex-direction:column}.filters{gap:5px}.filters button{padding:10px 12px;font-size:11px}#search{width:100%}.grid{grid-template-columns:1fr 1fr;gap:25px 13px}.photo{height:245px}.card h3{font-size:18px}.card-bottom{font-size:10px}.custom{grid-template-columns:1fr;padding:50px 8%}.custom h2{font-size:44px}.custom-images img{height:260px}.step-grid{grid-template-columns:1fr;gap:15px}.faq{grid-template-columns:1fr;gap:0}h2{font-size:37px}footer{grid-template-columns:1fr}footer>div{flex-wrap:wrap}.detail-grid{grid-template-columns:1fr}.detail-grid>img{height:240px}dialog{padding:30px 22px}.photo .label{font-size:8px;padding:6px}.card-bottom .add{flex-shrink:0}}

/* Movimiento suave y profundidad sin librerías pesadas */
.hero-art,.photo{transition:transform .3s ease;transform-style:preserve-3d;will-change:transform}.hero-art .tag{animation:float 5s ease-in-out infinite}.spark{animation:twinkle 4s ease-in-out infinite}.small-photo{animation:float 6s ease-in-out infinite}.card{animation:arrive .55s both}.card:nth-child(3n+2){animation-delay:.08s}.card:nth-child(3n){animation-delay:.16s}.primary{box-shadow:0 5px 0 #8f1942,0 12px 25px #bf27591c;transition:transform .2s,box-shadow .2s}.primary:hover{transform:translateY(-2px);box-shadow:0 7px 0 #8f1942,0 14px 30px #bf275930}.primary:active{transform:translateY(3px);box-shadow:0 1px 0 #8f1942}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.revealed{opacity:1;transform:none}.floating-wa{position:fixed;bottom:22px;right:22px;padding:15px 20px;background:#206e4b;color:white;border-radius:30px;font-size:12px;z-index:5;box-shadow:0 6px 20px #183e3b30}.yape-info{padding:18px;background:#eee4f4;border-radius:8px;margin-top:20px;color:#62377c}.yape-info p{font-size:12px;margin-bottom:0}.filters{flex-wrap:wrap}.tools{align-items:center}.photo img{object-fit:contain;background:#ede2db}.hero-art{filter:drop-shadow(0 15px 20px #714b6018)}@keyframes float{50%{translate:0 -10px}}@keyframes twinkle{50%{scale:.85;rotate:12deg}}@keyframes arrive{from{opacity:0;translate:0 15px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}@media(max-width:650px){.floating-wa{bottom:12px;right:12px;font-size:11px;padding:13px 17px}.tools{align-items:stretch}.filters button{padding:10px 13px}.photo{height:250px}}

/* Identidad original de Encantada */
.brand-full{display:flex;align-items:center;gap:13px;letter-spacing:0}.brand-full>img{width:82px;height:82px;object-fit:contain;border-radius:15px;box-shadow:0 5px 18px #bf27591a}.brand-full>span{font-size:8px;letter-spacing:2px;max-width:100px;line-height:1.8;margin:0}.hero-brand{display:flex;gap:14px;align-items:center;margin-bottom:24px}.hero-brand img{width:70px;height:70px;border-radius:50%;box-shadow:0 8px 24px #bf27591c}.hero-brand span{font-size:9px;letter-spacing:1.5px;line-height:1.8;color:var(--pink)}.hero{padding-top:40px}.card-brand{position:absolute;right:9px;bottom:9px;display:block;width:49px;height:49px;border:2px solid white;border-radius:50%;overflow:hidden;box-shadow:0 4px 12px #40233130;pointer-events:none}.card-brand img{width:100%;height:100%;object-fit:cover}.dialog-brand{display:flex;gap:15px;align-items:center;padding:0 20px 20px 0;font-size:11px;color:var(--muted)}.dialog-brand img{width:58px;height:58px;border-radius:12px}.photo .label{max-width:75%}#brandLoader{position:fixed;inset:0;background:#fff9fc;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .4s,visibility .4s;pointer-events:none}#brandLoader>img{width:min(270px,60vw);border-radius:32px;box-shadow:0 20px 65px #bf275929;animation:brand-breathe 2s ease-in-out infinite}#brandLoader p{margin-top:28px;font-size:13px;color:var(--pink)}#brandLoader.loaded{opacity:0;visibility:hidden}.loader-line{width:160px;height:3px;background:#f1d3e0;border-radius:3px;overflow:hidden}.loader-line:after{content:'';display:block;width:45%;height:100%;background:var(--pink);animation:brand-progress 1s ease-in-out infinite}@keyframes brand-breathe{50%{transform:perspective(700px) rotateY(8deg) translateY(-7px)}}@keyframes brand-progress{from{transform:translateX(-100%)}to{transform:translateX(330%)}}@media(max-width:650px){.brand-full>img{width:64px;height:64px}.brand-full>span{display:none}.hero-brand{margin-bottom:20px}.hero-brand img{width:58px;height:58px}.hero{padding-top:30px}.card-brand{width:42px;height:42px}}

.yape-qr{display:block;width:235px;max-width:100%;height:auto;margin:18px auto;border-radius:12px}.yape-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.yape-actions a{background:white;border:1px solid #c7abd7;border-radius:6px;padding:12px;font-size:12px}.nav-payment{border:0;background:none;color:var(--pink);padding:0;font-size:13px}#yapeDialog{width:490px}.yape-info strong{color:#62377c}

/* Pantallas táctiles, carrusel y profundidad adaptable */
.featured{padding:65px 7% 30px;overflow:hidden;background:linear-gradient(160deg,#fffaf4,#fff0f5)}
.featured-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.featured h2{font-size:36px;margin-bottom:24px}
.carousel-controls{display:flex;gap:10px}.carousel-controls button{width:46px;height:46px;border:1px solid #d5b7c3;border-radius:50%;background:white;color:var(--pink);font-size:23px}
.carousel-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:15px 8px 28px;scrollbar-width:thin;scrollbar-color:#ce8da5 transparent;perspective:1000px;overscroll-behavior-x:contain}
.feature-card{flex:0 0 290px;scroll-snap-align:start;border:1px solid #edd7df;border-radius:18px;background:white;padding:10px;text-align:left;color:var(--ink);box-shadow:0 8px 0 #eddae2,0 16px 28px #65354612;transition:transform .25s,box-shadow .25s;overflow:hidden}
.feature-card>img{width:100%;height:300px;object-fit:contain;background:#f6ede9;border-radius:12px}
.feature-caption{display:grid;gap:8px;padding:17px 9px}.feature-caption small{font-size:10px;letter-spacing:1.4px;color:var(--pink)}.feature-caption strong{font:21px 'Playfair Display',Georgia,serif}.feature-caption>span{font-size:12px;color:var(--pink)}
@media(hover:hover){.feature-card:hover{transform:perspective(1000px) rotateY(-4deg) translateY(-5px);box-shadow:5px 12px 0 #eddae2,0 22px 35px #65354622}}
.swipe-hint{font-size:11px;text-align:center;margin:10px 0;color:var(--muted)}
.mobile-menu{display:none}header{position:relative;z-index:7}
@media(max-width:650px){
body{overflow-x:clip}header{gap:12px;position:sticky;top:0;padding:10px 5%;box-shadow:0 3px 16px #40233108}
header .brand{margin-right:auto}.mobile-menu{display:block;order:3;border:1px solid #dac2cc;background:transparent;border-radius:10px;min-width:44px;min-height:44px;font-size:23px;color:var(--pink)}header .bag{padding:12px 13px;min-height:44px}
header nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--cream);border-bottom:1px solid #e1ccd4;box-shadow:0 12px 20px #40233112;padding:15px 6%}
header nav.nav-open{display:flex;flex-direction:column;gap:0}header nav a,header nav button{display:block;text-align:left;padding:14px 4px;min-height:46px}
.featured{padding:40px 6% 20px}.featured h2{font-size:29px}.featured-heading{align-items:start}.carousel-controls{gap:6px;margin-top:20px}.carousel-controls button{width:44px;height:44px}
.carousel-track{gap:18px;margin-right:-6vw;padding-right:12vw}.feature-card{flex-basis:78vw;max-width:310px}.feature-card>img{height:285px}
h1{overflow-wrap:normal}.hero h1{font-size:clamp(43px,12vw,55px)}.hero-art{margin:0 20px 25px 8px}.hero-art>img{height:350px}
.grid{gap:24px 12px}.photo{height:220px}.card h3{font-size:18px;line-height:1.3}.add{width:44px;height:44px}.filters button{min-height:44px}.tools input{min-height:46px;font-size:16px}
input,select,textarea{font-size:16px;min-height:46px}textarea{min-height:90px}.primary{min-height:48px;justify-content:center}.close{min-width:44px;min-height:44px;right:6px;top:4px}.detail-grid{gap:16px}.detail-grid>img{height:260px;object-fit:contain;background:#f1e8e3}.detail-grid h2{font-size:29px;margin-top:15px}
dialog{max-height:calc(100dvh - 24px);max-width:calc(100vw - 20px);padding:30px 18px 24px;overscroll-behavior:contain}.yape-qr{width:230px}.yape-actions a{min-height:44px;display:flex;align-items:center}
.faq summary{min-height:52px}.floating-wa{bottom:max(12px,env(safe-area-inset-bottom));max-width:calc(100vw - 24px)}footer{padding-bottom:85px}.bag-row{align-items:start}.bag-row b{font-size:13px}.remove{min-width:44px;min-height:44px}
}
@media(max-width:370px){.hero h1{font-size:43px}.photo{height:190px}.card-brand{width:34px;height:34px}.brand-full>img{width:55px;height:55px}.featured h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.feature-card{transition:none!important}.carousel-track{scroll-behavior:auto!important}}
