.flor-app{min-height:100vh;color:var(--fdl-tinta);background:0 0}.app-bar{z-index:20;border-bottom:1px solid var(--fdl-linea);backdrop-filter:blur(18px);background:#ffffffdb;justify-content:space-between;align-items:center;gap:18px;padding:16px clamp(16px,4vw,44px);display:flex;position:sticky;top:0}.brand,.app-bar nav{align-items:center;gap:14px;display:flex}.brand{font-size:1.1rem;font-weight:720;text-decoration:none}.brand-mark{background:radial-gradient(circle at 66% 34%, var(--fdl-papel) 0 34%, var(--fdl-luna) 35% 66%, var(--fdl-durazno) 67%);width:30px;height:30px;box-shadow:0 2px 10px var(--fdl-sombra);border-radius:50%}.app-bar nav a{color:var(--fdl-tinta-suave);font-size:.92rem;text-decoration:none}.app-bar nav a:hover{color:var(--fdl-rosa-fuerte)}.shop-surface{width:min(1440px,100%);margin:0 auto;padding:22px clamp(12px,3vw,34px) 40px}.puente{border-bottom:1px solid var(--fdl-linea);color:var(--fdl-tinta-suave);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 32px;padding:0 0 18px;font-size:1rem;font-style:italic;display:flex}.puente a{color:var(--fdl-rosa-fuerte);font:700 .68rem/1 var(--fdl-tipo-ui);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}.puente a:hover{text-decoration:underline}.catalog-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.preset{border:1px solid var(--fdl-linea);border-radius:var(--fdl-radio);background:var(--fdl-nube);min-height:76px;color:var(--fdl-tinta);text-align:left;box-shadow:0 1px 2px var(--fdl-sombra);align-content:space-between;padding:14px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.preset:hover,.preset.is-active{border-color:var(--fdl-rosa);box-shadow:0 8px 20px var(--fdl-sombra);transform:translateY(-2px)}.preset.is-active{background:linear-gradient(160deg, #fff 0%, var(--fdl-bruma) 100%)}.preset span{color:var(--fdl-tinta-suave);font-size:.95rem}.preset strong{font-size:1.05rem}.builder{border-top:1px solid var(--fdl-tinta);border-bottom:1px solid var(--fdl-tinta);grid-template-columns:172px minmax(330px,.95fr) minmax(360px,1.05fr);gap:14px;min-height:calc(100vh - 138px);display:grid}.steps,.choices,.preview-pane{box-shadow:none;background:0 0;border:0;border-radius:0}.steps{border-right:1px solid var(--fdl-linea);flex-direction:column;gap:0;padding:28px 24px 28px 0;display:flex}.step{border:0;border-bottom:1px solid var(--fdl-linea);color:var(--fdl-tinta-suave);text-align:left;font:600 .67rem/1.2 var(--fdl-tipo-ui);letter-spacing:.08em;text-transform:uppercase;background:0 0;border-radius:0;padding:16px 0;position:relative}.step:hover{color:var(--fdl-rosa-fuerte);background:0 0}.step.is-active{color:var(--fdl-rosa-fuerte);background:0 0;padding-left:18px;font-weight:800}.step.is-active:before{content:"—";position:absolute;left:0}.choices{border-right:1px solid var(--fdl-linea);padding:clamp(34px,4vw,58px);position:relative;overflow:hidden}.choice-header{grid-template-columns:1fr;gap:22px;margin-bottom:30px;display:grid;position:relative}.choice-header span{z-index:-1;color:#81799529;letter-spacing:-.06em;text-transform:none;font-size:clamp(4.5rem,8vw,8rem);font-style:italic;line-height:1;display:block;position:absolute;top:-38px;right:-4px}.choice-header h1{letter-spacing:-.035em;max-width:8ch;margin:0;font-size:clamp(2.8rem,5vw,5.1rem);font-style:italic;font-weight:400;line-height:.9}.choice-header p{width:min(350px,88%);color:var(--fdl-tinta-suave);margin:0;font-size:1rem;line-height:1.6}.product-list,.details-form{gap:0;display:grid}.cargando{color:var(--fdl-tinta-suave);margin:0;padding:22px 0}.product-row{border-top:1px solid var(--fdl-linea);justify-content:space-between;align-items:center;gap:14px;min-height:86px;padding:10px 0;display:flex}.product-row.is-picked .product-main b{color:var(--fdl-rosa-fuerte)}.product-main{align-items:center;gap:12px;min-width:0;display:flex}.product-main img,.product-dot{object-fit:contain;width:44px;height:58px;filter:drop-shadow(0 4px 8px var(--fdl-sombra));flex:none}.product-papel-negro .product-main img{filter:brightness(.28) saturate(.45) drop-shadow(0 4px 8px var(--fdl-sombra))}.product-papel-vino .product-main img{filter:sepia(.5) saturate(4) hue-rotate(292deg) brightness(.65) drop-shadow(0 4px 8px var(--fdl-sombra))}.product-mono-terciopelo .product-main img{filter:sepia(.25) saturate(2.1) hue-rotate(214deg) brightness(.8) drop-shadow(0 4px 8px var(--fdl-sombra))}.product-dot{background:linear-gradient(145deg, var(--fdl-verde), var(--fdl-durazno));border-radius:999px}.product-main b{font-size:1.16rem;font-style:italic;font-weight:400;display:block}.product-main span{color:var(--fdl-tinta-suave);font:.78rem/1.4 var(--fdl-tipo-ui)}.flower-family{min-height:108px}.flower-family .product-main img{width:54px;height:78px}.flower-colors{align-items:center;gap:8px;margin-top:9px;display:flex}.color-swatch{background:var(--swatch);border:1px solid #22253633;border-radius:50%;width:19px;height:19px;padding:0;position:relative;box-shadow:inset 0 0 0 2px #ffffff6b}.color-swatch:after{content:"";border:1px solid #0000;border-radius:50%;position:absolute;inset:-5px}.color-swatch:hover:after,.color-swatch.is-active:after{border-color:var(--fdl-rosa-fuerte)}.qty{border-block:1px solid var(--fdl-linea);background:0 0;border-radius:0;flex:none;grid-template-columns:38px 34px 38px;align-items:center;display:grid;overflow:hidden}.qty button{width:38px;height:38px;color:var(--fdl-rosa-fuerte);background:0 0;border:0;font-size:1.05rem;font-weight:700}.qty button:hover{background:#8179951a}.qty output{text-align:center;font-weight:760}.details-form label{border-top:1px solid var(--fdl-linea);color:var(--fdl-tinta-suave);font:700 .68rem/1 var(--fdl-tipo-ui);letter-spacing:.1em;text-transform:uppercase;gap:8px;padding:15px 0;display:grid}.details-form input,.details-form textarea{border:0;border-bottom:1px solid var(--fdl-tinta);width:100%;color:var(--fdl-tinta);resize:vertical;font-family:var(--fdl-tipo);background:0 0;border-radius:0;padding:10px 0;font-size:1.05rem}.details-form input::placeholder,.details-form textarea::placeholder{color:var(--fdl-tinta-suave);opacity:.85}.preview-pane{grid-template-rows:minmax(480px,1fr) auto;display:grid;overflow:hidden}.bouquet-stage{z-index:0;isolation:isolate;background:radial-gradient(circle at 50% 24%,#f5cbb038,#0000 15rem),linear-gradient(#fffdfc 0%,#f8eeeb 100%);min-height:480px;position:relative;overflow:hidden}.bouquet-canvas{isolation:isolate;width:360px;height:500px;transform:translate(-50%, -50%) scale(var(--canvas-scale,1));transform-origin:50%;position:absolute;top:50%;left:50%}.empty-stage{color:var(--fdl-tinta-suave);text-align:center;align-content:center;place-items:center;gap:14px;display:grid;position:absolute;inset:0}.empty-moon{background:radial-gradient(circle at 66% 34%, var(--fdl-bruma) 0 36%, var(--fdl-luna) 37% 66%, var(--fdl-durazno) 67%);border-radius:50%;width:72px;height:72px}.bouquet-items{z-index:10;position:absolute;inset:0}.bouquet-front{z-index:60;pointer-events:none;position:absolute;inset:0}.bouquet-stage[data-envuelto=true] .bouquet-items{clip-path:polygon(0 0,100% 0,100% 32%,92% 40%,50% 55%,8% 40%,0 32%)}.tallo{width:auto;height:84%;z-index:var(--z);transform-origin:50% 100%;transform:translateX(-50%) translate(var(--x), var(--y)) rotate(var(--r)) scale(var(--s)) scaleX(var(--flip));filter:saturate(1.12)contrast(1.06)drop-shadow(0 5px 8px #3b2c3324);animation:.32s cubic-bezier(.2,.9,.3,1) both brotar;position:absolute;bottom:1%;left:50%}.tallo-verde{opacity:1;filter:saturate(1.12)contrast(1.08)drop-shadow(0 5px 8px #3b2c3324);height:76%}.papel-atras,.papel-frente{object-fit:contain;object-position:center bottom;width:88%;height:92%;transform:translateX(-50%) scale(var(--paper-scale,1));transform-origin:50% 84%;pointer-events:none;filter:brightness(1.14)saturate(.78)contrast(.94)drop-shadow(0 12px 18px #3b2c331f);background:0 0;position:absolute;bottom:3%;left:50%}.papel-atras{z-index:5}.papel-frente{z-index:55;opacity:1;clip-path:polygon(0 37%,50% 55%,100% 37%,100% 100%,0 100%)}.papel-atras[data-papel=papel-perla],.papel-frente[data-papel=papel-perla]{filter:brightness(1.18)saturate(.68)contrast(.92)drop-shadow(0 12px 18px #4b322329)}.papel-atras[data-papel=papel-negro],.papel-frente[data-papel=papel-negro]{filter:brightness(.43)saturate(.38)contrast(.94)drop-shadow(0 12px 18px #140e1142)}.papel-atras[data-papel=papel-vino],.papel-frente[data-papel=papel-vino]{filter:sepia(.42)saturate(3.2)hue-rotate(292deg)brightness(.82)contrast(.94)drop-shadow(0 12px 18px #4f182b38)}.cinta{object-fit:contain;width:27%;height:23%;transform:translateX(-50%) rotate(-2deg) scale(var(--bow-scale,1));transform-origin:50% 55%;z-index:80;filter:saturate(1.3)contrast(1.12)brightness(.98)drop-shadow(0 4px 3px #3b2c3333)drop-shadow(0 10px 13px #3b2c334d);position:absolute;bottom:8.5%;left:50%}.cinta[data-mono=mono-terciopelo]{filter:sepia(.25)saturate(2.35)hue-rotate(214deg)brightness(.76)contrast(1.12)drop-shadow(0 4px 3px #3b2c333d)drop-shadow(0 10px 13px #3b2c3359)}.accesorios{z-index:20;pointer-events:none;justify-content:flex-end;align-items:flex-end;gap:4px;display:flex;position:absolute;bottom:3%;right:3%}.accesorio{animation:.3s ease-out both accesorio-entrar;animation-delay:calc(var(--i) * 60ms);place-items:end center;margin:0 0 0 -18px;display:grid;position:relative}.accesorio img{object-fit:contain;filter:contrast(1.04)drop-shadow(0 8px 7px #3b2c3347);width:92px;height:82px}.accesorio-tarjeta img{width:104px}.accesorio-chocolates img{width:118px;height:94px}.accesorio-vela img{width:78px;height:86px}@keyframes accesorio-entrar{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes brotar{0%{opacity:0;transform:translateX(-50%) translate(var(--x), calc(var(--y) + 26px)) rotate(var(--r)) scale(calc(var(--s) * .86)) scaleX(var(--flip))}to{opacity:1;transform:translateX(-50%) translate(var(--x), var(--y)) rotate(var(--r)) scale(var(--s)) scaleX(var(--flip))}}.receipt{border-top:1px solid var(--fdl-tinta);background:#f8f7f2b3;gap:16px;padding:26px 30px 30px;display:grid}.receipt>div{justify-content:space-between;align-items:end;gap:16px;display:flex}.receipt span,.receipt p{color:var(--fdl-tinta-suave)}.receipt strong{color:var(--fdl-tinta);font-size:2.25rem;font-style:italic;font-weight:400;line-height:1}.receipt p{margin:0;line-height:1.42}#confirmacion{border-radius:var(--fdl-radio-chico);margin:0;padding:11px 13px;font-weight:650;line-height:1.4}#confirmacion[data-tono=error]{color:var(--fdl-rosa-fuerte);background:#fbe6ec}#confirmacion[data-tono=ok]{color:#3f6b43;background:#e4efe3}#submit-request[disabled]{opacity:.6;cursor:progress}#receipt-lines{gap:8px;max-height:122px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}#receipt-lines li{color:var(--fdl-tinta);justify-content:space-between;gap:14px;font-size:.95rem;display:flex}#submit-request{border:1px solid var(--fdl-tinta);background:var(--fdl-tinta);min-height:50px;color:var(--fdl-nube);font:700 .72rem/1 var(--fdl-tipo-ui);letter-spacing:.14em;text-transform:uppercase;box-shadow:none;border-radius:0}#submit-request:hover{background:var(--fdl-rosa-fuerte);border-color:var(--fdl-rosa-fuerte)}@media (prefers-reduced-motion:reduce){.tallo,.accesorio{animation:none}.preset{transition:none}}@media (width<=1080px){.builder{grid-template-columns:144px minmax(0,1fr)}.preview-pane{border-top:1px solid var(--fdl-linea);grid-column:1/-1}}@media (width<=720px){.shop-surface{padding:22px 12px 40px}.puente{margin-bottom:20px}.catalog-strip,.builder{grid-template-columns:1fr}.builder{border-top-color:var(--fdl-tinta)}.steps{border-right:0;border-bottom:1px solid var(--fdl-linea);scrollbar-width:none;flex-direction:row;padding:0;overflow-x:auto}.steps::-webkit-scrollbar{display:none}.step{border-bottom:0;min-width:max-content;padding:15px 14px}.step.is-active{padding-left:30px}.step.is-active:before{left:12px}.choices{border-right:0;padding:38px 18px 46px}.choice-header{margin-bottom:24px}.choice-header span{font-size:4.8rem;top:-28px;right:0}.choice-header h1{font-size:clamp(3rem,14vw,4.7rem)}.choice-header p{width:92%}.preview-pane{grid-template-rows:minmax(500px,1fr) auto}.bouquet-stage{min-height:500px}.receipt{padding:24px 18px}}
