/* =====================================================================
   Technologya storefront structure, October 2026
   Header bars, product cards, carousels, category pages and the product
   page, in the Navy & Signal palette. Tokens come from site.css.
   Source of truth: assets/shop.css in the project repo.
   ===================================================================== */

/* Elementor wraps each shortcode in padded containers; these run edge to edge */
body .tya-bare{padding:0!important;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--gap:0px;max-width:none!important}
body .tya-bare > .e-con-inner{max-width:none!important;padding:0!important;gap:0!important}
body .tya-bare .elementor-widget-shortcode,body .tya-bare .elementor-widget-container,body .tya-bare .elementor-shortcode{width:100%;padding:0!important;margin:0!important}

.tya-wrap,.tyh-wrap{max-width:1400px;margin:0 auto;padding-left:32px;padding-right:32px;box-sizing:border-box}
.tya-i{width:1em;height:1em;flex:0 0 auto}
.tyh a,.tya-arch a,.tya-pdp a,.tya-sect a,.tya-tiles a{text-decoration:none}
.tyh :focus-visible,.tya-arch :focus-visible,.tya-pdp :focus-visible,.tya-sect :focus-visible,.tya-tiles :focus-visible{outline:3px solid var(--h-blue);outline-offset:2px}

/* ================================================================ header */
.tyh{font-family:var(--h-body);color:var(--h-ink);background:#fff;position:relative;z-index:50}
.tyh-promo{margin:0;background:var(--h-night);color:#fff;text-align:center;font-size:15px;font-weight:600;padding:10px 16px;line-height:1.4}
body .tyh-promo a{color:var(--h-cyan);font-weight:700;text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:4px 2px;margin:-4px 0}
.tyh-util{background:var(--h-blue);color:#fff;font-size:12.5px}
.tyh-util .tyh-wrap{display:flex;align-items:center;gap:24px;min-height:38px}
.tyh-util__msg{margin:0;display:flex;align-items:center;gap:8px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;flex:1 1 auto}
.tyh-util__msg .tya-i{font-size:17px}
.tyh-util__links{display:flex;list-style:none;margin:0;padding:0}
.tyh-util__links li+li{border-left:1px solid rgba(255,255,255,.45)}
body .tyh-util a{color:#fff;font-weight:600}
.tyh-util__links a{padding:0 10px;display:block}
.tyh-util__links a:hover,.tyh-util__mail:hover{text-decoration:underline}
.tyh-util__mail{display:flex;align-items:center;gap:8px}
.tyh-util__mail .tya-i{font-size:16px}
.tyh-util__mail span{font-weight:400;opacity:.9}
.tyh-drawer__links small{color:var(--h-muted);font-weight:400}

.tyh-main .tyh-wrap{display:grid;grid-template-columns:auto minmax(260px,640px) auto;align-items:center;gap:28px;justify-content:space-between;min-height:80px}
.tyh-burger{display:none}
body a.tyh-logo{color:var(--h-ink);display:flex;align-items:center;gap:10px;padding:8px 0}
.tyh-logo .tya-lockup__mark{width:34px;height:auto;color:var(--h-blue)}
.tyh-logo .tya-lockup__name{font-family:var(--h-display);font-weight:700;font-size:23px;letter-spacing:-.03em}
.tyh-search{display:flex;border:1px solid var(--h-line);border-radius:6px;background:#fff;overflow:hidden;width:100%}
.tyh-search:focus-within{border-color:var(--h-blue);box-shadow:0 0 0 3px rgba(32,102,195,.15)}
.tyh-search input[type=search]{flex:1;border:0!important;background:transparent!important;font:500 16px/1 var(--h-body)!important;color:var(--h-ink)!important;padding:13px 16px!important;min-width:0;outline:0!important;box-shadow:none!important;height:auto!important}
.tyh-search input::placeholder{color:var(--h-muted)}
.tyh-search button{border:0!important;border-left:1px solid var(--h-line)!important;background:var(--h-ground)!important;color:var(--h-ink)!important;width:56px;display:flex;align-items:center;justify-content:center;font-size:22px;cursor:pointer;padding:0!important;border-radius:0!important}
.tyh-search button:hover{background:var(--h-ice)!important}
.tyh-acts{display:flex;align-items:center;gap:26px}
body a.tyh-act{display:flex;align-items:center;gap:10px;color:var(--h-ink);position:relative;line-height:1.15}
.tyh-act>.tya-i{font-size:30px}
.tyh-act>span{display:flex;flex-direction:column}
.tyh-act b{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.tyh-act small{font-size:13px;color:var(--h-muted)}
body a.tyh-act:hover b{color:var(--h-blue)}
.tyh-cart__n{position:absolute;left:18px;top:-8px;min-width:20px;height:20px;border-radius:10px;background:var(--h-blue);color:#fff;font:700 11.5px/20px var(--h-body);text-align:center;padding:0 5px;font-style:normal;box-sizing:border-box}

.tyh-nav{border-top:1px solid var(--h-line);border-bottom:1px solid var(--h-line);background:#fff}
.tyh-menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0 6px}
.tyh-menu__item{position:relative;display:flex;align-items:center}
body .tyh-menu__item>a{display:flex;align-items:center;gap:6px;padding:14px 4px 14px 14px;font-weight:700;font-size:16px;color:var(--h-ink)}
.tyh-menu__item:not(.has-kids)>a{padding-right:14px}
body .tyh-menu__item>a:hover{color:var(--h-blue)}
body .tyh-menu__item.is-deal>a{color:var(--h-blue)}
.tyh-menu__item.is-deal .tya-i{color:var(--h-cyan-deep);font-size:18px}
.tyh-menu__toggle{background:none!important;border:0!important;padding:14px 10px 14px 2px!important;color:var(--h-ink)!important;cursor:pointer;font-size:15px;display:flex;border-radius:0!important}
.tyh-menu__toggle .tya-i{transition:transform .15s}
.tyh-menu__toggle[aria-expanded=true] .tya-i{transform:rotate(180deg)}
.tyh-sub{list-style:none;margin:0;padding:8px;position:absolute;top:100%;left:4px;min-width:230px;background:#fff;border:1px solid var(--h-line);border-radius:10px;box-shadow:0 18px 40px -16px rgba(14,43,79,.35);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s,transform .15s,visibility .15s;z-index:60}
.tyh-menu__item.has-kids:hover>.tyh-sub,.tyh-menu__item.has-kids:focus-within>.tyh-sub,.tyh-menu__item.is-open>.tyh-sub{opacity:1;visibility:visible;transform:none}
body .tyh-sub a{display:block;padding:10px 12px;border-radius:6px;color:var(--h-ink);font-weight:600;font-size:15px}
body .tyh-sub a:hover{background:var(--h-ground);color:var(--h-blue)}
.tyh-sub__all{border-top:1px solid var(--h-line);margin-top:6px;padding-top:6px}
body .tyh-sub__all a{color:var(--h-blue)}

.tyh-usp{list-style:none;margin:0;padding:11px 32px;background:var(--h-ground);display:flex;justify-content:space-around;gap:24px;color:var(--h-muted);font-size:14.5px;border-bottom:1px solid var(--h-line)}
.tyh-usp li{display:flex;align-items:center;gap:10px;white-space:nowrap}
.tyh-usp .tya-i{font-size:22px;color:var(--h-ink)}
.tyh-usp b{color:var(--h-ink);font-weight:700}

.tyh-tick{display:flex;align-items:stretch;background:var(--h-cyan);color:var(--h-night);overflow:hidden}
.tyh-tick__label{margin:0;display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--h-night);color:#fff;font-weight:800;font-size:15px;flex:0 0 auto;position:relative;z-index:1}
.tyh-tick__label .tya-i{color:var(--h-cyan);font-size:18px}
.tyh-tick__view{display:flex;overflow:hidden;flex:1;mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent)}
.tyh-tick__row{display:flex;list-style:none;margin:0;padding:0;flex:0 0 auto;animation:tyh-tick 48s linear infinite}
.tyh-tick:hover .tyh-tick__row,.tyh-tick:focus-within .tyh-tick__row{animation-play-state:paused}
.tyh-tick__row li{display:flex;align-items:center;padding:0 28px}
body .tyh-tick a{display:flex;align-items:center;gap:12px;color:var(--h-night);font-weight:700;font-size:14.5px;text-transform:uppercase;white-space:nowrap;letter-spacing:.01em}
body .tyh-tick a:hover{text-decoration:underline}
.tyh-tick i{font-style:normal;background:#fff;color:var(--h-night);border-radius:5px;padding:3px 9px;font-size:12px;font-weight:800;letter-spacing:.04em}
@keyframes tyh-tick{from{transform:translateX(0)}to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){.tyh-tick__row{animation:none}.tyh-tick__view{overflow-x:auto}.tyh-tick__row[aria-hidden]{display:none}}

/* drawer (phones and tablets) */
.tyh-drawer{position:fixed;inset:0;z-index:100000}
.tyh-drawer__scrim{position:absolute;inset:0;background:rgba(10,25,47,.5);opacity:0;transition:opacity .2s}
.tyh-drawer__panel{position:absolute;top:0;left:0;bottom:0;width:min(88vw,380px);background:#fff;z-index:1;overflow-y:auto;transform:translateX(-100%);transition:transform .22s ease;font-family:var(--h-body);display:flex;flex-direction:column}
.tyh-drawer.is-open .tyh-drawer__panel{transform:none}
.tyh-drawer.is-open .tyh-drawer__scrim{opacity:1}
.tyh-drawer__head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--h-night);color:#fff}
.tyh-drawer__title{font-family:var(--h-display);font-weight:700;font-size:20px}
.tyh-drawer__close{background:none!important;border:0!important;color:#fff!important;font-size:26px;padding:6px!important;display:flex;cursor:pointer}
.tyh-drawer .tyh-menu{display:block;padding:6px 0}
.tyh-drawer .tyh-menu__item{flex-wrap:wrap;border-bottom:1px solid var(--h-line)}
body .tyh-drawer .tyh-menu__item>a{flex:1;padding:16px 18px;font-size:17px}
.tyh-drawer .tyh-menu__toggle{padding:16px 18px!important;font-size:18px}
.tyh-drawer .tyh-sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-radius:0;background:var(--h-ground);width:100%;display:none;padding:6px 12px 10px}
.tyh-drawer .tyh-menu__item.is-open>.tyh-sub{display:block}
.tyh-drawer__links{list-style:none;margin:0;padding:12px 0 24px}
body .tyh-drawer__links a{display:flex;align-items:center;gap:12px;padding:12px 18px;color:var(--h-ink);font-weight:600;font-size:16px}
.tyh-drawer__links .tya-i{font-size:20px;color:var(--h-blue)}
html.tyh-locked,html.tyh-locked body{overflow:hidden}

@media (max-width:1200px){
  .tyh-act--help{display:none!important}
  .tyh-util__mail{display:none!important}
  .tyh-usp li:nth-child(4){display:none}
}
@media (max-width:1024px){
  .tyh-util{display:none}
  .tyh-main .tyh-wrap{grid-template-columns:auto 1fr auto;grid-template-areas:"burger logo acts" "search search search";gap:10px 14px;padding-top:10px;padding-bottom:12px;min-height:0}
  .tyh-burger{display:flex;grid-area:burger;background:none!important;border:0!important;color:var(--h-ink)!important;font-size:28px;padding:6px!important;cursor:pointer}
  .tyh-logo{grid-area:logo}
  .tyh-search{grid-area:search}
  .tyh-acts{grid-area:acts;gap:16px}
  .tyh-act span{display:none!important}
  .tyh-act>.tya-i{font-size:27px}
  .tyh-nav{display:none}
  .tyh-usp{justify-content:flex-start;overflow-x:auto;scrollbar-width:none;padding:9px 16px;font-size:13px;gap:28px}
  .tyh-usp li:nth-child(4){display:flex}
  .tyh-usp::-webkit-scrollbar{display:none}
}
@media (max-width:767px){
  body .woocommerce-form__input-checkbox,body input[type=checkbox]{min-width:20px;min-height:20px}
  .tya-wrap,.tyh-wrap{padding-left:16px;padding-right:16px}
  .tyh-promo{font-size:13px;padding:8px 12px}
  .tyh-logo .tya-lockup__name{font-size:20px}
  .tyh-logo .tya-lockup__mark{width:28px}
  .tyh-search input[type=search]{padding:11px 14px!important}
  .tyh-tick__label{padding:9px 12px;font-size:13px}
  body .tyh-tick a{font-size:13px}
}

/* ================================================================= cards */
.tyc{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:14px;height:100%;box-sizing:border-box;font-family:var(--h-body);transition:box-shadow .18s,transform .18s}
.tyc:hover{box-shadow:0 16px 36px -18px rgba(14,43,79,.35);transform:translateY(-2px)}
.tyc__media{display:block;background:var(--h-ground);border-radius:14px 14px 0 0;aspect-ratio:1/1;overflow:hidden}
.tyc__img{width:100%!important;height:100%!important;object-fit:contain;mix-blend-mode:multiply;padding:5%;box-sizing:border-box;transition:transform .3s}
.tyc:hover .tyc__img{transform:scale(1.04)}
.tyc__badges{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;pointer-events:none}
.tyc__badge{background:var(--h-cyan);color:var(--h-night);font-weight:800;font-size:12.5px;text-transform:uppercase;letter-spacing:.02em;border-radius:999px;padding:5px 12px;line-height:1.2}
.tyc__badge--sale{background:var(--sale,#C4372F);color:#fff}
.tyc__body{display:flex;flex-direction:column;gap:6px;padding:16px 16px 18px;flex:1}
.tyc__brand{margin:0;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--h-muted)}
.tyc__title{margin:0!important;font-family:var(--h-body)!important;font-size:16.5px!important;font-weight:600!important;line-height:1.35!important;letter-spacing:0!important}
body .tyc__title a{color:var(--h-ink)}
body .tyc__title a:hover{color:var(--h-blue)}
.tyc__oos{font-size:13px;font-weight:700;color:#C4372F}
.tyc__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:auto;padding-top:10px}
.tyc__price{margin:0;display:flex;flex-direction:column;line-height:1.1}
.tyc__from{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--h-muted)}
.tyc__now{font-family:var(--h-display);font-weight:700;font-size:21px;color:var(--h-blue)}
.tyc__was{font-size:13px;color:var(--h-muted)}
body a.tyc__buy{display:inline-flex;align-items:center;gap:7px;background:var(--h-cyan);color:var(--h-night);font-weight:800;font-size:14px;border-radius:999px;padding:10px 16px;white-space:nowrap;transition:background .15s}
body a.tyc__buy:hover{background:var(--h-cyan-deep)}
.tyc__buy .tya-i{font-size:17px}

/* rail variant: framed image, offer badge, Buy now bar */
.tyc--rail{padding:16px;box-shadow:0 1px 0 rgba(14,43,79,.04),0 6px 20px -14px rgba(14,43,79,.25)}
.tyc--rail .tyc__media{border-radius:10px;background:var(--h-ice-soft)}
.tyc--rail .tyc__badges{top:22px;left:22px}
.tyc--rail .tyc__body{padding:16px 2px 0}
.tyc--rail .tyc__title{font-size:17px!important;font-weight:500!important;min-height:2.7em}
body a.tyc__bar{margin-top:auto;display:flex;align-items:center;gap:8px;background:var(--h-ground);border-radius:8px;padding:11px 14px;color:var(--h-ink);font-weight:600;font-size:15px;transition:background .15s}
body a.tyc__bar:hover{background:var(--h-ice)}
.tyc__bar .tya-i{font-size:17px}
.tyc__bar .tyc__price{margin-left:auto;flex-direction:row;align-items:baseline;gap:6px}
.tyc__bar .tyc__from{font-size:11px}
.tyc__bar .tyc__now{font-size:18px}

.tya-stars{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--h-muted)}
.tya-stars__bar{width:90px;height:16px;background:linear-gradient(90deg,#F5B300 var(--r),#D5DCE6 var(--r));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 16'%3E%3Cg%3E%3Cpath id='s' d='M8 0l2.4 5 5.6.6-4.2 3.8 1.2 5.6L8 12.2 3 15l1.2-5.6L0 5.6 5.6 5z'/%3E%3Cuse href='%23s' x='18.5'/%3E%3Cuse href='%23s' x='37'/%3E%3Cuse href='%23s' x='55.5'/%3E%3Cuse href='%23s' x='74'/%3E%3C/g%3E%3C/svg%3E") no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 16'%3E%3Cg%3E%3Cpath id='s' d='M8 0l2.4 5 5.6.6-4.2 3.8 1.2 5.6L8 12.2 3 15l1.2-5.6L0 5.6 5.6 5z'/%3E%3Cuse href='%23s' x='18.5'/%3E%3Cuse href='%23s' x='37'/%3E%3Cuse href='%23s' x='55.5'/%3E%3Cuse href='%23s' x='74'/%3E%3C/g%3E%3C/svg%3E") no-repeat}

/* ================================================================= rails */
.tya-rail{position:relative}
.tya-rail__track{list-style:none;margin:0;padding:6px 2px 18px;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 4 * 20px) / 5);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.tya-rail__track::-webkit-scrollbar{display:none}
.tya-rail__track>li{scroll-snap-align:start}
.tya-rail__btn{position:absolute;top:42%;width:46px;height:46px;border-radius:50%;border:0!important;background:rgba(88,106,128,.55)!important;color:#fff!important;display:flex;align-items:center;justify-content:center;font-size:22px;cursor:pointer;z-index:2;padding:0!important;transition:background .15s,opacity .15s}
.tya-rail__btn:hover{background:var(--h-blue)!important}
.tya-rail__btn:disabled{opacity:0;pointer-events:none}
.tya-rail__btn--prev{left:-23px}
.tya-rail__btn--next{right:-23px}
.tya-rail.is-static .tya-rail__btn{display:none}
@media (max-width:1280px){.tya-rail__track{grid-auto-columns:calc((100% - 3 * 20px) / 4)}}
@media (max-width:1024px){.tya-rail__track{grid-auto-columns:calc((100% - 2 * 16px) / 3);gap:16px}.tya-rail__btn--prev{left:-8px}.tya-rail__btn--next{right:-8px}}
@media (max-width:767px){.tya-rail__track{grid-auto-columns:72%;gap:12px}.tya-rail__btn{display:none}}

/* ======================================================= homepage sections */
.tya-sect{padding:60px 0 44px;background:var(--h-ground);font-family:var(--h-body)}
.tya-sect:nth-of-type(even){background:#E8F0F9}
.tya-sect__title{margin:0 0 14px!important;font-family:var(--h-display)!important;font-weight:700!important;font-size:clamp(28px,3vw,38px)!important;text-transform:uppercase;letter-spacing:-.01em!important;color:var(--h-ink)!important;line-height:1.1!important}
.tya-sect__lede{margin:0 0 26px;padding-bottom:24px;border-bottom:1px solid #B7C6D6;font-size:17px;line-height:1.6;color:var(--h-ink);max-width:none}
.tya-pills{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 26px}
.tya-pills button,body .tya-pills a.tya-pill{background:#fff!important;color:var(--h-ink)!important;border:0!important;border-radius:999px!important;padding:11px 20px!important;font:600 14.5px/1 var(--h-body)!important;cursor:pointer;box-shadow:0 2px 8px -4px rgba(14,43,79,.2);text-transform:none!important;letter-spacing:0!important}
.tya-pills button[aria-selected=true]{background:var(--h-blue)!important;color:#fff!important}
.tya-pills button:hover,body .tya-pills a.tya-pill:hover{box-shadow:0 0 0 2px var(--h-blue)}
.tya-brandchips{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
body .tya-brandchips a{display:flex;flex-direction:column;gap:4px;background:#fff;border-radius:12px;padding:22px;color:var(--h-ink);border-left:4px solid var(--h-cyan)}
.tya-brandchips b{font-family:var(--h-display);font-size:22px}
.tya-brandchips span{color:var(--h-muted);font-size:14px}

.tya-tiles{padding:40px 0;background:var(--h-ground)}
.tya-tiles__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tya-tile{position:relative;display:flex;flex-direction:column;align-items:center;height:235px;border-radius:12px;overflow:hidden;padding:20px 16px 0;box-sizing:border-box;isolation:isolate;transition:transform .18s,box-shadow .18s}
.tya-tile:hover{transform:translateY(-3px);box-shadow:0 18px 34px -18px rgba(14,43,79,.45)}
.tya-tile__name{font-family:var(--h-display);font-weight:700;font-size:clamp(24px,2.7vw,40px);text-transform:uppercase;letter-spacing:-.01em;line-height:1;color:var(--h-ink);text-align:center;z-index:1}
.tya-tile__imgs{flex:1 1 0;display:flex;align-items:flex-end;justify-content:center;width:100%;min-height:0;margin-top:8px}
.tya-tile__img{height:118%!important;width:auto!important;max-width:34%;object-fit:contain;object-position:bottom;mix-blend-mode:multiply;margin:0 -4% -6%;transition:transform .25s}
.tya-tile:hover .tya-tile__img{transform:translateY(-4px)}
.tya-tile::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 120%,rgba(255,255,255,.85) 0,rgba(255,255,255,0) 60%)}
.tya-tile--1{background:linear-gradient(135deg,#D3F3F9 0%,#9FE3F0 100%)}
.tya-tile--2{background:linear-gradient(135deg,#DCEAFB 0%,#AFCDF5 100%)}
.tya-tile--3{background:linear-gradient(135deg,#E3EEF9 0%,#C3D6EE 100%)}
.tya-tile--4{background:linear-gradient(135deg,#E2F6FB 0%,#B5E3F2 60%,#C9DDF6 100%)}
.tya-tile--5{background:linear-gradient(135deg,#E9F1FB 0%,#C7DBF6 100%)}
.tya-tile--6{background:linear-gradient(135deg,#D8F1F6 0%,#BFD9F5 100%)}
@media (max-width:1024px){.tya-tiles__grid{grid-template-columns:repeat(2,1fr);gap:14px}.tya-tile{height:210px}}
@media (max-width:767px){.tya-tiles{padding:20px 0}.tya-tiles__grid{gap:10px}.tya-tile{padding-top:14px;height:160px}.tya-tile__name{font-size:20px}.tya-sect{padding:40px 0 30px}.tya-sect__lede{font-size:15.5px;margin-bottom:18px;padding-bottom:18px}.tya-pills{gap:8px;margin-bottom:18px}.tya-pills button,body .tya-pills a.tya-pill{padding:10px 15px!important;font-size:13.5px!important}}

/* =========================================================== breadcrumb */
.tya-bc ol{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-family:var(--h-body);font-size:14px;color:var(--h-muted)}
.tya-bc li{display:flex;align-items:center;gap:6px}
.tya-bc li+li::before{content:"/";color:#B7C6D6}
body .tya-bc a{color:var(--h-ink);text-decoration:underline;text-underline-offset:3px;font-weight:600}
.tya-bc li:first-child a{display:flex;width:30px;height:30px;align-items:center;justify-content:center;background:var(--h-ground);border-radius:6px;text-decoration:none;font-size:17px}

/* ======================================================== category page */
.tya-arch{font-family:var(--h-body);color:var(--h-ink)}
.tya-arch__top{background:#fff;padding:22px 0 30px;border-bottom:1px solid var(--h-line)}
.tya-arch__title{margin:0 0 10px!important;font-family:var(--h-display)!important;font-weight:700!important;font-size:clamp(30px,3.4vw,42px)!important;letter-spacing:-.03em!important;line-height:1.1!important;color:var(--h-ink)!important}
.tya-arch__intro{font-size:17px;line-height:1.75;color:var(--h-muted);max-width:1100px}
.tya-arch__intro p{margin:0 0 10px}
body .tya-arch__intro a{color:var(--h-ink);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.tya-arch__intro strong{color:var(--h-ink);font-weight:600}
.tya-jump{margin-top:22px}
.tya-jump__label{display:flex;align-items:center;gap:16px;margin:0 0 12px;font-family:var(--h-mono);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--h-blue)}
.tya-jump__label::after{content:"";flex:1;height:1px;background:var(--h-line)}
.tya-jump ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
body .tya-jump a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 18px;border:1px solid var(--h-line);border-left:4px solid var(--h-blue);border-radius:10px;color:var(--h-ink);font-size:16.5px;font-weight:600;background:#fff;transition:border-color .15s,box-shadow .15s}
body .tya-jump a:hover{box-shadow:0 10px 24px -16px rgba(14,43,79,.4);border-left-color:var(--h-cyan)}
.tya-jump .tya-i{width:30px;height:30px;padding:7px;border-radius:50%;background:var(--h-ground);box-sizing:border-box}

.tya-arch__body{background:var(--h-ground);padding:24px 0 72px}
.tya-arch__grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;align-items:start}
.tya-arch__side{position:sticky;top:16px}
.tyf{background:#fff;border:1px solid var(--h-line);border-radius:12px;overflow:hidden}
.tyf__head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--h-line)}
.tyf__head p{margin:0;font-size:16px;color:var(--h-muted)}
.tyf__head b{color:var(--h-ink)}
.tyf__close{display:none}
.tyf__grp{border-bottom:1px solid var(--h-line)}
.tyf__grp:last-of-type{border-bottom:0}
.tyf__grp summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:15px 18px;font-size:16px;color:var(--h-ink);cursor:pointer}
.tyf__grp summary::-webkit-details-marker{display:none}
.tyf__grp summary::after{content:"+";font-size:24px;line-height:1;color:var(--h-ink);font-weight:300}
.tyf__grp[open] summary::after{content:"\2212"}
.tyf__body{padding:0 18px 16px}
.tyf__find{display:flex;align-items:center;gap:8px;background:var(--h-ground);border-radius:8px;padding:0 12px;margin-bottom:10px;color:var(--h-muted)}
.tyf__find input{border:0!important;background:transparent!important;padding:10px 0!important;font:15px var(--h-body)!important;flex:1;min-width:0;outline:0!important;box-shadow:none!important}
.tyf__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.tyf__list--scroll{max-height:270px;overflow-y:auto}
.tyf__list label,body .tyf__list a{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:14.5px;color:var(--h-ink);cursor:pointer}
body .tyf__list a:hover{color:var(--h-blue)}
.tyf__list span{color:var(--h-muted);font-size:12.5px}
.tyf__list input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--h-blue);flex:0 0 auto}
.tyf__price{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.tyf__price label{position:relative;display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--h-muted)}
.tyf__price i{position:absolute;left:10px;bottom:11px;font-style:normal;color:var(--h-muted);font-size:14px}
.tyf__price input{width:100%;box-sizing:border-box;padding:9px 8px 9px 22px!important;border:1px solid var(--h-line)!important;border-radius:6px!important;font:15px var(--h-body)!important}
.tyf__apply{width:100%;background:var(--h-ink)!important;color:#fff!important;border:0!important;border-radius:8px!important;padding:11px!important;font:700 14.5px var(--h-body)!important;cursor:pointer}

.tya-bar{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--h-line);border-radius:12px;padding:10px 16px;margin-bottom:16px;flex-wrap:wrap}
.tya-bar__filters{display:none}
.tya-bar__pp{display:flex;align-items:center;gap:10px;margin:0}
.tya-bar select{border:1px solid var(--h-line)!important;border-radius:6px!important;padding:8px 30px 8px 12px!important;font:15px var(--h-body)!important;color:var(--h-ink)!important;background-color:#fff!important;height:auto!important;min-height:0!important}
.tya-bar__pptext,.tya-bar__count{color:var(--h-muted);font-size:15px}
.tya-bar__sort{margin-left:auto}
.tya-sort{display:flex;align-items:center;gap:10px;margin:0}
.tya-sort label{color:var(--h-muted);font-size:15px;white-space:nowrap}
.tya-pager ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:4px}
.tya-pager--top{flex:1;display:flex;justify-content:center}
.tya-pager a,.tya-pager span{display:block;padding:7px 11px;border-radius:6px;color:var(--h-ink);font-size:15px}
body .tya-pager a:hover{background:var(--h-ground)}
.tya-pager .current{font-weight:800}
.tya-arch__main>.tya-pager{margin-top:28px;display:flex;justify-content:center}
.tya-active{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
body .tya-active a{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--h-line);border-radius:999px;padding:7px 12px;font-size:14px;font-weight:600;color:var(--h-ink)}
body .tya-active a:hover{border-color:var(--h-blue)}
body .tya-active a.tya-active__clear{border:0;background:none;text-decoration:underline;color:var(--h-blue)}
.tya-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.tya-grid .tyc{border:1px solid var(--h-line)}
.tya-empty{background:#fff;border-radius:12px;padding:48px 24px;text-align:center}
.tya-empty h2{font-family:var(--h-display);margin:0 0 8px}

@media (max-width:1280px){.tya-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1024px){
  .tya-arch__grid{grid-template-columns:1fr}
  .tya-arch__side{position:fixed;inset:0 auto 0 0;width:min(90vw,380px);z-index:100000;transform:translateX(-105%);transition:transform .22s;overflow-y:auto;background:#fff;box-shadow:0 0 0 100vmax rgba(10,25,47,0);top:0}
  html.tyf-open .tya-arch__side{transform:none;box-shadow:0 0 0 100vmax rgba(10,25,47,.5)}
  html.tyf-open,html.tyf-open body{overflow:hidden}
  .tyf{border:0;border-radius:0;min-height:100%}
  .tyf__close{display:flex;background:none!important;border:0!important;font-size:24px;color:var(--h-ink)!important;padding:4px!important;cursor:pointer}
  .tya-bar__filters{display:inline-flex;align-items:center;gap:8px;background:var(--h-ink)!important;color:#fff!important;border:0!important;border-radius:8px!important;padding:9px 14px!important;font:700 14.5px var(--h-body)!important;cursor:pointer}
  .tya-pager--top{display:none}
}
@media (max-width:767px){
  .tya-arch__top{padding:16px 0 22px}
  .tya-arch__intro{font-size:15.5px;line-height:1.65}
  .tya-jump ul{grid-template-columns:1fr;gap:8px}
  body .tya-jump a{padding:13px 14px;font-size:15.5px}
  .tya-arch__body{padding:14px 0 48px}
  .tya-bar{padding:10px;gap:10px}
  .tya-bar__pp,.tya-bar__pptext{display:none}
  .tya-sort label{display:none}
  .tya-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .tyc__body{padding:12px 12px 14px}
  .tyc__title{font-size:14.5px!important}
  .tyc__foot{flex-direction:column;align-items:stretch}
  body a.tyc__buy{justify-content:center}
  .tyc__now{font-size:18px}
}

/* ========================================================= product page */
.tya-pdp{font-family:var(--h-body);color:var(--h-ink);background:#fff;padding-top:22px}
.tya-pdp .tya-bc ol{font-size:15px;text-transform:uppercase;letter-spacing:.02em}
body .tya-pdp .tya-bc a{color:var(--h-blue);text-decoration:none}
body .tya-pdp .tya-bc a:hover{text-decoration:underline}
.tya-pdp__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px;align-items:start;padding-bottom:48px}
.tya-pdp__media .woocommerce-product-gallery{width:100%!important;float:none!important;margin:0!important;position:relative}
.tya-pdp__media .woocommerce-product-gallery__image img{border-radius:12px}
/* one colour per thumbnail now, so they run in a single scrolling row */
.woocommerce div.product .tya-pdp__media .flex-control-thumbs,.tya-pdp__media .flex-control-thumbs{display:flex!important;flex-wrap:nowrap;gap:8px;margin:14px 0 0!important;padding:0 0 6px!important;list-style:none;overflow-x:auto!important;scrollbar-width:thin;grid-template-columns:none}
.woocommerce div.product .tya-pdp__media .flex-control-thumbs li,.tya-pdp__media .flex-control-thumbs li{flex:0 0 76px;width:76px!important;float:none!important;margin:0!important}
.tya-pdp__media .flex-control-thumbs img{border:2px solid var(--h-line);border-radius:8px;opacity:1!important;cursor:pointer}
.tya-pdp__media .flex-control-thumbs img.flex-active,.tya-pdp__media .flex-control-thumbs img:hover{border-color:var(--h-blue)}
.tya-pdp__media .woocommerce-product-gallery__trigger{z-index:5}
/* WooCommerce floats .summary to 48% wide; here it is a grid cell */
.woocommerce div.product .tya-pdp__info.summary,.tya-pdp__info.summary{width:auto!important;float:none!important;margin:0!important}
.tya-pdp__by{margin:0 0 4px;font-size:15px;text-transform:uppercase;letter-spacing:.04em;color:var(--h-muted)}
body .tya-pdp__by a{color:var(--h-ink);font-weight:700}
.tya-pdp__title{margin:0 0 10px!important;font-family:var(--h-display)!important;font-weight:700!important;font-size:clamp(26px,2.6vw,36px)!important;line-height:1.12!important;text-transform:uppercase;letter-spacing:-.01em!important;color:var(--h-ink)!important}
.tya-pdp__lede{font-size:17px;line-height:1.6;color:var(--h-ink);padding-bottom:18px;border-bottom:1px solid var(--h-line);margin-bottom:18px}
.tya-pdp__lede p{margin:0}
.tya-pdp__price{font-family:var(--h-display);font-size:34px;font-weight:700;color:var(--h-blue)!important;margin:0 0 10px;line-height:1.1}
.tya-pdp__price del{font-size:20px;color:var(--h-muted);font-weight:500}
.tya-pdp__price ins{text-decoration:none}
body a.tya-pdp__offer{display:flex;align-items:flex-start;gap:10px;color:var(--h-ink);font-size:16px;padding-bottom:16px;border-bottom:1px solid var(--h-line);margin-bottom:16px}
.tya-pdp__offer .tya-i{font-size:22px;color:var(--h-blue)}
body a.tya-pdp__offer:hover b{text-decoration:underline}
.tya-pdp__facts{list-style:none;margin:0 0 20px;padding:0 0 18px;border-bottom:1px solid var(--h-line);display:flex;flex-direction:column;gap:12px;font-size:16px;line-height:1.45}
.tya-pdp__facts li{display:flex;align-items:flex-start;gap:12px}
.tya-pdp__facts .tya-i{font-size:24px;color:var(--h-ink);margin-top:-2px}
.tya-pdp__stock{font-weight:600}
.tya-pdp__stock i{width:16px;height:16px;border-radius:50%;background:#0E8A6B;margin:3px 4px 0}
.tya-pdp__stock.is-out i{background:#C4372F}
.tya-dispatch__t{color:var(--h-blue);font-variant-numeric:tabular-nums}

/* add to cart: variations as label + select rows, quantity with buttons */
.tya-pdp__buy form.cart{margin:0!important}
.tya-pdp__buy table.variations{width:100%;border:0!important;margin:0 0 6px!important;border-collapse:collapse}
.tya-pdp__buy table.variations tr{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:12px;margin-bottom:14px}
.tya-pdp__buy table.variations th,.tya-pdp__buy table.variations td{padding:0!important;border:0!important;background:none!important;text-align:left}
body .tya-pdp .tya-pdp__buy table.variations th,body .tya-pdp .tya-pdp__buy table.variations th label{font:700 18px/1.2 var(--h-body)!important;color:var(--h-ink)!important;margin:0!important;vertical-align:middle}
.tya-pdp__buy table.variations select{width:100%;border:1.5px solid var(--h-blue)!important;border-radius:6px!important;padding:12px 40px 12px 14px!important;font:16px var(--h-body)!important;color:var(--h-ink)!important;background-color:#fff!important;height:auto!important}
.tya-pdp__buy .reset_variations{font-size:14px;color:var(--h-blue);margin-top:6px;display:inline-block}
.tya-pdp__buy .woocommerce-variation{margin:0 0 12px}
.tya-pdp__buy .woocommerce-variation-price .price{font-family:var(--h-display);font-size:22px;color:var(--h-blue)}
.tya-pdp__buy .woocommerce-variation-add-to-cart,.tya-pdp__buy form.cart:not(.variations_form){display:grid;grid-template-columns:150px auto 1fr;align-items:center;gap:12px}
.tya-pdp__buy .woocommerce-variation-add-to-cart::before,.tya-pdp__buy form.cart:not(.variations_form)::before{content:"Quantity";font-size:18px;font-weight:700;grid-column:1}
.tya-pdp__buy .quantity{display:flex!important;align-items:center;gap:8px;margin:0!important}
.tya-pdp__buy .quantity input.qty{width:72px!important;height:46px;text-align:center;border:1.5px solid var(--h-line)!important;border-radius:6px!important;font:600 17px var(--h-body)!important;padding:0!important;-moz-appearance:textfield}
.tya-pdp__buy .quantity input.qty::-webkit-inner-spin-button,.tya-pdp__buy .quantity input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.tya-qty{width:46px;height:46px;border-radius:6px!important;border:0!important;font:600 22px/1 var(--h-body)!important;cursor:pointer;padding:0!important;display:flex;align-items:center;justify-content:center}
.tya-qty--minus{background:var(--h-ground)!important;color:var(--h-ink)!important;box-shadow:inset 0 0 0 1.5px var(--h-line)}
.tya-qty--plus{background:var(--h-blue)!important;color:#fff!important}
.tya-pdp__buy .single_add_to_cart_button{grid-column:1 / -1;width:100%;margin-top:6px!important;background:var(--h-cyan)!important;color:var(--h-night)!important;border:0!important;border-radius:8px!important;padding:17px 20px!important;font:800 18px/1 var(--h-body)!important;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:background .15s}
.tya-pdp__buy .single_add_to_cart_button:hover{background:var(--h-cyan-deep)!important}
.tya-pdp__buy .single_add_to_cart_button.disabled{opacity:.55;cursor:not-allowed}
.tya-pdp__buy .stock{font-weight:600;margin:0 0 10px}

.tya-setup{margin-top:24px;border:1px solid var(--h-line);border-left:4px solid var(--h-cyan);border-radius:12px;padding:18px 20px}
.tya-setup h2{display:flex;align-items:center;gap:10px;margin:0 0 14px!important;font:700 18px var(--h-body)!important;text-transform:uppercase;letter-spacing:.02em!important;color:var(--h-ink)!important}
.tya-setup h2 .tya-i{width:26px;height:26px;padding:5px;border-radius:50%;background:var(--h-cyan);color:var(--h-night);box-sizing:border-box}
.tya-setup ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.tya-setup li{display:grid;grid-template-columns:64px 1fr auto auto;align-items:center;gap:14px}
.tya-setup__img img{width:64px;height:64px;object-fit:contain;border:1px solid var(--h-line);border-radius:8px;mix-blend-mode:multiply}
body .tya-setup__name a{color:var(--h-ink);font-weight:600;display:block}
.tya-setup__tag{display:inline-block;margin-top:4px;font-size:12.5px;font-weight:700;color:var(--h-blue);border:1px solid var(--h-blue);border-radius:6px;padding:1px 7px}
.tya-setup__price{display:flex;flex-direction:column;text-align:right}
.tya-setup__price small{color:#0E8A6B;font-weight:600}
body a.tya-setup__go{background:var(--h-blue);color:#fff;font-weight:700;border-radius:8px;padding:11px 16px}
body a.tya-setup__go:hover{background:var(--h-blue-deep)}

.tya-tabs__bar{background:var(--h-ground);border-top:1px solid var(--h-line)}
.tya-tabs__bar .tya-wrap{display:flex;gap:6px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}
.tya-tabs__bar button{background:none!important;border:0!important;border-radius:6px!important;padding:9px 14px!important;font:600 18px var(--h-body)!important;color:var(--h-ink)!important;cursor:pointer;text-transform:none!important;letter-spacing:0!important}
.tya-tabs__bar button[aria-selected=true]{background:var(--h-blue)!important;color:#fff!important}
.tya-tabs__bar button:hover{box-shadow:inset 0 0 0 2px var(--h-blue)}
.tya-tabs__panel{padding:36px 0 72px;max-width:1000px}
.tya-tabs__panel#panel-related{max-width:none}
.tya-pdp__desc{font-size:17px;line-height:1.75}
.tya-pdp__desc h2,.tya-tabs__panel h3{font-family:var(--h-display)!important;font-weight:700!important;color:var(--h-ink)!important;margin:28px 0 12px!important}
.tya-pdp__desc h2{font-size:26px!important}
.tya-tabs__panel h3{font-size:21px!important}
.tya-tabs__panel .woocommerce-product-attributes{width:100%;border-collapse:collapse;border:1px solid var(--h-line)}
.tya-tabs__panel .woocommerce-product-attributes th,.tya-tabs__panel .woocommerce-product-attributes td{padding:12px 16px!important;border-bottom:1px solid var(--h-line);text-align:left;font-size:15.5px}
.tya-tabs__panel .woocommerce-product-attributes th{background:var(--h-ground);width:30%;font-weight:700}
.tya-tabs__panel .woocommerce-product-attributes td p{margin:0}
.tya-pdp__ship ul{padding-left:20px;font-size:17px;line-height:1.8}
body .tya-pdp__ship a{color:var(--h-blue);font-weight:700;text-decoration:underline}

@media (max-width:1024px){.tya-pdp__grid{grid-template-columns:minmax(0,1fr);gap:28px}}
/* grid cells must be allowed to shrink, or the one-row thumbnail strip sets
   the column width and the whole page renders wider than the phone */
.tya-pdp__media,.tya-pdp__info{min-width:0}
@media (max-width:767px){
  .tya-pdp{padding-top:14px}
  .tya-pdp .tya-bc ol{font-size:13px}
  .tya-pdp__lede{font-size:15.5px}
  .tya-pdp__price{font-size:28px}
  .tya-pdp__facts{font-size:15px}
  .tya-pdp__buy table.variations tr{grid-template-columns:1fr;gap:6px}
  .tya-pdp__buy .woocommerce-variation-add-to-cart,.tya-pdp__buy form.cart:not(.variations_form){grid-template-columns:auto 1fr}
  .tya-pdp__buy .woocommerce-variation-add-to-cart::before,.tya-pdp__buy form.cart:not(.variations_form)::before{display:none}
  .tya-setup li{grid-template-columns:56px 1fr;row-gap:8px}
  .tya-setup__price{text-align:left}
  .tya-tabs__bar .tya-wrap{flex-wrap:nowrap;overflow-x:auto;padding-top:10px;padding-bottom:10px}
  .tya-tabs__bar button{font-size:15.5px!important;white-space:nowrap}
  .tya-tabs__panel{padding:24px 0 48px}
  .tya-pdp__desc{font-size:15.5px}
}

/* ============================================ basket and checkout blocks */
/* WooCommerce's block checkout sets option names and the delivery method in
   10 to 11px type, too small to read on a phone. */
body .wc-block-components-product-details,body .wc-block-components-totals-shipping__via,body .wc-block-components-totals-footer-item-tax,body .wc-block-components-product-metadata{font-size:13px!important;line-height:1.45}
/* The theme pulls .alignwide blocks 80px past the content column on both
   sides. Below 1100px there is no room for that, and the basket slid 64px off
   the left edge of a phone. */
@media (max-width:1100px){
  body .wp-block-woocommerce-cart.alignwide,body .wp-block-woocommerce-checkout.alignwide,body .alignwide{margin-left:0!important;margin-right:0!important;max-width:100%}
}
/* Page titles sat 10px in from their label above. */
body .site-main > .page-header .entry-title{padding-left:0!important;padding-right:0!important}
/* iOS and iPadOS zoom the page into any field set below 16px */
@media (max-width:1024px){
  body input[type=search],body input[type=text],body input[type=email],body input[type=tel],body input[type=number],body input[type=password],body select,body textarea{font-size:16px!important}
  body .tya-bar select,body .tyf input,body .tya-pdp__buy select,body .tyh-search input[type=search],body .wc-block-components-quantity-selector input{font-size:16px!important}
}
