/* ==========================================================================
   Loomhide global styles: tokens, fonts, base, header, drawer, footer,
   buttons, cards, forms. Per-template styles live in /assets/css/pages/.
   ========================================================================== */

/* ---------- Fonts (bundled, relative paths) ---------- */
@font-face{font-family:'Geista Mond';font-weight:400;font-style:normal;font-display:swap;
  src:url('../fonts/geista-mond-regular.woff2') format('woff2')}
@font-face{font-family:'Hanken Grotesk';font-weight:100 900;font-style:normal;font-display:swap;
  src:url('../fonts/hanken-grotesk-var.woff2') format('woff2')}

/* ---------- Tokens ---------- */
:root{
  color-scheme:light;
  --lh-ink:#141414; --lh-vermilion:#C93D14; --lh-vermilion-deep:#A8300C;
  --lh-white:#FFFFFF; --lh-fog:#F4F5F3; --lh-line:#E2E4E0; --lh-stone:#5C605C;
  --lh-saddle:#8B4A28; --lh-saddle-tint:#F5E9DF; --lh-pine:#1F5A47; --lh-pine-tint:#E6EFEA;

  --lh-font-head:'Geista Mond',Georgia,'Times New Roman',serif;
  --lh-font-body:'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --lh-measure:66ch;

  --lh-sh-xs:0 1px 2px rgba(20,20,20,.06);
  --lh-sh-sm:0 2px 8px rgba(20,20,20,.07),0 1px 2px rgba(20,20,20,.05);
  --lh-sh-md:0 10px 30px rgba(20,20,20,.09),0 2px 6px rgba(20,20,20,.05);
  --lh-sh-lg:0 22px 54px rgba(20,20,20,.13),0 6px 16px rgba(20,20,20,.06);
  --lh-sh-xl:0 36px 90px rgba(20,20,20,.18),0 10px 24px rgba(20,20,20,.08);
  --lh-sh-cta:0 10px 24px rgba(201,61,20,.30);

  --lh-r-sm:8px; --lh-r-md:12px; --lh-r-lg:18px; --lh-r-xl:26px; --lh-r-pill:999px;
  --lh-ease:cubic-bezier(.2,.7,.2,1);

  /* Layout: defaults are the Laptop range (1440 to 1025) */
  --lh-container:1240px; --lh-gutter:40px; --lh-cols:12;
  --lh-header-h:84px; --lh-header-h-sticky:84px; --lh-header-inset:24px; --lh-header-max:1320px;
  --lh-h1:76px; --lh-h2:52px; --lh-h3:30px; --lh-body:18px; --lh-section:112px;
}
/* Widescreen: 2401px and up (designed at 2560) */
@media (min-width:2401px){
  :root{--lh-container:2000px;--lh-gutter:64px;--lh-cols:12;--lh-header-h:92px;--lh-header-inset:36px;--lh-header-max:2080px;
        --lh-h1:96px;--lh-h2:64px;--lh-h3:36px;--lh-body:20px;--lh-section:150px}
}
/* Desktop: 2400px to 1551px */
@media (max-width:2400px) and (min-width:1551px){
  :root{--lh-container:1560px;--lh-gutter:56px;--lh-cols:12;--lh-header-h:88px;--lh-header-inset:32px;--lh-header-max:1640px;
        --lh-h1:88px;--lh-h2:60px;--lh-h3:34px;--lh-body:19px;--lh-section:132px}
}
/* Large laptop: 1550px to 1441px */
@media (max-width:1550px) and (min-width:1441px){
  :root{--lh-container:1400px;--lh-gutter:48px;--lh-cols:12;--lh-header-h:84px;--lh-header-inset:28px;--lh-header-max:1480px;
        --lh-h1:82px;--lh-h2:56px;--lh-h3:32px;--lh-body:18.5px;--lh-section:120px}
}
/* Laptop: 1440px to 1025px */
@media (max-width:1440px) and (min-width:1025px){
  :root{--lh-container:1240px;--lh-gutter:40px;--lh-cols:12;--lh-header-h:84px;--lh-header-inset:24px;--lh-header-max:1320px;
        --lh-h1:76px;--lh-h2:52px;--lh-h3:30px;--lh-body:18px;--lh-section:112px}
}
/* Tablet landscape: 1024px to 769px */
@media (max-width:1024px) and (min-width:769px){
  :root{--lh-container:100%;--lh-gutter:32px;--lh-cols:8;--lh-header-h:76px;--lh-header-inset:20px;--lh-header-max:100%;
        --lh-h1:64px;--lh-h2:44px;--lh-h3:28px;--lh-body:17.5px;--lh-section:96px}
}
/* Tablet portrait: 768px to 601px */
@media (max-width:768px) and (min-width:601px){
  :root{--lh-container:100%;--lh-gutter:28px;--lh-cols:6;--lh-header-h:72px;--lh-header-inset:16px;--lh-header-max:100%;
        --lh-h1:54px;--lh-h2:38px;--lh-h3:26px;--lh-body:17px;--lh-section:80px}
}
/* Mobile: 600px to 200px */
@media (max-width:600px){
  :root{--lh-container:100%;--lh-gutter:20px;--lh-cols:4;--lh-header-h:68px;--lh-header-inset:12px;--lh-header-max:100%;
        --lh-h1:38px;--lh-h2:32px;--lh-h3:24px;--lh-body:16.5px;--lh-section:64px}
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--lh-header-h) + var(--lh-header-inset) + 20px)}
body{margin:0;background:var(--lh-white);color:var(--lh-ink);font-family:var(--lh-font-body);font-size:var(--lh-body);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video{max-width:100%;height:auto}
img{display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--lh-font-head);font-weight:400;font-synthesis:none;letter-spacing:0;margin:0}
h1{font-size:var(--lh-h1);line-height:1.05}
h2{font-size:var(--lh-h2);line-height:1.1}
h3{font-size:var(--lh-h3);line-height:1.15}
h4,h5,h6{font-family:var(--lh-font-body);font-weight:600;margin:0}
p{margin:0 0 1em;max-width:var(--lh-measure)}
ul,ol{margin:0;padding:0}
:focus-visible{outline:3px solid var(--lh-vermilion);outline-offset:3px;border-radius:6px}
.lh-skip{position:absolute;left:-9999px;top:8px;background:var(--lh-ink);color:#fff;padding:10px 16px;border-radius:var(--lh-r-sm);z-index:300}
.lh-skip:focus{left:12px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lh-container{width:min(var(--lh-container),100% - 2 * var(--lh-gutter));margin-inline:auto}
.lh-container--narrow{width:min(820px,100% - 2 * var(--lh-gutter))}
.lh-main{min-height:60vh}
.lh-icon{flex:none}
.lh-section{padding-block:var(--lh-section)}
.lh-section--tight{padding-block:calc(var(--lh-section) * .55)}
.lh-section--fog{background:var(--lh-fog)}
.lh-section-head{margin-bottom:clamp(28px,4vw,56px)}
.lh-section-head h2{margin-bottom:.35em}
.lh-section-head p{color:var(--lh-stone);font-size:1.05em}
.lh-section-head--split{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,5vw,80px);align-items:end}
.lh-section-head--split p{margin:0}
.lh-section-head--row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.lh-section-head--row h2{margin:0}
.lh-actions{display:flex;flex-wrap:wrap;gap:14px}

/* ---------- Buttons, links, chips ---------- */
.lh-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--lh-font-body);font-weight:600;font-size:16.5px;line-height:1;padding:18px 28px;border-radius:var(--lh-r-md);border:2px solid transparent;cursor:pointer;text-decoration:none;text-align:center;transition:transform .25s var(--lh-ease),box-shadow .25s var(--lh-ease),background-color .2s,color .2s,border-color .2s}
.lh-btn--primary{background:var(--lh-vermilion);color:#fff;box-shadow:var(--lh-sh-cta)}
.lh-btn--primary:hover{background:var(--lh-vermilion-deep);transform:translateY(-3px);box-shadow:0 16px 30px rgba(201,61,20,.36)}
.lh-btn--secondary{background:#fff;color:var(--lh-ink);border-color:var(--lh-ink)}
.lh-btn--secondary:hover{background:var(--lh-ink);color:#fff;transform:translateY(-3px);box-shadow:var(--lh-sh-md)}
.lh-btn--block{display:flex;width:100%}
.lh-btn:active{transform:translateY(-1px)}
.lh-link{color:var(--lh-vermilion);font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;transition:color .2s}
.lh-link:hover{color:var(--lh-vermilion-deep)}
.lh-chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px}
.lh-chips--inline{margin-bottom:18px}
.lh-chip{display:inline-flex;align-items:center;font-size:14px;font-weight:600;line-height:1;padding:9px 14px;border-radius:var(--lh-r-pill);text-decoration:none;transition:background-color .2s,color .2s,transform .2s var(--lh-ease)}
.lh-chip--leather{background:var(--lh-saddle-tint);color:var(--lh-saddle)}
.lh-chip--linen{background:var(--lh-pine-tint);color:var(--lh-pine)}
.lh-chip--white{background:#fff;color:var(--lh-ink);box-shadow:var(--lh-sh-sm)}
.lh-chip--fog{background:var(--lh-fog);color:var(--lh-ink)}
.lh-chip--ghost{background:#fff;color:var(--lh-ink);border:1px solid var(--lh-line)}
a.lh-chip:hover{transform:translateY(-2px)}
.lh-badge{position:absolute;top:14px;right:14px;background:var(--lh-ink);color:#fff;font-size:13px;font-weight:600;padding:6px 12px;border-radius:var(--lh-r-pill)}
.lh-pill{display:inline-flex;align-items:center;padding:11px 20px;border-radius:var(--lh-r-pill);border:1px solid var(--lh-line);background:#fff;font-weight:600;font-size:15.5px;text-decoration:none;box-shadow:var(--lh-sh-xs);transition:background-color .2s,color .2s,border-color .2s,transform .2s var(--lh-ease)}
.lh-pill:hover{border-color:var(--lh-ink);transform:translateY(-2px)}
.lh-pill.is-active{background:var(--lh-ink);color:#fff;border-color:var(--lh-ink)}
.lh-pill--sub{font-size:14.5px;padding:9px 16px}
.lh-notice{background:var(--lh-fog);border:1px solid var(--lh-line);border-radius:var(--lh-r-md);padding:14px 16px;font-size:15px}

/* ---------- Header (floating white container) ---------- */
.lh-header{position:fixed;top:var(--lh-header-inset);left:0;right:0;z-index:100;display:flex;justify-content:center;padding-inline:var(--lh-header-inset);pointer-events:none}
body.admin-bar .lh-header{top:calc(var(--lh-header-inset) + 32px)}
@media (max-width:782px){body.admin-bar .lh-header{top:calc(var(--lh-header-inset) + 46px)}}
.lh-header__bar{pointer-events:auto;width:min(100%,var(--lh-header-max));height:var(--lh-header-h);display:flex;align-items:center;justify-content:space-between;gap:24px;padding-inline:clamp(16px,2vw,30px);background:#fff;border-radius:var(--lh-r-lg);box-shadow:var(--lh-sh-lg);transition:height .35s var(--lh-ease),box-shadow .35s var(--lh-ease)}
.lh-header.is-stuck .lh-header__bar{height:var(--lh-header-h-sticky);box-shadow:var(--lh-sh-xl)}
.lh-logo{display:block;flex:none;line-height:0;color:var(--lh-ink);text-decoration:none}
.lh-logo__img{display:block;width:clamp(128px,12.5vw,190px);height:auto;transition:width .35s var(--lh-ease)}
.lh-header.is-stuck .lh-logo__img{width:clamp(120px,11vw,160px)}
.lh-nav{margin-inline:auto}
.lh-menu,.lh-drawer__menu{list-style:none;display:flex;gap:clamp(20px,2.2vw,34px);margin:0;padding:0}
.lh-menu a{display:block;padding:8px 0;font-weight:500;font-size:17px;text-decoration:none;border-bottom:2.5px solid transparent;transition:border-color .2s}
.lh-menu a:hover,.lh-menu .current-menu-item>a,.lh-menu .current-menu-ancestor>a,.lh-menu .current_page_item>a{border-bottom-color:var(--lh-vermilion)}
.lh-header__actions{display:flex;align-items:center;gap:12px}
.lh-header__cta{padding:16px 24px;font-size:16px;white-space:nowrap}
.lh-burger{display:none;width:48px;height:48px;border:1px solid var(--lh-line);border-radius:var(--lh-r-md);background:#fff;cursor:pointer;position:relative;padding:0}
.lh-burger__bar{position:absolute;left:13px;right:13px;height:2px;background:var(--lh-ink);border-radius:2px;transition:transform .3s var(--lh-ease),top .3s var(--lh-ease)}
.lh-burger__bar:nth-child(1){top:19px}
.lh-burger__bar:nth-child(2){top:27px}
.lh-burger[aria-expanded="true"] .lh-burger__bar:nth-child(1){top:23px;transform:rotate(45deg)}
.lh-burger[aria-expanded="true"] .lh-burger__bar:nth-child(2){top:23px;transform:rotate(-45deg)}

/* ---------- Drawer (tablet and mobile) ---------- */
.lh-drawer{position:fixed;inset:0;z-index:90;background:#fff;opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s linear .3s;overflow-y:auto;padding-top:calc(var(--lh-header-h) + var(--lh-header-inset) * 2)}
.lh-drawer.is-open{opacity:1;visibility:visible;transition:opacity .3s}
.lh-drawer__inner{width:min(720px,100% - 2 * var(--lh-gutter));margin-inline:auto;padding-block:28px 40px;display:flex;flex-direction:column;min-height:calc(100% - 20px);gap:32px}
.lh-drawer__menu{flex-direction:column;gap:0}
.lh-drawer__menu li{border-bottom:1px solid var(--lh-line);opacity:0;transform:translateY(14px);transition:opacity .4s var(--lh-ease),transform .4s var(--lh-ease)}
.lh-drawer.is-open .lh-drawer__menu li{opacity:1;transform:none}
.lh-drawer.is-open .lh-drawer__menu li:nth-child(1){transition-delay:.05s}
.lh-drawer.is-open .lh-drawer__menu li:nth-child(2){transition-delay:.1s}
.lh-drawer.is-open .lh-drawer__menu li:nth-child(3){transition-delay:.15s}
.lh-drawer.is-open .lh-drawer__menu li:nth-child(4){transition-delay:.2s}
.lh-drawer.is-open .lh-drawer__menu li:nth-child(5){transition-delay:.25s}
.lh-drawer__menu a{display:block;padding:18px 0;font-family:var(--lh-font-head);font-size:clamp(30px,6vw,40px);line-height:1.1;text-decoration:none}
.lh-drawer__foot{margin-top:auto;display:grid;gap:16px}
.lh-drawer__mail{font-weight:600;text-align:center}
html.lh-lock{overflow:hidden}

/* ---------- Footer (light) ---------- */
.lh-footer{border-top:1px solid var(--lh-line);padding-block:clamp(48px,6vw,88px) 28px;background:#fff}
.lh-footer__grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:clamp(24px,3vw,48px)}
.lh-footer__tag{color:var(--lh-stone);margin:16px 0 0;font-size:16px}
.lh-footer__loc{color:var(--lh-stone);font-size:15px;margin:6px 0 0}
.lh-logo--footer .lh-logo__img{width:190px}

.lh-footer__social {
    display: flex;
    margin-top: 20px;
    gap: 11px;
}

.lh-footer__social a {
    background: #f4f5f3;
    padding: 10px;
    border-radius: 100%;
}

.lh-footer__title{font-family:var(--lh-font-body);font-size:17px;font-weight:600;margin:0 0 14px}
.lh-footer__list{list-style:none;margin:0;padding:0;display:grid;gap:13px}
.lh-footer__list a{color:var(--lh-stone);text-decoration:none;font-size:15.5px;transition:color .2s}
.lh-footer__list a:hover{color:var(--lh-ink);text-decoration:underline;text-underline-offset:4px}

.lh-footer__list li {
    line-height: 1.2;
}

.lh-footer__bar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:clamp(36px,5vw,64px);padding-top:22px;border-top:1px solid var(--lh-line);font-size:14px;color:var(--lh-stone)}
.lh-footer__bar p{margin:0}
.lh-footer__legal{list-style:none;display:flex;gap:20px;margin:0;padding:0}
.lh-footer__legal a{text-decoration:none}
.lh-footer__legal a:hover{text-decoration:underline}

/* ---------- Page head, breadcrumb ---------- */
.lh-pagehead{position:relative;overflow:hidden;padding:calc(var(--lh-header-h) + var(--lh-header-inset) + clamp(36px,5vw,72px)) 0 clamp(36px,5vw,64px)}
.lh-pagehead__blob{position:absolute;right:-8%;top:-18%;width:clamp(260px,40vw,640px);aspect-ratio:1;border-radius:50%;background:var(--lh-fog)}
.lh-pagehead .lh-container{position:relative}
.lh-pagehead__title{font-size:var(--lh-h1);max-width:16ch}
.lh-pagehead__title--wide{max-width:22ch}
.lh-pagehead .lh-actions{margin-top:30px}
.lh-pagehead__lede{margin-top:18px;color:var(--lh-stone);font-size:1.12em;max-width:56ch}
.lh-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:0;font-size:14.5px;color:var(--lh-stone)}
.lh-crumbs li+li::before{content:"/";margin-right:8px;color:#9aa09a}
.lh-crumbs a{text-decoration:none}
.lh-crumbs a:hover{text-decoration:underline}

/* ---------- Grids and product cards ---------- */
.lh-grid{display:grid;gap:clamp(18px,2vw,30px)}
.lh-grid--4{grid-template-columns:repeat(4,1fr)}
.lh-grid--3{grid-template-columns:repeat(3,1fr)}
.post-type-archive-lh_product .lh-grid--3, .tax-lh_collection .lh-grid--3{grid-template-columns:repeat(4,1fr)}
.lh-card{background:#fff;border:1px solid var(--lh-line);border-radius:var(--lh-r-xl);box-shadow:var(--lh-sh-md);overflow:hidden;transition:transform .4s var(--lh-ease),box-shadow .4s var(--lh-ease)}
.lh-card:hover{transform:translateY(-8px);box-shadow:var(--lh-sh-lg)}
.lh-card__link{display:block;text-decoration:none;color:inherit;height:100%}
.lh-card__media{position:relative;margin:14px 14px 0;border-radius:calc(var(--lh-r-xl) - 8px);aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden}
.lh-card--leather .lh-card__media{background:var(--lh-saddle-tint)}
.lh-card--linen .lh-card__media{background:var(--lh-pine-tint)}
/* Pictures are shown whole (object-fit: contain) inside a fixed square. Change --lh-fit to 'cover' to fill the box instead. */
.lh-card__media .lh-img{width:100%;height:100%;object-fit:var(--lh-fit,contain)}
.lh-card__media .lh-img--placeholder{padding:10%}
.lh-card__media .lh-chip{position:absolute;left:12px;top:12px;box-shadow:var(--lh-sh-sm);background:#fff}
.lh-card--leather .lh-card__media .lh-chip{color:var(--lh-saddle)}
.lh-card--linen .lh-card__media .lh-chip{color:var(--lh-pine)}
.lh-card__body{padding:20px 22px 24px}
.lh-card__title{font-size:clamp(24px,2vw,28px);margin:0 0 6px}
.lh-card__spec{color:var(--lh-stone);font-size:15px;margin:0 0 16px;min-height:2.9em}
.lh-card__cta{display:inline-flex;align-items:center;gap:8px;color:var(--lh-vermilion);font-weight:600;font-size:15.5px}
.lh-card__cta .lh-icon{transition:transform .25s var(--lh-ease)}
.lh-card:hover .lh-card__cta .lh-icon{transform:translateX(5px)}

/* ---------- Prose (editor content) ---------- */
.lh-prose{font-size:1.04em}
.lh-prose>*+*{margin-top:1.1em}
.lh-prose h2{font-size:clamp(28px,3vw,40px);margin-top:1.6em}
.lh-prose h3{font-size:clamp(24px,2.4vw,30px);margin-top:1.4em}
.lh-prose ul,.lh-prose ol{padding-left:1.3em}
.lh-prose li+li{margin-top:.4em}
.lh-prose a{color:var(--lh-vermilion);text-underline-offset:4px}
.lh-prose img{border-radius:var(--lh-r-lg)}
.lh-post{padding-block:24px;border-bottom:1px solid var(--lh-line)}
.lh-post__title{font-size:clamp(28px,3vw,36px)}
.lh-post__title a{text-decoration:none}

/* ---------- Pagination, empty state ---------- */
.lh-pagination{margin-top:clamp(32px,4vw,56px)}
.lh-pagination ul{list-style:none;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:0;margin:0}
.lh-pagination .page-numbers{display:inline-flex;min-width:46px;height:46px;align-items:center;justify-content:center;padding-inline:14px;border:1px solid var(--lh-line);border-radius:var(--lh-r-md);text-decoration:none;font-weight:600;background:#fff}
.lh-pagination .page-numbers.current{background:var(--lh-ink);color:#fff;border-color:var(--lh-ink)}
.lh-pagination a.page-numbers:hover{border-color:var(--lh-ink)}
.lh-empty{text-align:left;max-width:640px}
.lh-empty h2{margin-bottom:12px}

/* ---------- Quote section and Contact Form 7 ---------- */
.lh-quote{background:var(--lh-fog);padding-block:clamp(48px,6vw,96px)}
.lh-quote__card{background:#fff;border-radius:clamp(22px,3vw,34px);box-shadow:var(--lh-sh-xl);padding:clamp(24px,4.5vw,64px);display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(28px,5vw,80px);align-items:start}
.lh-quote__title{font-size:var(--lh-h2);margin-bottom:.4em;max-width:12ch}
.lh-quote__lead{color:var(--lh-stone)}

.lh-form__field select {
    cursor: pointer;
}

.lh-form__note {
    margin-bottom: 20px !important;
}
.lh-form__note label {
    display: flex !important;
    align-items: center;
}
.lh-form__note input {
    margin-bottom: 4px !important;
    height: 17px !important;
    width: 17px !important;
    margin-right: 8px;
}

.lh-quote__list{list-style:none;display:grid;gap:10px;margin:22px 0 28px;padding:0;font-size:16px}
.lh-quote__list li{display:flex;gap:10px;align-items:flex-start}
.lh-quote__list .lh-icon{color:var(--lh-vermilion);margin-top:2px}
.lh-quote__actions{display:flex;flex-wrap:wrap;gap:16px 22px;align-items:center}

.lh-form__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.lh-form__field{margin:0 0 18px}
.lh-form__field label,.lh-quote__form label{display:block;font-weight:600;font-size:15px;margin-bottom:6px}
.lh-quote__form input[type=text],.lh-quote__form input[type=email],.lh-quote__form input[type=tel],.lh-quote__form input[type=number],.lh-quote__form input[type=url],.lh-quote__form select,.lh-quote__form textarea{width:100%;font:inherit;font-weight:400;font-size:16.5px;color:var(--lh-ink);background:#fff;border:1.5px solid #8E938E;border-radius:var(--lh-r-sm);padding:14px 16px;transition:border-color .2s,box-shadow .2s}
.lh-quote__form textarea{min-height:120px;height:120px;resize:vertical}
.lh-quote__form input:focus,.lh-quote__form select:focus,.lh-quote__form textarea:focus{outline:none;border-color:var(--lh-ink);box-shadow:0 0 0 4px rgba(201,61,20,.18)}
.lh-quote__form .wpcf7-form p{max-width:none;margin:0}
.lh-quote__form .wpcf7-form-control-wrap{display:block}
.lh-quote__form .wpcf7-submit{width:auto;display:inline-flex;font-family:var(--lh-font-body);font-weight:600;font-size:16.5px;padding:18px 32px;border:2px solid transparent;border-radius:var(--lh-r-md);background:var(--lh-vermilion);color:#fff;cursor:pointer;box-shadow:var(--lh-sh-cta);transition:transform .25s var(--lh-ease),background-color .2s,box-shadow .25s}
.lh-quote__form .wpcf7-submit:hover{background:var(--lh-vermilion-deep);transform:translateY(-3px)}

.lh-quote__form .wpcf7-not-valid-tip{color:var(--lh-vermilion);font-size:14px;margin-top:5px}
.lh-quote__form .wpcf7-not-valid{border-color:var(--lh-vermilion)}
.lh-quote__form .wpcf7 form .wpcf7-response-output{margin:20px 0 0;padding:14px 16px;border-radius:var(--lh-r-sm);border:1.5px solid var(--lh-line);font-size:15px}
.lh-quote__form .wpcf7 form.sent .wpcf7-response-output{border-color:#17653a;background:#EAF5EE}
.lh-quote__form .wpcf7 form.invalid .wpcf7-response-output,.lh-quote__form .wpcf7 form.failed .wpcf7-response-output{border-color:var(--lh-vermilion)}
.lh-quote__form .wpcf7-acceptance label{font-weight:400;font-size:14.5px}

/* ---------- Scroll reveal base (animated by GSAP; visible by default without JS) ---------- */
.lh-anim [data-reveal]:not(.is-in){opacity:0;transform:translateY(28px)}

/* ---------- Responsive ---------- */
@media (max-width:1550px) and (min-width:1025px){.lh-footer__grid{grid-template-columns:1.4fr repeat(4,1fr)}}
@media (max-width:1024px){
  .lh-nav,.lh-header__cta{display:none}
  .lh-burger{display:block}
  .lh-header__bar{padding-right:12px}
  .lh-grid--4{grid-template-columns:repeat(2,1fr)}
  .lh-grid--3{grid-template-columns:repeat(2,1fr) !important;}
  .lh-quote__card{grid-template-columns:1fr}
  .lh-quote__title{max-width:none}
  .lh-footer__grid{grid-template-columns:repeat(2,1fr)}
  .lh-footer__brand{grid-column:1/-1}
  .lh-section-head--split{grid-template-columns:1fr}
}
@media (max-width:768px){
  .lh-form__row{grid-template-columns:1fr;gap:0}
}
@media (max-width:600px){
  .lh-grid--4,.lh-grid--3{grid-template-columns:1fr !important;}
  .lh-footer__grid{grid-template-columns:1fr}
  .lh-btn{padding:17px 22px}
  .lh-actions .lh-btn{width:100%}
}
@media (max-width:360px){
  .lh-logo__img{width:112px}
  .lh-burger{width:44px;height:44px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .lh-anim [data-reveal]:not(.is-in){opacity:1;transform:none}
}










/* ===== Form polish for the global form (Contact page and quote section above the footer) ===== */

.lh-quote__form select{appearance:none;padding-right:42px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23141414' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center/18px}
.lh-quote__form .wpcf7-acceptance input{width:auto;margin-right:8px}



/* ===== Form feedback: spinner, loading state, hidden empty messages (global form and popup form) ===== */
.lh-quote__form .wpcf7 form .wpcf7-spinner,
.lh-popup__form .wpcf7 form .wpcf7-spinner{display:inline-block;visibility:hidden;width:26px;height:26px;margin:0 0 0 16px;padding:0;vertical-align:middle;background:none;opacity:1;border:3px solid var(--lh-line);border-top-color:var(--lh-vermilion);border-radius:50%;animation:lhSpin .7s linear infinite}
.lh-quote__form .wpcf7 form:is(.submitting,[data-status="submitting"]) .wpcf7-spinner,
.lh-popup__form .wpcf7 form:is(.submitting,[data-status="submitting"]) .wpcf7-spinner{visibility:visible}
.lh-quote__form .wpcf7 form:is(.submitting,[data-status="submitting"]) .wpcf7-submit,
.lh-popup__form .wpcf7 form:is(.submitting,[data-status="submitting"]) .wpcf7-submit{opacity:.7;pointer-events:none}
@keyframes lhSpin{to{transform:rotate(360deg)}}

.wpcf7 .screen-reader-response{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}
.lh-quote__form .wpcf7 form .wpcf7-response-output,
.lh-popup__form .wpcf7 form .wpcf7-response-output{display:none}
.lh-quote__form .wpcf7 form:is(.sent,.invalid,.unaccepted,.failed,.aborted,.spam,[data-status="sent"],[data-status="invalid"],[data-status="unaccepted"],[data-status="failed"],[data-status="aborted"],[data-status="spam"]) .wpcf7-response-output,
.lh-popup__form .wpcf7 form:is(.sent,.invalid,.unaccepted,.failed,.aborted,.spam,[data-status="sent"],[data-status="invalid"],[data-status="unaccepted"],[data-status="failed"],[data-status="aborted"],[data-status="spam"]) .wpcf7-response-output{display:block}

/* Consent line (used instead of the checkbox) and the look of a disabled submit button */
.lh-form__note{margin:0 0 18px;font-size:14.5px;color:var(--lh-stone)}
.lh-quote__form .wpcf7-submit[disabled],
.lh-popup__form .wpcf7-submit[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}

fieldset.hidden-fields-container {
    border: none;
}