/* lovescabin-us.com | site theme | fabric: cream paper, pine ink, sage */
:root{--paper:#f7f3ea;--paper2:#fcf8ef;--ink:#24443c;--head:#16332c;--sage:#5b7c4f;--sage-deep:#48633f;--clay:#b4643c;--soft:#5f7268;--line:#e3dccb;--card:#24443c08;--white:#fff}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font:16px/1.65 'IBM Plex Sans',sans-serif;color:var(--ink);background:var(--paper)}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:'Lora',serif;color:var(--head);font-weight:600;line-height:1.18}
h1{font-size:clamp(30px,4.6vw,52px);letter-spacing:.2px}
h2{font-size:clamp(24px,3.2vw,38px);letter-spacing:.2px}
h3{font-size:19px}
.page-width{max-width:1200px;margin:0 auto;padding:0 26px}
.kicker{font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin-bottom:10px}
.lead{font-size:17.5px;max-width:74ch;color:var(--ink)}
.btn{display:inline-block;background:var(--sage);color:#fff;font-weight:600;font-size:15px;padding:13px 26px;border:1px solid var(--sage);cursor:pointer;transition:background .15s}
.btn:hover{background:var(--sage-deep)}
.btn-ghost{display:inline-block;color:var(--head);font-weight:600;font-size:15px;padding:13px 22px;border:1px solid var(--head);margin-left:12px}
.bl{color:var(--sage-deep);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.stars{color:var(--clay);letter-spacing:2px;font-size:14px}
table{width:100%;border-collapse:collapse;margin:18px 0;font-size:15px}
th,td{border:1px solid var(--line);padding:10px 13px;text-align:left;vertical-align:top}
th{background:var(--card);font-weight:600}
.note{font-size:12.5px;color:var(--soft)}
/* header */
.hdr{background:var(--paper2);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.hdr .page-width{display:flex;align-items:center;gap:26px;height:66px}
.logo{display:flex;align-items:center;gap:10px;font-family:'Lora',serif;font-weight:600;font-size:20px;color:var(--head);white-space:nowrap}
.logo svg{width:34px;height:34px}
.nav{display:flex;gap:20px;font-size:14.5px;font-weight:500;margin-left:auto;flex-wrap:wrap}
.nav a{color:var(--ink);padding:6px 2px;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{border-bottom-color:var(--sage);color:var(--head)}
.hdr-cta{font-size:13px;font-weight:600;color:var(--sage-deep);border:1px solid var(--sage);padding:8px 14px;white-space:nowrap}
.burger{display:none;background:none;border:0;cursor:pointer;width:34px;height:30px;position:relative}
.burger span{position:absolute;left:5px;right:5px;height:2px;background:var(--head);transition:.2s}
.burger span:nth-child(1){top:8px}.burger span:nth-child(2){top:14px}.burger span:nth-child(3){top:20px}
@media(max-width:960px){.nav{display:none;position:absolute;top:66px;left:0;right:0;background:var(--paper2);border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:10px 26px 16px}
.nav.open{display:flex}.nav a{padding:11px 2px;border-bottom:1px solid var(--line)}
.burger{display:block;margin-left:auto}.hdr-cta{display:none}.nav{margin-left:0}}
/* hero */
.hero{background:var(--paper2);border-bottom:1px solid var(--line)}
.hero .page-width{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center;padding-top:58px;padding-bottom:58px}
.hero h1 em{font-style:italic;color:var(--sage-deep)}
.hero p{margin-top:16px;max-width:56ch}
.hero-kpi{display:flex;gap:34px;margin-top:30px;flex-wrap:wrap}
.hero-kpi b{display:block;font-family:'Lora',serif;font-size:26px;color:var(--head)}
.hero-kpi span{font-size:12.5px;color:var(--soft)}
.hero-art img{width:100%;border:1px solid var(--line)}
@media(max-width:880px){.hero .page-width{grid-template-columns:1fr}}
/* trust marquee */
.strip{background:var(--head);color:#f2ede0;font-size:14px;overflow:hidden}
.strip .page-width{display:flex;gap:38px;padding-top:13px;padding-bottom:13px;flex-wrap:wrap}
.strip b{color:#fff}
/* sections */
.sec{padding:64px 0}
.sec-tint{background:var(--paper2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-dark{background:var(--head);color:#e9e4d5}
.sec-dark h2,.sec-dark h3{color:#fff}
.sec-dark .kicker{color:#a9c39a}
.sec-dark .lead{color:#e9e4d5}
.sec-dark table{border-color:#3a564d}
.sec-dark th,.sec-dark td{border-color:#3a564d}
.sec-dark th{background:#1d3b34}
.sec-dark a{color:#cfe3c2}
/* category tiles */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;margin-top:26px}
.tile{background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column}
.tile img{aspect-ratio:1;object-fit:cover;width:100%}
.tile-b{padding:14px 16px 18px}
.tile-b h3{font-size:17px}
.tile-b span{font-size:13px;color:var(--soft)}
.tile:hover h3{color:var(--sage-deep)}
/* finder */
.finder{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:24px}
.f-card{background:var(--white);border:1px solid var(--line);padding:20px}
.f-card h3{font-size:16.5px;margin-bottom:8px}
.f-card p{font-size:14px;color:var(--soft);margin-bottom:12px}
.f-card a{display:inline-block;font-size:13.5px;font-weight:600;color:var(--sage-deep);border-bottom:1px solid var(--sage);margin-right:12px}
/* fabric spec cards */
.fabrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin-top:26px}
.fab{background:var(--white);border:1px solid var(--line);padding:22px}
.fab h3{font-size:18px}
.fab .sub{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--sage);margin:2px 0 12px}
.fab dl{font-size:14px}
.fab dt{font-weight:600;color:var(--soft);font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin-top:10px}
.fab dd{margin:2px 0 0}
.fab a{display:inline-block;margin-top:14px;font-size:13.5px;font-weight:600;color:var(--sage-deep);border-bottom:1px solid var(--sage)}
/* picks */
.picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin-top:26px}
.pick{background:var(--white);border:1px solid var(--line);position:relative;display:flex;flex-direction:column}
.pick img{aspect-ratio:1;object-fit:cover}
.rank{position:absolute;top:10px;left:10px;background:var(--head);color:#fff;font-size:12px;font-weight:600;padding:3px 9px}
.pick-b{padding:14px 16px 18px;display:flex;flex-direction:column;gap:7px}
.pick .pr{font-weight:600;color:var(--head)}
.pick .row{display:flex;gap:12px;align-items:center;margin-top:4px}
.pick .more{font-size:13.5px;font-weight:600;color:var(--sage-deep);border-bottom:1px solid var(--sage)}
/* bands */
.band{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:34px 0;border-top:1px solid var(--line)}
.band:first-of-type{border-top:0}
.band.alt .band-img{order:2}
.band-img img{border:1px solid var(--line);aspect-ratio:4/3;object-fit:cover;width:100%}
.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.chip{font-size:13px;border:1px solid var(--line);background:var(--white);padding:5px 12px}
.chip:hover{border-color:var(--sage)}
.go{font-weight:600;color:var(--sage-deep)}
@media(max-width:820px){.band{grid-template-columns:1fr}.band.alt .band-img{order:0}}
/* gallery */
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:26px}
.gal figure{border:1px solid var(--line);background:var(--white)}
.gal img{aspect-ratio:1;object-fit:cover;width:100%}
/* videos */
.vids{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:26px}
.vid{position:relative;border:1px solid #3a564d;background:none;padding:0;cursor:pointer;text-align:left}
.vid img{width:100%;aspect-ratio:16/9;object-fit:cover}
.vid .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.vid .play span{width:58px;height:58px;background:#fffe;display:flex;align-items:center;justify-content:center;border-radius:50%}
.vid .play svg{width:22px;height:22px;fill:var(--head)}
.vid figcaption{padding:10px 12px;font-size:13.5px;color:#e9e4d5}
.vid iframe{width:100%;aspect-ratio:16/9;border:0}
/* reviews */
.revs{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:26px}
.rev{background:var(--white);border:1px solid var(--line);padding:18px 18px 16px}
.rev h3{font-size:15.5px;margin:8px 0 6px}
.rev p{font-size:14px}
.rev .who{display:block;font-size:12.5px;color:var(--soft);margin-top:10px}
.rev .tag{display:inline-block;font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--sage-deep);background:var(--card);padding:3px 8px;margin-top:8px}
/* journal cards */
.arts{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px;margin-top:26px}
.art-card{background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column}
.art-card img{aspect-ratio:16/10;object-fit:cover}
.art-card div{padding:16px 18px 20px}
.art-card p{font-size:14px;color:var(--soft);margin:8px 0 10px}
.art-card .min{font-size:13px;font-weight:600;color:var(--sage-deep)}
/* FAQ */
.faq{max-width:820px;margin-top:20px}
.faq details{border-bottom:1px solid var(--line);padding:16px 0}
.faq summary{font-weight:600;font-size:16px;cursor:pointer;color:var(--head);font-family:'Lora',serif}
.faq p{margin-top:10px;font-size:15px;max-width:74ch}
/* EEAT */
.disc{border-left:3px solid var(--clay);background:var(--card);padding:14px 18px;font-size:14px;max-width:78ch;margin:20px 0}
.eeat{border:1px solid var(--line);background:var(--white);padding:20px 22px;margin:26px 0;max-width:78ch}
.eeat h3{font-size:15.5px;margin-bottom:10px}
.eeat ul{list-style:none}
.eeat li{font-size:14px;margin:7px 0}
.eeat a{color:var(--sage-deep);text-decoration:underline;text-underline-offset:3px}
/* collection */
.crumbs{font-size:13px;color:var(--soft);padding:18px 0 8px}
.crumbs a{color:var(--sage-deep)}
.coll-head{padding:14px 0 26px;max-width:80ch}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;padding-bottom:56px}
.card{background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column}
.card img{aspect-ratio:1;object-fit:cover;width:100%}
.card-b{padding:13px 15px 17px;display:flex;flex-direction:column;gap:5px}
.card-b h3{font-size:15.5px;line-height:1.3}
.card .meta{font-size:12.5px;color:var(--soft)}
.card .pr{font-weight:600;color:var(--head);font-size:14.5px}
.card .pr.na{color:var(--soft);font-weight:400}
.card .badge{align-self:flex-start;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--sage-deep);background:var(--card);padding:2px 8px}
.card:hover h3{color:var(--sage-deep)}
/* PDP */
.pdp{display:grid;grid-template-columns:1.02fr .98fr;gap:44px;padding:10px 0 34px}
.pdp-gal .main img{border:1px solid var(--line);width:100%;background:var(--white)}
.thumbs{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.thumbs button{border:1px solid var(--line);background:var(--white);padding:0;width:74px;height:74px;cursor:pointer}
.thumbs button[aria-current]{border-color:var(--sage);outline:1px solid var(--sage)}
.thumbs img{width:100%;height:100%;object-fit:cover}
.pdp h1{font-size:clamp(24px,3vw,34px)}
.pdp .rt{display:flex;gap:8px;align-items:center;font-size:13.5px;color:var(--soft);margin-top:8px}
.pdp .price{font-family:'Lora',serif;font-size:30px;color:var(--head);margin:14px 0 6px}
.pdp .price .na{font-size:19px;color:var(--soft);font-family:'IBM Plex Sans',sans-serif}
.pdp .lede{font-size:16.5px;margin:8px 0 16px;max-width:58ch}
.opts .lbl{font-size:12.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--soft);margin-bottom:8px}
.opts .row{display:flex;flex-wrap:wrap;gap:8px}
.opt{border:1px solid var(--line);background:var(--white);font-size:13.5px;padding:8px 13px;cursor:pointer}
.opt[aria-pressed="true"]{border-color:var(--sage);outline:1px solid var(--sage);font-weight:600}
.opt.na{color:#9aa8a0;text-decoration:line-through;cursor:default}
.buy-row{margin:20px 0 10px}
.avail-note{font-size:12.5px;color:var(--soft);max-width:52ch}
.pdp-lower{display:grid;grid-template-columns:1.02fr .98fr;gap:44px;padding:26px 0 8px;border-top:1px solid var(--line)}
.pdp-desc p{margin-bottom:14px;max-width:64ch}
.spec h2{font-size:21px;margin-bottom:6px}
.colorlist{margin:8px 0 20px;font-size:14px;color:var(--soft);max-width:64ch}
.colorlist a{color:var(--sage-deep);text-decoration:underline;text-underline-offset:3px}
.prevs{border-top:1px solid var(--line);padding:26px 0 8px}
.prevs h2{font-size:21px;margin-bottom:14px}
.rev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.comp{border-top:1px solid var(--line);padding:26px 0 8px}
.comp h2{font-size:21px;margin-bottom:14px}
.comp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.pdp-note{font-size:14px;color:var(--soft);padding:18px 0 44px;max-width:74ch}
@media(max-width:880px){.pdp,.pdp-lower{grid-template-columns:1fr}}
/* article */
.art-hero{padding:16px 0 8px;max-width:80ch}
.art-hero .meta{font-size:13px;color:var(--soft);margin-top:10px}
.art-body{max-width:78ch;padding:16px 0 60px}
.art-body>img{border:1px solid var(--line);margin:6px 0 22px}
.art-body h2{font-size:25px;margin:32px 0 12px}
.art-body p{margin-bottom:14px}
.art-body ul,.art-body ol{margin:0 0 14px 22px}
.art-body li{margin:6px 0}
.art-body a{color:var(--sage-deep);text-decoration:underline;text-underline-offset:3px}
.art-body .bl{text-decoration:underline}
/* footer */
footer{background:var(--paper2);border-top:1px solid var(--line);margin-top:30px}
.foot{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px;padding-top:52px;padding-bottom:40px}
.foot h4{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin-bottom:12px}
.foot a{display:block;font-size:14px;padding:4px 0;color:var(--ink)}
.foot a:hover{color:var(--sage-deep)}
.foot-brand p{font-size:14px;color:var(--soft);margin:12px 0;max-width:40ch}
.foot-social{display:flex;gap:12px;list-style:none;margin-top:14px}
.foot-social img{width:26px;height:26px}
.foot-apps{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.foot-apps img{height:40px;width:auto}
.foot-pay{border-top:1px solid var(--line)}
.foot-pay .page-width{display:flex;align-items:center;gap:18px;padding-top:16px;padding-bottom:16px;flex-wrap:wrap}
.pay-label{font-size:12.5px;color:var(--soft)}
.pay{display:flex;gap:8px;list-style:none;flex-wrap:wrap}
.pay img{height:26px;width:auto}
.foot-legal{border-top:1px solid var(--line)}
.foot-legal .page-width{display:flex;justify-content:space-between;gap:14px;padding-top:14px;padding-bottom:16px;font-size:12.5px;color:var(--soft);flex-wrap:wrap}
@media(max-width:880px){.foot{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.foot{grid-template-columns:1fr}}
