.modal-dialog .modal-content{max-height:calc(100dvh - 2rem)}.modal-dialog .modal-content>form{flex-direction:column;min-height:0;max-height:100%;display:flex}.modal-dialog .modal-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;overflow-y:auto}.modal-dialog .modal-header,.modal-dialog .modal-footer{flex:none}@media (width<=575.98px){.modal-dialog .modal-content{max-height:calc(100dvh - 1rem)}}.so-app{--so:#5b4bff;--so2:#0ea5e9;background:linear-gradient(#f4f2ff 0,#fff 34rem);min-height:100vh;padding-bottom:8rem}.so-florist{--so:#db2777;--so2:#f59e0b}.so-hero{color:#fff;background:radial-gradient(circle at 85% 15%,#fff3,transparent 22rem),linear-gradient(125deg,var(--so),var(--so2));clip-path:ellipse(100% 88% at 50% 0);padding:3.5rem 0 5rem}.so-hero h1{color:#fff;max-width:760px;margin:.75rem 0;font-size:clamp(2.2rem,5vw,4.2rem);line-height:1.05}.so-hero p{opacity:.88;font-size:1.1rem}.so-back,.so-back:hover{color:#fff;font-weight:700;text-decoration:none}.so-eyebrow{background:#ffffff20;border:1px solid #fff5;border-radius:999px;align-items:center;gap:.6rem;padding:.45rem .8rem;font-weight:700;display:inline-flex}.so-secure{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff18;border:1px solid #ffffff45;border-radius:18px;align-items:center;gap:.8rem;padding:1rem 1.2rem;display:flex}.so-secure i{font-size:1.6rem}.so-shell{max-width:1120px;margin-top:-2rem;position:relative}.so-progress{background:#fff;border:1px solid #e8e5ff;border-radius:24px;grid-template-columns:repeat(4,1fr);margin-bottom:1.5rem;padding:1rem;display:grid;box-shadow:0 20px 60px #4739a51a}.so-progress-item{color:#8990a5;background:0 0;border:0;justify-content:center;align-items:center;gap:.65rem;display:flex}.so-progress-item span{background:#f0f1f6;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.so-progress-item.active{color:var(--so)}.so-progress-item.active span{background:var(--so);color:#fff;box-shadow:0 8px 22px color-mix(in srgb,var(--so) 35%,transparent)}.so-step{background:#fff;border:1px solid #eceaf5;border-radius:28px;padding:clamp(1.2rem,4vw,2.5rem);display:none;box-shadow:0 20px 70px #312e8112}.so-step.active{animation:.28s soIn;display:block}.so-section-title{align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.so-section-title>span{background:linear-gradient(135deg,var(--so),var(--so2));color:#fff;border-radius:16px;flex:0 0 48px;place-items:center;height:48px;font-weight:800;display:grid}.so-section-title h2{margin:0;font-weight:800}.so-section-title p{color:#747b90;margin:.25rem 0 0}.so-choice-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.so-choice-grid.so-three{grid-template-columns:repeat(3,1fr)}.so-choice input{opacity:0;position:absolute}.so-choice-body{cursor:pointer;border:2px solid #e8e8f1;border-radius:20px;flex-direction:column;gap:.35rem;height:100%;padding:1.25rem;transition:all .2s;display:flex}.so-choice-body>i{color:var(--so);margin-bottom:.4rem;font-size:1.7rem}.so-choice-body small{color:#73798d}.so-choice input:checked+.so-choice-body{border-color:var(--so);background:color-mix(in srgb,var(--so) 7%,white);box-shadow:0 9px 28px color-mix(in srgb,var(--so) 14%,transparent)}.so-subpanel{background:#f8f8fc;border-radius:20px;margin-top:1.4rem;padding:1.3rem}.so-subpanel h3{font-size:1rem;font-weight:800}.so-catalog-tools{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.so-search{flex:1;min-width:260px;position:relative}.so-search i{color:#858ba0;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.so-search input{border:1px solid #ddddea;border-radius:14px;width:100%;padding:.8rem 1rem .8rem 2.8rem}.so-filters{gap:.5rem;display:flex;overflow:auto}.so-filter{white-space:nowrap;background:#fff;border:1px solid #ddddea;border-radius:999px;padding:.55rem .85rem}.so-filter.active{background:var(--so);color:#fff;border-color:var(--so)}.so-product-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.so-product{background:#fff;border:1px solid #e8e8f0;border-radius:20px;transition:all .2s;overflow:hidden}.so-product:hover{transform:translateY(-4px);box-shadow:0 18px 35px #17255418}.so-product-image{height:150px;color:var(--so);background:linear-gradient(135deg,#f0edff,#e8f8ff);place-items:center;font-size:2.5rem;display:grid}.so-product-image img{object-fit:cover;width:100%;height:100%}.so-product-content{padding:1rem}.so-product-content h3{min-height:2.4rem;font-size:1rem;font-weight:800}.so-price{color:var(--so);font-weight:800}.so-form-card,.so-review-card{background:#f8f8fc;border-radius:20px;padding:1.4rem}.so-nav{margin-top:1.25rem;display:flex}.so-cart-fab{z-index:1030;color:#fff;background:#111827;border:0;border-radius:18px;align-items:center;gap:.65rem;padding:.85rem 1rem;display:flex;position:fixed;bottom:1.2rem;right:1.2rem;box-shadow:0 15px 40px #11182755}.so-cart-fab span{background:var(--so);border-radius:99px;place-items:center;min-width:22px;height:22px;font-size:.75rem;display:grid}.so-modal{border:0;border-radius:24px}.so-modal .modal-header{background:linear-gradient(135deg,color-mix(in srgb,var(--so) 10%,white),#fff)}.so-size-presets{flex-wrap:wrap;gap:.5rem;display:flex}.so-size-presets button{background:#fff;border:1px solid #dfe0e9;border-radius:10px;padding:.5rem .7rem}.so-cart-row{border-bottom:1px solid #e5e7eb;justify-content:space-between;gap:1rem;padding:1rem 0;display:flex}.so-consent{background:#fff7ed;border-radius:15px;gap:.7rem;margin-top:1rem;padding:1rem;display:flex}.so-empty{text-align:center;color:#777f94;padding:3rem}.so-error{outline:3px solid #fecaca!important}@keyframes soIn{0%{opacity:0;transform:translateY(8px)}}@media (width<=768px){.so-hero{padding:2rem 0 4rem}.so-secure{display:none}.so-shell{margin-top:-1rem}.so-progress{padding:.7rem}.so-progress-item{flex-direction:column;gap:.25rem;font-size:.68rem}.so-progress-item span{width:34px;height:34px}.so-choice-grid,.so-choice-grid.so-three,.so-product-grid{grid-template-columns:1fr}.so-product-grid{grid-template-columns:repeat(2,1fr)}.so-step{border-radius:20px}.so-cart-fab b{display:none}}@media (width<=430px){.so-product-grid{grid-template-columns:1fr}.so-section-title>span{display:none}}
