/* SleepMaster — minimal brand layer on top of the Venturi template (style.css).
   Keeps the template's typography, square shapes and neutral palette; only adds
   brand colors and the few components the template does not have. */

:root {
  --primary-color: #16203A;
  --secondary-color: #9A7444;
  --headings-color: #16203A;
  --border-color: #E9E9E9;
}

/* logo / preloader */
.sm-logo { height: 38px; width: auto; }
.mobile-menu .sm-logo { height: 32px; }
.sm-preloader-text span { color: var(--secondary-color); }

/* header */
.vr6-header-topbar p { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; }
.sm-dot { opacity: .5; }
.header-wishlist .cart-icon { position: relative; display: inline-block; }
.vr6-nav-menu ul li a.sm-active { color: var(--secondary-color); }
.vr6-header-custom-row .vr6-nav-menu { width: 62%; }
.vr6-header-custom-row .vr6-header-timing { width: 19%; }
.sm-pill-sale { background: var(--danger-color); color: #fff; font-size: 10px; padding: 1px 5px; margin-left: 4px; }
.sm-wa-link i { color: #25D366; }

/* category list: open on home (template behaviour), hover-open on inner pages.
   Nav megamenus must stay above it, so the list itself gets no stacking boost. */
.sm-inner .vr6-category-menu>ul { opacity: 0; visibility: hidden; transition: var(--transition-base); z-index: 5; }
.sm-inner .vr6-category-menu:hover>ul { opacity: 1; visibility: visible; }
.vr6-nav-menu .megamenu-3, .vr6-nav-menu .submenu-wrapper { z-index: 30; }
.vr6-category-menu>a { cursor: pointer; }
.sm-cover-banner { width: 100%; height: 170px; object-fit: cover; }
.sm-cover { object-fit: cover; }

/* hero: mattress illustrations are wide */
@media (min-width: 1200px) { .vr6-hero-custom-row .vr6-hero-box .product-image img { max-width: 115%; } }

/* product cards */
.vr6-product-card .feature-image .feature-thumbnail.thumb { max-width: 90%; }
.vr6-product-card .feature-image .feature-thumbnail.thumb-hover { max-width: 75%; }
.sm-card .product-action-btns a.sm-on svg path, .sm-card .action-btns a.sm-on svg path { fill: var(--danger-color); }
.pd-wishlist-btn.sm-on i { color: var(--danger-color); font-weight: 900; }
.vr5-product-card .feature-image img { max-height: 230px; }
.vr5-product-card .feature-image .circle-badge { position: absolute; top: 15px; right: 15px; z-index: 2; }
.sm-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.vr6-product-card-content h6 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* home: quiz block, reviews, blog */
.sm-quiz-box { background-color: var(--light-bg); }
.sm-quiz-box img { min-height: 360px; }
.sm-quiz-content { padding: 70px 60px; }
.sm-avatar { width: 60px; height: 60px; background: var(--light-bg); color: var(--primary-color); font-weight: 600; font-size: 22px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; margin-right: 16px; }
.sm-blog-img { width: 100%; height: 280px; object-fit: cover; }
.sm-blog-wide { width: 100%; max-height: 440px; object-fit: cover; }
.sm-eyebrow { display: inline-block; font-size: 14px; font-weight: 600; text-transform: uppercase; color: var(--primary-color); }

/* breadcrumb title */
.sm-page-title { font-size: 36px; font-weight: 500; }

/* shop */
.sm-active-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.sm-active-filters span { border: 1px solid var(--border-color); padding: 4px 12px; font-size: 13px; cursor: pointer; color: var(--primary-color); }
.sm-active-filters span i { margin-left: 6px; font-size: 11px; }
.sm-size-filter { display: grid !important; grid-template-columns: 1fr 1fr; }
.sm-size-filter li { margin: 0 0 12px !important; }
.sidebar-products .thumbnail img { width: 70px; }
#amount { border: 0; background: transparent; color: var(--primary-color); width: 170px; }

/* product details */
.sm-sticky { position: sticky; top: 20px; }
.vr-poroduct-single-slider .single-item { min-height: 440px; display: flex !important; align-items: center; justify-content: center; }
.sm-gal-photo img { max-height: 440px; object-fit: cover; }
.vr-product-thumb-control .single-item { height: 90px; display: flex !important; align-items: center; justify-content: center; cursor: pointer; }
.vr-product-thumb-control .single-item img { max-height: 76px; object-fit: cover; }
.sm-stock { color: #1E8E4E; }
.sm-stock i { font-size: 7px; vertical-align: middle; }
.sm-pd-price { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.sm-price-now { font-size: 30px; font-weight: 600; color: var(--primary-color); }
.sm-price-old { color: var(--text-color); }
.sm-save { color: var(--danger-color); font-weight: 600; font-size: 14px; }
.sm-size-btn { border: 1px solid var(--border-color); background: #fff; padding: 9px 14px; font-size: 14px; color: var(--primary-color); transition: var(--transition-base); }
.sm-size-btn:hover { border-color: var(--primary-color); }
.sm-size-btn.active { background: var(--primary-color); border-color: var(--primary-color); color: #fff; }
.sm-firm-bar { height: 4px; background: var(--border-color); position: relative; }
.sm-firm-bar span { position: absolute; top: 50%; width: 14px; height: 14px; background: var(--primary-color); transform: translate(-50%, -50%); transition: left .4s; }
.sm-quick-specs { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--border-color); }
.sm-quick-specs li { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--border-color); }
.sm-quick-specs li i { color: var(--primary-color); width: 18px; }
.sm-quick-specs li strong { margin-left: auto; color: var(--primary-color); font-weight: 500; }
.sm-taksit-box { border: 1px solid var(--border-color); padding: 20px; }
.sm-taksit-box strong { color: var(--primary-color); font-weight: 600; }
.sm-taksit-tabs { display: flex; gap: 8px; flex-wrap: wrap; }
.sm-taksit-tabs button { border: 1px solid var(--border-color); background: #fff; padding: 5px 12px; font-size: 14px; color: var(--primary-color); }
.sm-taksit-tabs button.active { background: var(--primary-color); color: #fff; border-color: var(--primary-color); }
.sm-taksit-monthly { font-size: 22px; font-weight: 600; color: var(--primary-color); }
.sm-pd-trust { list-style: none; padding: 18px 0 0; border-top: 1px solid var(--border-color); }
.sm-pd-trust li { margin-bottom: 8px; }
.sm-pd-trust li i { color: var(--primary-color); width: 24px; }
.sm-spec-table th { width: 40%; font-weight: 500; color: var(--primary-color); }
.sm-spec-table th, .sm-spec-table td { padding: 14px 0; border-color: var(--border-color); }
.sm-layer-list { list-style: none; padding: 0; }
.sm-layer-list li { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--border-color); }
.sm-layer-list li strong { margin-left: auto; color: var(--primary-color); font-weight: 500; }
.sm-layer-sw { width: 28px; height: 16px; border: 1px solid rgba(0,0,0,.08); }
.single-products-info { padding-top: 60px; }
.quantity-box { display: inline-flex; align-items: center; }
.quantity-box input { width: 44px; text-align: center; }
.sm-qv-image { background: var(--light-bg-2); padding: 20px; }

/* cart, checkout, drawer */
.cart-table .feature-image { width: 110px; height: 80px; display: flex; align-items: center; justify-content: center; }
.cart-table .feature-image img { max-height: 70px; }
.order-table .feature-image, .cart-list .feature-image { width: 90px; height: 70px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.order-table .feature-image img, .cart-list .feature-image img { max-height: 60px; }
.sm-coupon-box .theme-input { max-width: 320px; }
.sm-coupon-msg.ok { color: #1E8E4E; }
.sm-coupon-msg.err { color: var(--danger-color); }
.sm-done-icon { width: 80px; height: 80px; border: 1px solid var(--border-color); color: var(--primary-color); display: inline-flex; align-items: center; justify-content: center; font-size: 30px; margin: 0 auto; }
.sm-drawer-empty { padding: 40px 20px; text-align: center; }

/* quiz page */
.sm-quiz { border: 1px solid var(--border-color); padding: 50px; background: #fff; }
.sm-quiz-progress { height: 3px; background: var(--border-color); margin-bottom: 40px; }
.sm-quiz-progress span { display: block; height: 100%; background: var(--primary-color); transition: width .4s; }
.sm-step { display: none; }
.sm-step.active { display: block; }
.sm-opts { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin-top: 20px; }
.sm-opt input { display: none; }
.sm-opt span { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; border: 1px solid var(--border-color); padding: 24px 12px; cursor: pointer; transition: var(--transition-base); height: 100%; }
.sm-opt em { font-style: normal; font-size: 22px; color: var(--primary-color); }
.sm-opt strong { color: var(--primary-color); font-weight: 600; }
.sm-opt small { color: var(--text-color); }
.sm-opt input:checked + span { border-color: var(--primary-color); box-shadow: inset 0 0 0 1px var(--primary-color); }
.sm-coupon-reveal { background: var(--light-bg); padding: 30px; }
.sm-coupon-code { display: inline-block; font-size: 26px; font-weight: 600; letter-spacing: .15em; color: var(--primary-color); border: 1px dashed var(--primary-color); padding: 6px 22px; background: #fff; }
.sm-res-dot { left: 50%; }

/* info pages */
.sm-info-card { border: 1px solid var(--border-color); padding: 34px; background: #fff; }
.sm-info-card i { font-size: 26px; color: var(--primary-color); margin-bottom: 20px; }
.sm-stats { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--border-color); }
.sm-stats > div { text-align: center; padding: 40px 10px; border-right: 1px solid var(--border-color); }
.sm-stats > div:last-child { border: 0; }
.sm-stats strong { font-size: 42px; font-weight: 500; color: var(--primary-color); display: block; }
.sm-process { list-style: none; padding: 0; }
.sm-process li { display: flex; gap: 18px; margin-bottom: 24px; }
.sm-process li > span { font-weight: 600; font-size: 20px; color: var(--primary-color); min-width: 40px; }
.sm-quote { font-size: 50px; color: var(--primary-color); }
.sm-cta-strip { background: var(--primary-color); padding: 36px 40px; display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; }
.sm-room { border: 1px solid var(--border-color); padding: 30px; height: 100%; }
.sm-room i, .footer-address i { color: var(--primary-color); width: 16px; }
.sm-side-card { border: 1px solid var(--border-color); padding: 28px; }
.sm-side-cta { background-size: cover; background-position: center; position: relative; border: 0; min-height: 260px; display: flex; flex-direction: column; justify-content: flex-end; }
.sm-side-cta::before { content: ''; position: absolute; inset: 0; background: var(--primary-color); opacity: .45; }
.sm-side-cta > * { position: relative; }
.sm-thumb-sq { width: 76px; height: 64px; object-fit: cover; }
.sm-timeline { list-style: none; padding: 0; border-left: 1px solid var(--border-color); margin-left: 8px; }
.sm-timeline li { position: relative; padding: 0 0 26px 26px; }
.sm-timeline li::before { content: ''; position: absolute; left: -6px; top: 5px; width: 11px; height: 11px; background: var(--border-color); }
.sm-timeline li.done::before { background: #1E8E4E; }
.sm-timeline li.current::before { background: var(--primary-color); }
.sm-timeline strong { display: block; color: var(--primary-color); font-weight: 600; }
.vr-about-banner { height: 460px; background-size: cover; background-position: center; }

/* footer */
.sm-footer-about p { max-width: 320px; }
.sm-socials a { width: 38px; height: 38px; border: 1px solid var(--border-color); display: inline-flex; align-items: center; justify-content: center; color: var(--primary-color); }
.sm-socials a:hover { background: var(--primary-color); color: #fff; }

/* floating whatsapp + toast */
.sm-wa-float { position: fixed; right: 22px; bottom: 22px; width: 54px; height: 54px; border-radius: 50%; background: #25D366; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 28px; z-index: 990; }
.sm-wa-float:hover { color: #fff; }
.sm-toast { position: fixed; left: 50%; bottom: 30px; transform: translate(-50%, 20px); background: var(--primary-color); color: #fff; padding: 14px 22px; font-size: 14px; z-index: 9999; opacity: 0; visibility: hidden; transition: var(--transition-base); max-width: calc(100vw - 32px); }
.sm-toast.show { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.sm-toast a { color: #fff; text-decoration: underline; margin-left: 8px; }

.sm-404 { min-height: 70vh; display: flex; align-items: center; }
.sm-mobile-contact a { color: var(--primary-color); }

@media (max-width: 767px) {
  .vr6-hero-custom-row .vr6-hero-box h1 { font-size: 40px; }
  .sm-page-title { font-size: 28px; }
  .sm-quiz-content { padding: 40px 24px; }
  .sm-quiz { padding: 26px 18px; }
  .sm-stats { grid-template-columns: repeat(2, 1fr); }
  .sm-cta-strip { padding: 26px 22px; }
  .sm-wa-float { width: 48px; height: 48px; font-size: 24px; right: 14px; bottom: 14px; }
}
