/* ==========================================================================
   Arredamento — Luxury Classical redesign (loaded after style.css on every
   storefront page). Palette + fonts + homepage sections + component polish.
   Original stylesheet. Colours from the brand's luxury direction.
   ========================================================================== */
:root{
  /* kill the orange accent site-wide (loaded on every storefront page) */
  --primary-color:#C79A4A; --primary-dark:#B78532; --primary-light:#E2C57A; --primary-text:#35251D;
  --lux-ivory:#F8F3EB; --lux-cream:#FBF8F2; --lux-choc:#2B1A14;
  --lux-walnut:#24140E; --lux-mahogany:#1B120F;
  --lux-gold:#C79A4A; --lux-gold-2:#B78532; --lux-gold-lt:#E2C57A;
  --lux-border:#DCC9A8; --lux-card:#FFFDF8;
  --lux-text:#35251D; --lux-muted:#7B6B60; --lux-price:#AE7A22;
  --lux-serif:'Cormorant Garamond','Playfair Display',Georgia,serif;
  --lux-body:'Lora',Georgia,serif;
  --lux-ui:'Inter','Montserrat',-apple-system,sans-serif;
}

/* ---- base ---- */
body{ background:var(--lux-ivory)!important; color:var(--lux-text); font-family:var(--lux-body); }
.wrapper,.main-content,main{ background:var(--lux-ivory); }
h1,h2,h3,h4,.sell-header-title h2,.section-title{ font-family:var(--lux-serif)!important; color:var(--lux-choc); letter-spacing:.01em; }
a{ transition:color .3s ease; }

/* logo: slightly larger, vertically padded; container stays transparent (the PNG has a white bg) */
img.brand-logo{ max-height:78px; width:auto; height:auto; padding:4px 0; }
.header-logo,.header__logo,.footer-logo{ background:transparent!important; border:0!important; box-shadow:none!important; }

/* ---- header / nav (dark walnut + gold) ---- */
.header,.header__top,.header-top,.top-bar,.header__topbar{ background:var(--lux-walnut)!important; }
.header__top,.header-top,.top-bar,.header__topbar{ color:#E8DCC7; font-family:var(--lux-ui); font-size:12.5px; letter-spacing:.02em; }
.header__top a,.header-top a,.top-bar a{ color:#E8DCC7; }
.header__top a:hover,.header-top a:hover,.top-bar a:hover{ color:var(--lux-gold-lt); }
/* top bar (.top-nav): the greeting <h3> was dark (global heading rule) → invisible on walnut.
   Recolor to gold + keep all top-bar text/links light. */
.top-nav{ color:#E8DCC7; }
.top-nav h3{ color:var(--lux-gold-lt)!important; font-family:var(--lux-ui)!important; font-size:13px; font-weight:500; letter-spacing:.04em; margin:0; text-transform:none; }
.top-nav a,.top-nav span,.top-nav i,.top-nav li{ color:#E8DCC7!important; }
.top-nav a:hover{ color:var(--lux-gold-lt)!important; }
/* middle band (logo + search + icons) → white so the white-bg logo blends with zero seam.
   The theme's middle row has NO class: it's the 2nd child (right after .top-nav) of the
   header's first wrapper. Top bar (.top-nav) stays dark walnut; nav bar (.primary-nav) stays gold.
   Bonus: the user/heart/cart icons are already dark (#35251D) → now visible on white. */
header.header > div:first-child > div:nth-child(2),
header.header .top-nav + div{ background:#fff!important; border-bottom:1px solid var(--lux-border); }
/* keep the search toggle / gold button icon light on its gold button */
header.header .primary-nav{ box-shadow:0 2px 10px rgba(43,26,20,.12); }
.header__navigation,.header__nav,.main-nav{ background:var(--lux-walnut)!important; border-top:1px solid rgba(199,154,74,.25); }
.header__menu a,.header__navigation a,.main-nav a{ color:#F3E8D2!important; font-family:var(--lux-ui); font-weight:500; text-transform:uppercase; font-size:13px; letter-spacing:.06em; position:relative; }
.header__menu a:hover,.header__navigation a:hover,.main-nav a:hover{ color:var(--lux-gold-lt)!important; }
.header__menu a::after{ content:""; position:absolute; left:0; right:100%; bottom:-4px; height:2px; background:var(--lux-gold); transition:right .3s ease; }
.header__menu a:hover::after{ right:0; }
.header__utility i,.header__icons i,.header__action i{ color:var(--lux-choc); }
.search-box,.header__search .search-box{ border:1px solid var(--lux-border)!important; border-radius:6px!important; background:#fff; }
.search-box__button button{ background:var(--lux-gold)!important; color:#fff!important; border-radius:0 5px 5px 0!important; }

/* ---- gold buttons (site-wide) ---- */
.btn-primary,.button-primary,.add-to-cart,.btn.btn-lg,.neckbands__button a,.banner__content-btn a{
  background:linear-gradient(180deg,var(--lux-gold) 0%,var(--lux-gold-2) 100%)!important;
  color:#fff!important; border:none!important; text-transform:uppercase; letter-spacing:1px;
  font-family:var(--lux-ui); font-weight:600; border-radius:6px; transition:all .3s ease;
}
.btn-primary:hover,.button-primary:hover,.add-to-cart:hover,.neckbands__button a:hover{
  box-shadow:0 8px 22px rgba(174,122,34,.35); transform:translateY(-2px); filter:brightness(1.04);
}
.btn-outline-primary,.btn-secondary{ background:transparent!important; color:var(--lux-gold-2)!important; border:1.5px solid var(--lux-gold)!important; text-transform:uppercase; letter-spacing:1px; font-family:var(--lux-ui); border-radius:6px; }
.btn-outline-primary:hover,.btn-secondary:hover{ background:var(--lux-gold)!important; color:#fff!important; }

/* ---- luxury section header (centered title + gold ornament) ---- */
.lux-head{ text-align:center; margin:0 auto 40px; max-width:720px; }
.lux-head h2{ font-family:var(--lux-serif); font-size:clamp(28px,3.4vw,44px); font-weight:600; color:var(--lux-choc); margin:0; text-wrap:balance; }
.lux-head .lux-orn{ display:flex; align-items:center; justify-content:center; gap:14px; margin-top:10px; color:var(--lux-gold); }
.lux-head .lux-orn::before,.lux-head .lux-orn::after{ content:""; height:1px; width:70px; background:linear-gradient(90deg,transparent,var(--lux-gold)); }
.lux-head .lux-orn::after{ background:linear-gradient(90deg,var(--lux-gold),transparent); }
.lux-head .lux-orn i{ font-size:15px; }
.lux-head p{ color:var(--lux-muted); font-style:italic; margin-top:10px; }

/* ==== HERO ==== */
.lux-hero{ position:relative; min-height:640px; display:flex; align-items:center; overflow:hidden;
  background:linear-gradient(90deg,rgba(20,10,6,.92) 0%,rgba(20,10,6,.55) 45%,rgba(20,10,6,.15) 100%),
  radial-gradient(circle at 72% 55%, #6a4a2c 0%, #3a2415 42%, #24140E 100%); }
.lux-hero__bg{ position:absolute; inset:0; background-size:cover; background-position:center; opacity:.55; z-index:0; }
.lux-hero__inner{ position:relative; z-index:2; max-width:1280px; margin:0 auto; padding:0 40px; width:100%; }
.lux-hero__eyebrow{ color:var(--lux-gold-lt); font-family:var(--lux-ui); text-transform:uppercase; letter-spacing:4px; font-size:12px; margin-bottom:14px; }
.lux-hero__title{ font-family:var(--lux-serif); color:#FBF3E4; font-weight:700; font-size:clamp(42px,6vw,80px); line-height:1.02; margin:0 0 6px; text-shadow:0 2px 20px rgba(0,0,0,.4); }
.lux-hero__sub{ font-family:var(--lux-serif); font-style:italic; color:var(--lux-gold-lt); font-size:clamp(20px,2.4vw,30px); margin:0 0 12px; }
.lux-hero__sub::after{ content:""; display:block; width:120px; height:2px; margin-top:16px; background:linear-gradient(90deg,var(--lux-gold),transparent); }
.lux-hero__cta{ display:inline-block; margin-top:24px; padding:15px 40px; background:linear-gradient(180deg,var(--lux-gold),var(--lux-gold-2)); color:#2b1a10; font-family:var(--lux-ui); font-weight:700; text-transform:uppercase; letter-spacing:2px; font-size:13px; border-radius:8px; box-shadow:0 10px 30px rgba(0,0,0,.35); transition:all .3s ease; }
.lux-hero__cta:hover{ transform:translateY(-3px); color:#2b1a10; filter:brightness(1.06); box-shadow:0 16px 40px rgba(199,154,74,.45); }

/* ==== HERO SLIDER (real slider images) ==== */
.lux-hero-slider{ position:relative; width:100%; background:var(--lux-walnut); overflow:hidden;
  border-bottom:3px solid var(--lux-gold); box-shadow:0 12px 34px rgba(43,26,20,.2); }
.lux-hero-slider .lux-slide{ display:none; width:100%; line-height:0; }
.lux-hero-slider .lux-slide.on{ display:block; animation:luxFade .9s ease; }
.lux-hero-slider .lux-slide img{ width:100%; height:auto; max-height:560px; object-fit:cover; display:block; }
@keyframes luxFade{ from{ opacity:.2; } to{ opacity:1; } }
.lux-slide-dots{ position:absolute; left:0; right:0; bottom:18px; display:flex; gap:10px; justify-content:center; z-index:3; }
.lux-slide-dots button{ width:11px; height:11px; border-radius:50%; border:1px solid var(--lux-gold-lt); background:rgba(255,255,255,.35); cursor:pointer; padding:0; transition:all .25s ease; }
.lux-slide-dots button.on{ background:var(--lux-gold); border-color:var(--lux-gold); transform:scale(1.2); }

/* ==== FEATURED GALLERY (portrait banner tiles) ==== */
.lux-gallery{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.lux-tile{ position:relative; display:block; border-radius:14px; overflow:hidden; background:var(--lux-card);
  border:1px solid var(--lux-border); box-shadow:0 10px 26px rgba(43,26,20,.07);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
.lux-tile:hover{ transform:translateY(-8px); border-color:var(--lux-gold); box-shadow:0 22px 46px rgba(43,26,20,.16); }
.lux-tile__img{ position:relative; aspect-ratio:3/4; overflow:hidden; background:#efe6d4; }
.lux-tile__img::after{ content:""; position:absolute; inset:8px; border:1px solid rgba(199,154,74,.45); border-radius:8px; pointer-events:none; z-index:2; opacity:0; transition:opacity .35s ease; }
.lux-tile:hover .lux-tile__img::after{ opacity:1; }
.lux-tile__img img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.lux-tile:hover .lux-tile__img img{ transform:scale(1.06); }
.lux-tile__cap{ position:absolute; left:0; right:0; bottom:0; padding:26px 14px 14px; z-index:2;
  background:linear-gradient(to top, rgba(20,10,6,.85), transparent); }
.lux-tile__cap span{ color:#fff; font-family:var(--lux-serif); font-size:19px; font-weight:600; }

/* ==== PRODUCTS (custom cards, direct images) ==== */
.lux-products{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; align-items:stretch; }
.lux-prod{ display:flex; flex-direction:column; height:100%; background:var(--lux-card); border:1px solid var(--lux-border);
  border-radius:14px; overflow:hidden; box-shadow:0 8px 22px rgba(43,26,20,.06);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.lux-prod:hover{ transform:translateY(-8px); border-color:var(--lux-gold); box-shadow:0 20px 44px rgba(43,26,20,.14); }
/* uniform tile: fill the square, no padding/letterbox/darkening — works for poster shots AND full photos alike */
.lux-prod__img{ display:block; aspect-ratio:1/1; padding:0; overflow:hidden; background:var(--lux-card); }
.lux-prod__img img{ width:100%; height:100%; object-fit:cover; mix-blend-mode:normal; transition:transform .5s ease; }
.lux-prod:hover .lux-prod__img img{ transform:scale(1.06); }
.lux-prod__body{ padding:14px 16px 18px; text-align:center; border-top:1px solid var(--lux-border); }
.lux-prod__name{ display:block; font-family:var(--lux-serif); font-size:18px; color:var(--lux-choc); line-height:1.3; min-height:2.4em; }
.lux-prod__name:hover{ color:var(--lux-gold-2); }
.lux-prod__price{ margin-top:8px; }
.lux-prod__price, .lux-prod__price *{ color:var(--lux-price)!important; font-family:var(--lux-serif)!important; font-weight:600; font-size:18px; }

/* ==== SERVICE STRIP ==== */
.lux-services{ background:var(--lux-cream); border-top:1px solid var(--lux-border); border-bottom:1px solid var(--lux-border); }
.lux-services .row-in{ max-width:1280px; margin:0 auto; padding:26px 40px; display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.lux-svc{ display:flex; align-items:center; gap:14px; justify-content:center; padding:6px 20px; border-right:1px solid var(--lux-border); }
.lux-services .lux-svc:last-child{ border-right:none; }
.lux-svc i{ font-size:26px; color:var(--lux-gold); }
.lux-svc b{ display:block; font-family:var(--lux-serif); font-size:17px; color:var(--lux-choc); font-weight:600; }
.lux-svc span{ font-family:var(--lux-ui); font-size:12px; color:var(--lux-muted); }

/* ==== FEATURED CATEGORIES ==== */
.lux-section{ padding:64px 0; }
.lux-wrap{ max-width:1280px; margin:0 auto; padding:0 40px; }
.lux-cats{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.lux-cat{ display:block; background:var(--lux-card); border:1px solid var(--lux-border); border-radius:14px; overflow:hidden; box-shadow:0 10px 26px rgba(43,26,20,.06); transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease; }
.lux-cat:hover{ transform:translateY(-8px); border-color:var(--lux-gold); box-shadow:0 20px 44px rgba(43,26,20,.14); }
.lux-cat__img{ position:relative; aspect-ratio:4/3; overflow:hidden; background:radial-gradient(circle at 50% 40%,#fff 0%,#efe6d4 100%); display:flex; align-items:center; justify-content:center; }
.lux-cat__img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.lux-cat:hover .lux-cat__img img{ transform:scale(1.05); }
.lux-cat__ph{ font-family:var(--lux-serif); font-size:54px; color:var(--lux-gold); opacity:.55; }
.lux-cat__body{ text-align:center; padding:18px 12px 22px; }
.lux-cat__body h3{ font-family:var(--lux-serif); font-size:21px; font-weight:600; color:var(--lux-choc); margin:0 0 4px; }
.lux-cat__body .vw{ font-family:var(--lux-ui); font-size:12px; letter-spacing:1px; text-transform:uppercase; color:var(--lux-gold-2); }
.lux-cat__body .vw i{ margin-inline-start:5px; transition:margin .3s ease; }
.lux-cat:hover .lux-cat__body .vw i{ margin-inline-start:10px; }

/* ==== PRODUCT COLLECTION GRID (reusing zCart .best-seller-item cards) ==== */
.lux-collection .best-seller-item{ background:var(--lux-card)!important; border:1px solid var(--lux-border)!important; border-radius:14px; overflow:hidden; box-shadow:0 8px 22px rgba(43,26,20,.06); transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease; margin:0; }
.lux-collection .best-seller-item:hover{ transform:translateY(-8px); border-color:var(--lux-gold); box-shadow:0 20px 44px rgba(43,26,20,.14); }
.lux-collection .best-seller-item-image{ background:radial-gradient(circle at 50% 40%,#fff 0%,#f3ecdd 100%); padding:26px; }
.lux-collection .best-seller-item-image img{ mix-blend-mode:multiply; transition:transform .5s ease; }
.lux-collection .best-seller-item:hover .best-seller-item-image img{ transform:scale(1.06); }
.lux-collection .best-seller-item-name a{ font-family:var(--lux-serif)!important; font-size:18px; color:var(--lux-choc)!important; }
.lux-collection .best-seller-item-name a:hover{ color:var(--lux-gold-2)!important; }
.lux-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.lux-grid > *{ min-width:0; }
/* price + gold accents inside cards */
.best-seller-item-price,.price,.product-price,.item-price{ color:var(--lux-price)!important; font-family:var(--lux-serif)!important; font-weight:600; }

/* ==== CTA BANNER ==== */
.lux-ctaband{ position:relative; margin:20px 0; border-radius:16px; overflow:hidden;
  background:linear-gradient(90deg,var(--lux-walnut),#3a2415 55%,var(--lux-walnut)); border:1px solid rgba(199,154,74,.4);
  box-shadow:0 20px 50px rgba(43,26,20,.18); }
.lux-ctaband__in{ position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:28px; padding:44px 56px; flex-wrap:wrap; }
.lux-ctaband__corner{ position:absolute; width:70px; height:70px; border:2px solid rgba(199,154,74,.5); z-index:1; }
.lux-ctaband__corner.tl{ top:14px; left:14px; border-right:none; border-bottom:none; }
.lux-ctaband__corner.tr{ top:14px; right:14px; border-left:none; border-bottom:none; }
.lux-ctaband__corner.bl{ bottom:14px; left:14px; border-right:none; border-top:none; }
.lux-ctaband__corner.br{ bottom:14px; right:14px; border-left:none; border-top:none; }
.lux-ctaband__txt h2{ font-family:var(--lux-serif); color:#FBF3E4; font-size:clamp(26px,3.2vw,40px); font-weight:700; margin:0; line-height:1.1; }
.lux-ctaband__txt h2 .crown{ color:var(--lux-gold-lt); margin-inline-end:10px; }
.lux-ctaband__txt p{ font-family:var(--lux-serif); font-style:italic; color:var(--lux-gold-lt); margin:8px 0 0; font-size:18px; }
.lux-ctaband__btn{ flex-shrink:0; display:inline-block; padding:14px 38px; border:1.5px solid var(--lux-gold); color:var(--lux-gold-lt); font-family:var(--lux-ui); font-weight:600; text-transform:uppercase; letter-spacing:2px; font-size:13px; border-radius:8px; transition:all .3s ease; }
.lux-ctaband__btn:hover{ background:var(--lux-gold); color:#2b1a10; }

/* ==== NEWSLETTER ==== */
.lux-news{ background:radial-gradient(circle at 50% 0%,#3a2415 0%,var(--lux-mahogany) 70%); padding:70px 20px; text-align:center; }
.lux-news h2{ font-family:var(--lux-serif); color:#FBF3E4; font-size:clamp(28px,3.4vw,42px); font-weight:600; margin:0; }
.lux-news .lux-orn{ color:var(--lux-gold); }
.lux-news p{ color:#d8c7ad; font-family:var(--lux-body); margin:12px auto 26px; max-width:520px; }
.lux-news form{ display:flex; gap:12px; max-width:540px; margin:0 auto; flex-wrap:wrap; justify-content:center; }
.lux-news input[type=email]{ flex:1 1 300px; padding:15px 22px; border-radius:8px; border:1px solid var(--lux-border); background:#fffdf8; font-family:var(--lux-ui); outline:none; }
.lux-news button{ padding:15px 34px; border:none; border-radius:8px; background:linear-gradient(180deg,var(--lux-gold),var(--lux-gold-2)); color:#fff; font-family:var(--lux-ui); font-weight:600; text-transform:uppercase; letter-spacing:1px; cursor:pointer; transition:all .3s ease; }
.lux-news button:hover{ transform:translateY(-2px); box-shadow:0 10px 26px rgba(199,154,74,.4); }

/* ==== FOOTER (mahogany + gold) ==== */
.footer,.footer__top,.footer-main{ background:var(--lux-mahogany)!important; color:#cbb89c; border-top:3px solid var(--lux-gold); }
.footer h3,.footer h4,.footer .footer__title,.footer-title,.footer-content-box-title h3{ font-family:var(--lux-serif)!important; color:var(--lux-gold-lt)!important; }
.footer a{ color:#cbb89c!important; }
.footer a:hover{ color:var(--lux-gold-lt)!important; }
.copyright,.footer__bottom{ background:#150d0a!important; color:#a08f7c!important; }

/* footer logo removed per client (the PNG's baked white bg looked like a box on the dark footer) */
.footer-logo,footer .footer-logo{ display:none!important; }

/* ---- footer layout: even columns, consistent spacing/alignment ---- */
.footer-content .row{ row-gap:34px; }
.footer-content-box-title h3{ font-size:19px; letter-spacing:.02em; margin-bottom:18px; padding-bottom:10px; border-bottom:1px solid rgba(199,154,74,.22); }
.footer-content-box-links ul{ list-style:none; padding:0; margin:0; }
.footer-content-box-links ul li{ margin-bottom:10px; }
.footer-content-box-links a{ font-family:var(--lux-ui); font-size:14px; }
.footer-brand-info .footer-content-box-text,
.footer-content-box-location,.footer-content-box-number,.footer-content-box-website{ font-family:var(--lux-ui); font-size:14px; line-height:1.9; }
.footer-content-box-location i,.footer-content-box-number i,.footer-content-box-website i{ color:var(--lux-gold); margin-right:9px; width:16px; }

/* ---- social icons: elegant gold-outlined tiles instead of default white boxes ---- */
.footer-content-box-social ul{ display:flex; gap:10px; flex-wrap:wrap; padding:0; margin:0; list-style:none; }
.footer-content-box-social ul li{ margin:0; }
.footer-content-box-social ul li a{ width:40px; height:40px; display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(199,154,74,.5); border-radius:8px; background:transparent!important; color:var(--lux-gold-lt)!important;
  transition:background .3s ease,color .3s ease,border-color .3s ease,transform .3s ease; }
.footer-content-box-social ul li a:hover{ background:var(--lux-gold)!important; color:var(--lux-walnut)!important; border-color:var(--lux-gold); transform:translateY(-3px); }
.footer-content-box-social ul li a i{ font-size:16px; }
/* app-store / trust badges: consistent width + even vertical rhythm */
.footer-content-box-social img,.footer .app-badge img,.footer-app-badges img{ max-width:172px; width:100%; height:auto; display:block; margin-top:14px; border-radius:6px; }
.footer-app-badges{ margin-top:8px; }

/* ==== scroll-reveal (fail-safe: only hides once JS adds body.lux-anim; if JS is
   off the class is never added and everything stays visible) ==== */
body.lux-anim .lux-animate{ opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease; }
body.lux-anim .lux-animate.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  body.lux-anim .lux-animate{ opacity:1!important; transform:none!important; transition:none!important; }
}

/* ==== responsive ==== */
@media (max-width:1024px){
  .lux-grid,.lux-cats,.lux-gallery{ grid-template-columns:repeat(3,1fr); } .lux-products{ grid-template-columns:repeat(2,1fr); }
  .lux-services .row-in{ grid-template-columns:repeat(2,1fr); gap:18px 0; }
  .lux-svc:nth-child(2){ border-right:none; }
}
@media (max-width:760px){
  .lux-gallery{ grid-template-columns:repeat(2,1fr); gap:16px; } .lux-products{ grid-template-columns:repeat(2,1fr); gap:16px; }
  .lux-grid,.lux-cats{ grid-template-columns:1fr; }
}
@media (max-width:480px){
  .lux-products{ grid-template-columns:1fr; }
  .lux-services .row-in{ grid-template-columns:1fr; } .lux-svc{ border-right:none; border-bottom:1px solid var(--lux-border); }
  .lux-hero{ min-height:420px; text-align:center; } .lux-hero__sub::after{ margin-inline:auto; }
  .lux-ctaband__in{ padding:30px 24px; text-align:center; justify-content:center; }
  .lux-wrap,.lux-hero__inner,.lux-services .row-in{ padding-inline:20px; }
  .lux-hero-slider .lux-slide img{ max-height:300px; }
}

/* ==== hide zCart demo theme-switcher floating tab (demo-only UI, last orange source) ==== */
.theme-select{ display:none !important; }
