/*
Theme Name: Shah Abbas Fine Rug Gallery
Theme URI: https://www.shahabbasrug.com
Author: Built for Shah Abbas Rugs
Description: Custom theme for Shah Abbas Rugs, Sarasota FL. Navy and gold, built for local SEO. No page builder, no framework.
Version: 1.31.1
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
License: Proprietary
Text Domain: shah-abbas
*/


:root{
  --i-hero1:url("assets/slider-1.jpg?v=9429331a");
  --i-hero2:url("assets/slider-2.jpg?v=4c2ef7a8");
  --i-hero3:url("assets/slider-3.jpg?v=93ed66e6");
  --i-w1:url("assets/w1.jpg?v=f11451da");
  --i-w2:url("assets/w2.jpg?v=b7f8990a");
  --i-room:url("assets/room.jpg?v=7f827770");
  --i-logo:url("assets/logo.webp?v=f728a22e");
  --i-logoLight:url("assets/logo-light.webp?v=71f35e52");
  --i-washaction:url("assets/banner-wash.jpg?v=c102a8a0");
  --i-padteal:url("assets/banner-padding.jpg?v=666a771b");
  --i-padfelt:url("assets/pad-felt.jpg?v=e0046251");
  --i-rloom:url("assets/repair-loom.jpg?v=482346ad");
  --i-ryarn:url("assets/repair-yarn.jpg?v=b5780ef8");
  --i-rfframe:url("assets/repair-fframe.jpg?v=7e4ebfcc");
  --i-rneedle:url("assets/repair-needle.jpg?v=c1460fff");
  --i-hcare1:url("assets/w1.jpg?v=f11451da");
  --i-hcare2:url("assets/repair-loom.jpg?v=482346ad");
  --i-hcare3:url("assets/repair-yarn.jpg?v=b5780ef8");
  --i-hcare4:url("assets/repair-needle.jpg?v=c1460fff");
  --i-hstory1:url("assets/room.jpg?v=7f827770");
  --i-hstory2:url("assets/w2.jpg?v=b7f8990a");
  --i-hero4:url("assets/slider-4.jpg?v=24386c06");
  --i-c1:url("assets/cat-transitional.svg?v=42fe71ce");
  --i-c2:url("assets/cat-modern.svg?v=b81f3428");
  --i-c3:url("assets/cat-ooak.svg?v=c98a8691");
  --i-c4:url("assets/cat-area.svg?v=22e06f05");
  --i-c5:url("assets/cat-oriental.svg?v=5345b8bc");
  --i-g1:url("assets/g1.svg?v=05d2d9bb");
  --i-g2:url("assets/g2.svg?v=2e6597ba");
  --i-g3:url("assets/g3.svg?v=d4e30d2c");
  --i-g4:url("assets/g4.svg?v=6d158106");
  --i-g5:url("assets/g5.svg?v=a5110a31");
  --i-g6:url("assets/g6.svg?v=7e3c203a");
  --i-galtr1:url("assets/gal-tr-1.svg?v=a37439c1");
  --i-galtr2:url("assets/gal-tr-2.svg?v=979fe6d9");
  --i-galtr3:url("assets/gal-tr-3.svg?v=fbc4894f");
  --i-galtr4:url("assets/gal-tr-4.svg?v=87dcb720");
  --i-galts1:url("assets/gal-ts-1.svg?v=ec189ca5");
  --i-galts2:url("assets/gal-ts-2.svg?v=7eaa8b45");
  --i-galts3:url("assets/gal-ts-3.svg?v=abb27be3");
  --i-galts4:url("assets/gal-ts-4.svg?v=9bd143a9");
  --i-galmd1:url("assets/gal-md-1.svg?v=6808aac6");
  --i-galmd2:url("assets/gal-md-2.svg?v=6360caf2");
  --i-galmd3:url("assets/gal-md-3.svg?v=ae7093b1");
  --i-galmd4:url("assets/gal-md-4.svg?v=e75d28cc");
  --i-galok1:url("assets/gal-ok-1.svg?v=7ff89cd6");
  --i-galok2:url("assets/gal-ok-2.svg?v=8dba3405");
  --i-galok3:url("assets/gal-ok-3.svg?v=e9e5e9a3");
  --i-galok4:url("assets/gal-ok-4.svg?v=52be68c8");
}
.im-hero1{background-image:var(--i-hero1)}
.im-hero2{background-image:var(--i-hero2)}
.im-hero3{background-image:var(--i-hero3)}
.im-w1{background-image:var(--i-w1)}
.im-w2{background-image:var(--i-w2)}
.im-room{background-image:var(--i-room)}
.im-logo{background-image:var(--i-logo)}
.im-logoLight{background-image:var(--i-logoLight)}
.im-washaction{background-image:var(--i-washaction)}
.im-padteal{background-image:var(--i-padteal)}
.im-padfelt{background-image:var(--i-padfelt)}
.im-rloom{background-image:var(--i-rloom)}
.im-ryarn{background-image:var(--i-ryarn)}
.im-rfframe{background-image:var(--i-rfframe)}
.im-rneedle{background-image:var(--i-rneedle)}
.im-hcare1{background-image:var(--i-hcare1)}
.im-hcare2{background-image:var(--i-hcare2)}
.im-hcare3{background-image:var(--i-hcare3)}
.im-hcare4{background-image:var(--i-hcare4)}
.im-hstory1{background-image:var(--i-hstory1)}
.im-hstory2{background-image:var(--i-hstory2)}
.im-hero4{background-image:var(--i-hero4)}
.im-c1{background-image:var(--i-c1)}
.im-c2{background-image:var(--i-c2)}
.im-c3{background-image:var(--i-c3)}
.im-c4{background-image:var(--i-c4)}
.im-c5{background-image:var(--i-c5)}
.im-g1{background-image:var(--i-g1)}
.im-g2{background-image:var(--i-g2)}
.im-g3{background-image:var(--i-g3)}
.im-g4{background-image:var(--i-g4)}
.im-g5{background-image:var(--i-g5)}
.im-g6{background-image:var(--i-g6)}
.im-galtr1{background-image:var(--i-galtr1)}
.im-galtr2{background-image:var(--i-galtr2)}
.im-galtr3{background-image:var(--i-galtr3)}
.im-galtr4{background-image:var(--i-galtr4)}
.im-galts1{background-image:var(--i-galts1)}
.im-galts2{background-image:var(--i-galts2)}
.im-galts3{background-image:var(--i-galts3)}
.im-galts4{background-image:var(--i-galts4)}
.im-galmd1{background-image:var(--i-galmd1)}
.im-galmd2{background-image:var(--i-galmd2)}
.im-galmd3{background-image:var(--i-galmd3)}
.im-galmd4{background-image:var(--i-galmd4)}
.im-galok1{background-image:var(--i-galok1)}
.im-galok2{background-image:var(--i-galok2)}
.im-galok3{background-image:var(--i-galok3)}
.im-galok4{background-image:var(--i-galok4)}
:root{
  color-scheme: light;
  --ink:#101E39;
  --ink-2:#1A2B4A;
  --ink-3:#26385A;
  --gold:#C09A55;
  --gold-ink:#87671F;
  --gold-soft:#E0CB9E;
  --madder:#A0432C;
  --sand:#EAE7DF;
  --sand-2:#F6F5F1;
  --paper:#FFFFFF;
  --text:#182034;
  --muted:#3F4B63;
  --line:rgba(16,30,57,.13);
  --serif:"Marcellus","Hoefler Text",Georgia,serif;
  --sans:"Jost","Avenir Next","Segoe UI",system-ui,sans-serif;
  --wrap:1280px;
  --pad:clamp(20px,5vw,64px);
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-weight:400;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;line-height:1.14;text-wrap:balance;letter-spacing:.005em}
p{margin:0}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}
.eyebrow{font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 14px}
.lede{color:var(--muted);font-size:1.06rem;max-width:64ch}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* images */
.im{background-size:cover;background-position:center;background-color:var(--sand);width:100%}
.im-hero1{background-image:var(--i-hero1)} .im-hero2{background-image:var(--i-hero2)}
.im-hero3{background-image:var(--i-hero3)} .im-hero4{background-image:var(--i-hero4)}
.im-c1{background-image:var(--i-c1)} .im-c2{background-image:var(--i-c2)} .im-c3{background-image:var(--i-c3)}
.im-c4{background-image:var(--i-c4)} .im-c5{background-image:var(--i-c5)}
.im-g1{background-image:var(--i-g1)} .im-g2{background-image:var(--i-g2)} .im-g3{background-image:var(--i-g3)}
.im-g4{background-image:var(--i-g4)} .im-g5{background-image:var(--i-g5)} .im-g6{background-image:var(--i-g6)}
.im-w1{background-image:var(--i-w1)} .im-w2{background-image:var(--i-w2)} .im-room{background-image:var(--i-room)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.6em;justify-content:center;font-family:var(--sans);font-weight:500;font-size:12px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;cursor:pointer;padding:15px 30px;border:1px solid var(--ink);background:var(--ink);color:#fff;transition:background .25s,color .25s,border-color .25s}
.btn:hover{background:var(--ink-3);border-color:var(--ink-3)}
.btn--gold{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.btn--gold:hover{background:#AE8944;border-color:#AE8944;color:#fff}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn--ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn--onDark{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.btn--onDark:hover{background:#fff;color:var(--ink);border-color:#fff}
.arrowlink{display:inline-flex;align-items:center;gap:.55em;text-decoration:none;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;padding-bottom:3px;border-bottom:1px solid var(--gold);color:var(--ink)}
.arrowlink i{font-style:normal;transition:transform .3s}
.arrowlink:hover i{transform:translateX(5px)}

/* utility bar — larger type per client note */
.utility{background:var(--ink);color:rgba(255,255,255,.93);font-size:14.5px;letter-spacing:.05em}
.utility .wrap{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:52px;flex-wrap:nowrap}
.util-left{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.util-right{white-space:nowrap}
@media (max-width:1200px){ .util-sep,.util-trials{display:none} }
@media (max-width:1000px){ .util-right span{display:none} }
.utility a{color:#fff;text-decoration:none}
.utility a:hover{color:var(--gold-soft)}
.utility strong{color:var(--gold-soft);font-weight:500}
.util-right{display:flex;gap:28px;align-items:center}

/* header */
.head{position:sticky;top:0;z-index:60;background:var(--paper);border-bottom:1px solid var(--line)}
.head .wrap{display:flex;align-items:center;gap:24px;min-height:92px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:0 0 auto}
.brand svg{width:34px;height:34px;flex:0 0 auto}
.brand b{display:block;font-family:var(--serif);font-weight:400;font-size:25px;letter-spacing:.02em;line-height:1}
.brand small{display:block;font-size:9.5px;letter-spacing:.30em;text-transform:uppercase;color:var(--gold);margin-top:5px;font-weight:500}
.nav{margin-left:auto;display:flex;align-items:center;gap:2px;padding:0;margin-block:0}
.nav > li{list-style:none;position:relative}
.nav a{display:block;text-decoration:none;padding:12px clamp(7px,.8vw,12px);white-space:nowrap;font-size:13px;letter-spacing:.10em;text-transform:uppercase;font-weight:400;color:var(--text)}
.nav > li > a{position:relative}
.nav > li > a::after{content:"";position:absolute;left:clamp(7px,.8vw,12px);right:clamp(7px,.8vw,12px);bottom:6px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nav > li:hover > a::after,.nav > li:focus-within > a::after,.nav > li.is-current > a::after{transform:scaleX(1)}
.caret{display:inline-block;width:5px;height:5px;margin-left:7px;vertical-align:1px;border-right:1px solid var(--muted);border-bottom:1px solid var(--muted);transform:rotate(45deg) translate(-2px,-2px)}
.sub{position:absolute;top:100%;left:0;min-width:252px;background:#fff;margin:0;padding:10px 0;border:1px solid var(--line);border-top:2px solid var(--gold);box-shadow:0 22px 44px -24px rgba(16,30,57,.45);opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s ease}
.has-sub:hover .sub,.has-sub:focus-within .sub{opacity:1;visibility:visible;transform:translateY(0)}
.sub li{list-style:none}
.sub a{padding:10px 22px;letter-spacing:.06em;text-transform:none;font-size:15.5px;color:var(--muted)}
.sub a:hover{color:var(--ink);background:var(--sand-2)}
.head-cta{display:flex;align-items:center;gap:16px;flex:0 0 auto}
.head-phone{text-decoration:none;text-align:right;line-height:1.15}
.head-phone i{display:block;font-style:normal;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.head-phone b{font-family:var(--serif);font-weight:400;font-size:20px}
.head-cta .btn{padding:13px 20px}
.burger{display:none;background:none;border:1px solid var(--line);padding:11px 13px;cursor:pointer}
.burger span{display:block;width:20px;height:1.5px;background:var(--ink);margin:4px 0}

/* ---- pages ---- */

/* home hero slider — no overlay */
/* hero fills the viewport below the header, the way samad.com does */
.hero{position:relative;overflow:hidden;background:var(--ink);
  height:clamp(520px,calc(100vh - 150px),1040px);
  height:clamp(520px,calc(100svh - 150px),1040px)}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease}
.slide.is-active{opacity:1}
.slide .im{height:100%;background-position:50% 55%}
.slide .photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 62%}
.photonote{display:none;position:absolute;z-index:5;left:var(--pad);right:var(--pad);top:24px;
  max-width:560px;margin:0;background:rgba(16,30,57,.9);color:#fff;padding:14px 18px;
  border-left:3px solid var(--gold);font-size:13.5px;line-height:1.5;backdrop-filter:blur(3px)}
.photonote b{color:var(--gold-soft);font-weight:500}
.hero.photos-blocked .photonote{display:block}
.hero-ui{position:absolute;z-index:4;inset:auto var(--pad) 34px auto;display:flex;align-items:center;gap:10px}
.hero-ui button{width:46px;height:46px;border:1px solid rgba(255,255,255,.5);background:rgba(16,30,57,.3);color:#fff;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(3px);transition:background .25s,border-color .25s}
.hero-ui button:hover{background:#fff;color:var(--ink);border-color:#fff}
/* slide captions, bottom-left, with a corner scrim so the middle stays clear */
.slide::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top right,rgba(16,30,57,.82),rgba(16,30,57,.38) 36%,rgba(16,30,57,0) 62%)}
.slidecap{position:absolute;z-index:3;left:var(--pad);bottom:86px;max-width:min(28rem,52vw);
  color:#fff;opacity:0;transform:translateY(14px);transition:opacity .7s ease .25s,transform .7s ease .25s}
.slide.is-active .slidecap{opacity:1;transform:none}
.slidecap b{display:block;font-family:var(--serif);font-weight:400;
  font-size:clamp(1.55rem,2.9vw,2.7rem);line-height:1.14;letter-spacing:.005em;
  text-shadow:0 1px 18px rgba(16,30,57,.45)}
.slidecap span{display:block;margin-top:12px;font-size:clamp(14px,1.15vw,16.5px);line-height:1.55;
  color:rgba(255,255,255,.92);text-shadow:0 1px 14px rgba(16,30,57,.5)}
.slidecap i{display:block;width:52px;height:2px;background:var(--gold);margin-bottom:20px;
  font-style:normal}
.dots{position:absolute;z-index:4;left:var(--pad);bottom:34px;display:flex;gap:8px;margin:0;padding:0}
.dots button{width:44px;height:3px;border:0;padding:0;cursor:pointer;background:rgba(255,255,255,.42);transition:background .3s}
.dots button[aria-current="true"]{background:var(--gold)}

/* page banner (inner pages) */
.banner{position:relative;background:var(--ink);overflow:hidden}
.banner .im{position:absolute;inset:0;height:100%;opacity:.32;transform:scale(1.35)}
.banner .wrap{position:relative;z-index:2;padding-block:clamp(56px,8vw,96px)}
.banner h1{color:#fff;font-size:clamp(2rem,3.8vw,3.1rem);max-width:20ch}
.banner p{color:rgba(255,255,255,.75);max-width:58ch;margin-top:16px}
.crumb{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:16px}
.crumb a{text-decoration:none}
.crumb a:hover{color:#fff}

/* sections */
.sec{padding:clamp(60px,8vw,110px) 0}
.sec--tight{padding:clamp(46px,6vw,76px) 0}
.sec--sand{background:var(--sand-2)}
.sec--ink{background:var(--ink);color:rgba(255,255,255,.92)}
.sec--ink h2,.sec--ink h3{color:#fff}
.sec-head{max-width:660px;margin-bottom:50px}
.sec-head h2{font-size:clamp(1.9rem,3.2vw,2.7rem);margin-bottom:16px}
.sec-head--center{margin-inline:auto;text-align:center}
.sec-head--center .lede{margin-inline:auto}

/* intro band under slider */
.intro{text-align:center;max-width:760px;margin-inline:auto}
.intro h1{font-size:clamp(2rem,3.6vw,3rem);margin-bottom:20px}
.intro .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:32px}

/* trust */
.trust{background:var(--ink);color:#fff}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.12);padding-inline:0}
.trust .wrap > div{background:var(--ink);padding:clamp(38px,4.4vw,58px) clamp(14px,2.2vw,30px);text-align:center}
.trust b{display:block;font-family:var(--serif);font-size:clamp(1.9rem,2.85vw,2.7rem);line-height:1.12;color:var(--gold-soft);margin-bottom:11px}
.trust span{font-size:clamp(14px,1.18vw,16.5px);font-weight:500;letter-spacing:.14em;color:rgba(255,255,255,.94);text-transform:uppercase}

/* category grid */
.cats{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(14px,1.8vw,26px)}
.cat{grid-column:span 2;text-decoration:none;display:block}
.cats--five .cat:nth-child(4),.cats--five .cat:nth-child(5){grid-column:span 3}
.cats--four{grid-template-columns:repeat(4,1fr)}
.cats--four .cat{grid-column:span 1}
.cat .im{aspect-ratio:4/5;transition:transform .9s cubic-bezier(.2,.7,.3,1)}
.cats--five .cat:nth-child(4) .im,.cats--five .cat:nth-child(5) .im{aspect-ratio:16/9}
.cat-frame{overflow:hidden}
.cat:hover .im{transform:scale(1.05)}
.cat-cap{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid var(--line);margin-top:16px}
.cat-cap h3{font-size:1.3rem}
.cat-cap em{font-style:normal;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink)}

/* splits */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,78px);align-items:center}
.split--start{align-items:start}
.steps{display:grid;gap:0;margin:32px 0;border-top:1px solid rgba(255,255,255,.16)}
.step{display:grid;grid-template-columns:auto 1fr;gap:20px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.step b{font-family:var(--serif);font-size:1.05rem;color:var(--gold)}
.steps--light .step b{color:var(--gold-ink)}
/* on navy grounds the brighter brand gold is the readable one */
.sec--ink .eyebrow,.banner .eyebrow,.ctaband .eyebrow,.foot .eyebrow{color:var(--gold-soft)}
.step h3{font-size:1.06rem;margin-bottom:4px;font-family:var(--sans);font-weight:500;letter-spacing:.04em}
.step p{font-size:.94rem;color:rgba(255,255,255,.78)}
.steps--light{border-top-color:var(--line)}
.steps--light .step{border-bottom-color:var(--line)}
.steps--light .step p{color:var(--muted)}
.stack2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.stack2 .im{aspect-ratio:1}
.stack2 .im:nth-child(2),.stack2 .im:nth-child(3){transform:translateY(28px)}
.story-figs{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.story-figs .im{aspect-ratio:3/4}
.story-figs .im:nth-child(even){margin-top:38px}
.quotecard{border-left:2px solid var(--gold);padding-left:26px;margin-top:32px}
.quotecard p{font-family:var(--serif);font-size:1.3rem;line-height:1.45}
.quotecard cite{display:block;font-style:normal;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:14px}

/* generic grids */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,32px)}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,2.4vw,32px)}
.card{background:#fff;border:1px solid var(--line);border-top:2px solid var(--gold);padding:32px 30px;text-decoration:none;display:block}
.card h3{font-size:1.28rem;margin-bottom:12px}
.card p{color:var(--muted);font-size:.98rem}
.card .arrowlink{margin-top:20px}
a.card:hover{background:var(--sand-2)}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.tiles .im{aspect-ratio:1}
.stars{color:var(--gold);letter-spacing:.22em;font-size:13px;margin-bottom:14px}
.card cite{display:block;font-style:normal;margin-top:20px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}


/* gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.4vw,20px)}
.gtile{padding:0;border:0;background:none;cursor:zoom-in;display:block;overflow:hidden;position:relative}
.gtile .im{display:block;aspect-ratio:4/5;transition:transform .8s cubic-bezier(.2,.7,.3,1)}
.gtile:hover .im{transform:scale(1.06)}
.gtile::after{content:"";position:absolute;inset:0;background:rgba(16,30,57,0);transition:background .3s}
.gtile:hover::after{background:rgba(16,30,57,.12)}
.galnote{margin-top:26px;text-align:center;font-size:14px;color:var(--muted)}
@media (max-width:900px){ .gallery{grid-template-columns:repeat(3,1fr)} }
@media (max-width:620px){ .gallery{grid-template-columns:repeat(2,1fr)} }

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:120;background:rgba(10,18,34,.94);display:none;
  align-items:center;justify-content:center;padding:clamp(16px,4vw,56px)}
.lightbox.open{display:flex}
.lightbox .lbimg{width:min(88vw,900px);height:min(80vh,1100px);background-size:contain;
  background-repeat:no-repeat;background-position:center}
.lightbox .lbcap{position:absolute;left:0;right:0;bottom:22px;text-align:center;color:rgba(255,255,255,.8);
  font-size:13px;letter-spacing:.06em}
.lightbox button{position:absolute;background:none;border:1px solid rgba(255,255,255,.4);color:#fff;
  width:46px;height:46px;cursor:pointer;display:grid;place-items:center;transition:background .2s}
.lightbox button:hover{background:rgba(255,255,255,.15)}
.lbclose{top:22px;right:22px}
.lbprev{left:clamp(8px,2vw,28px);top:50%;transform:translateY(-50%)}
.lbnext{right:clamp(8px,2vw,28px);top:50%;transform:translateY(-50%)}

/* definition list */
.deflist{display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(28px,4vw,60px)}
.defrow{padding:24px 0;border-top:1px solid var(--line)}
.defrow h3{font-size:1.18rem;margin-bottom:8px}
.defrow p{color:var(--muted);font-size:.98rem;max-width:52ch}
@media (max-width:900px){ .deflist{grid-template-columns:1fr} }

/* faq */
.faq{border-top:1px solid var(--line);max-width:860px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;padding:22px 0;font-family:var(--serif);font-size:1.2rem;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold-ink);font-family:var(--sans);font-size:1.3rem;font-weight:300}
.faq details[open] summary::after{content:"–"}
.faq p{padding:0 0 24px;color:var(--muted);max-width:70ch}

/* lists / forms */
.arealist{columns:2;column-gap:34px;margin:0;padding:0;list-style:none}
.arealist li{padding:9px 0;border-bottom:1px solid var(--line);font-size:15px;break-inside:avoid}
.form{display:grid;gap:16px;background:#fff;border:1px solid var(--line);padding:clamp(26px,3vw,40px)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:grid;gap:7px}
.field label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:500}
.field input,.field select,.field textarea{font-family:var(--sans);font-size:15.5px;font-weight:400;color:var(--text);padding:13px 15px;border:2px solid var(--ink);background:var(--paper);border-radius:0;width:100%;transition:border-color .2s,box-shadow .2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(192,154,85,.22)}
.field textarea{min-height:112px;resize:vertical}
/* honeypot: off-screen for people, irresistible to bots */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.check{display:flex;align-items:center;gap:11px;margin-top:4px;font-size:15px;color:var(--text);cursor:pointer}
.check input{width:22px;height:22px;flex:0 0 22px;accent-color:var(--ink);cursor:pointer;margin:0}
.formnote{font-size:15px;padding:14px 16px;margin-bottom:20px;border-left:3px solid}
.formnote--ok{border-color:var(--gold);background:var(--sand-2);color:var(--text)}
.formnote--bad{border-color:var(--madder);background:#FBF1EE;color:var(--text)}
.hours{margin:0;padding:0;list-style:none}
.hours li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:15px}
.hours span:last-child{color:var(--gold-soft)}
.hours--light li{border-bottom-color:var(--line)}
.hours--light span:last-child{color:var(--ink)}
.mapbox{aspect-ratio:4/3;background:var(--sand);display:grid;place-items:center;border:1px solid var(--line);text-align:center;padding:20px}
.mapbox span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}

/* CTA band */
.ctaband{background:var(--ink);color:#fff;text-align:center;padding:clamp(52px,6vw,84px) 0}
.ctaband h2{font-size:clamp(1.7rem,3vw,2.4rem);margin-bottom:14px}
.ctaband p{color:rgba(255,255,255,.84);max-width:56ch;margin:0 auto 28px}
.ctaband .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* footer */
.foot{background:var(--ink);color:rgba(255,255,255,.8);padding-top:clamp(54px,7vw,84px)}
.foot h3{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#fff;font-family:var(--sans);font-weight:500;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.16)}
.foot-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1.05fr;gap:clamp(26px,4vw,56px)}
.foot a{text-decoration:none}
.foot a:hover{color:var(--gold-soft)}
.foot ul{margin:0;padding:0;list-style:none;display:grid;gap:11px;font-size:15px}
.foot-bottom{margin-top:clamp(40px,5vw,60px);border-top:1px solid rgba(255,255,255,.14);padding:22px 0 26px;font-size:12.5px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:rgba(255,255,255,.62)}


/* mobile nav */
.mnav{display:none}
.mnav.open{display:block;position:fixed;inset:0;z-index:80;background:var(--paper);overflow:auto;padding:24px var(--pad) 60px}
.mnav ul{list-style:none;margin:0;padding:0}
.mnav > ul > li{border-bottom:1px solid var(--line)}
.mnav a{display:block;padding:15px 0;text-decoration:none;font-size:17px;letter-spacing:.04em}
.mnav .sub2 a{padding:8px 0 8px 18px;color:var(--muted);font-size:15px}
.mnav .close{background:none;border:1px solid var(--line);padding:11px 14px;cursor:pointer;margin-bottom:18px;font-family:var(--sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase}

@media (max-width:1120px){
  .nav,.head-cta .btn{display:none}
  .burger{display:block;order:3;margin-left:14px}
  .head-cta{margin-left:auto;order:2}
  .head .wrap{min-height:78px;gap:12px}
  .head-phone i{display:none}
  .head-phone b{font-size:17px}
  .split,.grid2{grid-template-columns:1fr}
  .cats{grid-template-columns:repeat(4,1fr)}
  .cat,.cats--five .cat:nth-child(4),.cats--five .cat:nth-child(5){grid-column:span 2}
  .cats--four{grid-template-columns:repeat(2,1fr)}
  .trust .wrap{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
  .grid3{grid-template-columns:1fr}
}
@media (max-width:620px){
  body{font-size:16px}
  .utility{font-size:13px}
  .util-right{display:none}
  .cats{grid-template-columns:1fr}
  .cat,.cats--five .cat:nth-child(4),.cats--five .cat:nth-child(5){grid-column:span 1}
  .cats--four{grid-template-columns:1fr}
  .cats--five .cat:nth-child(4) .im,.cats--five .cat:nth-child(5) .im{aspect-ratio:4/5}
  .slide .im{background-position:50% 55%}
  .slidecap{max-width:none;right:var(--pad);bottom:80px}
  .slide::after{background:linear-gradient(to top,rgba(16,30,57,.82),rgba(16,30,57,.25) 45%,rgba(16,30,57,0) 72%)}
  .hero-ui{display:none}
  .form .row{grid-template-columns:1fr}
  .arealist{columns:1}
  .foot-grid{grid-template-columns:1fr}
  .tiles{grid-template-columns:repeat(2,1fr)}
  .story-figs .im:nth-child(even){margin-top:0}
  .brand b{font-size:21px}.brand small{font-size:8.5px}.brand svg{width:28px;height:28px}
  .head-phone b{font-size:15px}
}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms !important;transition-duration:.001ms !important}}

/* social icons in the utility bar */
.socs{display:inline-flex;align-items:center;gap:12px;margin-left:4px}
.socs--mobile{display:none}
.soc{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.32);
     color:#fff;transition:background .25s,border-color .25s,color .25s}
.soc svg{width:15px;height:15px;display:block}
.soc:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}
@media (max-width:620px){
  .socs--mobile{display:inline-flex}
  .util-sep,.util-trials{display:none}
  .utility .wrap{justify-content:space-between;min-height:46px}
}

/* map embed */
.mapwrap{position:relative;aspect-ratio:4/3;border:1px solid var(--line);background:var(--sand);overflow:hidden}
.mapwrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.mapwrap::before{content:"Map — 4801 S. Tamiami Trail, Sarasota";position:absolute;inset:0;display:grid;
  place-items:center;text-align:center;padding:20px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted)}
.mapwrap--wide{aspect-ratio:16/10}
/* skip link */
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--ink);color:#fff;padding:12px 18px;
  font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.skip:focus{left:0}

/* brand lockup */
.brand{display:block;text-decoration:none;flex:0 0 auto}
.lockup{display:flex;align-items:center;gap:11px}
.logoimg{display:block;width:190px;height:47px;background-image:var(--i-logo);
  background-size:contain;background-repeat:no-repeat;background-position:left center}
.brand--foot{margin-bottom:18px}
.brand--foot .logoimg{background-image:var(--i-logoLight)}
@media (max-width:620px){ .logoimg{width:152px;height:38px} }
/* four-column area list */
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,44px)}
@media (max-width:1120px){ .grid4{grid-template-columns:repeat(2,1fr)} }
@media (max-width:620px){
  .grid4{grid-template-columns:1fr}
  .lock-real{height:38px}.markSvg{height:38px}
  .wm b{font-size:22px}.wm small{font-size:8.5px}
}

/* ---------- rug catalogue ---------- */
.ruggrid{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(12px,1.6vw,22px)}
.rugcard{text-decoration:none;display:block}
.rugcard-img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center;
  background-size:cover;background-position:center;
  background-color:var(--sand);transition:transform .8s cubic-bezier(.2,.7,.3,1)}
.rugcard{overflow:hidden}
.rugcard:hover .rugcard-img{transform:scale(1.05)}
.rugcard-meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  padding-top:12px;margin-top:12px;border-top:1px solid var(--line)}
.rugcard-meta b{font-family:var(--serif);font-weight:400;font-size:1.02rem;letter-spacing:.02em}
.rugcard-meta em{font-style:normal;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink)}

.rugdetail{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,64px);align-items:start;margin-top:28px}
.rugdetail-img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center;
  background-size:cover;background-position:center;background-color:var(--sand)}
.sizelist{list-style:none;margin:18px 0 0;padding:0;display:grid;
  grid-template-columns:repeat(2,1fr);gap:0 24px}
.sizelist li{padding:9px 0;border-bottom:1px solid var(--line);font-size:15.5px;
  font-variant-numeric:tabular-nums}

@media (max-width:1120px){ .ruggrid{grid-template-columns:repeat(4,1fr)} .rugdetail{grid-template-columns:1fr} }
@media (max-width:900px){ .ruggrid{grid-template-columns:repeat(3,1fr)} }
@media (max-width:620px){ .ruggrid{grid-template-columns:repeat(2,1fr)} .sizelist{grid-template-columns:1fr} }

/* ---------- saved rugs + recently viewed ---------- */
.rugcell{position:relative}
.favbtn{position:absolute;top:10px;right:10px;width:34px;height:34px;padding:0;border:0;cursor:pointer;
  display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.86);
  backdrop-filter:blur(2px);box-shadow:0 1px 4px rgba(16,26,45,.16);
  opacity:0;transition:opacity .22s,transform .22s,background .22s}
.rugcell:hover .favbtn,.favbtn:focus-visible,.favbtn.is-on{opacity:1}
.favbtn svg{width:19px;height:19px;fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round}
.favbtn.is-on svg{fill:var(--gold);stroke:var(--gold)}
.favbtn:hover{transform:scale(1.08)}
@media (hover:none){ .favbtn{opacity:1} }

/* the save button on a rug's own page */
.favbig{display:inline-flex;align-items:center;gap:.6em;justify-content:center;font-family:var(--sans);
  font-weight:500;font-size:12px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;
  padding:15px 26px;border:1px solid var(--line);background:transparent;color:var(--ink);
  transition:background .25s,color .25s,border-color .25s}
.favbig:hover{border-color:var(--ink)}
.favbig svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
.favbig.is-on{border-color:var(--gold);color:var(--gold-ink)}
.favbig.is-on svg{fill:var(--gold);stroke:var(--gold)}

/* floating "n saved" pill */
.savepill{position:fixed;right:20px;bottom:20px;z-index:60;display:inline-flex;align-items:center;gap:.55em;
  padding:12px 20px;border:0;cursor:pointer;background:var(--ink);color:#fff;font-family:var(--sans);
  font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  box-shadow:0 6px 22px rgba(16,26,45,.28)}
.savepill:hover{background:var(--ink-3)}
.savepill svg{width:16px;height:16px;fill:var(--gold);stroke:var(--gold);stroke-width:1.4}
.savepanel{position:fixed;right:20px;bottom:74px;z-index:61;width:min(340px,calc(100vw - 40px));
  background:var(--paper);border:1px solid var(--line);box-shadow:0 14px 44px rgba(16,26,45,.24);
  padding:20px 20px 22px;max-height:min(560px,calc(100vh - 120px));overflow:auto}
.savepanel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.savepanel-head h3{font-family:var(--serif);font-weight:400;font-size:1.18rem;margin:0}
.savepanel-x{border:0;background:none;font-size:22px;line-height:1;cursor:pointer;color:var(--muted);padding:0 2px}
.savelist{list-style:none;margin:0 0 16px;padding:0}
.savelist li{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line)}
.savelist a{display:flex;align-items:center;gap:11px;text-decoration:none;flex:1;min-width:0}
.savethumb{width:44px;height:52px;flex:0 0 auto;background-size:cover;background-position:center;background-color:var(--sand)}
.savelist b{display:block;font-family:var(--serif);font-weight:400;font-size:1rem}
.savelist em{display:block;font-style:normal;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink)}
.savedrop{border:0;background:none;cursor:pointer;color:var(--muted);font-size:19px;line-height:1;padding:0 2px}
.savenote{font-size:13.5px;color:var(--muted);margin:0 0 16px}
.savepanel .btn{width:100%;padding:13px 20px}
@media (max-width:620px){ .savepill{right:14px;bottom:14px;padding:11px 16px} .savepanel{right:14px;bottom:66px} }
@media print{ .savepill,.favbtn{display:none} }

/* ---------- banner readability ---------- */
/* Photo banners run bright so the rug actually reads; this scrim keeps the
   heading legible over the light left-hand side. */
.bannerscrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(100deg,rgba(16,30,57,.88) 0%,rgba(16,30,57,.74) 32%,
    rgba(16,30,57,.34) 60%,rgba(16,30,57,.06) 100%)}
@media (max-width:760px){
  .bannerscrim{background:linear-gradient(175deg,rgba(16,30,57,.82) 0%,
    rgba(16,30,57,.7) 55%,rgba(16,30,57,.4) 100%)}
}

/* ---------- extra shots on a rug page ---------- */
.rugshots{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));
  gap:10px;margin-top:12px}
.rugshot{aspect-ratio:1;border:1px solid var(--line);background-size:cover;
  background-position:center;background-color:var(--sand);cursor:pointer;padding:0;
  transition:border-color .2s,opacity .2s;opacity:.72}
.rugshot:hover{opacity:1}
.rugshot.is-on{border-color:var(--gold);opacity:1}
@media (max-width:620px){
  .rugshots{grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:8px}
}

/* ---------- "click any rug" hint above a gallery ---------- */
.rughint{text-align:center;margin:0 0 clamp(22px,3vw,34px);
  font-family:var(--sans);font-size:11.5px;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold-ink)}
.rughint::after{content:"";display:block;width:44px;height:1px;
  background:var(--gold);margin:14px auto 0;opacity:.6}

/* ---------- reviews ---------- */
.ratingbar{display:flex;align-items:center;justify-content:center;gap:clamp(18px,4vw,44px);
  flex-wrap:wrap;text-align:center;border:1px solid var(--line);background:var(--sand-2);
  padding:clamp(26px,4vw,40px) clamp(20px,4vw,48px)}
.ratingbar-score{display:flex;align-items:baseline;gap:12px}
.ratingbar-score b{font-family:var(--serif);font-weight:400;font-size:clamp(2.6rem,5vw,3.6rem);
  line-height:1;color:var(--ink)}
.ratingbar-score .stars{font-size:19px;color:var(--gold);letter-spacing:.08em}
.ratingbar-text{margin:0;max-width:34ch;font-size:16px;color:var(--text)}
.reviewgrid{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(18px,2.4vw,30px)}
.reviewgrid > .review{flex:1 1 300px;max-width:380px}
.review{display:flex;flex-direction:column}
.review .stars{color:var(--gold);letter-spacing:.1em;font-size:15px;margin-bottom:12px}
.review p{flex:1}
.review cite{display:block;margin-top:16px;font-style:normal;font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink)}
@media (max-width:620px){ .ratingbar{flex-direction:column;gap:18px} }

/* ---------- "The Collection" tile grid, built from real rugs ---------- */
.tiles .tile{display:block;overflow:hidden;text-decoration:none}
.tiles .tile .im{display:block;aspect-ratio:1;transition:transform .8s cubic-bezier(.2,.7,.3,1)}
.tiles .tile:hover .im{transform:scale(1.05)}
.tiles .tile:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* Tiles, category cards and story photos are real <img> now (Google Images can
   see them, and they carry alt text). These rules make an <img class="im"> crop
   exactly the way the old background-image div did: the surrounding .im rules
   still supply width and aspect-ratio, object-fit does the cropping. */
/* height:auto is load-bearing: the width/height ATTRIBUTES on the tag are a
   presentational hint, so without this the browser uses height="1000" as the
   real height and the card renders 1000px tall instead of obeying aspect-ratio. */
img.im{display:block;width:100%;height:auto;object-fit:cover;object-position:center;max-width:100%}
.banner img.im{height:100%}

/* keep the sticky header clear of the WordPress admin bar */
.admin-bar .head{top:32px}
@media screen and (max-width:782px){ .admin-bar .head{top:46px} }
