/* White Boutique — shared stylesheet (generated from design source) */
* { box-sizing: border-box; }

body { margin: 0; background: #ffffff; color: #0a0a0a; font-family: 'Jost', sans-serif; -webkit-font-smoothing: antialiased; }

a { text-decoration: none; color: inherit; }

@keyframes wbPulse { 0% { box-shadow: 0 0 0 0 rgba(37,211,102,.45); } 70% { box-shadow: 0 0 0 16px rgba(37,211,102,0); } 100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); } }

@keyframes wbFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }

@keyframes wbPopIn { from { opacity: 0; transform: scale(.4); } to { opacity: 1; transform: scale(1); } }

@keyframes wbShimmer { 0% { background-position: -120% 0; } 100% { background-position: 220% 0; } }

@keyframes wbMarquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

[data-reveal] { opacity: 0; transform: translateY(32px); will-change: opacity, transform;
      transition: opacity .9s cubic-bezier(.22,.61,.36,1), transform .9s cubic-bezier(.22,.61,.36,1);
      transition-delay: var(--wb-d, 0s); }

[data-reveal].wb-in { opacity: 1; transform: none; }

[data-reveal="left"]  { transform: translateX(-44px); }

[data-reveal="left"].wb-in { transform: none; }

[data-reveal="scale"] { transform: scale(.93); }

[data-reveal="scale"].wb-in { transform: none; }

@media (prefers-reduced-motion: reduce) { [data-reveal] { opacity: 1 !important; transform: none !important; transition: none !important; } }

@keyframes wbKenBurns { from { transform: scale(1.06); } to { transform: scale(1.2); } }

@keyframes wbGradShift { 0%,100% { background-position: 62% 8%; } 50% { background-position: 42% 26%; } }

@keyframes wbScrollDot { 0% { transform: translateX(-50%) translateY(0); opacity: 0; } 30% { opacity: 1; } 100% { transform: translateX(-50%) translateY(15px); opacity: 0; } }

@keyframes wbFadeUp { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

[data-menu-toggle] span { transition: transform .32s cubic-bezier(.5,.2,.2,1), opacity .2s ease; }

[data-menu-toggle][data-open="true"] span:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }

[data-menu-toggle][data-open="true"] span:nth-child(2) { opacity: 0; transform: scaleX(.3); }

[data-menu-toggle][data-open="true"] span:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }

[data-mobile-extra] { display: none; }

@media (max-width: 920px) {
      [data-header-actions] [data-social] { display: none !important; }
      [data-mobile-extra] { display: flex !important; }
      [data-nav] a { padding: 13px 2px !important; font-size: 15px !important; border-bottom: 1px solid #f2f2f2; letter-spacing: 2px !important; }
      [data-nav] { animation: wbFadeUp .3s ease both; }
    }

@media (max-width: 920px) {
      [data-utilbar] { display: none !important; }
      [data-menu-toggle] { display: flex !important; }
      [data-nav] { position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; background: #fff;
                   border-top: 1px solid #ececec; padding: 14px 24px 22px; gap: 6px !important; box-shadow: 0 18px 30px rgba(0,0,0,.08); }
      [data-nav][data-open="false"] { display: none !important; }
      [data-header-actions] [data-cta] { display: none; }
    }

@media (max-width: 1180px) { [data-product-grid] { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 860px) { [data-product-grid] { grid-template-columns: repeat(2, 1fr) !important; } }

@media (max-width: 720px) {
      [data-stats] { grid-template-columns: repeat(2, 1fr) !important; }
      [data-footer-grid] { grid-template-columns: 1fr 1fr !important; }
    }

@media (max-width: 460px) { [data-product-grid] { grid-template-columns: 1fr !important; } }

@media (max-width: 900px) { [data-linen-feature] { grid-template-columns: 1fr !important; gap: 40px !important; } [data-linen-gallery] { grid-template-columns: repeat(3, 1fr) !important; } }

@media (max-width: 480px) { [data-linen-gallery] { grid-template-columns: repeat(2, 1fr) !important; } }

@media (max-width: 520px) {
      [data-footer-grid] { grid-template-columns: 1fr !important; }
    }

@media (max-width: 760px) { [data-footer-contact] { grid-template-columns: 1fr !important; gap: 18px !important; } }

@media (max-width: 920px) { [data-scroll-hint] { display: none !important; } }

@media (max-width: 860px) { [data-why-grid] { grid-template-columns: repeat(2, 1fr) !important; } }

@media (max-width: 520px) { [data-why-grid] { grid-template-columns: 1fr !important; } }

@media (max-width: 860px) { [data-about-grid] { grid-template-columns: repeat(2, 1fr) !important; } }

@media (max-width: 560px) { [data-about-grid] { grid-template-columns: 1fr !important; } }

@media (max-width: 860px) { [data-contact-grid] { grid-template-columns: 1fr !important; gap: 44px !important; } }

@media (max-width: 480px) { [data-form-row] { grid-template-columns: 1fr !important; } }

#wb-loader { position: fixed; inset: 0; background: #ffffff; z-index: 99999; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 22px; transition: opacity .45s ease, visibility .45s ease; }
#wb-loader.wb-loaded { opacity: 0; visibility: hidden; pointer-events: none; }
.wb-spinner { width: 34px; height: 34px; border: 3px solid #ececec; border-top-color: #0a0a0a; border-radius: 50%; animation: wbSpin .8s linear infinite; }
@keyframes wbSpin { to { transform: rotate(360deg); } }

/* Hover states */
[data-wbh="1"]:hover{color:#fff;}
[data-wbh="2"]:hover{color:#0a0a0a;background-size:100% 1.5px;}
[data-wbh="3"]:hover{background:#0a0a0a;border-color:#0a0a0a;color:#fff;transform:translateY(-3px);}
[data-wbh="4"]:hover{background:#ffffff;border-color:#0a0a0a;color:#0a0a0a;}
[data-wbh="5"]:hover{background:#e2e2e2;transform:translateY(-2px);}
[data-wbh="6"]:hover{background:#fff;color:#0a0a0a;border-color:#fff;}
[data-wbh="7"]:hover{background:#ffffff;border-color:#0a0a0a;color:#0a0a0a;transform:translateY(-2px);}
[data-wbh="8"]:hover{background:#0a0a0a;color:#fff;}
[data-wbh="9"]:hover{transform:scale(1.06);}
[data-wbh="10"]:hover{}
[data-wbh="11"]:hover{transform:scale(1.08);}
[data-wbh="12"]:hover{box-shadow:0 22px 44px rgba(0,0,0,.12);transform:translateY(-4px);}
[data-wbh="13"]:hover{transform:scale(1.07);}
[data-wbh="14"]:hover{animation-play-state:paused;}
[data-wbh="15"]:hover{box-shadow:0 22px 44px rgba(0,0,0,.1);transform:translateY(-4px);}
[data-wbh="16"]:hover{color:#ffffff;}
[data-wbh="17"]:hover{background:#ffffff;border-color:#ffffff;color:#0a0a0a;transform:translateY(-3px);}
[data-wbh="18"]:hover{color:#ffffff;padding-left:6px;}
[data-wbh="19"]:hover{background:#e2e2e2;}
[data-wbh="20"]:hover{background:#ffffff;color:#0a0a0a;transform:translateY(-3px);}
[data-wbh="21"]:hover{box-shadow:0 22px 44px rgba(0,0,0,.08);transform:translateY(-4px);}
[data-wbh="22"]:hover{background:#0a0a0a;color:#fff;border-color:#0a0a0a;}
[data-wbh="23"]:hover{background:#fff;color:#0a0a0a;}
[data-wbh="24"]:hover{transform:scale(1.05);}
[data-wbh="25"]:hover{padding-left:6px;}
[data-wbh="26"]:hover{transform:translateY(-2px);}
[data-wbh="27"]:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.28);}
[data-wbh="28"]:hover{--ov:1;}

/* Focus states */
[data-wbf="1"]:focus{border-color:#0a0a0a;}
