/* ---- base ---- */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--wp--preset--color--primary)}
a:hover{color:var(--wp--preset--color--deep)}
.unsle-container{width:min(100% - 2.5rem, 1200px);margin-inline:auto}

/* ---- buttons ---- */
.wp-block-button__link,.unsle-btn{display:inline-block;padding:.8em 1.9em;border-radius:999px;
  font-weight:600;text-decoration:none;background:var(--wp--preset--color--primary);color:#fff;border:0;cursor:pointer}
.unsle-btn:hover{background:var(--wp--preset--color--deep);color:#fff}
.unsle-btn--ghost{background:transparent;color:var(--wp--preset--color--deep);border:2px solid currentColor}
.unsle-btn--gold{background:var(--wp--preset--color--gold);color:var(--wp--preset--color--ink)}

/* ---- header ---- */
.unsle-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--wp--preset--color--mist)}
.unsle-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0}
.unsle-logo{font-size:1.6rem;font-weight:700;letter-spacing:.02em;color:var(--wp--preset--color--primary);text-decoration:none}
.unsle-logo span{color:#8a6d3b} /* darkened sand gold: 4.9:1 on white (AA); #C8A96A was 2.3:1 */
.unsle-footer .unsle-logo span{color:var(--wp--preset--color--gold)} /* on deep green: 4.2:1, AA large text */
.unsle-nav ul{display:flex;gap:1.6rem;list-style:none;margin:0;padding:0}
.unsle-nav a{text-decoration:none;font-weight:600;font-size:.95rem;color:var(--wp--preset--color--ink)}
.unsle-nav .current-menu-item > a,.unsle-nav a:hover{color:var(--wp--preset--color--primary)}
.unsle-nav .sub-menu{display:none;position:absolute;background:#fff;box-shadow:0 8px 24px rgba(0,79,71,.12);border-radius:8px;padding:.6rem .4rem;min-width:200px}
.unsle-nav li{position:relative}
.unsle-nav li:hover > .sub-menu,.unsle-nav li:focus-within > .sub-menu{display:block}
.unsle-nav-toggle{display:none;background:none;border:0;font-size:1.5rem;cursor:pointer;color:var(--wp--preset--color--deep);min-width:44px;min-height:44px} /* 44px minimum tap target (WCAG 2.5.5) */
@media (max-width:820px){
  .unsle-nav-toggle{display:block}
  .unsle-nav ul{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:#fff;padding:1rem 1.5rem;gap:.2rem;border-bottom:1px solid var(--wp--preset--color--mist)}
  .unsle-nav.open ul{display:flex}
  .unsle-nav .sub-menu{position:static;box-shadow:none;padding-left:1rem;display:block}
}

/* ---- sections / cards / footer ---- */
.unsle-section{padding-block:var(--wp--preset--spacing--xl)}
.unsle-section--mist{background:var(--wp--preset--color--mist)}
.unsle-section--deep{background:var(--wp--preset--color--deep);color:#fff}
.unsle-grid{display:grid;gap:1.5rem}
.unsle-grid--3{grid-template-columns:repeat(3,1fr)}
.unsle-grid--4{grid-template-columns:repeat(4,1fr)}
@media (max-width:960px){.unsle-grid--3,.unsle-grid--4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.unsle-grid--3,.unsle-grid--4{grid-template-columns:1fr}}
.unsle-card{background:#fff;border:1px solid var(--wp--preset--color--mist);border-radius:12px;overflow:hidden;transition:box-shadow .2s,transform .2s}
.unsle-card:hover{box-shadow:0 10px 30px rgba(0,79,71,.10);transform:translateY(-3px)}
.unsle-card:focus-visible{outline:2px solid var(--wp--preset--color--primary);outline-offset:2px}
.unsle-card__body{padding:1.1rem 1.2rem 1.3rem}
.unsle-empty{text-align:center;padding:3rem 1.5rem;background:var(--wp--preset--color--mist);border-radius:16px}
.unsle-empty p{margin:0 0 1.4rem;font-weight:600;color:var(--wp--preset--color--deep)}
.unsle-footer{background:var(--wp--preset--color--deep);color:#cfe3df}
.unsle-footer a{color:#fff;text-decoration:none}
.unsle-footer__cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem;padding-block:3.5rem}
@media (max-width:820px){.unsle-footer__cols{grid-template-columns:1fr}}
.unsle-footer__bottom{border-top:1px solid rgba(255,255,255,.15);padding-block:1.2rem;font-size:.85rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}

/* ---- forms ---- */
.unsle-field{margin-bottom:1rem}
.unsle-field label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.35rem}
.unsle-field input,.unsle-field select,.unsle-field textarea{width:100%;padding:.7rem .9rem;border:1px solid #cfdad7;border-radius:8px;font:inherit;background:#fff}
.unsle-field input:focus,.unsle-field textarea:focus,.unsle-field select:focus{outline:2px solid var(--wp--preset--color--primary);outline-offset:1px}
/* honeypot: tabindex="-1" autocomplete="off" set in HTML */
.unsle-hp{position:absolute;left:-9999px}
.unsle-form__status{font-weight:600;margin-top:.5rem}
.unsle-form__status.is-ok{color:var(--wp--preset--color--primary)}
.unsle-form__status.is-error{color:#b3261e}

/* ---- a11y utilities ---- */
a:focus-visible,button:focus-visible{outline:2px solid var(--wp--preset--color--primary);outline-offset:2px}
/* on dark grounds (hero, deep sections, footer) the green ring is low-contrast → white */
.unsle-hero a:focus-visible,.unsle-hero button:focus-visible,
.unsle-section--deep a:focus-visible,.unsle-section--deep button:focus-visible,
.unsle-footer a:focus-visible,.unsle-footer button:focus-visible{outline-color:#fff}
.screen-reader-text{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;position:absolute!important;word-wrap:normal!important}
.screen-reader-text:focus{clip-path:none;height:auto;width:auto;margin:0;left:5px;top:5px;position:fixed!important;z-index:100000;background:#fff;color:var(--wp--preset--color--deep);padding:.7rem 1.2rem;border-radius:0 0 8px 0;box-shadow:0 4px 12px rgba(0,0,0,.2)}

/* ---- admin bar offset ---- */
body.admin-bar .unsle-header{top:46px}
@media (min-width:783px){body.admin-bar .unsle-header{top:32px}}

/* ---- footer menu reset ---- */
.unsle-footer ul{list-style:none;margin:0;padding:0}
.unsle-footer li{margin-bottom:.4rem}

/* ---- blocks: hero ---- */
.unsle-hero{position:relative;min-height:72vh;display:flex;align-items:center;
  border-radius:0 0 48px 48px;overflow:hidden;background:var(--wp--preset--color--deep)}
.unsle-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* mist-gradient scrim keeps hero text >=4.5:1 contrast over any image */
.unsle-hero::before{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg,
    rgba(247,250,249,.10) 0%,
    rgba(0,79,71,.88) 12%,
    rgba(0,79,71,.72) 45%,
    rgba(0,79,71,.30) 100%)}
.unsle-hero__content{position:relative;z-index:2;color:#fff;max-width:640px;padding-block:4.5rem}
.unsle-hero__content h1{color:#fff;margin-top:.2rem}
.unsle-hero__eyebrow{letter-spacing:.15em;text-transform:uppercase;font-size:.8rem;
  color:#d9be85;margin:0 0 .6rem;font-weight:600} /* lightened gold: 5.3:1 on the deep scrim (AA at 0.8rem) */
.unsle-hero__text{font-size:1.05rem;line-height:1.7;color:#eef5f3}
.unsle-hero__actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.9rem}
.unsle-hero .unsle-btn--ghost{color:#fff}
.unsle-hero--split .unsle-hero__content{max-width:52%}
@media (max-width:820px){.unsle-hero--split .unsle-hero__content{max-width:640px}}

/* ---- blocks: product-grid ---- */
.unsle-product-grid__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:2.5rem}
@media (max-width:960px){.unsle-product-grid__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.unsle-product-grid__grid{grid-template-columns:1fr}}
.unsle-product-grid__cat{display:block;background:#fff;border:1px solid var(--wp--preset--color--mist);
  border-radius:12px;padding:1.2rem 1.3rem;text-decoration:none;color:var(--wp--preset--color--ink);
  transition:box-shadow .2s,transform .2s}
.unsle-product-grid__cat:hover{box-shadow:0 10px 30px rgba(0,79,71,.10);transform:translateY(-3px)}
.unsle-product-grid__cat h3{margin:0 0 .35rem;font-size:1.05rem;color:var(--wp--preset--color--primary)}
.unsle-product-grid__cat p{margin:0 0 .6rem;font-size:.9rem;line-height:1.55;color:#546663}
.unsle-product-grid__count{font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--wp--preset--color--deep)}

/* ---- blocks: industry-matrix ---- */
.unsle-matrix__card{display:block;background:#fff;border:1px solid var(--wp--preset--color--mist);
  border-radius:12px;padding:1.4rem 1.3rem;text-decoration:none;color:var(--wp--preset--color--ink);
  transition:box-shadow .2s,transform .2s}
.unsle-matrix__card:hover{box-shadow:0 10px 30px rgba(0,79,71,.10);transform:translateY(-3px)}
.unsle-matrix__card:focus-visible{outline:2px solid var(--wp--preset--color--primary);outline-offset:2px}
.unsle-matrix__icon{display:block;color:var(--wp--preset--color--primary);margin-bottom:.8rem}
.unsle-matrix__card h3{margin:0 0 .4rem;font-size:1.05rem;color:var(--wp--preset--color--primary)}
.unsle-matrix__card p{margin:0;font-size:.9rem;line-height:1.55;color:#546663}

/* ---- blocks: stats-counter ---- */
.unsle-stats__value{font-size:var(--wp--preset--font-size--xxlarge);font-weight:700;line-height:1.1;
  color:var(--wp--preset--color--gold)}
.unsle-stats__suffix{font-size:.55em;font-weight:600;margin-left:.05em}
.unsle-stats__label{margin-top:.45rem;font-size:.95rem;color:#fff}
@media (max-width:600px){.unsle-stats .unsle-grid--4{grid-template-columns:repeat(2,1fr)}} /* stats stay 2x2 on phones by design */

/* ---- blocks: cert-badge ---- */
.unsle-certs__row{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
@media (max-width:960px){.unsle-certs__row{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.unsle-certs__row{grid-template-columns:1fr}}
.unsle-certs__item{background:#fff;border:1px solid var(--wp--preset--color--mist);border-radius:12px;
  padding:1.4rem 1.2rem;text-align:center}
.unsle-certs__media{display:flex;align-items:center;justify-content:center;min-height:88px;margin-bottom:.9rem}
.unsle-certs__media img{max-height:80px;width:auto;object-fit:contain}
.unsle-certs__badge{display:inline-block;padding:.55rem 1.2rem;border:2px solid var(--wp--preset--color--primary);
  border-radius:999px;font-weight:700;letter-spacing:.08em;color:var(--wp--preset--color--primary)}
.unsle-certs__name{margin:0 0 .3rem;font-size:1rem;color:var(--wp--preset--color--deep)}
.unsle-certs__text{margin:0;font-size:.85rem;line-height:1.55;color:#546663}

/* ---- blocks: spec-table ---- */
.unsle-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px}
.unsle-spec-table{width:100%;border-collapse:collapse;background:#fff;
  border:1px solid var(--wp--preset--color--mist);border-radius:12px}
.unsle-spec-table th,.unsle-spec-table td{padding:.7rem .9rem;border-bottom:1px solid rgba(16,32,31,.10);
  text-align:left;font-size:.95rem;line-height:1.55;vertical-align:top}
.unsle-spec-table th[scope=row]{font-weight:700;width:40%;color:var(--wp--preset--color--deep)}
.unsle-spec-table td{color:#37473f}
.unsle-spec-table tbody tr:nth-of-type(even):not(.unsle-spec-table__group){background:var(--wp--preset--color--mist)}
.unsle-spec-table__group th{background:var(--wp--preset--color--deep);color:#fff;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;font-size:.82rem}

/* ---- blocks: faq-accordion ---- */
.unsle-faq{background:var(--wp--preset--color--mist);border-radius:12px;padding:0}
.unsle-faq+.unsle-faq{margin-top:.75rem}
.unsle-faq summary{font-weight:700;color:var(--wp--preset--color--deep);cursor:pointer;
  padding:1rem 1.2rem;list-style-position:outside}
.unsle-faq summary::-webkit-details-marker{color:var(--wp--preset--color--primary)}
.unsle-faq summary::marker{color:var(--wp--preset--color--primary)}
.unsle-faq summary:focus-visible{outline:2px solid var(--wp--preset--color--primary);outline-offset:2px;border-radius:12px}
.unsle-faq[open] summary{border-bottom:1px solid rgba(16,32,31,.08)}
.unsle-faq__answer{padding:.9rem 1.2rem 1.1rem;font-size:.95rem;line-height:1.65;color:#37473f}

/* ---- blocks: inquiry-form ---- */
/* full: two columns, message + submit span the row */
.unsle-inquiry--full .unsle-inquiry__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.25rem}
.unsle-inquiry--full .unsle-inquiry__field--wide{grid-column:1/-1}
.unsle-inquiry--full .unsle-inquiry__actions{margin-bottom:0}
/* footer: compact one-row strip (email | message | send), sits on the dark footer */
.unsle-inquiry--footer .unsle-inquiry__heading{margin:0 0 .75rem;font-size:1rem;color:#fff}
.unsle-inquiry--footer .unsle-inquiry__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto;gap:0 .75rem;align-items:end}
.unsle-inquiry--footer .unsle-field{margin-bottom:0}
.unsle-inquiry--footer .unsle-field label{font-size:.82rem;margin-bottom:.25rem}
.unsle-inquiry--footer .unsle-field input,.unsle-inquiry--footer .unsle-field textarea{padding:.55rem .7rem;font-size:.9rem}
.unsle-inquiry--footer .unsle-btn{padding:.62em 1.4em;font-size:.9rem;white-space:nowrap}
.unsle-inquiry--footer .unsle-form__status{font-size:.9rem;margin-top:.6rem}
/* footer sits on the deep background: base .is-ok/.is-error colors are unreadable there */
.unsle-inquiry--footer .unsle-form__status.is-ok{color:#7fe3cd}
.unsle-inquiry--footer .unsle-form__status.is-error{color:#ff9a8f}
.unsle-inquiry--footer .unsle-inquiry__noscript{font-size:.85rem;margin:.6rem 0 0}
@media (max-width:600px){
  .unsle-inquiry--full .unsle-inquiry__grid{grid-template-columns:1fr}
  .unsle-inquiry--footer .unsle-inquiry__grid{grid-template-columns:1fr}
  .unsle-inquiry--footer .unsle-field{margin-bottom:.75rem}
  .unsle-inquiry--footer .unsle-inquiry__actions .unsle-btn{width:100%}
}

/* ---- templates: single product ---- */
.unsle-pd__layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:2.5rem;align-items:start}
.unsle-pd__title{margin-top:0}
.unsle-pd__model{margin:.4rem 0 0;font-size:.95rem;color:#546663}
.unsle-pd__model strong{color:var(--wp--preset--color--deep)}
.unsle-pd__gallery{margin-top:1.5rem}
.unsle-pd__gallery-main{background:#fff;border:1px solid var(--wp--preset--color--mist);border-radius:16px;padding:1.5rem;text-align:center}
.unsle-pd__gallery-main img{max-height:440px;width:auto;display:inline-block}
.unsle-pd__gallery-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-top:.75rem}
.unsle-pd__gallery-thumbs img{width:100%;height:90px;object-fit:cover;border-radius:8px;border:1px solid var(--wp--preset--color--mist)}
.unsle-pd__content{margin-top:2rem}
.unsle-pd__aside{position:sticky;top:80px;align-self:start}
.unsle-pd__card{background:#fff;border:1px solid var(--wp--preset--color--mist);border-radius:16px;padding:1.5rem;box-shadow:0 10px 30px rgba(0,79,71,.08)}
.unsle-pd__card h2{margin:0} /* screen-reader heading keeps rhythm without extra space */
.unsle-pd__card-model{display:flex;justify-content:space-between;gap:1rem;margin:0 0 1rem;font-size:.95rem}
.unsle-pd__card-model span{color:#546663}
.unsle-pd__card-model strong{color:var(--wp--preset--color--deep)}
.unsle-pd__card-heading{font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--wp--preset--color--deep);margin:0 0 .6rem}
.unsle-pd__certs{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0 0 1.2rem;padding:0}
.unsle-pd__cert.unsle-certs__badge{font-size:.75rem;padding:.3rem .8rem;border-width:1.5px}
.unsle-pd__dls{list-style:none;margin:0 0 1.2rem;padding:0}
.unsle-pd__dls li+li{margin-top:.5rem}
.unsle-pd__dls a{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.6rem .8rem;
  border:1px solid var(--wp--preset--color--mist);border-radius:8px;text-decoration:none;font-size:.9rem}
.unsle-pd__dls a:hover{border-color:var(--wp--preset--color--primary);background:var(--wp--preset--color--mist)}
.unsle-pd__dl-title{font-weight:600;color:var(--wp--preset--color--ink)}
.unsle-pd__dl-size{font-size:.78rem;color:#546663;white-space:nowrap}
.unsle-pd__quote{display:block;text-align:center}
.unsle-pd__quote-note{font-size:.82rem;color:#546663;margin:.8rem 0 0;text-align:center}
.unsle-pd__inquiry{scroll-margin-top:80px}
@media (max-width:960px){
  .unsle-pd__layout{grid-template-columns:1fr}
  .unsle-pd__aside{position:static}
}
@media (min-width:783px){ /* sticky card / anchor clearance under the admin bar (matches header convention) */
  body.admin-bar .unsle-pd__aside{top:112px}
  body.admin-bar .unsle-pd__inquiry{scroll-margin-top:112px}
}

/* ---- templates: product archive ---- */
.unsle-archive__head{margin-bottom:2rem}
.unsle-archive__head h1{margin:0 0 .5rem}
.unsle-archive__desc{max-width:760px;color:#546663;line-height:1.65}
.unsle-archive__desc p{margin:.5rem 0 0}
.unsle-archive__layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:2.5rem;align-items:start;margin-top:2.5rem}
.unsle-archive__main .unsle-pagination{margin-top:2.5rem}
.unsle-archive__main .unsle-pagination .page-numbers.current{color:var(--wp--preset--color--deep);font-weight:700}
.unsle-archive__side-title{font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--wp--preset--color--deep);margin:0 0 .6rem}
.unsle-filters{list-style:none;margin:0 0 1.5rem;padding:0;background:#fff;border:1px solid var(--wp--preset--color--mist);border-radius:12px;overflow:hidden}
.unsle-filters ul{list-style:none;margin:0;padding:0 0 0 .9rem} /* nested .children */
.unsle-filter{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.6rem 1rem;
  text-decoration:none;font-weight:600;font-size:.92rem;color:var(--wp--preset--color--ink)}
.unsle-filter:hover{background:var(--wp--preset--color--mist);color:var(--wp--preset--color--primary)}
.unsle-filter--current{background:var(--wp--preset--color--primary);color:#fff}
.unsle-filter--current:hover{background:var(--wp--preset--color--deep);color:#fff}
.unsle-filter__count{font-weight:400;font-size:.8rem;color:#546663}
.unsle-filter--current .unsle-filter__count{color:#eef5f3}
.unsle-archive__cta{display:block;text-align:center;font-size:.92rem}
@media (max-width:960px){.unsle-archive__layout{grid-template-columns:1fr}}

/* ---- templates: solution / contact / 404 / default entry ---- */
.unsle-prose{max-width:820px}
.unsle-band{text-align:center}
.unsle-band p{color:#eef5f3;max-width:620px;margin-inline:auto}
.unsle-band__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:1.8rem}
.unsle-band .unsle-btn--ghost{color:#fff}
.unsle-solution__inquiry{scroll-margin-top:80px}
@media (min-width:783px){body.admin-bar .unsle-solution__inquiry{scroll-margin-top:112px}}
.unsle-contact__head{text-align:center;margin-bottom:2.5rem}
.unsle-contact__head h1{margin-bottom:.4rem}
.unsle-contact__lede{max-width:560px;margin-inline:auto;color:#546663}
.unsle-contact__cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;max-width:820px;margin:0 auto 2.5rem}
.unsle-contact__card{background:#fff;border:1px solid var(--wp--preset--color--mist);border-radius:16px;padding:1.6rem;text-align:center}
.unsle-contact__card h2{margin:0 0 .5rem;font-size:1rem;color:var(--wp--preset--color--primary)}
.unsle-contact__card p{margin:0;color:#37473f;line-height:1.65}
@media (max-width:600px){.unsle-contact__cards{grid-template-columns:1fr}}
.unsle-404{text-align:center;padding-block:5rem;max-width:640px}
.unsle-404__code{margin:0;font-size:5rem;line-height:1;font-weight:800;color:var(--wp--preset--color--mist);
  -webkit-text-stroke:2px var(--wp--preset--color--primary)}
.unsle-404 h1{margin:.6rem 0 .4rem}
.unsle-404__text{color:#546663}
.unsle-404__search{max-width:440px;margin:1.8rem auto}
.unsle-404__search form{display:flex;gap:.6rem}
.unsle-404__search label{position:absolute;clip-path:inset(50%);height:1px;width:1px;overflow:hidden}
.unsle-404__search input[type="search"]{flex:1;min-width:0;padding:.7rem 1rem;border:1px solid #cfdad7;border-radius:999px;font:inherit}
.unsle-404__search input[type="search"]:focus{outline:2px solid var(--wp--preset--color--primary);outline-offset:1px}
.unsle-404__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
