/* =====================================================
   HaParsi — הפרסי · main.css (RTL-first)
   Palette: ink / charcoal / steel / mist / white / ember
   Fonts: Frank Ruhl Libre (display) · Assistant (body)
   ===================================================== */

:root{
  --ink:#0B0B0B; --char:#141414; --char2:#1F1F1F;
  --steel:#5F6368; --steel2:#9AA0A6;
  --mist:#D9D9D9; --mist2:#F4F4F5; --white:#FFFFFF;
  --ember:#FF7A00; --ember-deep:#E85F00; --ember-soft:#FFF1E5;
  --ok:#1E9E6A; --err:#D64545;
  --ff-disp:"Heebo", sans-serif;
  --ff-body:"Assistant", -apple-system, "Segoe UI", Arial, sans-serif;
  --rad:14px; --rad-s:9px;
  --sh:0 10px 34px rgba(16,16,18,.10);
  --sh-s:0 4px 14px rgba(16,16,18,.08);
  --wrap:1200px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; direction:rtl;
  font-family:var(--ff-body); font-size:17px; line-height:1.65;
  color:var(--ink); background:var(--white);
  -webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%; height:auto; display:block}
a{color:inherit; text-decoration:none}
a:hover{color:var(--ember-deep)}
ul{margin:0; padding:0; list-style:none}
h1,h2,h3,h4{font-family:var(--ff-disp); line-height:1.2; margin:0 0 .5em; font-weight:700}
h1{font-size:clamp(2rem,4.5vw,3.4rem)} h2{font-size:clamp(1.5rem,3vw,2.3rem)} h3{font-size:1.2rem}
p{margin:0 0 1em}
em{color:var(--ember); font-style:italic}

.mrv-wrap{max-width:var(--wrap); margin-inline:auto; padding-inline:22px}
.mrv-section{padding-block:64px}
.mrv-pt0{padding-top:0}
.mrv-narrow{max-width:820px}
.mrv-lock{overflow:hidden}

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);word-wrap:normal!important}
.skip-link{position:absolute; inset-inline-start:8px; top:-48px; z-index:200; background:var(--ink); color:#fff; padding:10px 16px; border-radius:0 0 10px 10px; transition:top .2s}
.skip-link:focus{top:0; color:#fff}
:focus-visible{outline:3px solid var(--ember); outline-offset:2px; border-radius:4px}

.mrv-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:inline-block;vertical-align:middle}
.mrv-icon-s{width:15px;height:15px}

/* ---------- Buttons ---------- */
.mrv-btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 26px; border-radius:999px; border:2px solid transparent;
  font:600 1rem var(--ff-body); cursor:pointer; transition:.2s;
}
.mrv-btn-ember{background:var(--ember); color:#fff}
.mrv-btn-ember:hover{background:var(--ember-deep); color:#fff; transform:translateY(-1px)}
.mrv-btn-ink{background:var(--ink); color:#fff}
.mrv-btn-ink:hover{background:var(--char2); color:#fff}
.mrv-btn-ghost{background:transparent; border-color:var(--mist); color:var(--ink)}
.mrv-btn-ghost:hover{border-color:var(--ink)}
.mrv-btn-outline-light{background:#fff; border-color:var(--mist); color:var(--ink)}
.mrv-btn-outline-light:hover{border-color:var(--ink); color:var(--ink)}
.mrv-linklike{background:none;border:0;padding:0;color:var(--ember-deep);font:inherit;cursor:pointer;text-decoration:underline}

/* ---------- Topbar / Header ---------- */
.mrv-topbar{background:var(--ink); color:var(--mist); text-align:center; font-size:.85rem; padding:9px 14px}
.mrv-topbar b{color:var(--ember)}
.mrv-header{position:sticky; top:0; z-index:100; background:rgba(252,252,251,.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--mist)}
.mrv-header-in{display:flex; align-items:center; gap:20px; min-height:70px}
.mrv-logo a{display:flex; align-items:center; gap:10px; font:900 1.5rem var(--ff-disp)}
.mrv-logo-mark{width:34px;height:34px;flex:none}
.custom-logo{max-height:52px; width:auto}
.mrv-nav{margin-inline-start:6px; flex:1}
.mrv-nav-list{display:flex; gap:4px; flex-wrap:wrap}
.mrv-nav-list>li{position:relative}
.mrv-nav-list>li>a{display:block; padding:10px 13px; border-radius:9px; font-weight:600; font-size:.98rem}
.mrv-nav-list>li>a:hover{background:var(--mist2); color:var(--ink)}
.mrv-nav-list .sub-menu{
  position:absolute; inset-inline-start:0; top:100%; min-width:220px;
  background:#fff; border:1px solid var(--mist); border-radius:12px; box-shadow:var(--sh);
  padding:8px; opacity:0; visibility:hidden; transform:translateY(6px); transition:.18s; z-index:50;
}
.mrv-nav-list li:hover>.sub-menu,.mrv-nav-list li:focus-within>.sub-menu{opacity:1; visibility:visible; transform:none}
.mrv-nav-list .sub-menu a{display:block; padding:9px 12px; border-radius:8px; font-size:.94rem}
.mrv-nav-list .sub-menu a:hover{background:var(--ember-soft); color:var(--ember-deep)}
.mrv-header-actions{display:flex; gap:4px; align-items:center; margin-inline-start:auto}
.mrv-icon-btn{position:relative; display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; border:0; background:transparent; color:var(--ink); cursor:pointer}
.mrv-icon-btn:hover{background:var(--mist2)}
.mrv-cart-count{position:absolute; top:2px; inset-inline-start:2px; min-width:18px; height:18px; padding:0 4px; border-radius:9px; background:var(--steel2); color:#fff; font-size:.68rem; font-weight:700; display:flex; align-items:center; justify-content:center}
.mrv-cart-count.on{background:var(--ember)}
.mrv-burger{display:none}
.mrv-search-bar{border-top:1px solid var(--mist); background:#fff}
.mrv-search-in{max-width:720px; margin-inline:auto; padding:18px 22px}
.mrv-searchform{display:flex; gap:10px}
.mrv-searchform input[type=search]{flex:1; padding:12px 16px; border:2px solid var(--mist); border-radius:999px; font:inherit}
.mrv-searchform input[type=search]:focus{border-color:var(--ember); outline:none}

/* Mobile nav */
.mrv-mnav{position:fixed; inset:0; z-index:300}
.mrv-mnav-veil{position:absolute; inset:0; background:rgba(16,16,18,.55)}
.mrv-mnav-panel{position:absolute; inset-block:0; inset-inline-start:0; width:min(84vw,340px); background:#fff; padding:18px; overflow:auto; box-shadow:var(--sh)}
.mrv-mnav-top{display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; font-family:var(--ff-disp); font-size:1.2rem}
.mrv-mnav-list>li>a{display:block; padding:13px 8px; border-bottom:1px solid var(--mist); font-weight:600}
.mrv-mnav-list .sub-menu{display:none; padding-inline-start:14px}
.mrv-mnav-list li.open>.sub-menu{display:block}
.mrv-mnav-list .sub-menu a{display:block; padding:10px 8px; color:var(--steel); font-size:.95rem}

/* ---------- Hero ---------- */
.mrv-hero{position:relative; background:var(--white); color:var(--ink); overflow:hidden}
.mrv-hero::before{content:""; position:absolute; top:-140px; inset-inline-end:-120px; width:480px; height:480px;
  background:linear-gradient(135deg,var(--ember) 0%,var(--ember-deep) 100%); transform:rotate(24deg); z-index:0}
.mrv-hero::after{content:""; position:absolute; top:0; inset-inline-end:0; width:44%; height:100%;
  background:linear-gradient(115deg,transparent 55%,var(--mist2) 55.2%); z-index:0}
.mrv-hero-in{position:relative; z-index:1; display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:center; padding-block:72px}
.mrv-eyebrow{display:inline-block; font-size:.8rem; font-weight:700; letter-spacing:.14em; color:var(--ember-deep); text-transform:uppercase; margin-bottom:10px}
.mrv-hero h1{color:var(--ink); margin-bottom:18px}
.mrv-lead{color:var(--steel); font-size:1.13rem; max-width:52ch}
.mrv-hero-cta{display:flex; gap:12px; flex-wrap:wrap; margin-top:26px}
.mrv-hero-stats{display:flex; gap:34px; flex-wrap:wrap; margin-top:40px; padding-top:26px; border-top:1px solid var(--mist)}
.mrv-hero-stats b{display:block; font:700 1.5rem var(--ff-disp); color:var(--ink)}
.mrv-hero-stats span{font-size:.82rem; color:var(--steel)}
.mrv-hero-rug{max-width:380px; margin-inline:auto; filter:drop-shadow(0 26px 44px rgba(11,11,11,.28)); transform:rotate(-4deg)}
.mrv-hero-rug img{border-radius:12px}
.mrv-anim{opacity:0; transform:translateY(18px); animation:mrvUp .7s cubic-bezier(.2,.7,.3,1) forwards; animation-delay:var(--d,0s)}
@keyframes mrvUp{to{opacity:1; transform:none}}

/* Marquee strip */
.mrv-strip{background:var(--ink); color:#fff; overflow:hidden; padding:12px 0; font-weight:600}
.mrv-strip span::first-letter{color:var(--ember)}
.mrv-strip-track{display:flex; gap:44px; white-space:nowrap; width:max-content; animation:mrvMarq 26s linear infinite}
@keyframes mrvMarq{to{transform:translateX(50%)}}

/* ---------- Sections ---------- */
.mrv-section-head{display:flex; justify-content:space-between; align-items:end; gap:18px; margin-bottom:30px}
.mrv-section-head.mrv-center{justify-content:center; text-align:center}
.mrv-section-head h2{margin:0}

/* Category cards */
.mrv-cat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px}
.mrv-cat-card{position:relative; border-radius:var(--rad); overflow:hidden; box-shadow:var(--sh-s); aspect-ratio:3/4}
.mrv-cat-card:first-child{grid-row:span 2; aspect-ratio:auto}
.mrv-cat-card svg{width:100%; height:100%; object-fit:cover; transition:transform .5s}
.mrv-cat-card:hover svg{transform:scale(1.05)}
.mrv-veil{position:absolute; inset:0; background:linear-gradient(to top,rgba(16,16,18,.78) 0%,transparent 55%)}
.mrv-cat-info{position:absolute; inset-inline:16px; bottom:14px; color:#fff}
.mrv-cat-info h3{color:#fff; margin:0 0 2px}
.mrv-cat-info span{font-size:.85rem; color:var(--ember)}

/* USP */
.mrv-usp{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; background:var(--mist2); border-radius:var(--rad); padding:26px}
.mrv-usp-item{display:flex; gap:12px; align-items:flex-start}
.mrv-usp-ico{flex:none; width:46px; height:46px; border-radius:12px; background:var(--ember-soft); color:var(--ember-deep); display:flex; align-items:center; justify-content:center}
.mrv-usp-item b{display:block}
.mrv-usp-item span{font-size:.88rem; color:var(--steel)}

/* Editorial guide */
.mrv-edit-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:center}
.mrv-rug-stack{position:relative; min-height:420px}
.mrv-rug-stack svg{position:absolute; width:62%; border-radius:10px; box-shadow:var(--sh)}
.mrv-rug-stack svg:first-child{inset-inline-start:0; top:0; transform:rotate(-5deg)}
.mrv-rug-stack svg:last-child{inset-inline-end:0; bottom:0; transform:rotate(4deg)}
.mrv-check-list li{display:flex; gap:10px; margin-bottom:12px}
.mrv-check-list .mrv-icon{flex:none; color:var(--ok); margin-top:3px}
.mrv-edit-copy .mrv-btn{margin-top:10px}

/* Reviews */
.mrv-rev-band{background:var(--ink); color:#fff}
.mrv-rev-band h2{color:#fff}
.mrv-rev-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.mrv-rev-card{background:var(--char); border:1px solid var(--char2); border-radius:var(--rad); padding:24px}
.mrv-stars{color:var(--ember); letter-spacing:3px; margin-bottom:10px}
.mrv-rev-card p{color:var(--mist); font-size:.97rem}
.mrv-rev-who{display:flex; gap:10px; align-items:center; margin-top:14px}
.mrv-av{width:40px;height:40px;border-radius:50%;background:var(--ember);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.mrv-rev-who b{display:block; font-size:.92rem}
.mrv-rev-who span{font-size:.8rem; color:var(--steel2)}

/* FAQ */
.mrv-faq{max-width:780px; margin-inline:auto}
.mrv-faq details{border:1px solid var(--mist); border-radius:12px; margin-bottom:10px; background:#fff; overflow:hidden}
.mrv-faq summary{padding:17px 20px; font-weight:700; cursor:pointer; list-style:none; position:relative; padding-inline-end:44px}
.mrv-faq summary::-webkit-details-marker{display:none}
.mrv-faq summary::after{content:"+"; position:absolute; inset-inline-end:18px; top:50%; transform:translateY(-50%); font-size:1.4rem; color:var(--ember); transition:.2s}
.mrv-faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.mrv-faq details[open] summary{color:var(--ember-deep)}
.mrv-faq-a{padding:0 20px 18px; color:var(--steel)}

/* Newsletter */
.mrv-news{display:grid; grid-template-columns:1.2fr .8fr; gap:30px; align-items:center; background:linear-gradient(135deg,var(--ember) 0%,var(--ember-deep) 100%); color:#fff; border-radius:20px; padding:44px}
.mrv-news h2{color:#fff; margin-bottom:6px}
.mrv-news p{color:#FFF1E5; margin:0}
.mrv-news form{display:flex; gap:10px}
.mrv-news input{flex:1; padding:14px 18px; border:0; border-radius:999px; font:inherit}
.mrv-news .mrv-btn-ember{background:var(--ink)}
.mrv-news .mrv-btn-ember:hover{background:var(--char2)}

/* ---------- Content pages ---------- */
.mrv-page-head{margin-bottom:26px}
.mrv-entry{font-size:1.05rem}
.mrv-entry h2{margin-top:1.4em}
.mrv-entry a{color:var(--ember-deep); text-decoration:underline}
.mrv-post-card{padding:22px 0; border-bottom:1px solid var(--mist)}
.mrv-404{text-align:center; max-width:640px}
.mrv-404-rug{max-width:230px; margin:0 auto 26px; transform:rotate(-4deg); filter:drop-shadow(0 18px 30px rgba(0,0,0,.2))}
.mrv-404 .mrv-hero-cta{justify-content:center; margin-bottom:28px}

/* ---------- Footer ---------- */
.mrv-footer{background:var(--ink); color:var(--steel2); margin-top:60px}
.mrv-foot-main{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1.1fr; gap:30px; padding-block:56px}
.mrv-footer h4{color:#fff; font-size:1.02rem; margin-bottom:14px}
.mrv-footer li{margin-bottom:9px; font-size:.93rem}
.mrv-footer a:hover{color:var(--ember)}
.mrv-logo-light a{color:#fff}
.mrv-foot-brand p{font-size:.92rem; margin-top:12px; max-width:30ch}
.mrv-foot-bottom{display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; border-top:1px solid var(--char2); padding-block:20px; font-size:.85rem}
.mrv-pay-icons{display:flex; gap:8px; flex-wrap:wrap}
.mrv-pay-icons span{border:1px solid var(--char2); border-radius:6px; padding:4px 9px; font-size:.68rem; font-weight:700; letter-spacing:.05em}

/* =====================================================
   WooCommerce
   ===================================================== */
.mrv-wc-main{padding-block:40px 64px; min-height:50vh}
.woocommerce-breadcrumb{font-size:.86rem; color:var(--steel); margin-bottom:22px}
.woocommerce-breadcrumb .sep{margin-inline:7px; color:var(--steel2)}
.woocommerce-breadcrumb a{color:var(--steel)}
.woocommerce-products-header__title{margin-bottom:6px}
.term-description{max-width:70ch; color:var(--steel); margin-bottom:26px}

/* Notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  list-style:none; padding:15px 18px; border-radius:12px; margin:0 0 22px;
  border:1px solid var(--mist); background:var(--mist2); font-weight:600;
}
.woocommerce-message{border-color:#BFE3D2; background:#EDF9F3; color:#14603F}
.woocommerce-error{border-color:#F3C4C4; background:#FDF0F0; color:#8E2323}
.woocommerce-error li{margin-bottom:6px}
.woocommerce-message .button,.woocommerce-info .button,.woocommerce-error .button{float:left; background:var(--ink); color:#fff; border-radius:999px; padding:8px 16px; text-decoration:none}

/* Product grid */
ul.products{display:grid!important; grid-template-columns:repeat(4,1fr); gap:18px; margin:0!important; padding:0!important; list-style:none}
.columns-3 ul.products,ul.products.columns-3{grid-template-columns:repeat(3,1fr)}
ul.products li.product{
  width:auto!important; margin:0!important; float:none!important;
  background:#fff; border:1px solid var(--mist); border-radius:var(--rad);
  overflow:hidden; transition:.25s; display:flex; flex-direction:column; position:relative;
}
ul.products li.product:hover{transform:translateY(-4px); box-shadow:var(--sh); border-color:transparent}
ul.products li.product a img,ul.products li.product a svg{width:100%; aspect-ratio:3/4; object-fit:cover; margin:0!important}
ul.products li.product .woocommerce-loop-product__title{font:700 1.05rem var(--ff-body); padding:14px 16px 2px; margin:0}
ul.products li.product .price{padding:0 16px; margin:0 0 8px!important; color:var(--ink)!important; font-weight:700; font-size:1.05rem}
ul.products li.product .price del{color:var(--steel2); font-weight:400; margin-inline-start:6px}
ul.products li.product .price ins{text-decoration:none; color:var(--ember-deep)}
ul.products li.product .star-rating{margin:0 16px 6px}
ul.products li.product .button{
  margin:auto 16px 16px!important; text-align:center; background:var(--ink); color:#fff;
  border-radius:999px; padding:11px 18px; font-weight:600; transition:.2s;
}
ul.products li.product .button:hover{background:var(--ember)}
ul.products li.product .added_to_cart{margin:0 16px 14px; color:var(--ember-deep); font-weight:600}
span.onsale{
  position:absolute!important; top:12px!important; inset-inline-start:12px!important; inset-inline-end:auto!important;
  z-index:5; background:var(--ember)!important; color:#fff!important; border-radius:999px!important;
  min-height:0!important; min-width:0!important; line-height:1!important; padding:7px 12px!important; font-weight:700!important; margin:0!important;
}
.woocommerce-result-count{color:var(--steel); font-size:.9rem}
.woocommerce-ordering select{padding:9px 14px; border:2px solid var(--mist); border-radius:999px; font:inherit; background:#fff}
nav.woocommerce-pagination ul{border:0!important; display:flex; gap:6px; justify-content:center; margin-top:34px!important}
nav.woocommerce-pagination ul li{border:0!important}
nav.woocommerce-pagination ul li a,nav.woocommerce-pagination ul li span{
  display:flex; align-items:center; justify-content:center; min-width:42px; height:42px;
  border-radius:50%!important; border:1px solid var(--mist)!important; font-weight:600;
}
nav.woocommerce-pagination ul li span.current{background:var(--ink); color:#fff; border-color:var(--ink)!important}

/* Category SEO block */
.mrv-seo-text{max-width:var(--wrap); margin:10px auto 60px; padding-inline:22px; color:var(--steel)}
.mrv-seo-text h2{font-size:1.35rem; color:var(--ink)}

/* Single product */
.single-product div.product{display:grid; grid-template-columns:1fr 1fr; gap:46px; align-items:start}
.single-product div.product .woocommerce-product-gallery{margin:0!important; width:auto!important; float:none!important}
.single-product div.product .woocommerce-product-gallery__wrapper{border-radius:var(--rad); overflow:hidden; border:1px solid var(--mist)}
.single-product div.product .summary{width:auto!important; float:none!important; margin:0!important}
.single-product div.product .product_title{font-size:clamp(1.6rem,3vw,2.3rem)}
.single-product div.product p.price{font:700 1.7rem var(--ff-disp); color:var(--ink); margin:10px 0 16px}
.single-product div.product p.price del{color:var(--steel2); font-size:1.15rem}
.single-product div.product p.price ins{text-decoration:none; color:var(--ember-deep)}
.single-product .woocommerce-product-details__short-description{color:var(--steel)}
.single-product form.cart{display:flex; gap:12px; align-items:stretch; margin:22px 0!important}
.single-product form.cart .quantity .qty{width:84px; height:52px; border:2px solid var(--mist); border-radius:12px; text-align:center; font:600 1.05rem var(--ff-body)}
.single-product form.cart .single_add_to_cart_button{
  flex:1; background:var(--ember); color:#fff; border:0; border-radius:999px;
  font:700 1.08rem var(--ff-body); padding:0 26px; cursor:pointer; transition:.2s;
}
.single-product form.cart .single_add_to_cart_button:hover{background:var(--ember-deep)}
.product_meta{font-size:.88rem; color:var(--steel); border-top:1px solid var(--mist); padding-top:14px}
.product_meta a{color:var(--ember-deep)}
.mrv-pdp-trust{display:flex; gap:18px; flex-wrap:wrap; background:var(--mist2); border-radius:12px; padding:13px 16px; margin-top:16px; font-size:.86rem; font-weight:600}
.mrv-pdp-trust .mrv-icon{width:17px;height:17px;color:var(--ember-deep); margin-inline-end:4px}
.woocommerce-tabs{grid-column:1/-1; margin-top:26px}
.woocommerce-tabs ul.tabs{display:flex; gap:6px; padding:0!important; margin:0 0 -1px!important; list-style:none; border:0!important}
.woocommerce-tabs ul.tabs li{background:var(--mist2)!important; border:1px solid var(--mist)!important; border-radius:11px 11px 0 0!important; margin:0!important; padding:0!important}
.woocommerce-tabs ul.tabs li::before,.woocommerce-tabs ul.tabs li::after{display:none!important}
.woocommerce-tabs ul.tabs li a{padding:12px 20px!important; font-weight:600!important; color:var(--steel)!important}
.woocommerce-tabs ul.tabs li.active{background:#fff!important; border-bottom-color:#fff!important}
.woocommerce-tabs ul.tabs li.active a{color:var(--ink)!important}
.woocommerce-tabs .panel{border:1px solid var(--mist); border-radius:0 12px 12px 12px; padding:24px}
.related.products,.upsells.products{grid-column:1/-1; margin-top:40px}
.related.products>h2,.upsells.products>h2{font-size:1.5rem; margin-bottom:18px}

/* Cart */
.woocommerce-cart-form table.shop_table{width:100%; border:1px solid var(--mist)!important; border-radius:var(--rad); border-collapse:separate!important; border-spacing:0; overflow:hidden}
table.shop_table th,table.shop_table td{padding:15px!important; border-bottom:1px solid var(--mist)!important; text-align:start}
table.shop_table thead th{background:var(--mist2); font-size:.85rem; letter-spacing:.04em}
table.shop_table td.product-thumbnail img,table.shop_table td.product-thumbnail svg{width:72px; border-radius:9px}
table.shop_table .product-remove a{color:var(--err)!important; font-size:1.3rem; text-decoration:none}
table.shop_table td.actions .coupon .input-text{padding:11px 14px; border:2px solid var(--mist); border-radius:999px; width:170px}
.woocommerce button.button,.woocommerce a.button{background:var(--ink); color:#fff; border-radius:999px; padding:12px 22px; font-weight:600; border:0; cursor:pointer}
.woocommerce button.button:hover,.woocommerce a.button:hover{background:var(--char2); color:#fff}
.woocommerce button.button:disabled{background:var(--steel2)!important; color:#fff!important; opacity:1!important; padding:12px 22px!important}
.cart-collaterals{margin-top:26px; display:flex; justify-content:flex-start}
.cart_totals{width:min(430px,100%)!important; float:none!important; background:var(--mist2); border-radius:var(--rad); padding:24px}
.cart_totals h2{font-size:1.25rem}
.cart_totals table{border:0!important}
.cart_totals th,.cart_totals td{border-bottom:1px solid var(--mist)!important; background:none!important}
.wc-proceed-to-checkout a.checkout-button{display:block; text-align:center; background:var(--ember)!important; font-size:1.06rem!important}
.wc-proceed-to-checkout a.checkout-button:hover{background:var(--ember-deep)!important}

/* =====================================================
   Chat checkout
   ===================================================== */
.mrv-chk{max-width:760px; margin-inline:auto; padding:34px 18px 70px}
.mrv-chk-head{text-align:center; margin-bottom:22px}
.mrv-chk-head p{color:var(--steel)}
.mrv-center-eyebrow{display:block}
.mrv-chk-progress{height:5px; background:var(--mist); border-radius:99px; max-width:340px; margin:16px auto 0; overflow:hidden}
.mrv-chk-progress i{display:block; height:100%; width:0; background:linear-gradient(90deg,var(--ember),var(--ember-deep)); border-radius:99px; transition:width .4s}
.mrv-chat-box{background:#fff; border:1px solid var(--mist); border-radius:20px; box-shadow:var(--sh); overflow:hidden}
.mrv-chat-top{display:flex; gap:12px; align-items:center; padding:15px 18px; background:var(--ink); color:#fff}
.mrv-bot-av{width:42px;height:42px;border-radius:50%;background:var(--ember);display:flex;align-items:center;justify-content:center;color:#fff;flex:none}
.mrv-chat-top b{display:block; font-size:.98rem}
.mrv-chat-top span{font-size:.78rem; color:var(--steel2)}
.mrv-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);margin-inline-end:3px}
.mrv-chat-log{min-height:320px; max-height:56vh; overflow-y:auto; padding:20px 16px; display:flex; flex-direction:column; gap:12px; background:var(--mist2)}
.mrv-msg{display:flex}
.mrv-msg-bot{justify-content:flex-start}
.mrv-msg-user{justify-content:flex-end}
.mrv-bubble{max-width:82%; padding:12px 16px; border-radius:16px; font-size:.98rem; line-height:1.55; box-shadow:var(--sh-s)}
.mrv-msg-bot .mrv-bubble{background:#fff; border-start-start-radius:4px}
.mrv-msg-user .mrv-bubble{background:var(--ember); color:#fff; border-start-end-radius:4px}
.mrv-msg-wide{display:block}
.mrv-msg-wide .mrv-bubble{max-width:100%}
.mrv-typing span{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--steel2);margin-inline-end:3px;animation:mrvBlink 1s infinite}
.mrv-typing span:nth-child(2){animation-delay:.18s}
.mrv-typing span:nth-child(3){animation-delay:.36s}
@keyframes mrvBlink{0%,80%,100%{opacity:.25}40%{opacity:1}}
.mrv-chat-input{display:flex; gap:10px; padding:13px; border-top:1px solid var(--mist); background:#fff}
.mrv-chat-input input{flex:1; padding:13px 17px; border:2px solid var(--mist); border-radius:999px; font:inherit; font-size:1rem}
.mrv-chat-input input:focus{border-color:var(--ember); outline:none}
.mrv-send{width:48px;height:48px;border-radius:50%;border:0;background:var(--ember);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:none;transition:.2s}
.mrv-send:hover{background:var(--ember-deep)}
.mrv-quick{border:2px solid var(--mist); background:#fff; border-radius:999px; padding:0 16px; font:600 .92rem var(--ff-body); cursor:pointer; color:var(--steel)}
.mrv-quick:hover{border-color:var(--ember); color:var(--ember-deep)}
.mrv-chk-note{display:flex; gap:6px; align-items:center; justify-content:center; flex-wrap:wrap; font-size:.83rem; color:var(--steel); margin-top:14px}

/* The real WC form: hidden until needed */
.mrv-classic-form{display:none; background:#fff; border:1px solid var(--mist); border-radius:var(--rad); padding:24px; margin-top:26px}
.mrv-classic-form.is-open{display:block}
.mrv-review-heading{display:none}
.mrv-classic-mode .mrv-review-heading{display:block; margin-top:26px}
#order_review{display:none}
.mrv-classic-mode #order_review,#order_review.mrv-review-revealed{display:block}
.mrv-pay-card{padding:16px}
.mrv-pay-card #order_review{background:transparent}

/* WC form fields */
.woocommerce form .form-row{margin-bottom:14px; padding:0}
.woocommerce form .form-row label{font-weight:600; font-size:.9rem; margin-bottom:5px; display:block}
.woocommerce form .form-row .input-text,.woocommerce form .form-row select,.select2-container .select2-selection{
  width:100%; padding:12px 15px!important; border:2px solid var(--mist)!important; border-radius:11px!important;
  font:inherit!important; min-height:48px; background:#fff;
}
.woocommerce form .form-row .input-text:focus{border-color:var(--ember)!important; outline:none}
.woocommerce form .form-row.woocommerce-invalid .input-text{border-color:var(--err)!important}
.woocommerce form .form-row .required{color:var(--ember-deep)}

/* Order review table + payment */
#order_review table.shop_table{border:1px solid var(--mist)!important; border-radius:12px; border-collapse:separate!important; overflow:hidden; width:100%}
#order_review .order-total .amount{color:var(--ember-deep); font-size:1.15rem}
#payment{background:var(--mist2)!important; border-radius:12px!important; margin-top:16px}
#payment ul.payment_methods{border-bottom:1px solid var(--mist)!important; padding:16px!important}
#payment ul.payment_methods li{list-style:none}
#payment div.payment_box{background:#fff!important; border-radius:9px; font-size:.9rem}
#payment div.payment_box::before{display:none!important}
#payment .place-order{padding:16px!important}
#place_order{
  width:100%; background:var(--ember)!important; color:#fff!important; border:0; border-radius:999px!important;
  padding:16px 22px!important; font:700 1.12rem var(--ff-body)!important; cursor:pointer; transition:.2s;
}
#place_order:hover{background:var(--ember-deep)!important}
.woocommerce-privacy-policy-text{font-size:.8rem; color:var(--steel)}

/* Account / misc */
.woocommerce-account .woocommerce-MyAccount-navigation ul{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block; padding:9px 16px; border:1px solid var(--mist); border-radius:999px; font-weight:600; font-size:.92rem}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--ink); color:#fff; border-color:var(--ink)}
.woocommerce-account .woocommerce-MyAccount-content{background:#fff}

/* =====================================================
   Responsive
   ===================================================== */
@media (max-width:1024px){
  .mrv-nav{display:none}
  .mrv-burger{display:inline-flex}
  .mrv-hero-in{grid-template-columns:1fr; text-align:center; padding-block:52px}
  .mrv-hero-rug{max-width:290px}
  .mrv-hero-cta,.mrv-hero-stats{justify-content:center}
  .mrv-cat-grid{grid-template-columns:repeat(2,1fr)}
  ul.products,.columns-4 ul.products{grid-template-columns:repeat(2,1fr)!important}
  .mrv-usp{grid-template-columns:repeat(2,1fr)}
  .mrv-edit-grid{grid-template-columns:1fr; gap:34px}
  .mrv-rug-stack{min-height:330px; max-width:430px; margin-inline:auto}
  .mrv-rev-grid{grid-template-columns:1fr}
  .single-product div.product{grid-template-columns:1fr}
  .mrv-foot-main{grid-template-columns:repeat(2,1fr)}
  .mrv-news{grid-template-columns:1fr; text-align:center}
}
@media (max-width:680px){
  body{font-size:16px}
  .mrv-section{padding-block:44px}
  .mrv-cat-grid{grid-template-columns:1fr 1fr; gap:10px}
  .mrv-cat-card:first-child{grid-row:auto; aspect-ratio:3/4}
  ul.products{grid-template-columns:repeat(2,1fr)!important; gap:10px}
  .mrv-usp{grid-template-columns:1fr}
  .mrv-news form{flex-direction:column}
  .mrv-hero-stats{gap:20px}
  table.shop_table td.actions .coupon .input-text{width:100%; margin-bottom:8px}
  .mrv-chat-log{max-height:60vh}
  .mrv-bubble{max-width:90%}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important}
  .mrv-anim{opacity:1; transform:none}
  .mrv-strip-track{animation:none}
}

/* Magazine / articles */
.mrv-post-list{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.mrv-post-card{border:1px solid var(--mist)!important; border-radius:var(--rad); overflow:hidden; background:#fff; padding:0!important; display:flex; flex-direction:column; transition:.25s}
.mrv-post-card:hover{transform:translateY(-4px); box-shadow:var(--sh)}
.mrv-post-card-thumb img,.mrv-post-card-thumb svg{width:100%; aspect-ratio:16/10; object-fit:cover}
.mrv-post-card-body{padding:18px 20px 20px; display:flex; flex-direction:column; gap:8px; flex:1}
.mrv-post-title{font-size:1.15rem; margin:0}
.mrv-post-excerpt{color:var(--steel); font-size:.94rem}
.mrv-post-excerpt p{margin:0}
.mrv-more{margin-top:auto; color:var(--ember-deep); font-weight:700; font-size:.9rem}
.mrv-post-thumb{border-radius:var(--rad); overflow:hidden; margin-bottom:22px}
@media (max-width:1024px){.mrv-post-list{grid-template-columns:repeat(2,1fr)}}
@media (max-width:680px){.mrv-post-list{grid-template-columns:1fr}}

/* =====================================================
   3D / AR (123D)
   ===================================================== */
.hp-ar-pill{display:inline-flex; align-items:center; gap:6px; padding:8px 14px; border-radius:999px; background:var(--ink); color:#fff; font-weight:700; font-size:.85rem; margin-inline-end:4px; transition:.2s}
.hp-ar-pill:hover{background:var(--ember); color:#fff}
.hp-ar-pill .mrv-icon{color:var(--ember)}
.hp-ar-pill:hover .mrv-icon{color:#fff}

.hp-ar{background:linear-gradient(155deg,var(--ink) 0%,var(--char) 60%,#2E2118 100%); color:#fff; overflow:hidden}
.hp-ar-in{display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:center; padding-block:76px}
.hp-ar-copy h2{color:#fff}
.hp-ar-copy p{color:var(--steel2); max-width:54ch}
.hp-ar-copy .mrv-eyebrow{display:inline-flex; align-items:center; gap:6px}
.hp-ar-steps{list-style:none; padding:0; margin:22px 0 26px; display:grid; gap:12px}
.hp-ar-steps li{display:flex; align-items:center; gap:12px; color:var(--mist); font-weight:600}
.hp-ar-steps li span{flex:none; width:32px; height:32px; border-radius:50%; background:var(--ember); color:#fff; display:flex; align-items:center; justify-content:center; font:700 .95rem var(--ff-body)}
.hp-ar-powered{display:block; margin-top:14px; color:var(--steel); font-size:.8rem; letter-spacing:.06em}
.hp-ar-visual{position:relative; display:flex; justify-content:center}
.hp-ar-glow{position:absolute; inset:20% 12%; background:radial-gradient(closest-side,rgba(255,90,31,.35),transparent 70%); filter:blur(30px); z-index:0}
.hp-ar-phone{position:relative; z-index:1; width:min(270px,70vw); aspect-ratio:9/18.5; border-radius:38px; background:#0A0A0C; border:3px solid #34343C; box-shadow:0 40px 80px rgba(0,0,0,.55), inset 0 0 0 3px #000; padding:12px; transform:rotate(-5deg)}
.hp-ar-phone::before{content:""; position:absolute; top:12px; inset-inline:38%; height:22px; background:#0A0A0C; border-radius:0 0 14px 14px; z-index:3}
.hp-ar-screen{position:relative; width:100%; height:100%; border-radius:26px; overflow:hidden; background:linear-gradient(to bottom,#3E3A36 0%,#4A443E 45%,#6B5F53 46%,#7A6D5F 100%)}
.hp-ar-room{position:absolute; inset:0; background:
  linear-gradient(to bottom, transparent 44%, rgba(0,0,0,.18) 45%, transparent 47%),
  repeating-linear-gradient(90deg, transparent 0 46px, rgba(0,0,0,.12) 46px 48px)}
.hp-ar-room::before{content:""; position:absolute; top:12%; inset-inline-start:12%; width:34%; height:26%; background:linear-gradient(160deg,#CFE3EA,#8FB4C4); border:4px solid #2E2A26; border-radius:3px}
.hp-ar-rug-in-room{position:absolute; bottom:7%; inset-inline:11%; transform:perspective(300px) rotateX(48deg); filter:drop-shadow(0 14px 16px rgba(0,0,0,.45)); animation:hpArFloat 3.5s ease-in-out infinite}
@keyframes hpArFloat{0%,100%{transform:perspective(300px) rotateX(48deg) translateY(0)}50%{transform:perspective(300px) rotateX(48deg) translateY(-7px)}}
.hp-ar-reticle{position:absolute; bottom:9%; inset-inline-start:50%; width:120px; height:64px; transform:translateX(50%); border:2px dashed rgba(255,255,255,.75); border-radius:50%; animation:hpArPulse 2s ease-in-out infinite}
@keyframes hpArPulse{0%,100%{opacity:.45; scale:1}50%{opacity:.95; scale:1.06}}
.hp-ar-chip{position:absolute; top:10%; inset-inline-start:50%; transform:translateX(50%); display:inline-flex; align-items:center; gap:5px; background:rgba(10,10,12,.8); backdrop-filter:blur(4px); color:#fff; border:1px solid rgba(255,90,31,.6); border-radius:999px; padding:6px 12px; font:700 .72rem var(--ff-body); white-space:nowrap}
.hp-ar-chip .mrv-icon{color:var(--ember)}

/* PDP AR button */
.hp-ar-btn{display:flex; align-items:center; gap:14px; margin:6px 0 18px; padding:14px 18px; border-radius:14px;
  background:linear-gradient(135deg,var(--ink) 0%,var(--char2) 100%); color:#fff; border:1px solid var(--char2); transition:.2s; position:relative; overflow:hidden}
.hp-ar-btn::after{content:""; position:absolute; inset:0; background:linear-gradient(105deg,transparent 40%,rgba(255,90,31,.25) 50%,transparent 60%); translate:-100% 0; transition:translate .6s}
.hp-ar-btn:hover{color:#fff; border-color:var(--ember); transform:translateY(-1px)}
.hp-ar-btn:hover::after{translate:100% 0}
.hp-ar-btn>.mrv-icon:first-child{width:30px; height:30px; color:var(--ember); flex:none}
.hp-ar-btn b{display:block; font-size:1.02rem}
.hp-ar-btn small{color:var(--steel2); font-size:.78rem}
.hp-ar-btn-chev{margin-inline-start:auto; transform:rotate(180deg); color:var(--steel2)}

/* Loop badge */
.hp-ar-badge{position:absolute; top:12px; inset-inline-end:12px; z-index:5; display:inline-flex; align-items:center; gap:4px;
  background:rgba(16,16,18,.85); backdrop-filter:blur(3px); color:#fff; border:1px solid rgba(255,90,31,.55); border-radius:999px; padding:5px 10px; font:700 .7rem var(--ff-body)}
.hp-ar-badge .mrv-icon{color:var(--ember)}

/* PDP embed viewer */
.hp-ar-viewer{grid-column:1/-1; margin-top:30px}
.hp-ar-viewer h2{font-size:1.5rem}
.hp-ar-frame{border-radius:var(--rad); overflow:hidden; border:1px solid var(--mist); background:var(--mist2); aspect-ratio:16/9}
.hp-ar-frame iframe{width:100%; height:100%; border:0; display:block}

@media (max-width:1024px){
  .hp-ar-in{grid-template-columns:1fr; padding-block:52px; gap:36px; text-align:center}
  .hp-ar-steps li{justify-content:center}
  .hp-ar-copy p{margin-inline:auto}
  .hp-ar-pill span{display:none}
}


/* Customizer real-image slots (fallback = generated SVG) */
.hp-img-slot img{width:100%; height:100%; object-fit:cover; border-radius:12px; display:block}
.mrv-cat-card>img{width:100%; height:100%; object-fit:cover; transition:transform .5s}
.mrv-cat-card:hover>img{transform:scale(1.05)}
.mrv-rug-stack img{position:absolute; width:62%; aspect-ratio:3/4; object-fit:cover; border-radius:10px; box-shadow:var(--sh)}
.mrv-rug-stack img:first-child{inset-inline-start:0; top:0; transform:rotate(-5deg)}
.mrv-rug-stack img:last-child{inset-inline-end:0; bottom:0; transform:rotate(4deg)}
.hp-ar-rug-in-room img{width:100%; border-radius:6px}

/* =====================================================
   Responsive hardening (audit fixes)
   ===================================================== */

/* Global horizontal-overflow guard */
html, body{overflow-x:clip}

/* Section heads: allow title+button to wrap on narrow screens */
.mrv-section-head{flex-wrap:wrap}

/* WC customer details: own grid (independent of WC layout CSS) */
.mrv-classic-form .col2-set{display:grid; grid-template-columns:1fr 1fr; gap:24px; width:100%}
.mrv-classic-form .col2-set .col-1,
.mrv-classic-form .col2-set .col-2{float:none; width:auto}

/* Product tabs: wrap instead of overflow */
.woocommerce-tabs ul.tabs{flex-wrap:wrap}

/* Order review inside the chat card: never overflow the bubble */
.mrv-pay-card{overflow-x:auto}
.mrv-pay-card table.shop_table{min-width:0}

@media (max-width:1024px){
  /* Hero decorations were slicing through stacked/centered content */
  .mrv-hero::after{display:none}
  .mrv-hero::before{width:220px; height:220px; top:-110px; inset-inline-end:-90px}
  .mrv-classic-form .col2-set{grid-template-columns:1fr}
}

@media (max-width:680px){
  .mrv-searchform{flex-wrap:wrap}
  .mrv-searchform .mrv-btn{width:100%; justify-content:center}
  table.shop_table th, table.shop_table td{padding:10px!important; font-size:.92rem}
  .mrv-chk{padding-inline:12px}
  .mrv-chat-log{padding:16px 10px}
}

@media (max-width:480px){
  .mrv-header-in{gap:8px}
  .mrv-icon-btn{width:38px; height:38px}
  .mrv-logo a{font-size:1.15rem; gap:7px}
  .mrv-logo-mark{width:28px; height:28px}
  .mrv-topbar{font-size:.76rem}
  .mrv-foot-main{grid-template-columns:1fr; padding-block:40px}
  .mrv-news{padding:28px 20px}
  .mrv-hero-in{padding-block:40px}
  .mrv-section-head .mrv-btn{width:100%; justify-content:center}
}

/* Customer gallery */
.mrv-center-head{text-align:center; max-width:720px; margin-inline:auto}
.hp-gal-intro{color:var(--steel)}
.hp-gal{columns:3; column-gap:16px; margin-top:34px}
.hp-gal-item{break-inside:avoid; margin:0 0 16px; border:1px solid var(--mist); border-radius:var(--rad); overflow:hidden; background:#fff; transition:.25s}
.hp-gal-item:hover{transform:translateY(-3px); box-shadow:var(--sh)}
.hp-gal-open{display:block; width:100%; padding:0; border:0; background:none; cursor:zoom-in}
.hp-gal-open img,.hp-gal-open svg{width:100%; display:block}
.hp-gal-item figcaption{display:flex; justify-content:space-between; align-items:center; gap:10px; padding:12px 15px; font-size:.9rem}
.hp-gal-item figcaption span{color:var(--steel); font-weight:600}
.hp-gal-item figcaption a{color:var(--ember-deep); font-weight:700; white-space:nowrap}
.hp-gal-empty{max-width:640px; margin:30px auto; background:var(--ember-soft); border:1px solid var(--ember); border-radius:var(--rad); padding:20px 24px}
.hp-lb{border:0; border-radius:var(--rad); padding:0; max-width:min(940px,92vw); background:var(--ink); color:#fff}
.hp-lb::backdrop{background:rgba(11,11,11,.82)}
.hp-lb img{width:100%; display:block; max-height:78vh; object-fit:contain; background:#000}
.hp-lb p{margin:0; padding:13px 18px; font-size:.92rem; color:var(--steel2)}
.hp-lb-close{position:absolute; top:10px; inset-inline-start:10px; width:42px; height:42px; border-radius:50%; border:0; background:rgba(255,255,255,.14); color:#fff; cursor:pointer}
.hp-lb-close:hover{background:var(--ember)}
@media (max-width:1024px){.hp-gal{columns:2}}
@media (max-width:680px){.hp-gal{columns:1}}
