
#cart-panel { transform: translateX(100%); transition: transform 0.35s; }
#cart-panel.open { transform: translateX(0px); }
.modal { opacity: 0; pointer-events: none; transition: opacity 0.3s; }
.modal.open { opacity: 1; pointer-events: auto; }
.modal-content { transform: scale(0.9); transition: transform 0.3s; }
.modal.open .modal-content { transform: scale(1); margin-top: 100px; }
.overlay { opacity: 0; pointer-events: none; transition: opacity 0.3s; }
.overlay.open { opacity: 1; pointer-events: auto; }
.phone-blink { animation: 2s ease-in-out infinite blink; }
@keyframes blink {
0%, 100% { transform: scale(1); box-shadow: rgba(196, 30, 58, 0.7) 0px 0px 0px 0px; }
50% { transform: scale(1.1); box-shadow: rgba(196, 30, 58, 0) 0px 0px 0px 14px; }
}
html { scroll-behavior: smooth; }
body { }
h1, h2, h3, h4, h5, h6 { }
.reveal.active { opacity: 1; transform: translateY(0px); }
.petal { position: absolute; width: 12px; height: 12px; background: radial-gradient(circle, rgba(255, 122, 141, 0.8) 0%, rgba(196, 30, 58, 0.4) 100%); border-radius: 50% 0px 50% 50%; pointer-events: none; opacity: 0.6; animation: 15s linear infinite float; }
@keyframes float {
0% { transform: translateY(0px) rotate(0deg) translateX(0px); opacity: 0; }
10% { opacity: 0.7; }
90% { opacity: 0.7; }
100% { transform: translateY(-100vh) rotate(360deg) translateX(50px); opacity: 0; }
}
.btn-rose:hover { transform: translateY(-2px); box-shadow: rgba(196, 30, 58, 0.45) 0px 8px 24px; background: linear-gradient(135deg, rgb(161, 29, 52) 0%, rgb(92, 0, 21) 100%); }
.btn-outline { background: white; color: rgb(196, 30, 58) !important; border: 2px solid rgb(196, 30, 58); font-weight: 600; transition: 0.3s; }
.btn-outline:hover { background: rgb(255, 245, 245); transform: translateY(-2px); }
.divider-rose { height: 4px; background: linear-gradient(90deg, transparent, rgb(196, 30, 58), transparent); border-radius: 2px; }
.modal { opacity: 0; pointer-events: none; transition: opacity 0.3s; }
.modal-content { transform: scale(0.9); transition: transform 0.3s; }
.overlay { opacity: 0; pointer-events: none; transition: opacity 0.3s; }
.phone-blink { animation: 2s ease-in-out infinite blink-phone; }
@keyframes blink-phone {
0%, 100% { transform: scale(1); opacity: 1; box-shadow: rgba(196, 30, 58, 0.7) 0px 0px 0px 0px; }
50% { transform: scale(1.1); opacity: 0.9; box-shadow: rgba(196, 30, 58, 0) 0px 0px 0px 15px; }
}
.btn-rose:hover { transform: translateY(-2px); box-shadow: rgba(196, 30, 58, 0.4) 0px 8px 24px; }
.reveal { opacity: 0; transform: translateY(20px); transition: 0.65s cubic-bezier(0.4, 0, 0.2, 1); }
.petal { position: absolute; width: 10px; height: 10px; background: radial-gradient(circle, rgba(255, 122, 141, 0.8) 0%, rgba(196, 30, 58, 0.4) 100%); border-radius: 50% 0px 50% 50%; pointer-events: none; opacity: 0.5; animation: 16s linear infinite float; }
@keyframes float {
0% { transform: translateY(0px) rotate(0deg); opacity: 0; }
10% { opacity: 0.6; }
90% { opacity: 0.6; }
100% { transform: translateY(-100vh) rotate(360deg) translateX(40px); opacity: 0; }
}
.progress-dot.done { background: rgb(196, 30, 58); color: white; }
.progress-dot.active { background: linear-gradient(135deg, rgb(196, 30, 58), rgb(128, 0, 32)); color: white; box-shadow: rgba(196, 30, 58, 0.2) 0px 0px 0px 4px; }
.progress-dot.pending { background: rgb(255, 228, 230); color: rgb(196, 168, 173); }
.progress-line.done { background: rgb(196, 30, 58); }
.progress-line.pending { background: rgb(255, 228, 230); }
@keyframes blink-phone {
0%, 100% { transform: scale(1); box-shadow: rgba(196, 30, 58, 0.7) 0px 0px 0px 0px; }
50% { transform: scale(1.1); box-shadow: rgba(196, 30, 58, 0) 0px 0px 0px 14px; }
}
h1, h2, h3, h4, h5, h6 { }
.reveal { opacity: 0; transform: translateY(30px); transition: 0.8s cubic-bezier(0.4, 0, 0.2, 1); }
.reveal.active { opacity: 1; transform: translateY(0px); }
@keyframes float {
0% { transform: translateY(0px) rotate(0deg) translateX(0px); opacity: 0; }
10% { opacity: 0.7; }
90% { opacity: 0.7; }
100% { transform: translateY(-100vh) rotate(360deg) translateX(50px); opacity: 0; }
}
.divider-rose { height: 4px; background: linear-gradient(90deg, transparent, rgb(196, 30, 58), transparent); border-radius: 2px; }
.form-input { width: 100%; border: 1px solid rgb(224, 176, 182); border-radius: 10px; padding: 10px 14px; font-size: 0.95rem; background: rgb(255, 255, 255); transition: border-color 0.3s; }
.phone-blink { animation: 2s ease-in-out infinite blink-phone; }
#cart-panel { transform: translateX(100%); transition: transform 0.35s; }
#cart-panel.open { transform: translateX(0px); }
.modal { opacity: 0; pointer-events: none; transition: opacity 0.3s; }
.modal.open { opacity: 1; pointer-events: auto; }
.modal-content { transform: scale(0.9); transition: transform 0.3s; }
.modal.open .modal-content { transform: scale(1); margin-top: 100px; }
.overlay { opacity: 0; pointer-events: none; transition: opacity 0.3s; }
.overlay.open { opacity: 1; pointer-events: auto; }
html, body { margin: 0px; padding: 0px; min-height: 100%; background: rgb(250, 247, 245); color: rgb(26, 26, 26); }
h1, h2, h3 { }
.petal { position: fixed; pointer-events: none; border-radius: 50% 0px 50% 50%; animation: linear infinite fall; }
@keyframes fall {
0% { transform: translateY(-60px) rotate(0deg) translateX(0px); opacity: 0; }
5% { opacity: 0.7; }
95% { opacity: 0.6; }
100% { transform: translateY(110vh) rotate(540deg) translateX(60px); opacity: 0; }
}
.four-o-four { font-size: clamp(100px, 20vw, 220px); font-weight: 700; line-height: 0.9; background: linear-gradient(135deg, rgb(255, 228, 230) 0%, rgb(255, 196, 204) 40%, rgb(196, 30, 58) 100%) padding-box text; -webkit-text-fill-color: transparent; user-select: none; letter-spacing: -4px; position: relative; z-index: 1; }
.rose-zero { position: relative; display: inline-block; }
.rose-zero::after { content: "🌹"; position: absolute; font-size: clamp(28px, 5vw, 64px); top: 50%; left: 50%; transform: translate(-50%, -52%); -webkit-text-fill-color: initial; filter: drop-shadow(rgba(196, 30, 58, 0.35) 0px 2px 8px); animation: 6s ease-in-out infinite roseSpin; }
@keyframes roseSpin {
0%, 100% { transform: translate(-50%, -52%) rotate(-8deg) scale(1); }
50% { transform: translate(-50%, -56%) rotate(8deg) scale(1.08); }
}
.btn-rose { background: linear-gradient(135deg, rgb(196, 30, 58), rgb(128, 0, 32)); color: rgb(255, 255, 255); font-weight: 600; transition: 0.3s; align-items: center; gap: 8px; text-decoration: none; }
.btn-rose:hover { transform: translateY(-3px); box-shadow: rgba(196, 30, 58, 0.4) 0px 10px 28px; }
.btn-ghost { background: white; color: rgb(196, 30, 58); border: 2px solid rgb(255, 228, 230); font-weight: 600; transition: 0.3s; display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
.btn-ghost:hover { border-color: rgb(255, 196, 204); transform: translateY(-3px); box-shadow: rgba(196, 30, 58, 0.12) 0px 6px 20px; }
.quick-link { display: flex; align-items: center; gap: 12px; padding: 14px 18px; background: white; border-radius: 16px; border: 1.5px solid rgb(255, 228, 230); text-decoration: none; color: rgb(26, 26, 26); transition: 0.25s; }
.quick-link:hover { border-color: rgb(255, 196, 204); transform: translateY(-4px); box-shadow: rgba(196, 30, 58, 0.12) 0px 8px 24px; background: rgb(255, 245, 245); }
.quick-link-icon { width: 44px; height: 44px; border-radius: 12px; background: rgb(255, 245, 245); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
#countdown { font-variant-numeric: tabular-nums; }
.search-bar { background: white; border: 1.5px solid rgb(229, 208, 212); border-radius: 50px; display: flex; align-items: center; overflow: hidden; transition: border-color 0.25s, box-shadow 0.25s; }
.search-bar:focus-within { border-color: rgb(196, 30, 58); box-shadow: rgba(196, 30, 58, 0.1) 0px 0px 0px 3px; }
.search-bar input { flex: 1 1 0%; border: medium; outline: none; padding: 13px 20px; font-size: 0.95rem; background: transparent; color: rgb(26, 26, 26); }
.search-bar input::placeholder { color: rgb(196, 168, 173); }
.search-bar button { background: linear-gradient(135deg, rgb(196, 30, 58), rgb(128, 0, 32)); color: white; border: medium; padding: 10px 20px; margin: 4px; border-radius: 50px; font-weight: 600; font-size: 0.85rem; cursor: pointer; transition: 0.2s; white-space: nowrap; }
.search-bar button:hover { opacity: 0.9; }
.wave-divider { width: 100%; overflow: hidden; line-height: 0; }
.wave-divider svg { display: block; }
.reveal { opacity: 0; transform: translateY(30px); transition: 0.8s cubic-bezier(0.4, 0, 0.2, 1); }
.reveal-left { opacity: 0; transform: translateX(-40px); transition: 0.8s cubic-bezier(0.4, 0, 0.2, 1); }
.reveal-left.active { opacity: 1; transform: translateX(0px); }
.reveal-right { opacity: 0; transform: translateX(40px); transition: 0.8s cubic-bezier(0.4, 0, 0.2, 1); }
.reveal-right.active { opacity: 1; transform: translateX(0px); }
.card-rose { background: white; border-radius: 20px; transition: 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94); box-shadow: rgba(0, 0, 0, 0.05) 0px 4px 15px; }
.card-rose:hover { transform: translateY(-8px); box-shadow: rgba(196, 30, 58, 0.15) 0px 12px 30px; }
.page-hero { background: linear-gradient(135deg, rgb(255, 245, 245) 0%, rgb(255, 228, 230) 50%, rgb(255, 196, 204) 100%); position: relative; overflow: hidden; }
.page-hero::before { content: ""; position: absolute; inset: 0px; background: radial-gradient(circle at 20% 50%, rgba(196, 30, 58, 0.06) 0%, transparent 50%), radial-gradient(circle at 80% 80%, rgba(196, 30, 58, 0.06) 0%, transparent 50%); pointer-events: none; }
.stat-card { background: white; border-radius: 24px; border: 1.5px solid rgb(255, 228, 230); box-shadow: rgba(196, 30, 58, 0.06) 0px 4px 20px; transition: 0.35s; }
.stat-card:hover { transform: translateY(-6px); box-shadow: rgba(196, 30, 58, 0.14) 0px 16px 40px; border-color: rgb(255, 196, 204); }
.stat-number { font-family: "Playfair Display", serif; font-size: 3.5rem; font-weight: 700; color: rgb(196, 30, 58); line-height: 1; }
.timeline-item { position: relative; padding-left: 48px; }
.timeline-item::before { content: ""; position: absolute; left: 16px; top: 32px; bottom: -16px; width: 2px; background: linear-gradient(rgb(196, 30, 58), rgb(255, 228, 230)); }
.timeline-item:last-child::before { display: none; }
.timeline-dot { position: absolute; left: 6px; top: 8px; width: 22px; height: 22px; border-radius: 50%; background: linear-gradient(135deg, rgb(196, 30, 58), rgb(128, 0, 32)); border: 3px solid white; box-shadow: rgb(255, 228, 230) 0px 0px 0px 3px; }
.process-step { position: relative; }
.process-step:not(:last-child)::after { content: "→"; position: absolute; right: -18px; top: 50%; transform: translateY(-50%); color: rgb(255, 196, 204); font-size: 1.5rem; font-weight: 300; }
@media (max-width: 768px) {
  .process-step:not(:last-child)::after { display: none; }
}
.guarantee-card { background: white; border-radius: 20px; border: 1.5px solid rgb(255, 228, 230); padding: 28px; transition: 0.3s; }
.guarantee-card:hover { border-color: rgb(196, 30, 58); box-shadow: rgba(196, 30, 58, 0.1) 0px 8px 28px; transform: translateY(-4px); }
.team-card { background: white; border-radius: 24px; overflow: hidden; box-shadow: rgba(0, 0, 0, 0.06) 0px 4px 15px; transition: 0.35s; }
.team-card:hover { transform: translateY(-8px); box-shadow: rgba(196, 30, 58, 0.15) 0px 16px 40px; }
.team-img-wrap { position: relative; overflow: hidden; height: 280px; }
.team-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.team-card:hover .team-img-wrap img { transform: scale(1.06); }
.team-overlay { position: absolute; inset: 0px; background: linear-gradient(to top, rgba(92, 0, 21, 0.7) 0%, transparent 50%); }
.salon-photo { border-radius: 20px; overflow: hidden; box-shadow: rgba(0, 0, 0, 0.1) 0px 8px 30px; }
.salon-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; display: block; }
.salon-photo:hover img { transform: scale(1.04); }
.quote-block { position: relative; }
.quote-block::before { content: "“"; position: absolute; top: -20px; left: -8px; font-size: 8rem; color: rgb(255, 228, 230); font-family: "Playfair Display", serif; line-height: 1; pointer-events: none; }
.trust-bar { background: linear-gradient(135deg, rgb(92, 0, 21) 0%, rgb(128, 0, 32) 50%, rgb(196, 30, 58) 100%); }
@keyframes countUp {
0% { opacity: 0; transform: translateY(10px); }
100% { opacity: 1; transform: translateY(0px); }
}
.counter-animated { animation: 0.6s forwards countUp; }
.petal { position: absolute; width: 12px; height: 12px; background: radial-gradient(circle, rgba(255, 122, 141, 0.8) 0%, rgba(196, 30, 58, 0.4) 100%); border-radius: 50% 0px 50% 50%; pointer-events: none; opacity: 0.6; animation: 15s linear infinite float; }
@keyframes float {
0% { transform: translateY(0px) rotate(0deg) translateX(0px); opacity: 0; }
10% { opacity: 0.7; }
90% { opacity: 0.7; }
100% { transform: translateY(-100vh) rotate(360deg) translateX(50px); opacity: 0; }
}
.page-hero-about { background: linear-gradient(135deg, rgb(255, 245, 245) 0%, rgb(255, 228, 230) 50%, rgb(255, 196, 204) 100%); position: relative; overflow: hidden; }
.page-hero-about::before { content: ""; position: absolute; inset: 0px; background: radial-gradient(circle at 20% 50%, rgba(196, 30, 58, 0.06) 0%, transparent 50%), radial-gradient(circle at 80% 80%, rgba(196, 30, 58, 0.06) 0%, transparent 50%); pointer-events: none; }
html { scroll-behavior: smooth; }
body { background: rgb(250, 247, 245); color: rgb(26, 26, 26); }
.article-body { font-size: 1.05rem; line-height: 1.85; color: rgb(55, 65, 81); }
.article-body h2 { font-size: 1.75rem; font-weight: 700; color: rgb(128, 0, 32); margin: 2.8rem 0px 1rem; line-height: 1.25; }
.article-body h3 { font-size: 1.3rem; font-weight: 600; color: rgb(26, 26, 26); margin: 2rem 0px 0.75rem; }
.article-body p { margin-bottom: 1.2rem; }
.article-body strong { font-weight: 600; color: rgb(26, 26, 26); }
.article-body em { font-style: italic; color: rgb(107, 114, 128); }
.article-body ul { margin: 0px 0px 1.4rem; padding-left: 0px; list-style: none; }
.article-body ul li { position: relative; padding-left: 1.6rem; margin-bottom: 0.6rem; }
.article-body ul li::before { content: ""; position: absolute; left: 0px; top: 0.65rem; width: 8px; height: 8px; border-radius: 50%; background: linear-gradient(135deg, rgb(196, 30, 58), rgb(128, 0, 32)); }
.article-body ol { counter-reset: ol-cnt 0; margin: 0px 0px 1.4rem; padding-left: 0px; list-style: none; }
.article-body ol li { counter-increment: ol-cnt 1; position: relative; padding-left: 2rem; margin-bottom: 0.6rem; }
.article-body ol li::before { content: counter(ol-cnt); position: absolute; left: 0px; top: 0px; width: 22px; height: 22px; border-radius: 50%; background: linear-gradient(135deg, rgb(196, 30, 58), rgb(128, 0, 32)); color: white; font-size: 0.75rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.article-body a { color: rgb(196, 30, 58); text-decoration: underline rgba(196, 30, 58, 0.3); text-underline-offset: 3px; transition: text-decoration-color 0.2s; }
.article-body a:hover { text-decoration-color: rgb(196, 30, 58); }
.blockquote { position: relative; margin: 2.5rem 0px; padding: 24px 28px 24px 52px; background: linear-gradient(135deg, rgb(255, 245, 245), rgb(255, 228, 230)); border-left: 4px solid rgb(196, 30, 58); border-radius: 0px 20px 20px 0px; }
.blockquote::before { content: "“"; position: absolute; left: 14px; top: 4px; font-size: 4.5rem; color: rgb(255, 196, 204); line-height: 1; pointer-events: none; }
.blockquote p { margin: 0px 0px 0.5rem; font-size: 1.1rem; font-style: italic; color: rgb(128, 0, 32); }
.blockquote cite { font-size: 0.85rem; color: rgb(156, 163, 175); font-style: normal; }
.tip-box { background: rgb(236, 253, 245); border: 1.5px solid rgb(187, 247, 208); border-radius: 16px; padding: 18px 22px; margin: 2rem 0px; display: flex; gap: 14px; align-items: flex-start; }
.tip-icon { width: 36px; height: 36px; border-radius: 10px; background: rgb(187, 247, 208); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.tip-box p { margin: 0px; font-size: 0.92rem; color: rgb(22, 101, 52); line-height: 1.6; }
.warn-box { background: rgb(255, 251, 235); border: 1.5px solid rgb(253, 230, 138); border-radius: 16px; padding: 18px 22px; margin: 2rem 0px; display: flex; gap: 14px; align-items: flex-start; }
.warn-icon { width: 36px; height: 36px; border-radius: 10px; background: rgb(253, 230, 138); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.warn-box p { margin: 0px; font-size: 0.92rem; color: rgb(146, 64, 14); line-height: 1.6; }
.section-break { height: 3px; background: linear-gradient(90deg, transparent, rgb(255, 196, 204), transparent); border-radius: 2px; margin: 2.5rem 0px; border: medium; }
.gallery-grid { display: grid; gap: 12px; margin: 2rem 0px; }
.gallery-grid.cols-2 { grid-template-columns: 1fr 1fr; }
.gallery-grid.cols-3 { grid-template-columns: 1fr 1fr 1fr; }
.gallery-grid.featured { grid-template-columns: 2fr 1fr; grid-template-rows: auto auto; }
.gallery-item { position: relative; overflow: hidden; border-radius: 16px; cursor: pointer; }
.gallery-item.tall { grid-row: span 2; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s; aspect-ratio: 4 / 3; }
.gallery-item.tall img { aspect-ratio: unset; height: 100%; }
.gallery-item:hover img { transform: scale(1.06); }
.gallery-caption { position: absolute; bottom: 0px; left: 0px; right: 0px; background: linear-gradient(to top, rgba(92, 0, 21, 0.75) 0%, transparent 100%); color: white; font-size: 0.78rem; font-weight: 600; padding: 20px 12px 10px; opacity: 0; transition: opacity 0.3s; }
.gallery-item:hover .gallery-caption { opacity: 1; }
@media (max-width: 640px) {
  .gallery-grid.cols-3 { grid-template-columns: 1fr 1fr; }
  .gallery-grid.featured { grid-template-columns: 1fr; }
  .gallery-item.tall img { aspect-ratio: 4 / 3; }
}
#lightbox { position: fixed; inset: 0px; background: rgba(0, 0, 0, 0.92); z-index: 200; display: none; align-items: center; justify-content: center; padding: 24px; }
#lightbox.open { display: flex; }
#lightbox img { max-width: 90vw; max-height: 88vh; object-fit: contain; border-radius: 12px; }
#lightbox-close { position: absolute; top: 20px; right: 24px; color: white; font-size: 2rem; cursor: pointer; line-height: 1; }
#lightbox-prev, #lightbox-next { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255, 255, 255, 0.15); color: white; border: medium; width: 48px; height: 48px; border-radius: 50%; font-size: 1.4rem; cursor: pointer; transition: background 0.2s; display: flex; align-items: center; justify-content: center; }
#lightbox-prev { left: 16px; }
#lightbox-next { right: 16px; }
#lightbox-prev:hover, #lightbox-next:hover { background: rgba(255, 255, 255, 0.3); }
#lightbox-counter { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); color: rgba(255, 255, 255, 0.6); font-size: 0.85rem; }
.toc { background: white; border: 1.5px solid rgb(255, 228, 230); border-radius: 20px; padding: 24px 28px; margin-bottom: 2rem; }
.toc-title { font-size: 1rem; font-weight: 700; color: rgb(128, 0, 32); margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }
.toc ol { counter-reset: toc 0; list-style: none; margin: 0px; padding: 0px; }
.toc ol li { counter-increment: toc 1; display: flex; align-items: baseline; gap: 8px; padding: 5px 0px; border-bottom: 1px dotted rgb(255, 228, 230); }
.toc ol li:last-child { border-bottom: medium; }
.toc ol li::before { content: counter(toc); font-size: 0.72rem; font-weight: 700; color: white; background: rgb(196, 30, 58); border-radius: 50%; width: 18px; height: 18px; min-width: 18px; display: flex; align-items: center; justify-content: center; margin-top: 2px; }
.toc ol li a { font-size: 0.88rem; color: rgb(55, 65, 81); text-decoration: none; transition: color 0.2s; line-height: 1.4; }
.toc ol li a:hover { color: rgb(196, 30, 58); }
.variety-card { background: white; border-radius: 20px; border: 1.5px solid rgb(255, 228, 230); overflow: hidden; transition: 0.3s; }
.variety-card:hover { transform: translateY(-5px); box-shadow: rgba(196, 30, 58, 0.12) 0px 12px 32px; border-color: rgb(255, 196, 204); }
.variety-img { height: 160px; overflow: hidden; }
.variety-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.variety-card:hover .variety-img img { transform: scale(1.07); }
.variety-body { padding: 16px; }
.variety-badge { display: inline-block; font-size: 0.7rem; font-weight: 700; padding: 3px 10px; border-radius: 50px; margin-bottom: 8px; }
.btn-outline { background: white; color: rgb(196, 30, 58) !important; border: 2px solid rgb(255, 228, 230); font-weight: 600; transition: 0.3s; display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
.btn-outline:hover { border-color: rgb(255, 196, 204); transform: translateY(-2px); box-shadow: rgba(196, 30, 58, 0.1) 0px 6px 18px; }
#reading-progress { position: fixed; top: 0px; left: 0px; height: 3px; background: linear-gradient(90deg, rgb(196, 30, 58), rgb(255, 122, 141)); z-index: 200; transition: width 0.1s; width: 0px; }
.author-card { background: white; border-radius: 20px; border: 1.5px solid rgb(255, 228, 230); padding: 24px; }
.tag { display: inline-block; background: rgb(255, 245, 245); color: rgb(128, 0, 32); font-size: 0.78rem; font-weight: 600; padding: 5px 14px; border-radius: 50px; border: 1px solid rgb(255, 228, 230); transition: 0.2s; text-decoration: none; }
.tag:hover { background: rgb(255, 228, 230); border-color: rgb(255, 196, 204); }
.share-btn { display: flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: 50px; border: 1.5px solid rgb(255, 228, 230); background: white; font-size: 0.85rem; font-weight: 600; color: rgb(55, 65, 81); cursor: pointer; transition: 0.2s; }
.share-btn:hover { border-color: rgb(255, 196, 204); background: rgb(255, 245, 245); }
.share-btn.copied { border-color: rgb(22, 163, 74); color: rgb(22, 163, 74); background: rgb(236, 253, 245); }
.related-card { background: white; border-radius: 20px; border: 1.5px solid rgb(255, 228, 230); overflow: hidden; transition: 0.3s; text-decoration: none; color: inherit; display: block; }
.related-card:hover { transform: translateY(-6px); box-shadow: rgba(196, 30, 58, 0.12) 0px 14px 36px; border-color: rgb(255, 196, 204); }
.related-img { height: 180px; overflow: hidden; }
.related-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.related-card:hover .related-img img { transform: scale(1.06); }
.related-body { padding: 20px; }
.btn-outline { background: white; color: rgb(196, 30, 58) !important; border: 2px solid rgb(196, 30, 58); font-weight: 600; transition: 0.3s; }
.form-label { font-size: 0.8rem; font-weight: 600; color: rgb(107, 114, 128); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 6px; display: block; }
.form-input { width: 100%; border: 1.5px solid rgb(229, 208, 212); border-radius: 12px; padding: 12px 14px; font-size: 0.95rem; background: white; transition: border-color 0.25s, box-shadow 0.25s; }
.form-input:focus { outline: none; border-color: rgb(196, 30, 58); box-shadow: rgba(196, 30, 58, 0.1) 0px 0px 0px 3px; }
.form-input::placeholder { color: rgb(196, 168, 173); }
.form-input.error { border-color: rgb(239, 68, 68); }
.form-input.valid { border-color: rgb(22, 163, 74); }
select.form-input { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23C41E3A' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 40px; }
textarea.form-input { resize: none; }
.form-section { background: white; border-radius: 24px; border: 1.5px solid rgb(255, 228, 230); box-shadow: rgba(0, 0, 0, 0.04) 0px 4px 16px; padding: 32px; }
.section-title { font-size: 1.2rem; font-weight: 700; color: rgb(128, 0, 32); margin-bottom: 24px; padding-bottom: 14px; border-bottom: 1px solid rgb(255, 240, 242); display: flex; align-items: center; gap: 10px; }
.section-icon { width: 38px; height: 38px; border-radius: 12px; background: rgb(255, 245, 245); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.delivery-toggle { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 24px; }
.delivery-option { flex: 1 1 0%; min-width: 180px; border: 2px solid rgb(255, 228, 230); border-radius: 16px; padding: 16px 18px; cursor: pointer; transition: 0.25s; background: white; position: relative; }
.delivery-option:hover { border-color: rgb(255, 196, 204); background: rgb(255, 245, 245); }
.delivery-option.selected { border-color: rgb(196, 30, 58); background: rgb(255, 245, 245); box-shadow: rgba(196, 30, 58, 0.1) 0px 0px 0px 3px; }
.delivery-option .radio-dot { width: 20px; height: 20px; border-radius: 50%; border: 2px solid rgb(224, 176, 182); background: white; display: flex; align-items: center; justify-content: center; transition: 0.2s; flex-shrink: 0; }
.delivery-option.selected .radio-dot { border-color: rgb(196, 30, 58); background: rgb(196, 30, 58); }
.delivery-option.selected .radio-dot::after { content: ""; width: 8px; height: 8px; border-radius: 50%; background: white; display: block; }
.pay-option { border: 2px solid rgb(255, 228, 230); border-radius: 16px; padding: 18px 20px; cursor: pointer; transition: 0.25s; background: white; display: flex; align-items: flex-start; gap: 14px; }
.pay-option:hover { border-color: rgb(255, 196, 204); background: rgb(255, 245, 245); }
.pay-option.selected { border-color: rgb(196, 30, 58); background: rgb(255, 245, 245); box-shadow: rgba(196, 30, 58, 0.1) 0px 0px 0px 3px; }
.pay-radio { width: 22px; height: 22px; border-radius: 50%; border: 2px solid rgb(224, 176, 182); flex-shrink: 0; margin-top: 2px; display: flex; align-items: center; justify-content: center; transition: 0.2s; }
.pay-option.selected .pay-radio { border-color: rgb(196, 30, 58); background: rgb(196, 30, 58); }
.pay-option.selected .pay-radio::after { content: ""; width: 8px; height: 8px; border-radius: 50%; background: white; display: block; }
.cart-item-row { display: flex; gap: 12px; padding: 14px 0px; border-bottom: 1px solid rgb(255, 240, 242); }
.cart-item-row:last-child { border-bottom: medium; }
.cart-img { width: 64px; height: 64px; border-radius: 12px; overflow: hidden; flex-shrink: 0; }
.cart-img img { width: 100%; height: 100%; object-fit: cover; }
.progress-step { display: flex; flex-direction: column; align-items: center; gap: 4px; flex: 1 1 0%; }
.progress-dot { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.8rem; transition: 0.3s; }
.progress-line { flex: 1 1 0%; height: 2px; margin-top: 15px; }
.delivery-cost-badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 50px; font-size: 0.82rem; font-weight: 700; }
.delivery-cost-badge.free { background: rgb(236, 253, 245); color: rgb(22, 163, 74); border: 1px solid rgb(187, 247, 208); }
.delivery-cost-badge.paid { background: rgb(255, 245, 245); color: rgb(196, 30, 58); border: 1px solid rgb(255, 196, 204); }
.total-row { display: flex; justify-content: space-between; padding: 10px 0px; }
.total-row.final { padding-top: 14px; border-top: 2px solid rgb(255, 228, 230); margin-top: 6px; }
.char-counter { font-size: 0.75rem; color: rgb(156, 163, 175); text-align: right; margin-top: 4px; }
.char-counter.warn { color: rgb(196, 30, 58); }
#toast { position: fixed; bottom: 90px; left: 50%; transform: translateX(-50%) translateY(20px); background: rgb(26, 26, 26); color: white; padding: 12px 24px; border-radius: 50px; font-size: 0.9rem; font-weight: 500; opacity: 0; pointer-events: none; transition: 0.3s; z-index: 100; white-space: nowrap; }
#toast.show { opacity: 1; transform: translateX(-50%) translateY(0px); }
.petal { position: absolute; width: 12px; height: 12px; background: radial-gradient(circle, rgba(255, 122, 141, 0.8) 0%, rgba(196, 30, 58, 0.4) 100%); border-radius: 50% 0px 50% 50%; pointer-events: none; opacity: 0.6; animation: 15s linear infinite float; }
.btn-rose:hover { transform: translateY(-2px); box-shadow: rgba(196, 30, 58, 0.45) 0px 8px 24px; background: linear-gradient(135deg, rgb(161, 29, 52) 0%, rgb(92, 0, 21) 100%); }
.card-rose { background: white; border-radius: 20px; transition: 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94); box-shadow: rgba(0, 0, 0, 0.05) 0px 4px 15px; }
.card-rose:hover { transform: translateY(-8px); box-shadow: rgba(196, 30, 58, 0.15) 0px 12px 30px; }
.form-input:focus { outline: none; border-color: rgb(196, 30, 58); box-shadow: rgba(196, 30, 58, 0.1) 0px 0px 0px 3px; }
@keyframes blink-phone {
0%, 100% { transform: scale(1); opacity: 1; box-shadow: rgba(196, 30, 58, 0.7) 0px 0px 0px 0px; }
50% { transform: scale(1.1); opacity: 0.9; box-shadow: rgba(196, 30, 58, 0) 0px 0px 0px 15px; }
}
.contact-link { display: flex; align-items: center; gap: 14px; padding: 16px 20px; background: white; border-radius: 16px; border: 1.5px solid rgb(255, 228, 230); transition: 0.3s; text-decoration: none; color: inherit; }
.contact-link:hover { border-color: rgb(196, 30, 58); transform: translateY(-3px); box-shadow: rgba(196, 30, 58, 0.12) 0px 8px 24px; background: rgb(255, 245, 245); }
.contact-link .icon-wrap { width: 48px; height: 48px; border-radius: 14px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.requisites-card { background: white; border-radius: 24px; border: 1.5px solid rgb(255, 228, 230); box-shadow: rgba(196, 30, 58, 0.06) 0px 4px 20px; }
.requisite-row { display: flex; justify-content: space-between; align-items: flex-start; padding: 14px 0px; border-bottom: 1px solid rgb(255, 240, 242); gap: 16px; }
.requisite-row:last-child { border-bottom: medium; }
.requisite-label { font-size: 0.8rem; color: rgb(156, 163, 175); text-transform: uppercase; letter-spacing: 0.05em; font-weight: 600; flex-shrink: 0; }
.requisite-value { font-size: 0.95rem; color: rgb(26, 26, 26); font-weight: 500; text-align: right; }
.page-hero { background: linear-gradient(135deg, rgb(255, 245, 245) 0%, rgb(255, 228, 230) 50%, rgb(255, 196, 204) 100%); position: relative; overflow: hidden; }
.page-hero::before { content: ""; position: absolute; inset: 0px; background: radial-gradient(circle at 20% 50%, rgba(196, 30, 58, 0.06) 0%, transparent 50%), radial-gradient(circle at 80% 80%, rgba(196, 30, 58, 0.06) 0%, transparent 50%); pointer-events: none; }
.social-pill { display: inline-flex; align-items: center; gap: 10px; padding: 12px 20px; border-radius: 50px; font-weight: 600; font-size: 0.9rem; transition: 0.3s; text-decoration: none; border: 2px solid transparent; }
.social-pill:hover { transform: translateY(-3px); box-shadow: rgba(0, 0, 0, 0.15) 0px 6px 20px; }
.map-frame { width: 100%; height: 400px; border-radius: 20px; overflow: hidden; border: 1.5px solid rgb(255, 228, 230); box-shadow: rgba(196, 30, 58, 0.08) 0px 4px 20px; }
#promo-popup { position: fixed; bottom: 0px; left: 0px; right: 0px; z-index: 60; display: flex; justify-content: center; align-items: flex-end; pointer-events: none; }
#popup-content { background: white; border-radius: 24px 24px 0px 0px; padding: 28px 24px; width: 100%; max-width: 480px; box-shadow: rgba(0, 0, 0, 0.12) 0px -8px 30px; transform: translateY(0px); transition: transform 0.5s; pointer-events: auto; }
#popup-content.translate-y-32 { transform: translateY(200px); }
.reveal { opacity: 0; transform: translateY(28px); transition: 0.75s cubic-bezier(0.4, 0, 0.2, 1); }
@keyframes float {
0% { transform: translateY(0px) rotate(0deg); opacity: 0; }
10% { opacity: 0.7; }
90% { opacity: 0.7; }
100% { transform: translateY(-100vh) rotate(360deg) translateX(40px); opacity: 0; }
}
.btn-rose:hover { transform: translateY(-2px); box-shadow: rgba(196, 30, 58, 0.45) 0px 8px 24px; }
.page-hero { background: linear-gradient(135deg, rgb(255, 245, 245) 0%, rgb(255, 228, 230) 60%, rgb(255, 196, 204) 100%); position: relative; overflow: hidden; }
.page-hero::before { content: ""; position: absolute; inset: 0px; background: radial-gradient(circle at 15% 50%, rgba(196, 30, 58, 0.07) 0%, transparent 55%), radial-gradient(circle at 85% 80%, rgba(196, 30, 58, 0.06) 0%, transparent 55%); pointer-events: none; }
.delivery-card { background: white; border-radius: 20px; border: 1.5px solid rgb(255, 228, 230); box-shadow: rgba(0, 0, 0, 0.05) 0px 4px 16px; transition: 0.35s; }
.delivery-card:hover { border-color: rgb(255, 196, 204); box-shadow: rgba(196, 30, 58, 0.12) 0px 10px 30px; transform: translateY(-5px); }
.delivery-icon { width: 56px; height: 56px; border-radius: 16px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.tariff-row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0px; border-bottom: 1px solid rgb(255, 240, 242); }
.tariff-row:last-child { border-bottom: medium; }
.tariff-cell { padding: 14px 16px; font-size: 0.9rem; }
.tariff-cell.label { color: rgb(107, 114, 128); }
.tariff-cell.value { font-weight: 600; color: rgb(26, 26, 26); }
.tariff-cell.free { font-weight: 700; color: rgb(22, 163, 74); }
.tariff-cell.paid { font-weight: 700; color: rgb(196, 30, 58); }
.tariff-head { background: linear-gradient(135deg, rgb(128, 0, 32), rgb(196, 30, 58)); color: white; font-weight: 700; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.06em; }
.step-line { position: relative; }
.step-line:not(:last-child)::after { content: ""; position: absolute; right: -1px; top: 50%; transform: translateY(-50%); width: 2px; height: 60%; background: linear-gradient(rgb(255, 228, 230), rgb(196, 30, 58), rgb(255, 228, 230)); display: none; }
@media (min-width: 768px) {
  .step-line:not(:last-child)::after { display: none; }
}
.pay-card { background: white; border-radius: 20px; border: 1.5px solid rgb(255, 228, 230); padding: 24px; transition: 0.3s; }
.pay-card:hover { border-color: rgb(196, 30, 58); box-shadow: rgba(196, 30, 58, 0.1) 0px 8px 24px; transform: translateY(-4px); }
.faq-item { border-bottom: 1px solid rgb(255, 240, 242); }
.faq-answer { max-height: 0px; overflow: hidden; transition: max-height 0.35s; }
.faq-item.open .faq-answer { max-height: 400px; }
.faq-item.open .faq-chevron { transform: rotate(180deg); }
.faq-chevron { transition: transform 0.3s; flex-shrink: 0; }
.warning-block { background: linear-gradient(135deg, rgb(255, 245, 245), rgb(255, 228, 230)); border: 1.5px solid rgb(255, 196, 204); border-radius: 20px; }
.info-block { background: linear-gradient(135deg, rgb(240, 253, 244), rgb(220, 252, 231)); border: 1.5px solid rgb(187, 247, 208); border-radius: 20px; }
.pay-logo { background: white; border: 1.5px solid rgb(229, 231, 235); border-radius: 12px; padding: 10px 18px; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.9rem; transition: 0.25s; }
.pay-logo:hover { border-color: rgb(196, 30, 58); box-shadow: rgba(196, 30, 58, 0.12) 0px 4px 12px; }
.page-nav { backdrop-filter: blur(8px); border-bottom: 1px solid rgb(255, 228, 230); }
.page-nav a { font-size: 0.85rem; font-weight: 600; color: rgb(107, 114, 128); padding: 12px 16px; transition: color 0.2s; white-space: nowrap; }
.page-nav a:hover, .page-nav a.active { color: rgb(196, 30, 58); }
.petal { position: absolute; width: 12px; height: 12px; background: radial-gradient(circle, rgba(255, 122, 141, 0.8) 0%, rgba(196, 30, 58, 0.4) 100%); border-radius: 50% 0px 50% 50%; pointer-events: none; opacity: 0.6; animation: 15s linear infinite float; }
.filter-btn { background: rgba(255, 255, 255, 0.9); color: rgb(122, 0, 38); border: 2px solid rgb(224, 176, 182); font-weight: 600; transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1); }
.filter-btn:hover { background: rgb(255, 240, 243); color: rgb(92, 0, 21); border-color: rgb(196, 30, 58); transform: translateY(-2px); }
.filter-btn.active { background: linear-gradient(135deg, rgb(196, 30, 58) 0%, rgb(128, 0, 32) 100%); color: rgb(255, 255, 255) !important; border-color: rgb(196, 30, 58); box-shadow: rgba(196, 30, 58, 0.35) 0px 4px 14px; transform: translateY(-2px); text-shadow: rgba(0, 0, 0, 0.15) 0px 1px 2px; }
.filter-btn.active:hover { background: linear-gradient(135deg, rgb(161, 29, 52) 0%, rgb(107, 0, 24) 100%); box-shadow: rgba(196, 30, 58, 0.45) 0px 6px 18px; }
.btn-rose:hover { transform: translateY(-2px); box-shadow: rgba(196, 30, 58, 0.45) 0px 8px 24px; background: linear-gradient(135deg, rgb(161, 29, 52) 0%, rgb(92, 0, 21) 100%); }
.card-rose { background: white; border-radius: 20px; transition: 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94); box-shadow: rgba(0, 0, 0, 0.05) 0px 4px 15px; }
.card-rose:hover { transform: translateY(-8px); box-shadow: rgba(196, 30, 58, 0.15) 0px 12px 30px; }
.product-slider { position: relative; overflow: hidden; touch-action: pan-y; user-select: none; }
.product-slider img { transition: opacity 0.4s; }
.slider-dots { position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%); display: flex; gap: 6px; }
.slider-dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255, 255, 255, 0.6); cursor: pointer; transition: 0.3s; }
.slider-dot.active { background: white; width: 24px; border-radius: 4px; }
.faq-item { border-bottom: 1px solid rgb(241, 229, 229); }
.faq-answer { max-height: 0px; overflow: hidden; transition: max-height 0.3s; }
.faq-item.active .faq-answer { max-height: 300px; }
.faq-item.active .faq-icon { transform: rotate(180deg); }
.master-card { position: relative; overflow: hidden; }
.master-card::before { content: ""; position: absolute; top: -50%; right: -50%; width: 200%; height: 200%; background: radial-gradient(circle, rgba(196, 30, 58, 0.1) 0%, transparent 70%); animation: 20s linear infinite rotate; }
@keyframes rotate {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
.blog-card { overflow: hidden; border-radius: 20px; transition: 0.4s; }
.blog-card:hover { transform: translateY(-6px); box-shadow: rgba(0, 0, 0, 0.12) 0px 16px 40px; }
.blog-card img { transition: transform 0.5s; }
.blog-card:hover img { transform: scale(1.08); }
.promo-extravagant { background: linear-gradient(135deg, rgb(255, 245, 245) 0%, rgb(255, 228, 230) 50%, rgb(255, 196, 204) 100%); position: relative; overflow: hidden; }
.promo-extravagant::before { content: ""; position: absolute; inset: 0px; background: radial-gradient(circle at 20% 50%, rgba(196, 30, 58, 0.05) 0%, transparent 50%), radial-gradient(circle at 80% 80%, rgba(196, 30, 58, 0.05) 0%, transparent 50%); pointer-events: none; }
.promo-badge { background: linear-gradient(135deg, rgb(196, 30, 58) 0%, rgb(128, 0, 32) 100%); color: white; padding: 8px 20px; border-radius: 50px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; box-shadow: rgba(196, 20, 58, 0.3) 0px 4px 15px; animation: 2s infinite pulse-slow; }
.price-old { text-decoration: line-through; color: rgb(153, 153, 153); font-size: 0.9em; }
.price-new { color: rgb(196, 30, 58); font-weight: 700; font-size: 1.3em; }
@keyframes blink-phone {
0%, 100% { transform: scale(1); opacity: 1; box-shadow: rgba(196, 30, 58, 0.7) 0px 0px 0px 0px; }
50% { transform: scale(1.1); opacity: 0.9; box-shadow: rgba(196, 30, 58, 0) 0px 0px 0px 15px; }
}
.delivery-badge { background: linear-gradient(135deg, rgb(196, 30, 58) 0%, rgb(161, 29, 52) 100%); color: white; padding: 4px 12px; border-radius: 20px; font-size: 0.75rem; font-weight: 600; display: inline-flex; align-items: center; gap: 4px; box-shadow: rgba(196, 30, 58, 0.3) 0px 2px 8px; }
.badge-hit { background: linear-gradient(135deg, rgb(196, 30, 58) 0%, rgb(128, 0, 32) 100%); color: white; padding: 6px 16px; border-radius: 50px; font-weight: 700; font-size: 0.75rem; box-shadow: rgba(196, 30, 58, 0.3) 0px 2px 10px; }
.badge-new { background: linear-gradient(135deg, rgb(161, 29, 52) 0%, rgb(128, 0, 32) 100%); color: white; padding: 6px 16px; border-radius: 50px; font-weight: 700; font-size: 0.75rem; box-shadow: rgba(196, 30, 58, 0.3) 0px 2px 10px; }
.badge-limited { background: linear-gradient(135deg, rgb(128, 0, 32) 0%, rgb(92, 0, 21) 100%); color: white; padding: 6px 16px; border-radius: 50px; font-weight: 700; font-size: 0.75rem; box-shadow: rgba(128, 0, 32, 0.3) 0px 2px 10px; }
.btn-cart-small { background: linear-gradient(135deg, rgb(196, 30, 58) 0%, rgb(128, 0, 32) 100%); color: white !important; padding: 8px 16px; border-radius: 20px; font-weight: 600; font-size: 0.85rem; transition: 0.3s; flex: 1 1 0%; text-align: center; }
.btn-cart-small:hover { transform: translateY(-2px); box-shadow: rgba(196, 30, 58, 0.4) 0px 4px 12px; }
.btn-details { background: white; color: rgb(196, 30, 58) !important; border: 2px solid rgb(196, 30, 58); padding: 8px 16px; border-radius: 20px; font-weight: 600; font-size: 0.85rem; transition: 0.3s; flex: 1 1 0%; text-align: center; }
.btn-details:hover { background: rgb(255, 245, 245); transform: translateY(-2px); }
.form-input:focus { outline: none; border-color: rgb(196, 30, 58); box-shadow: rgba(196, 30, 58, 0.1) 0px 0px 0px 3px; }
@media (min-width: 768px) {
  .md\:p-8 { padding: 2rem 2rem 4rem !important; }
}
h1, h2, h3 { }
.reveal { opacity: 0; transform: translateY(20px); transition: 0.6s cubic-bezier(0.4, 0, 0.2, 1); }
.btn-ghost { background: transparent; color: rgb(196, 30, 58) !important; border: 2px solid rgb(255, 228, 230); font-weight: 600; transition: 0.3s; }
.btn-ghost:hover { border-color: rgb(196, 30, 58); background: rgb(255, 245, 245); transform: translateY(-2px); }
.review-card { background: white; border-radius: 24px; border: 1.5px solid rgb(255, 228, 230); box-shadow: rgba(0, 0, 0, 0.04) 0px 4px 16px; }
.review-card-header { padding: 20px 28px; border-bottom: 1px solid rgb(255, 240, 242); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.review-card-body { padding: 24px 28px; }
@media (max-width: 640px) {
  .review-card-header, .review-card-body { padding: 18px 20px; }
}
.card-section-title { display: flex; align-items: center; gap: 10px; font-size: 1rem; font-weight: 700; color: rgb(128, 0, 32); }
.card-icon { width: 36px; height: 36px; border-radius: 10px; background: rgb(255, 245, 245); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.edit-btn { font-size: 0.78rem; font-weight: 600; color: rgb(196, 30, 58); padding: 5px 14px; border: 1.5px solid rgb(255, 228, 230); border-radius: 50px; transition: 0.2s; white-space: nowrap; cursor: pointer; }
.edit-btn:hover { border-color: rgb(196, 30, 58); background: rgb(255, 245, 245); }
.data-row { display: grid; grid-template-columns: 140px 1fr; gap: 12px; padding: 11px 0px; border-bottom: 1px solid rgb(255, 245, 245); align-items: start; }
.data-row:last-child { border-bottom: medium; }
.data-label { font-size: 0.78rem; font-weight: 600; color: rgb(156, 163, 175); text-transform: uppercase; letter-spacing: 0.05em; padding-top: 2px; }
.data-value { font-size: 0.95rem; font-weight: 500; color: rgb(26, 26, 26); word-break: break-word; }
.data-value.empty { color: rgb(209, 197, 199); font-style: italic; font-weight: 400; }
@media (max-width: 480px) {
  .data-row { grid-template-columns: 1fr; gap: 4px; }
  .data-label { font-size: 0.72rem; }
}
.badge { display: inline-flex; align-items: center; gap: 5px; padding: 4px 12px; border-radius: 50px; font-size: 0.78rem; font-weight: 700; }
.badge-green { background: rgb(236, 253, 245); color: rgb(22, 163, 74); border: 1px solid rgb(187, 247, 208); }
.badge-rose { background: rgb(255, 245, 245); color: rgb(196, 30, 58); border: 1px solid rgb(255, 196, 204); }
.badge-blue { background: rgb(239, 246, 255); color: rgb(37, 99, 235); border: 1px solid rgb(191, 219, 254); }
.badge-gray { background: rgb(249, 250, 251); color: rgb(107, 114, 128); border: 1px solid rgb(229, 231, 235); }
.order-item { display: flex; gap: 14px; padding: 14px 0px; border-bottom: 1px solid rgb(255, 240, 242); }
.order-item:last-child { border-bottom: medium; }
.item-img { width: 72px; height: 72px; border-radius: 14px; overflow: hidden; flex-shrink: 0; background: rgb(255, 228, 230); display: flex; align-items: center; justify-content: center; }
.item-img img { width: 100%; height: 100%; object-fit: cover; }
.total-line { display: flex; justify-content: space-between; align-items: center; padding: 10px 0px; }
.total-line.separator { border-top: 1.5px dashed rgb(255, 228, 230); margin-top: 6px; padding-top: 16px; }
.total-line.final-line { border-top: 2px solid rgb(255, 228, 230); margin-top: 4px; padding-top: 16px; }
.progress-dot { width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.82rem; }
.progress-line { flex: 1 1 0%; height: 2px; }
.postcard { background: linear-gradient(135deg, rgb(255, 245, 245), rgb(255, 228, 230)); border: 1.5px dashed rgb(255, 196, 204); border-radius: 16px; padding: 18px 20px; position: relative; overflow: hidden; }
.postcard::before { content: "“"; position: absolute; top: -12px; left: 10px; font-size: 5rem; color: rgb(255, 196, 204); font-family: "Playfair Display", serif; line-height: 1; pointer-events: none; }
@media print {
  header, footer, .no-print, #petals-container { display: none !important; }
  body { background: white; }
  .review-card { box-shadow: none; border: 1px solid rgb(221, 221, 221); }
  main { padding-top: 16px !important; }
}
.product-main-slider { position: relative; overflow: hidden; border-radius: 20px; touch-action: pan-y; user-select: none; }
.product-main-slider img { width: 100%; height: 100%; object-fit: cover; transition: opacity 0.4s; }
.slider-arrow { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255, 255, 255, 0.95); width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: 0.3s; box-shadow: rgba(0, 0, 0, 0.15) 0px 4px 12px; border: 1px solid rgb(255, 196, 204); }
.slider-arrow:hover { background: white; transform: translateY(-50%) scale(1.1); box-shadow: rgba(196, 30, 58, 0.2) 0px 6px 20px; }
.slider-arrow.prev { left: 16px; }
.slider-arrow.next { right: 16px; }
.thumbnail-container { display: flex; gap: 12px; margin-top: 16px; flex-wrap: wrap; }
.thumbnail { width: 76px; height: 76px; border-radius: 12px; overflow: hidden; cursor: pointer; border: 2px solid rgb(229, 231, 235); transition: 0.3s; flex-shrink: 0; }
.thumbnail.active { border-color: rgb(196, 30, 58); }
.thumbnail:hover { border-color: rgb(255, 158, 171); }
.thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.btn-rose:hover { transform: translateY(-2px); box-shadow: rgba(196, 30, 58, 0.4) 0px 8px 24px; }
.btn-outline { background: white; color: rgb(196, 30, 58) !important; border: 2px solid rgb(196, 30, 58); font-weight: 600; transition: 0.3s; }
.btn-outline:hover { background: rgb(255, 245, 245); transform: translateY(-2px); }
.btn-back { display: inline-flex; align-items: center; gap: 8px; color: rgb(107, 114, 128); font-weight: 500; padding: 10px 20px; border-radius: 50px; background: white; border: 1px solid rgb(229, 231, 235); transition: 0.3s; text-decoration: none; }
.btn-back:hover { background: rgb(255, 245, 245); border-color: rgb(196, 30, 58); color: rgb(196, 30, 58); }
.rec-card { background: white; border-radius: 16px; overflow: hidden; transition: 0.35s; box-shadow: rgba(0, 0, 0, 0.05) 0px 4px 15px; }
.rec-card:hover { transform: translateY(-6px); box-shadow: rgba(196, 30, 58, 0.15) 0px 12px 30px; }
#floating-cart-btn { position: fixed; left: 20px; bottom: 20px; z-index: 40; width: 56px; height: 56px; background: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: rgba(0, 0, 0, 0.15) 0px 4px 16px; border: 1px solid rgb(255, 196, 204); transition: 0.3s; cursor: pointer; }
#floating-cart-btn:hover { transform: scale(1.08); box-shadow: rgba(196, 30, 58, 0.25) 0px 6px 20px; }
.spec-row { display: flex; justify-content: space-between; padding: 14px 0px; border-bottom: 1px solid rgb(241, 229, 229); }
.spec-row:last-child { border-bottom: medium; }
.spec-label { color: rgb(107, 114, 128); font-size: 0.95rem; }
.spec-value { font-weight: 600; color: rgb(45, 45, 45); font-size: 0.95rem; }
@media (max-width: 768px) {
  .slider-arrow { width: 38px; height: 38px; }
  .slider-arrow.prev { left: 10px; }
  .slider-arrow.next { right: 10px; }
  .thumbnail { width: 64px; height: 64px; }
}
.reveal { opacity: 0; transform: translateY(28px); transition: 0.7s cubic-bezier(0.4, 0, 0.2, 1); }
.btn-outline-rose { background: white; color: rgb(196, 30, 58) !important; border: 2px solid rgb(196, 30, 58); font-weight: 600; transition: 0.3s; }
.btn-outline-rose:hover { background: rgb(255, 245, 245); transform: translateY(-2px); box-shadow: rgba(196, 30, 58, 0.15) 0px 6px 18px; }
.page-hero { background: linear-gradient(135deg, rgb(92, 0, 21) 0%, rgb(128, 0, 32) 40%, rgb(196, 30, 58) 100%); position: relative; overflow: hidden; }
.page-hero::before { content: ""; position: absolute; inset: 0px; background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); pointer-events: none; }
.countdown-block { background: rgba(255, 255, 255, 0.12); backdrop-filter: blur(8px); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 16px; padding: 8px 16px; }
.countdown-num { font-family: "Playfair Display", serif; font-size: 2rem; font-weight: 700; color: white; line-height: 1; }
.countdown-label { font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.08em; color: rgba(255, 255, 255, 0.6); margin-top: 2px; }
.promo-card { background: white; border-radius: 24px; overflow: hidden; box-shadow: rgba(0, 0, 0, 0.06) 0px 4px 20px; border: 1.5px solid rgb(255, 228, 230); display: grid; grid-template-columns: 280px 1fr; transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); position: relative; }
.promo-card:hover { transform: translateY(-6px); box-shadow: rgba(196, 30, 58, 0.14) 0px 20px 50px; border-color: rgb(255, 196, 204); }
@media (max-width: 768px) {
  .promo-card { grid-template-columns: 1fr; }
}
.promo-img-wrap { position: relative; overflow: hidden; }
.promo-img-wrap img { width: 100%; height: 100%; min-height: 260px; object-fit: cover; transition: transform 0.5s; display: block; }
.promo-card:hover .promo-img-wrap img { transform: scale(1.06); }
.discount-badge { position: absolute; top: 16px; left: 16px; background: linear-gradient(135deg, rgb(196, 30, 58), rgb(128, 0, 32)); color: white; font-weight: 800; font-size: 1.1rem; padding: 6px 14px; border-radius: 50px; box-shadow: rgba(196, 30, 58, 0.5) 0px 4px 16px; font-family: "Playfair Display", serif; }
.promo-type-badge { position: absolute; top: 16px; right: 16px; background: rgba(255, 255, 255, 0.92); backdrop-filter: blur(4px); color: rgb(128, 0, 32); font-weight: 700; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.08em; padding: 5px 12px; border-radius: 50px; border: 1px solid rgba(196, 30, 58, 0.2); }
.card-timer { position: absolute; bottom: 14px; left: 14px; right: 14px; background: rgba(0, 0, 0, 0.65); backdrop-filter: blur(6px); border-radius: 12px; padding: 8px 12px; display: flex; align-items: center; gap: 8px; color: white; font-size: 0.8rem; }
.card-timer-dot { width: 7px; height: 7px; border-radius: 50%; background: rgb(255, 77, 109); animation: 1.5s infinite pulse-dot; flex-shrink: 0; }
@keyframes pulse-dot {
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.5; transform: scale(1.3); }
}
.promo-body { padding: 28px 32px; display: flex; flex-direction: column; justify-content: space-between; gap: 16px; }
@media (max-width: 768px) {
  .promo-body { padding: 20px; }
}
.promo-title { font-size: 1.4rem; font-weight: 700; color: rgb(26, 26, 26); line-height: 1.3; margin-bottom: 8px; }
.promo-desc { font-size: 0.92rem; color: rgb(107, 114, 128); line-height: 1.6; }
.promo-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.promo-tag { background: rgb(255, 245, 245); color: rgb(128, 0, 32); font-size: 0.75rem; font-weight: 600; padding: 4px 12px; border-radius: 50px; border: 1px solid rgb(255, 228, 230); }
.price-block { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
.price-new { font-family: "Playfair Display", serif; font-size: 2.2rem; font-weight: 700; color: rgb(196, 30, 58); line-height: 1; }
.price-old { font-size: 1.1rem; color: rgb(156, 163, 175); text-decoration: line-through; }
.price-economy { background: rgb(236, 253, 245); color: rgb(22, 163, 74); font-size: 0.8rem; font-weight: 700; padding: 4px 10px; border-radius: 50px; border: 1px solid rgb(187, 247, 208); align-self: center; }
.promo-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.promo-actions a, .promo-actions button { flex: 1 1 0%; min-width: 140px; padding: 13px 20px; border-radius: 50px; text-align: center; font-size: 0.9rem; cursor: pointer; text-decoration: none; display: inline-block; }
.section-divider { height: 1px; background: linear-gradient(90deg, transparent, rgb(255, 228, 230) 20%, rgb(255, 228, 230) 80%, transparent); margin: 4px 0px; }
.filter-btn { background: rgba(255, 255, 255, 0.9); color: rgb(122, 0, 38); border: 2px solid rgb(224, 176, 182); font-weight: 600; transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1); }
.filter-btn:hover { background: rgb(255, 240, 243); color: rgb(92, 0, 21); border-color: rgb(196, 30, 58); transform: translateY(-2px); }
.filter-btn.active { background: linear-gradient(135deg, rgb(196, 30, 58) 0%, rgb(128, 0, 32) 100%); color: rgb(255, 255, 255) !important; border-color: rgb(196, 30, 58); box-shadow: rgba(196, 30, 58, 0.35) 0px 4px 14px; transform: translateY(-2px); }
.promo-counter { background: linear-gradient(135deg, rgb(255, 245, 245), rgb(255, 228, 230)); border: 1.5px solid rgb(255, 196, 204); border-radius: 50px; padding: 6px 18px; font-size: 0.85rem; font-weight: 600; color: rgb(128, 0, 32); }
.new-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: rgb(255, 77, 109); animation: 1.5s infinite pulse-dot; margin-right: 6px; vertical-align: middle; }
.cart-item { background: white; border-radius: 20px; border: 1.5px solid rgb(255, 228, 230); padding: 20px; display: grid; grid-template-columns: 100px 1fr auto; gap: 20px; align-items: center; transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); position: relative; }
.cart-item:hover { border-color: rgb(255, 196, 204); box-shadow: rgba(196, 30, 58, 0.08) 0px 6px 24px; }
.cart-item.removing { opacity: 0; transform: translateX(30px) scale(0.97); }
@media (max-width: 560px) {
  .cart-item { grid-template-columns: 80px 1fr; grid-template-rows: auto auto; }
  .cart-item-actions { grid-column: 1 / -1; }
}
.cart-item-img { width: 100px; height: 100px; border-radius: 14px; overflow: hidden; flex-shrink: 0; border: 1.5px solid rgb(255, 228, 230); }
.cart-item-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s; }
.cart-item:hover .cart-item-img img { transform: scale(1.06); }
@media (max-width: 560px) {
  .cart-item-img { width: 80px; height: 80px; }
}
.remove-btn { width: 34px; height: 34px; border-radius: 50%; background: rgb(255, 245, 245); border: 1.5px solid rgb(255, 228, 230); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: 0.25s; flex-shrink: 0; color: rgb(196, 30, 58); }
.remove-btn:hover { background: rgb(255, 196, 204); border-color: rgb(196, 30, 58); transform: scale(1.1); }
.qty-control { display: inline-flex; align-items: center; gap: 0px; background: rgb(255, 245, 245); border: 1.5px solid rgb(255, 228, 230); border-radius: 50px; overflow: hidden; }
.qty-btn { width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; font-weight: 600; color: rgb(196, 30, 58); cursor: pointer; border: medium; background: transparent; transition: background 0.2s; flex-shrink: 0; }
.qty-btn:hover { background: rgb(255, 228, 230); }
.qty-num { min-width: 32px; text-align: center; font-size: 0.95rem; font-weight: 700; color: rgb(26, 26, 26); user-select: none; }
.badge-discount { position: absolute; top: 14px; left: 14px; background: linear-gradient(135deg, rgb(196, 30, 58), rgb(128, 0, 32)); color: white; font-size: 0.7rem; font-weight: 800; padding: 3px 10px; border-radius: 50px; box-shadow: rgba(196, 30, 58, 0.4) 0px 2px 8px; }
.summary-card { background: white; border-radius: 24px; border: 1.5px solid rgb(255, 228, 230); box-shadow: rgba(0, 0, 0, 0.04) 0px 4px 20px; overflow: hidden; }
.summary-row { display: flex; justify-content: space-between; align-items: center; padding: 14px 0px; border-bottom: 1px dashed rgb(255, 240, 242); }
.summary-row:last-of-type { border-bottom: medium; }
.summary-total { display: flex; justify-content: space-between; align-items: center; padding: 20px 0px 0px; border-top: 2px solid rgb(255, 228, 230); margin-top: 8px; }
.promo-bar { display: flex; gap: 8px; background: rgb(255, 245, 245); border: 1.5px solid rgb(255, 228, 230); border-radius: 14px; padding: 8px 8px 8px 16px; transition: border-color 0.25s; }
.promo-bar:focus-within { border-color: rgb(196, 30, 58); }
.promo-bar input { flex: 1 1 0%; background: transparent; border: medium; outline: none; font-size: 0.9rem; color: rgb(26, 26, 26); }
.promo-bar input::placeholder { color: rgb(196, 168, 173); }
.promo-bar button { background: linear-gradient(135deg, rgb(196, 30, 58), rgb(128, 0, 32)); color: white; border: medium; border-radius: 10px; padding: 8px 18px; font-size: 0.82rem; font-weight: 700; cursor: pointer; transition: 0.2s; white-space: nowrap; }
.promo-bar button:hover { opacity: 0.9; }
.free-delivery-bar { height: 6px; background: rgb(255, 228, 230); border-radius: 3px; overflow: hidden; }
.free-delivery-progress { height: 100%; background: linear-gradient(90deg, rgb(196, 30, 58), rgb(255, 122, 141)); border-radius: 3px; transition: width 0.5s; }
.empty-cart { display: none; }
.empty-cart.visible { display: flex; }
.guarantee-chip { display: flex; align-items: center; gap: 8px; background: rgb(255, 245, 245); border: 1px solid rgb(255, 228, 230); border-radius: 12px; padding: 10px 14px; font-size: 0.8rem; font-weight: 500; color: rgb(107, 114, 128); }
.related-card { background: white; border-radius: 20px; border: 1.5px solid rgb(255, 228, 230); overflow: hidden; transition: 0.3s; text-decoration: none; color: inherit; display: block; }
.related-card:hover { transform: translateY(-5px); box-shadow: rgba(196, 30, 58, 0.12) 0px 12px 30px; border-color: rgb(255, 196, 204); }
.related-card-img { height: 160px; overflow: hidden; }
.related-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s; }
.related-card:hover .related-card-img img { transform: scale(1.06); }
.related-card-body { padding: 16px; }
.divider-rose { height: 4px; background: linear-gradient(90deg, transparent, rgb(196, 30, 58), transparent); border-radius: 2px; }
.buy-now { display: flex; align-items: center; justify-content: center; text-align: center; }
*, ::before, ::after { --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-gradient-from-position: ; --tw-gradient-via-position: ; --tw-gradient-to-position: ; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; --tw-contain-size: ; --tw-contain-layout: ; --tw-contain-paint: ; --tw-contain-style: ; }
::backdrop { --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-gradient-from-position: ; --tw-gradient-via-position: ; --tw-gradient-to-position: ; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; --tw-contain-size: ; --tw-contain-layout: ; --tw-contain-paint: ; --tw-contain-style: ; }
*, ::after, ::before { box-sizing: border-box; border-width: 0px; border-style: solid; border-color: rgb(229, 231, 235); }
::after, ::before { --tw-content: ''; }
:host, html { line-height: 1.5; tab-size: 4; font-family: "Inter", sans-serif; font-feature-settings: normal; font-variation-settings: normal; }
body { margin: 0px; line-height: inherit; }
hr { height: 0px; color: inherit; border-top-width: 1px; }
abbr:where([title]) { text-decoration: underline dotted; }
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }
a { color: inherit; text-decoration: inherit; }
b, strong { font-weight: bolder; }
code, kbd, pre, samp { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-feature-settings: normal; font-variation-settings: normal; font-size: 1em; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }
button, input, optgroup, select, textarea { font-family: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 100%; font-weight: inherit; line-height: inherit; letter-spacing: inherit; color: inherit; margin: 0px; padding: 0px; }
button, select { text-transform: none; }
button, input:where([type="button"]), input:where([type="reset"]), input:where([type="submit"]) { appearance: button; background-color: transparent; background-image: none; }
:focus-visible { outline: auto; }
:user-invalid { box-shadow: none; }
progress { vertical-align: baseline; }
::-webkit-inner-spin-button, ::-webkit-outer-spin-button { height: auto; }
[type="search"] { appearance: textfield; outline-offset: -2px; }
::-webkit-search-decoration { appearance: none; }
::-webkit-file-upload-button { appearance: button; font: inherit; }
summary { display: list-item; }
blockquote, dd, dl, figure, h1, h2, h3, h4, h5, h6, hr, p, pre { margin: 0px; }
fieldset { margin: 0px; padding: 0px; }
legend { padding: 0px; }
menu, ol, ul { list-style: none; margin: 0px; padding: 0px; }
dialog { padding: 0px; }
textarea { resize: vertical; }
input::placeholder, textarea::placeholder { opacity: 1; color: rgb(156, 163, 175); }
[role="button"], button { cursor: pointer; }
:disabled { cursor: default; }
audio, canvas, embed, iframe, img, object, svg, video { display: block; vertical-align: middle; }
img, video { max-width: 100%; height: auto; }
[hidden]:where(:not([hidden="until-found"])) { display: none; }
.pointer-events-none { pointer-events: none; }
.fixed { position: fixed; }
.absolute { position: absolute; }
.relative { position: relative; }
.inset-0 { inset: 0px; }
.-bottom-6 { bottom: -1.5rem; }
.-left-6 { left: -1.5rem; }
.-right-1 { right: -0.25rem; }
.-top-1 { top: -0.25rem; }
.bottom-0 { bottom: 0px; }
.bottom-5 { bottom: 1.25rem; }
.bottom-6 { bottom: 1.5rem; }
.left-0 { left: 0px; }
.left-4 { left: 1rem; }
.left-5 { left: 1.25rem; }
.right-0 { right: 0px; }
.right-2 { right: 0.5rem; }
.right-3 { right: 0.75rem; }
.right-4 { right: 1rem; }
.right-6 { right: 1.5rem; }
.top-0 { top: 0px; }
.top-2 { top: 0.5rem; }
.top-3 { top: 0.75rem; }
.top-4 { top: 1rem; }
.top-full { top: 100%; }
.z-0 { z-index: 0; }
.z-10 { z-index: 10; }
.z-40 { z-index: 40; }
.z-50 { z-index: 50; }
.z-\[60\] { z-index: 60; }
.mx-auto { margin-left: auto; margin-right: auto; }
.mb-1 { margin-bottom: 0.25rem; }
.mb-10 { margin-bottom: 2.5rem; }
.mb-12 { margin-bottom: 3rem; }
.mb-16 { margin-bottom: 4rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-3 { margin-bottom: 0.75rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-6 { margin-bottom: 1.5rem; }
.mb-8 { margin-bottom: 2rem; }
.mt-1 { margin-top: 0.25rem; }
.mt-10 { margin-top: 2.5rem; }
.mt-12 { margin-top: 3rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-3 { margin-top: 0.75rem; }
.mt-4 { margin-top: 1rem; }
.line-clamp-3 { overflow: hidden; display: -webkit-box; -moz-box-orient: vertical; -webkit-line-clamp: 3; }
.block { display: block; }
.inline-block { display: inline-block; }
.flex { display: flex; }
.grid { display: grid; }
.hidden { display: none; }
.h-14 { height: 3.5rem; }
.h-16 { height: 4rem; }
.h-32 { height: 8rem; }
.h-5 { height: 1.25rem; }
.h-56 { height: 14rem; }
.h-6 { height: 1.5rem; }
.h-64 { height: 16rem; }
.h-128 { height: 32rem; }
.h-8 { height: 2rem; }
.h-96 { height: 24rem; }
.h-\[600px\] { height: 600px; }
.h-full { height: 100%; }
.max-h-\[90vh\] { max-height: 90vh; }
.min-h-screen { min-height: 100vh; }
.w-14 { width: 3.5rem; }
.w-16 { width: 4rem; }
.w-20 { width: 5rem; }
.w-32 { width: 8rem; }
.w-5 { width: 1.25rem; }
.w-6 { width: 1.5rem; }
.w-64 { width: 16rem; }
.w-8 { width: 2rem; }
.w-96 { width: 24rem; }
.w-full { width: 100%; }
.max-w-2xl { max-width: 42rem; }
.max-w-3xl { max-width: 48rem; }
.max-w-4xl { max-width: 56rem; }
.max-w-7xl { max-width: 80rem; }
.max-w-md { max-width: 28rem; }
.max-w-sm { max-width: 24rem; }
.max-w-xs { max-width: 20rem; }
.flex-1 { flex: 1 1 0%; }
.translate-y-32 { --tw-translate-y: 8rem; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); }
.scale-0 { --tw-scale-x: 0; --tw-scale-y: 0; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); }
.transform { transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); }
@keyframes pulse {
50% { opacity: 0.5; }
}
.animate-pulse { animation: 2s cubic-bezier(0.4, 0, 0.6, 1) infinite pulse; }
.cursor-pointer { cursor: pointer; }
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0px, 1fr)); }
.grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
.flex-col { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }
.items-start { align-items: flex-start; }
.items-center { align-items: center; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.gap-1\.5 { gap: 0.375rem; }
.gap-10 { gap: 2.5rem; }
.gap-12 { gap: 3rem; }
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 0.75rem; }
.gap-4 { gap: 1rem; }
.gap-5 { gap: 1.25rem; }
.gap-6 { gap: 1.5rem; }
.gap-8 { gap: 2rem; }
.space-y-2 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(0.5rem * var(--tw-space-y-reverse)); }
.space-y-4 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(1rem * var(--tw-space-y-reverse)); }
.overflow-hidden { overflow: hidden; }
.overflow-y-auto { overflow-y: auto; }
.overflow-x-hidden { overflow-x: hidden; }
.rounded-2xl { border-radius: 1rem; }
.rounded-3xl { border-radius: 1.5rem; }
.rounded-\[40px\] { border-radius: 40px; }
.rounded-full { border-radius: 9999px; }
.rounded-lg { border-radius: 0.5rem; }
.rounded-xl { border-radius: 0.75rem; }
.border { border-width: 1px; }
.border-2 { border-width: 2px; }
.border-4 { border-width: 4px; }
.border-b { border-bottom-width: 1px; }
.border-l-4 { border-left-width: 4px; }
.border-t { border-top-width: 1px; }
.border-gray-300 { --tw-border-opacity: 1; border-color: rgb(209 213 219 / var(--tw-border-opacity, 1)); }
.border-rose-200 { --tw-border-opacity: 1; border-color: rgb(255 196 204 / var(--tw-border-opacity, 1)); }
.border-rose-600 { --tw-border-opacity: 1; border-color: rgb(196 30 58 / var(--tw-border-opacity, 1)); }
.border-white\/10 { border-color: rgba(255, 255, 255, 0.1); }
.border-white\/30 { border-color: rgba(255, 255, 255, 0.3); }
.bg-black\/40 { background-color: rgba(0, 0, 0, 0.4); }
.bg-black\/50 { background-color: rgba(0, 0, 0, 0.5); }
.bg-black\/60 { background-color: rgba(0, 0, 0, 0.6); }
.bg-cream { --tw-bg-opacity: 1; background-color: rgb(250 247 245 / var(--tw-bg-opacity, 1)); }
.bg-green-100 { --tw-bg-opacity: 1; background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1)); }
.bg-green-600 { --tw-bg-opacity: 1; background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1)); }
.bg-purple-600 { --tw-bg-opacity: 1; background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1)); }
.bg-rose-100 { --tw-bg-opacity: 1; background-color: rgb(255 228 230 / var(--tw-bg-opacity, 1)); }
.bg-rose-400 { --tw-bg-opacity: 1; background-color: rgb(255 122 141 / var(--tw-bg-opacity, 1)); }
.bg-rose-50 { --tw-bg-opacity: 1; background-color: rgb(255 245 245 / var(--tw-bg-opacity, 1)); }
.bg-rose-500 { --tw-bg-opacity: 1; background-color: rgb(255 77 109 / var(--tw-bg-opacity, 1)); }
.bg-rose-600 { --tw-bg-opacity: 1; background-color: rgb(196 30 58 / var(--tw-bg-opacity, 1)); }
.bg-rose-900 { --tw-bg-opacity: 1; background-color: rgb(92 0 21 / var(--tw-bg-opacity, 1)); }
.bg-white { --tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)); }
.bg-white\/10 { background-color: rgba(255, 255, 255, 0.1); }
.bg-white\/95 { background-color: rgba(255, 255, 255, 0.95); }
.bg-gradient-to-br { background-image: linear-gradient(to bottom right, var(--tw-gradient-stops)); }
.bg-gradient-to-r { background-image: linear-gradient(to right, var(--tw-gradient-stops)); }
.from-pink-400 { --tw-gradient-from: #f472b6 var(--tw-gradient-from-position); --tw-gradient-to: rgb(244 114 182 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.from-rose-400 { --tw-gradient-from: #FF7A8D var(--tw-gradient-from-position); --tw-gradient-to: rgb(255 122 141 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.from-rose-50 { --tw-gradient-from: #FFF5F5 var(--tw-gradient-from-position); --tw-gradient-to: rgb(255 245 245 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.from-rose-500 { --tw-gradient-from: #FF4D6D var(--tw-gradient-from-position); --tw-gradient-to: rgb(255 77 109 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.from-rose-600 { --tw-gradient-from: #C41E3A var(--tw-gradient-from-position); --tw-gradient-to: rgb(196 30 58 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.from-rose-900 { --tw-gradient-from: #5C0015 var(--tw-gradient-from-position); --tw-gradient-to: rgb(92 0 21 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.via-white { --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), #fff var(--tw-gradient-via-position), var(--tw-gradient-to); }
.to-red-600 { --tw-gradient-to: #dc2626 var(--tw-gradient-to-position); }
.to-rose-100 { --tw-gradient-to: #FFE4E6 var(--tw-gradient-to-position); }
.to-rose-500 { --tw-gradient-to: #FF4D6D var(--tw-gradient-to-position); }
.to-rose-600 { --tw-gradient-to: #C41E3A var(--tw-gradient-to-position); }
.to-rose-700 { --tw-gradient-to: #A11D34 var(--tw-gradient-to-position); }
.to-rose-800 { --tw-gradient-to: #800020 var(--tw-gradient-to-position); }
.object-cover { object-fit: cover; }
.p-2 { padding: 0.5rem; }
.p-3 { padding: 0.75rem; }
.p-4 { padding: 1rem; }
.p-6 { padding: 1.5rem; }
.p-8 { padding: 2rem; }
.px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.px-8 { padding-left: 2rem; padding-right: 2rem; }
.py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; }
.py-16 { padding-top: 4rem; padding-bottom: 4rem; }
.py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
.py-20 { padding-top: 5rem; padding-bottom: 5rem; }
.py-24 { padding-top: 6rem; padding-bottom: 6rem; }
.py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.py-4 { padding-top: 1rem; padding-bottom: 1rem; }
.pb-2 { padding-bottom: 0.5rem; }
.pb-4 { padding-bottom: 1rem; }
.pr-2 { padding-right: 0.5rem; }
.pr-4 { padding-right: 1rem; }
.pt-32 { padding-top: 8rem; }
.pt-4 { padding-top: 1rem; }
.pt-6 { padding-top: 1.5rem; }
.text-center { text-align: center; }
.font-serif { font-family: "Playfair Display", serif; }
.text-2xl { font-size: 1.5rem; line-height: 2rem; }
.text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
.text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
.text-5xl { font-size: 3rem; line-height: 1; }
.text-lg { font-size: 1.125rem; line-height: 1.75rem; }
.text-sm { font-size: 0.875rem; line-height: 1.25rem; }
.text-xl { font-size: 1.25rem; line-height: 1.75rem; }
.text-xs { font-size: 0.75rem; line-height: 1rem; }
.font-bold { font-weight: 700; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.uppercase { text-transform: uppercase; }
.italic { font-style: italic; }
.leading-relaxed { line-height: 1.625; }
.leading-tight { line-height: 1.25; }
.tracking-\[0\.3em\] { letter-spacing: 0.3em; }
.tracking-wide { letter-spacing: 0.025em; }
.tracking-wider { letter-spacing: 0.05em; }
.tracking-widest { letter-spacing: 0.1em; }
.text-gray-400 { --tw-text-opacity: 1; color: rgb(156 163 175 / var(--tw-text-opacity, 1)); }
.text-gray-500 { --tw-text-opacity: 1; color: rgb(107 114 128 / var(--tw-text-opacity, 1)); }
.text-gray-600 { --tw-text-opacity: 1; color: rgb(75 85 99 / var(--tw-text-opacity, 1)); }
.text-gray-700 { --tw-text-opacity: 1; color: rgb(55 65 81 / var(--tw-text-opacity, 1)); }
.text-gray-800 { --tw-text-opacity: 1; color: rgb(31 41 55 / var(--tw-text-opacity, 1)); }
.text-green-600 { --tw-text-opacity: 1; color: rgb(22 163 74 / var(--tw-text-opacity, 1)); }
.text-green-700 { --tw-text-opacity: 1; color: rgb(21 128 61 / var(--tw-text-opacity, 1)); }
.text-rose-100 { --tw-text-opacity: 1; color: rgb(255 228 230 / var(--tw-text-opacity, 1)); }
.text-rose-200 { --tw-text-opacity: 1; color: rgb(255 196 204 / var(--tw-text-opacity, 1)); }
.text-rose-300 { --tw-text-opacity: 1; color: rgb(255 158 171 / var(--tw-text-opacity, 1)); }
.text-rose-600 { --tw-text-opacity: 1; color: rgb(196 30 58 / var(--tw-text-opacity, 1)); }
.text-rose-700 { --tw-text-opacity: 1; color: rgb(161 29 52 / var(--tw-text-opacity, 1)); }
.text-rose-800 { --tw-text-opacity: 1; color: rgb(128 0 32 / var(--tw-text-opacity, 1)); }
.text-rose-800\/80 { color: rgba(128, 0, 32, 0.8); }
.text-rose-900 { --tw-text-opacity: 1; color: rgb(92 0 21 / var(--tw-text-opacity, 1)); }
.text-white { --tw-text-opacity: 1; color: rgb(255 255 255 / var(--tw-text-opacity, 1)); }
.text-white\/80 { color: rgba(255, 255, 255, 0.8); }
.antialiased { }
.accent-rose-600 { accent-color: rgb(196, 30, 58); }
.opacity-0 { opacity: 0; }
.opacity-10 { opacity: 0.1; }
.opacity-100 { opacity: 1; }
.opacity-20 { opacity: 0.2; }
.opacity-50 { opacity: 0.5; }
.opacity-80 { opacity: 0.8; }
.mix-blend-overlay { mix-blend-mode: overlay; }
.shadow-2xl { --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25); --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); }
.shadow-lg { --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); }
.shadow-md { --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); }
.shadow-sm { --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); }
.shadow-xl { --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); }
.blur-3xl { --tw-blur: blur(64px); filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); }
.backdrop-blur-md { --tw-backdrop-blur: blur(12px); backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); }
.backdrop-blur-sm { --tw-backdrop-blur: blur(4px); backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); }
.transition-all { transition-property: all; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.transition-colors { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.transition-transform { transition-property: transform; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.duration-200 { transition-duration: 200ms; }
.duration-300 { transition-duration: 300ms; }
.duration-500 { transition-duration: 500ms; }
.hover\:scale-105:hover { --tw-scale-x: 1.05; --tw-scale-y: 1.05; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); }
.hover\:scale-110:hover { --tw-scale-x: 1.1; --tw-scale-y: 1.1; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); }
.hover\:border-rose-500:hover { --tw-border-opacity: 1; border-color: rgb(255 77 109 / var(--tw-border-opacity, 1)); }
.hover\:bg-gray-100:hover { --tw-bg-opacity: 1; background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1)); }
.hover\:bg-rose-100:hover { --tw-bg-opacity: 1; background-color: rgb(255 228 230 / var(--tw-bg-opacity, 1)); }
.hover\:bg-rose-50:hover { --tw-bg-opacity: 1; background-color: rgb(255 245 245 / var(--tw-bg-opacity, 1)); }
.hover\:bg-white\/20:hover { background-color: rgba(255, 255, 255, 0.2); }
.hover\:text-gray-600:hover { --tw-text-opacity: 1; color: rgb(75 85 99 / var(--tw-text-opacity, 1)); }
.hover\:text-rose-600:hover { --tw-text-opacity: 1; color: rgb(196 30 58 / var(--tw-text-opacity, 1)); }
.hover\:text-rose-900:hover { --tw-text-opacity: 1; color: rgb(92 0 21 / var(--tw-text-opacity, 1)); }
.hover\:text-white:hover { --tw-text-opacity: 1; color: rgb(255 255 255 / var(--tw-text-opacity, 1)); }
.hover\:underline:hover { text-decoration-line: underline; }
.hover\:shadow-2xl:hover { --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25); --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); }
.hover\:shadow-xl:hover { --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); }
.focus\:border-rose-500:focus { --tw-border-opacity: 1; border-color: rgb(255 77 109 / var(--tw-border-opacity, 1)); }
.focus\:outline-none:focus { outline: transparent solid 2px; outline-offset: 2px; }
.group:hover .group-hover\:scale-110 { --tw-scale-x: 1.1; --tw-scale-y: 1.1; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); }
.group:hover .group-hover\:text-rose-800 { --tw-text-opacity: 1; color: rgb(128 0 32 / var(--tw-text-opacity, 1)); }
.has-\[\:checked\]\:border-rose-600:has(:checked) { --tw-border-opacity: 1; border-color: rgb(196 30 58 / var(--tw-border-opacity, 1)); }
.has-\[\:checked\]\:bg-rose-50:has(:checked) { --tw-bg-opacity: 1; background-color: rgb(255 245 245 / var(--tw-bg-opacity, 1)); }
@media (min-width: 640px) {
  .sm\:flex { display: flex; }
  .sm\:w-96 { width: 24rem; }
  .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .sm\:flex-row { flex-direction: row; }
}
@media (min-width: 768px) {
  .md\:col-span-2 { grid-column: span 2 / span 2; }
  .md\:block { display: block; }
  .md\:inline { display: inline; }
  .md\:flex { display: flex; }
  .md\:hidden { display: none; }
  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
  .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0px, 1fr)); }
  .md\:gap-6 { gap: 1.5rem; }
  .md\:p-8 { padding: 2rem; }
  .md\:px-8 { padding-left: 2rem; padding-right: 2rem; }
  .md\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
  .md\:text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
  .md\:text-6xl { font-size: 3.75rem; line-height: 1; }
  .md\:text-7xl { font-size: 4.5rem; line-height: 1; }
  .md\:text-sm { font-size: 0.875rem; line-height: 1.25rem; }
  .md\:text-xl { font-size: 1.25rem; line-height: 1.75rem; }
}
@media (min-width: 1024px) {
  .lg\:block { display: block; }
  .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0px, 1fr)); }
}

@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active{pointer-events:auto}.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}


    :root{--r100:#FFE4E6;--r600:#C41E3A;--r800:#800020;--r900:#5C0015;--cream:#FAF7F5;}
    html{scroll-behavior:smooth;}
    body{font-family:'Inter',sans-serif;background:var(--cream);color:#1A1A1A;margin:0;}
    h1,h2{font-family:'Playfair Display',serif;}

    /* Хедер */
    .sh{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);box-shadow:0 1px 6px rgba(0,0,0,.07);}
    .sh-in{max-width:80rem;margin:0 auto;padding:0 1.5rem;}
    .sh-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:.6rem 0;border-bottom:1px solid var(--r100);font-size:.8rem;color:#6B7280;}
    .sh-top a{color:inherit;text-decoration:none;display:flex;align-items:center;gap:.375rem;font-weight:600;transition:color .2s;}
    .sh-top a:hover{color:var(--r600);}
    .sh-soc{display:flex;gap:.75rem;}
    .sh-nav{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;}
    .sh-logo{font-family:'Playfair Display',serif;font-size:1.75rem;font-weight:700;color:var(--r800);letter-spacing:.05em;text-decoration:none;}
    .sh-links{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0;}
    .sh-links a{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#374151;text-decoration:none;transition:color .2s;}
    .sh-links a:hover,.sh-links a.act{color:var(--r600);}
    .sh-links a.act{border-bottom:2px solid var(--r600);padding-bottom:2px;}
    .sh-cart a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:#374151;text-decoration:none;transition:background .2s;}
    .sh-cart a:hover{background:#FFE4E6;}
    .mb-btn{display:none;background:none;border:none;cursor:pointer;padding:8px;color:#374151;}
    @media(max-width:767px){.sh-links{display:none;}.mb-btn{display:flex;}.sh-top .addr{display:none;}}
    .mb-nav{display:none;flex-direction:column;border-top:1px solid var(--r100);padding:1rem 0;}
    .mb-nav.open{display:flex;}
    .mb-nav a{padding:.625rem 0;font-size:.9rem;font-weight:600;color:#374151;text-decoration:none;text-align:center;}
    .mb-nav a:hover,.mb-nav a.act{color:var(--r600);}

    /* Контент */
    .wrap{padding-top:2rem;}

    /* Заголовок */
    .sec-head{max-width:80rem;margin:0 auto;padding:3.5rem 1.5rem 2rem;text-align:center;}
    .sec-label{display:block;font-size:.7rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--r600);margin-bottom:.6rem;}
    .sec-title{font-size:clamp(1.75rem,3.5vw,2.75rem);color:var(--r900);margin:0 0 .5rem;line-height:1.2;}
    .divider{width:64px;height:4px;border:none;margin:1rem auto 0;background:linear-gradient(90deg,transparent,var(--r600),transparent);border-radius:2px;}

    /* Слайдер */
    .sl-section{padding:0 0 4rem;background:var(--cream);}

    /* Обёртка — вся ширина блока, отступы только для стрелок */
    .sl-wrap{position:relative;max-width:80rem;margin:0 auto;padding:0 4rem;}
    @media(max-width:600px){.sl-wrap{padding:0;}}

    .promo-swiper{width:100%;}

    /* Картинка — занимает 100% ширины слайда */
    .swiper-slide img{
      display:block;width:100%;height:auto;
      aspect-ratio:4/3;          /* соотношение сторон баннера */
      object-fit:cover;
      border-radius:16px;
      user-select:none;
      -webkit-user-drag:none;
    }
    /* На планшете немного выше */
    @media(max-width:900px){
      .swiper-slide img{
        /* aspect-ratio:16/7; */
        border-radius:12px;}
    }
    /* На мобильном почти квадрат */
    @media(max-width:600px){
      .swiper-slide img{
        /* aspect-ratio:4/3; */
        border-radius:8px;}
    }

    /* Стрелки — по бокам вне картинки (десктоп) */
    .swiper-button-prev,
    .swiper-button-next{
      width:48px!important;height:48px!important;
      background:white!important;
      border-radius:50%!important;
      border:1.5px solid var(--r100)!important;
      box-shadow:0 4px 16px rgba(0,0,0,.12)!important;
      color:var(--r600)!important;
      top:50%!important;
      margin-top:0!important;
    }
    .swiper-button-prev{left:0!important;transform:translateY(-50%)!important;}
    .swiper-button-next{right:0!important;transform:translateY(-50%)!important;}
    .swiper-button-prev::after,
    .swiper-button-next::after{font-size:1.1rem!important;font-weight:900!important;}
    .swiper-button-prev:hover,
    .swiper-button-next:hover{
      background:#FFF5F5!important;
      border-color:var(--r600)!important;
      box-shadow:0 6px 20px rgba(196,30,58,.2)!important;
    }

    /* На мобильном стрелки поверх картинки */
    @media(max-width:600px){
      .swiper-button-prev{left:10px!important;width:38px!important;height:38px!important;}
      .swiper-button-next{right:10px!important;width:38px!important;height:38px!important;}
      .swiper-button-prev,
      .swiper-button-next{background:rgba(255,255,255,.85)!important;backdrop-filter:blur(4px)!important;}
      .swiper-button-prev::after,
      .swiper-button-next::after{font-size:.9rem!important;}
    }

    /* Пагинация */
    .swiper-pagination{position:relative!important;margin-top:1.25rem!important;bottom:auto!important;}
    .swiper-pagination-bullet{width:8px;height:8px;background:var(--r100)!important;opacity:1!important;transition:all .3s;}
    .swiper-pagination-bullet-active{background:var(--r600)!important;width:24px!important;border-radius:4px!important;}

    /* Footer */
    .sf{background:var(--r900);color:rgba(255,255,255,.8);padding:4rem 1.5rem 1.5rem;}
    .sf-grid{max-width:80rem;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2.5rem;margin-bottom:3rem;}
    .sf-logo{font-family:'Playfair Display',serif;font-size:1.75rem;font-weight:700;color:white;display:block;margin-bottom:.6rem;}
    .sf-desc{font-size:.83rem;line-height:1.6;opacity:.7;}
    .sf-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:white;margin-bottom:.9rem;}
    .sf-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem;font-size:.83rem;}
    .sf-links a{color:rgba(255,255,255,.7);text-decoration:none;transition:color .2s;}
    .sf-links a:hover{color:white;}
    .sf-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1.25rem;text-align:center;font-size:.73rem;color:rgba(255,255,255,.35);max-width:80rem;margin:0 auto;}
  