/*
Theme Name: Hello Elementor — HT Sticker Zone
Theme URI: https://htstickerzone.test/
Description: Child theme of Hello Elementor for HT Sticker Zone. One global header and footer for every page, built in Elementor (Templates > Saved Templates > "Site header" / "Site footer"), and the site's CSS layer on top of the Elementor kit.
Author: HT Sticker Zone
Template: hello-elementor
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: hello-elementor-htsz
*/

/* ===== base: replaces Hello's reset.css (not loaded, see functions.php) and keeps the type defaults the site was built with */
*,::before,::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fafafa;color:#27272a;font-size:clamp(1.125rem,1.125rem + ((1vw - .2rem) * .392),1.375rem);font-weight:300;letter-spacing:-.1px;line-height:1.4}
h1,h2,h3,h4,h5,h6{font-weight:400;letter-spacing:-.1px;line-height:1.125}
h1{font-size:clamp(2.15rem,2.15rem + ((1vw - .2rem) * 1.333),3rem)}
h2{font-size:clamp(1.75rem,1.75rem + ((1vw - .2rem) * .392),2rem)}
h3{font-size:clamp(1.125rem,1.125rem + ((1vw - .2rem) * .392),1.375rem)}
h4{font-size:clamp(1rem,1rem + ((1vw - .2rem) * .196),1.125rem)}
h5{font-size:.875rem;letter-spacing:.5px}
h6{font-size:.875rem;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}
blockquote,caption,figcaption,h1,h2,h3,h4,h5,h6,p{text-wrap:pretty}
a{color:currentColor;text-decoration-thickness:1px;text-underline-offset:.1em}
a:hover{text-decoration:none}
img{max-width:100%;height:auto}
:where(figure){margin:0 0 1em}

/* HT Sticker Zone: small layer on top of Elementor settings (tones, chips, lists, accents, header/footer, form) */
:root{--ht-ink:#09090b;--ht-text:#27272a;--ht-muted:#71717a;--ht-border:#e4e4e7;--ht-border-soft:#efeff1;--ht-canvas:#fafafa;--ht-fill:#f6f6f7;--ht-night:#140f24;--ht-on-dark-muted:#cfcfd3;--ht-spectrum:linear-gradient(90deg,#db2777,#7c3aed,#0284c7,#0d9488,#d97706);--ht-shadow-2:0 10px 25px -5px rgba(9,9,11,.08),0 8px 10px -6px rgba(9,9,11,.05);--tone:#7c3aed}
.tone-magenta{--tone:#db2777}.tone-violet{--tone:#7c3aed}.tone-indigo{--tone:#4f46e5}.tone-sky{--tone:#0284c7}.tone-teal{--tone:#0d9488}.tone-emerald{--tone:#059669}.tone-amber{--tone:#d97706}.tone-orange{--tone:#ea580c}.tone-slate{--tone:#475569}
[class*="tone-"]{--tone-text:color-mix(in srgb,var(--tone) 72%,#09090b)}
body{background:var(--ht-canvas);color:var(--ht-text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:clip}
html{scroll-behavior:smooth;scroll-padding-top:76px}
html:has(>body.admin-bar){scroll-padding-top:108px}
@media (max-width:782px){html:has(>body.admin-bar){scroll-padding-top:122px}}
@media (max-width:600px){html:has(>body.admin-bar){scroll-padding-top:76px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.elementor-invisible{visibility:visible!important}.animated{animation:none!important}}
.htsz-main .elementor a{text-decoration:none}

/* eyebrow: mono caps with a dot */
.htsz-eyebrow .elementor-heading-title,.htsz-board__label .elementor-heading-title{display:inline-flex;align-items:center;gap:8px;color:var(--tone-text,var(--tone))}
.htsz-eyebrow .elementor-heading-title::before{content:"";width:6px;height:6px;border-radius:999px;background:var(--tone);flex-shrink:0}
.htsz-eyebrow.is-dark .elementor-heading-title{color:var(--ht-on-dark-muted)}
.htsz-eyebrow.is-dark .elementor-heading-title::before{background:var(--ht-spectrum)}
.htsz-board__label .elementor-heading-title{color:var(--ht-muted);font-size:11.5px}
.htsz-sechead__title .elementor-heading-title{text-wrap:balance}

/* hero */
.htsz-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 80% at 100% 0%,rgba(124,58,237,.38),transparent 70%)}
.htsz-hero>.e-con-inner{position:relative;z-index:2}
.htsz-hero-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(4px)}
.htsz-hero-eyebrow .elementor-heading-title::before{content:"";width:8px;height:8px;border-radius:999px;background:var(--ht-spectrum)}
.htsz-hero__title .elementor-heading-title{text-wrap:balance}
.htsz-spectrum{background:var(--ht-spectrum)}
.htsz-board__item{transition:background-color .12s}
.htsz-board__item:hover{background:color-mix(in srgb,var(--tone) 8%,#fff)}
.htsz-board__item .elementor-icon-box-wrapper{align-items:center}
.htsz-board__item .elementor-icon-box-title a{color:inherit}
.htsz-board__item .elementor-icon-box-wrapper{gap:10px}

/* buttons: a small lift; arrow nudges */
.htsz-btn .elementor-button{transition:transform .15s,background-color .15s,border-color .15s,color .15s;box-shadow:0 1px 3px rgba(9,9,11,.04)}
.htsz-btn--glass .elementor-button{backdrop-filter:blur(4px);box-shadow:none}
.htsz-btn--primary .elementor-button{box-shadow:0 6px 16px -6px rgba(0,0,0,.4)}
@media (prefers-reduced-motion:no-preference){
 .htsz-btn .elementor-button:hover{transform:translateY(-1px)}
 .htsz-btn .elementor-button:active{transform:scale(.98)}
 .htsz-btn .elementor-button-icon{transition:transform .2s}
 .htsz-btn .elementor-button:hover .elementor-button-icon{transform:translateX(3px)}
 .htsz-pcard,.htsz-other,.htsz-reason{transition:transform .2s,box-shadow .2s,border-color .2s,background-color .2s}
 .htsz-pcard:hover{transform:translateY(-2px);box-shadow:var(--ht-shadow-2)!important}
 .htsz-pcard .htsz-photo img{transition:transform .5s ease}
 .htsz-pcard:hover .htsz-photo img{transform:scale(1.04)}
 .htsz-pcard .htsz-pcard__tile{transition:transform .2s}
 .htsz-pcard:hover .htsz-pcard__tile{transform:scale(1.08) rotate(-4deg)}
 .htsz-reason:hover{transform:translateY(-3px)}
 .htsz-reason:hover .elementor-widget-container{background:rgba(255,255,255,.1)!important;border-color:color-mix(in srgb,var(--tone) 55%,transparent)!important}
 .htsz-other:hover{transform:translateY(-2px)}
 .htsz-vrows li{transition:padding-left .2s}
 .htsz-vrows li:hover{padding-left:20px}
 .htsz-gallery .gallery-item img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
 .htsz-gallery .gallery-item:hover img{transform:scale(1.04)}
 .htsz-hero{animation:none}
}
@media (max-width:767px){.htsz-grow-mobile{flex:1 1 auto}.htsz-grow-mobile .elementor-button{width:100%}}

/* photos with a fixed ratio */
.htsz-photo{overflow:hidden;width:100%}
.htsz-photo .elementor-widget-container,.htsz-photo a{display:block;overflow:hidden;border-radius:inherit}
.htsz-photo img{display:block;width:100%!important;height:auto;object-fit:cover;background:linear-gradient(135deg,color-mix(in srgb,var(--tone) 30%,#fff),color-mix(in srgb,var(--tone) 70%,#140f24))}
.htsz-ratio-16-10 img{aspect-ratio:16/10}.htsz-ratio-3-2 img{aspect-ratio:3/2}.htsz-ratio-4-3 img{aspect-ratio:4/3}.htsz-ratio-1-1 img{aspect-ratio:1/1}
.htsz-split__photo img,.htsz-about__photo img{border-radius:14px}
.htsz-split__photo img{box-shadow:var(--ht-shadow-2)}
.htsz-about__photo img{box-shadow:0 25px 50px -12px rgba(9,9,11,.22)}
@media (max-width:1024px){.htsz-split__photo{max-width:560px}}

/* product cards */
.htsz-pcard .htsz-pcard__tile{margin-top:-22px;position:relative;z-index:1}
.htsz-pcard .htsz-pcard__tile .elementor-icon{border:3px solid #fff;box-sizing:content-box}
.htsz-pcard__body .htsz-more{margin-top:auto;padding-top:8px}
.htsz-more .iw-al__link{font-weight:600}

/* chips, ticks, type rows, tag */
.htsz-chips{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.htsz-chips li{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;font-size:12.5px;font-weight:500;line-height:1;background:color-mix(in srgb,var(--tone) 9%,#fff);border:1px solid color-mix(in srgb,var(--tone) 22%,#fff);color:var(--tone-text)}
.htsz-ticks{list-style:none;margin:0 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.htsz-ticks li{position:relative;padding-left:20px;color:var(--ht-text);font-size:15px;line-height:1.55}
.htsz-ticks li::before{content:"";position:absolute;left:2px;top:.55em;width:8px;height:8px;border-radius:2px;background:var(--tone);transform:rotate(45deg)}
.htsz-vrows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.htsz-vrows li{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:4px 16px;padding:14px 16px;font-size:14.5px;line-height:1.55;scroll-margin-top:96px}
.htsz-vrows li+li{border-top:1px solid var(--ht-border-soft)}
.htsz-vrows li:target{background:color-mix(in srgb,var(--tone) 12%,#fff)}
.htsz-vrow__name{position:relative;padding-left:16px;font-weight:600;color:var(--ht-ink)}
.htsz-vrow__name::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border-radius:999px;background:var(--tone)}
.htsz-vrow__text{color:var(--ht-muted)}
@media (max-width:767px){.htsz-vrows li{grid-template-columns:minmax(0,1fr)}.htsz-vrow__text{padding-left:16px}}
.htsz-vrows-wrap,.htsz-vrows-wrap .elementor-widget-container{border-top:1px solid var(--ht-border-soft);border-bottom:1px solid var(--ht-border-soft)}
.htsz-vrows-wrap .elementor-widget-container{border:0}
.htsz-tag .elementor-heading-title{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;background:var(--ht-fill);border:1px solid var(--ht-border-soft);white-space:nowrap}
.htsz-list-head .elementor-widget-heading{flex-shrink:0}
.htsz-chips-wrap p:empty,.htsz-ticks-wrap p:empty{display:none}

/* accent bar along the top edge */
.htsz-accent{position:relative}
.htsz-accent::before,.htsz-reason .elementor-widget-container::before{content:"";position:absolute;top:0;left:24px;z-index:2;width:min(50%,180px);height:4px;border-radius:0 0 999px 999px;background:var(--tone);pointer-events:none}
.htsz-vlist.htsz-accent::before{left:16px}
.htsz-reason .elementor-widget-container{position:relative}
.htsz-reason.htsz-accent::before{display:none}
.htsz-reason .elementor-widget-container::before{left:22px}
.htsz-reason .elementor-icon-box-wrapper{display:flex;flex-direction:column;align-items:flex-start;gap:10px}

/* dark band */
.htsz-dark{isolation:isolate;overflow:hidden}
.htsz-dark::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(40% 60% at 0% 0%,rgba(219,39,119,.28),transparent 70%),radial-gradient(45% 70% at 100% 100%,rgba(2,132,199,.24),transparent 70%)}
.htsz-dark>.e-con-inner{position:relative;z-index:1}

/* product header */
.htsz-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:var(--ht-on-dark-muted)}
.htsz-crumbs a{color:var(--ht-on-dark-muted)!important}
.htsz-crumbs a:hover,.htsz-crumbs [aria-current]{color:#fff!important}
.htsz-crumbs [aria-current]{font-weight:500}
.htsz-crumbs .sep{opacity:.7}
.htsz-crumbs-wrap p{margin:0}

/* other products */
.htsz-other{color:var(--ht-ink)}
.htsz-other:hover{border-color:color-mix(in srgb,var(--tone) 35%,#fff)!important;box-shadow:var(--ht-shadow-2)!important}
.htsz-other__photo{flex:0 0 56px;width:56px!important}
.htsz-other__photo img{border-radius:10px;width:56px!important;height:56px}
.htsz-other__arrow{transition:transform .2s}
.htsz-other:hover .htsz-other__arrow{transform:translateX(3px)}

/* gallery (Basic Gallery: no masonry in Elementor free; tidy crops instead) */
.htsz-gallery .gallery{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0!important}
.htsz-gallery .gallery-item{max-width:none!important;width:auto!important;padding:0!important;margin:0!important;position:relative;overflow:hidden;border-radius:14px;box-shadow:0 1px 3px rgba(9,9,11,.06)}
.htsz-gallery .gallery-icon img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px!important;cursor:zoom-in}
.htsz-gallery .gallery-caption{position:absolute;left:0;right:0;bottom:0;margin:0!important;padding:36px 14px 12px!important;text-align:left!important;font-size:13.5px;font-weight:500;color:#fff;background:linear-gradient(180deg,transparent,rgba(20,15,36,.85) 60%);opacity:0;transition:opacity .2s;pointer-events:none}
.htsz-gallery .gallery-item:hover .gallery-caption{opacity:1}
@media (hover:none){.htsz-gallery .gallery-caption{opacity:1;padding:24px 10px 8px!important;font-size:12.5px}}
@media (max-width:1024px){.htsz-gallery .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.htsz-gallery .gallery{gap:10px}}
.htsz-gallery br{display:none}
.htsz-gallery .gallery-caption{line-height:inherit} /* Hello theme.css sets 1.5 */

/* contact form (Contact Form 7) */
.htsz-enquiry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.htsz-enquiry p{margin:0}
.htsz-enquiry br{display:none}
.htsz-wide,.htsz-pair{grid-column:1/-1}
.htsz-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.htsz-field label,.htsz-pair legend{font-size:13px;font-weight:600;color:var(--ht-ink)}
.htsz-opt{font-weight:400;color:var(--ht-muted)}
.htsz-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin:0;padding:14px 16px 16px;min-width:0;border:1px solid var(--ht-border-soft);border-radius:10px;background:var(--ht-fill)}
.htsz-pair legend{float:left;width:100%;grid-column:1/-1;padding:0}
.htsz-pair legend .htsz-opt{display:block;margin-top:2px;font-size:12.5px}
.htsz-enquiry input:not([type=submit]),.htsz-enquiry select,.htsz-enquiry textarea{width:100%;box-sizing:border-box;height:40px;padding:0 12px;border:1px solid var(--ht-border);border-radius:10px;background:#fff;font:inherit;font-size:14.5px;color:var(--ht-ink);transition:border-color .15s,box-shadow .15s}
.htsz-enquiry textarea{height:auto;min-height:132px;padding:10px 12px;resize:vertical}
.htsz-enquiry input:focus,.htsz-enquiry select:focus,.htsz-enquiry textarea:focus{outline:none;border-color:#000;box-shadow:0 0 0 3px rgba(0,0,0,.08)}
.htsz-enquiry .wpcf7-not-valid{border-color:#dc2626!important}
.htsz-enquiry .wpcf7-not-valid-tip{margin-top:4px;font-size:12.5px;font-weight:500;color:#dc2626}
.htsz-actions{display:flex;justify-content:flex-end}
.htsz-enquiry .htsz-submit{display:inline-flex;align-items:center;height:40px;padding:0 18px;border:1px solid #000;border-radius:10px;background:#000;color:#fff;font:inherit;font-size:14.5px;font-weight:500;cursor:pointer;box-shadow:0 6px 16px -6px rgba(0,0,0,.4);transition:background-color .15s,transform .15s}
.htsz-enquiry .htsz-submit:hover{background:#333}
.htsz-form .wpcf7-spinner{margin:0 0 0 10px;align-self:center}
.htsz-form .wpcf7-response-output{margin:16px 0 0!important;padding:10px 14px!important;border-radius:10px;font-size:14px}
.htsz-form .wpcf7 form.sent .wpcf7-response-output{border-color:#16a34a;background:#f0fdf4;color:#14532d}
@media (max-width:767px){.htsz-enquiry,.htsz-pair{grid-template-columns:minmax(0,1fr)}.htsz-actions .htsz-submit{width:100%;justify-content:center}}
.htsz-contact-card .elementor-icon-box-wrapper{gap:14px}

/* fixes after first review */
.htsz-sechead{max-width:720px}
.htsz-main .elementor-widget-text-editor p:last-child,.htsz-main .elementor-widget-text-editor ul:last-child{margin-bottom:0}
.htsz-main .elementor-widget-text-editor p:first-child{margin-top:0}
.htsz-hero-eyebrow .elementor-heading-title{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase}
.htsz-form .wpcf7-spinner{position:absolute;right:0;bottom:-28px;margin:0}
.htsz-form .wpcf7 form{position:relative}
.htsz-list-head>.e-con{min-width:0}
.htsz-more .iw-al__icon--arrow{opacity:1!important;transform:none}
.htsz-board{background:#fff}
.htsz-list-head>.e-con{--width:auto!important;width:auto!important;flex:1 1 0!important}

/* header menu: Imraju Wheel Mega Menu widget (menu "Header" in Appearance > Menus) */
.htsz-site-header .htsz-brand{--width:auto;width:auto!important;flex:none!important;text-decoration:none!important;min-width:0}
.htsz-site-header .htsz-brand .elementor-widget{width:auto}
.htsz-header-menu{min-width:0}
.htsz-header-menu .iw-mega-menu{font-family:Inter,sans-serif}
.htsz-header-menu .iw-mega-menu__link{color:var(--iwmm-link)}
.htsz-header-menu .iw-mega-menu:not(.is-mobile) .iw-mega-menu__list{flex-wrap:nowrap}
/* top-level items as rounded pills, centred in the space right of the brand */
.htsz-header-menu .iw-mega-menu:not(.is-mobile) .iw-mega-menu__list>li:first-child{margin-left:auto}
.htsz-header-menu .iw-mega-menu:not(.is-mobile) .iw-mega-menu__list>li:last-child{margin-right:auto}
/* offset by the brand width (97px logo + 16px gap) so the nav sits on the true page centre */
.htsz-header-menu .iw-mega-menu:not(.is-mobile) .iw-mega-menu__list{padding-right:113px}
.htsz-header-menu .iw-mega-menu:not(.is-mobile) .depth-0>.iw-mega-menu__row{border-radius:10px;transition:background-color .12s}
.htsz-header-menu .iw-mega-menu:not(.is-mobile) .depth-0:is(:hover,.is-open)>.iw-mega-menu__row{background:#f4f4f5}
.htsz-header-menu .iw-mega-menu:not(.is-mobile) .depth-0.has-sub>.iw-mega-menu__row>.iw-mega-menu__link,.htsz-header-menu .iw-mega-menu:not(.is-mobile) .depth-0.has-mega>.iw-mega-menu__row>.iw-mega-menu__link{padding-right:2px}
.htsz-header-menu .iw-mega-menu:not(.is-mobile) .depth-0>.iw-mega-menu__row>.iw-mega-menu__toggle{padding:0 10px 0 2px;border-radius:0 10px 10px 0}
/* dropdowns */
.htsz-header-menu .iw-mega-menu:not(.is-mobile) .iw-mega-menu__sub{border:1px solid var(--ht-border-soft)}
.htsz-header-menu .iw-mega-menu:not(.is-mobile) .iw-mega-menu__sub .iw-mega-menu__link{border-radius:10px;padding:9px 12px}
.htsz-header-menu .iw-mega-menu:not(.is-mobile) .htsz-menu-cols.is-open>.iw-mega-menu__sub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2px;width:460px}
.htsz-header-menu .iw-mega-menu:not(.is-mobile) .iw-mega-menu__sub>.htsz-menu-all{grid-column:1/-1;margin:6px -8px -8px;padding:6px 8px;border-top:1px solid var(--ht-border-soft)}
.htsz-header-menu .iw-mega-menu:not(.is-mobile) .iw-mega-menu__sub>.htsz-menu-all>.iw-mega-menu__row>.iw-mega-menu__link{font-size:13.5px;font-weight:500}
/* Products mega panel (template "Header — Products mega panel") */
.htsz-header-menu .iw-mega-menu:not(.is-mobile) .iw-mega-menu__panel{overflow:hidden}
.htsz-mm__item{position:relative;transition:background-color .12s}
.htsz-mm__item:hover,.htsz-mm__item:focus-within{background:#f6f6f7}
.htsz-mm__item .elementor-icon-box-title a::after{content:"";position:absolute;inset:0;border-radius:10px}
.htsz-mm__item .elementor-icon-box-title a{color:inherit!important;text-decoration:none!important}
.htsz-mm__item .elementor-icon-box-title a:focus-visible{outline:none}
.htsz-mm__item .elementor-icon-box-title a:focus-visible::after{outline:2px solid var(--ht-ink);outline-offset:-2px}
.htsz-mm__item .elementor-icon-box-description{margin:0}
.htsz-mm__item .elementor-icon{width:32px;height:32px;padding:0!important;display:inline-grid;place-items:center}
.htsz-mm__all a{display:inline-flex;align-items:center;gap:6px;color:var(--ht-ink)!important;text-decoration:none!important}
.htsz-mm__all a:hover{text-decoration:underline!important;text-underline-offset:3px}
/* mobile (the widget switches below 900px): burger right, menu drops below the whole header bar */
.htsz-header-menu:has(.iw-mega-menu.is-mobile),.htsz-header-menu .iw-mega-menu.is-mobile{position:static}
.htsz-header-menu .iw-mega-menu.is-mobile .iw-mega-menu__burger{padding:8px;border:1px solid var(--ht-border-soft);border-radius:10px;background:#fff}
.htsz-header-menu .iw-mega-menu.is-mobile .iw-mega-menu__burger-lines{width:18px;height:14px}
.htsz-header-menu .iw-mega-menu.is-mobile .iw-mega-menu__burger-lines span:nth-child(2){top:6px}
.htsz-header-menu .iw-mega-menu.is-mobile .iw-mega-menu__burger-lines span:nth-child(3){top:12px}
.htsz-header-menu .iw-mega-menu.is-mobile.is-open .iw-mega-menu__burger-lines span:nth-child(1),.htsz-header-menu .iw-mega-menu.is-mobile.is-open .iw-mega-menu__burger-lines span:nth-child(3){top:6px}
.htsz-header-menu .iw-mega-menu.is-mobile .iw-mega-menu__wrap{border-top:1px solid var(--ht-border-soft);border-radius:0;max-height:calc(100vh - 60px);box-shadow:0 20px 40px -20px rgba(9,9,11,.25)}
.htsz-header-menu .iw-mega-menu.is-mobile .iw-mega-menu__link{padding:12px 16px;font-size:15px}
.htsz-header-menu .iw-mega-menu.is-mobile .depth-0>.iw-mega-menu__row>.iw-mega-menu__link{font-weight:600;color:var(--iwmm-mobile-link)}
.htsz-header-menu .iw-mega-menu.is-mobile .iw-mega-menu__sub .iw-mega-menu__link{padding:9px 16px 9px 28px;font-size:14px;color:var(--ht-muted)}
.htsz-header-menu .iw-mega-menu.is-mobile .htsz-menu-all>.iw-mega-menu__row>.iw-mega-menu__link{color:var(--ht-ink);font-weight:500}

/* ===== global header: <header class="htsz-global-header"> (header.php) > Elementor template "Site header" > container .htsz-site-header */
.htsz-global-header{position:sticky;top:0;z-index:50;display:block;width:100%;background:rgba(250,250,250,.86);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 1px 0 var(--ht-border-soft)}
.admin-bar .htsz-global-header{top:32px}
@media (max-width:782px){.admin-bar .htsz-global-header{top:46px}}
@media (max-width:600px){.admin-bar .htsz-global-header{top:0}}
/* lifted off the page once it scrolls (CSS scroll-driven animation; browsers without it keep the flat header) */
@keyframes htsz-header-lift{to{background:rgba(250,250,250,.94);box-shadow:0 1px 0 var(--ht-border-soft),0 8px 24px -12px rgba(9,9,11,.22)}}
@supports (animation-timeline:scroll()){.htsz-global-header{animation:htsz-header-lift linear both;animation-timeline:scroll(root);animation-range:0 8px}}
.htsz-global-header:has(.iw-mega-menu.is-open){backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff}
.htsz-site-header{width:100%;--iwmm-pad-y:8px}
.htsz-brand{gap:10px!important;min-width:0}
.htsz-brand__logo img{display:block;width:auto!important;height:52px!important;border-radius:0}
@media (max-width:767px){.htsz-brand__logo img{height:40px!important}}
.htsz-site-header .htsz-brand{--width:auto;width:auto!important;flex:none!important;text-decoration:none!important;min-width:0}
.htsz-site-header .htsz-brand .elementor-widget{width:auto}
/* the burger and sub-menu toggles are <button>s: no theme button styling */
.htsz-header-menu button{font:inherit;letter-spacing:inherit;text-transform:none;box-shadow:none}

/* ===== global footer: <footer class="htsz-global-footer"> (footer.php) > Elementor template "Site footer" > container .htsz-footer
   Colours, type and spacing are set in the template; only what Elementor (free) can't do is here. */
.htsz-footer{position:relative}
.htsz-spectrum-bar{position:absolute!important;left:0;right:0;top:0;height:4px;min-height:0!important;padding:0!important;background:var(--ht-spectrum)}
.htsz-footer .htsz-brand__logo img{height:64px!important}
.htsz-footer .htsz-brand__logo a{display:block;width:fit-content}
.htsz-footer__text p{margin:0}
.htsz-footer__links .elementor-icon-list-item a:hover .elementor-icon-list-text{text-decoration:underline;text-underline-offset:3px}
.htsz-footer__copy{font-size:13px;color:#a6a6a6} /* the Shortcode widget has no style controls */
.htsz-footer__copy .elementor-shortcode{display:block}
@media (max-width:600px){.htsz-footer .htsz-footer__col{--width:100%!important}}

/* ===== theme views (404, search, pages not built with Elementor): breathing room under the header, footer kept low */
body:not(.elementor-template-full-width) .site-main{min-height:max(320px,calc(100vh - 560px));padding-top:48px;padding-bottom:80px}
@media (max-width:767px){body:not(.elementor-template-full-width) .site-main{padding-top:32px;padding-bottom:56px}}
body:not(.elementor-template-full-width) .site-main .entry-title{margin:0 0 16px;color:var(--ht-ink)}
body:not(.elementor-template-full-width) .site-main article.post{padding:20px 0;border-bottom:1px solid var(--ht-border-soft)}
body:not(.elementor-template-full-width) .site-main article.post .entry-title{font-size:1.25rem;margin:0 0 6px}
body:not(.elementor-template-full-width) .site-main article.post p{margin:0;color:var(--ht-muted)}
