/* Trykfolie.dk – front-end styles (from the approved mockup) */
:root{
  --tf-c:#29abe2;--tf-m:#e6007e;--tf-m-dark:#c4006b;--tf-y:#ffe500;--tf-k:#111;
  --tf-ink:#151515;--tf-muted:#666;--tf-line:#e4e4e4;--tf-soft:#f5f5f6;--tf-bg:#fff;--tf-ok:#1a7f37;--tf-err:#d0021b;
  --tf-font:Montserrat,system-ui,-apple-system,"Segoe UI",sans-serif;
}
body.tf-site{font-family:var(--tf-font);color:var(--tf-ink);background:var(--tf-bg);font-size:15px;line-height:1.55}
body.tf-site h1,body.tf-site h2,body.tf-site h3,body.tf-site h4,body.tf-site h5{font-family:var(--tf-font);color:inherit;margin:0}
.tf-scope,.tf-scope *{box-sizing:border-box}
.tf-scope a{color:inherit;text-decoration:none}
.tf-scope img{max-width:100%;height:auto;display:block}
.tf-scope button{font:inherit;cursor:pointer;border:0;background:none;color:inherit;padding:0;margin:0;border-radius:0;text-transform:none;letter-spacing:normal;box-shadow:none}
.tf-scope button:hover,.tf-scope button:focus{background-color:transparent;color:inherit}
.tf-scope input,.tf-scope select,.tf-scope textarea{font:inherit;color:inherit}
.tf-wrap{max-width:1320px;margin:0 auto;padding:0 20px;width:100%}
.tf-sec{padding:60px 0}
.tf-sec.tf-grey{background:var(--tf-soft)}
.tf-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* buttons */
.tf-scope .tf-btn,a.tf-btn,button.tf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 26px;border-radius:4px;font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase;transition:.15s;border:2px solid transparent;line-height:1.2;text-align:center;cursor:pointer;font-family:var(--tf-font)}
.tf-scope .tf-btn--pri,.tf-btn--pri{background:var(--tf-m)!important;color:#fff!important;border-color:var(--tf-m)!important}
.tf-scope .tf-btn--pri:hover,.tf-btn--pri:hover,.tf-btn--pri:focus{background:var(--tf-m-dark)!important;border-color:var(--tf-m-dark)!important;color:#fff!important}
.tf-scope .tf-btn--dark,.tf-btn--dark{background:var(--tf-k)!important;color:#fff!important;border-color:var(--tf-k)!important}
.tf-scope .tf-btn--dark:hover,.tf-btn--dark:hover{background:#333!important;border-color:#333!important}
.tf-scope .tf-btn--ghost,.tf-btn--ghost{border-color:var(--tf-k)!important;color:var(--tf-k)!important;background:transparent!important}
.tf-scope .tf-btn--ghost:hover,.tf-btn--ghost:hover{background:var(--tf-k)!important;color:#fff!important}
.tf-scope .tf-btn--light,.tf-btn--light{border-color:#fff!important;color:#fff!important;background:transparent!important}
.tf-scope .tf-btn--light:hover,.tf-btn--light:hover{background:#fff!important;color:var(--tf-k)!important}
.tf-scope .tf-btn--outline-c{border-color:var(--tf-c)!important;color:#0b7fb2!important;background:transparent!important;min-height:40px;font-size:12px}
.tf-scope .tf-btn--outline-c:hover{background:var(--tf-c)!important;color:#fff!important}
.tf-btn--block{width:100%}
.tf-btn[disabled],.tf-btn.is-disabled{opacity:.5;pointer-events:none}

.tf-h-sec{text-align:center;font-weight:800;font-style:italic;text-transform:uppercase;font-size:clamp(22px,3vw,32px);margin:0 auto 34px!important;display:table;padding-bottom:4px;line-height:1.25;background:linear-gradient(90deg,var(--tf-c),var(--tf-m),var(--tf-y)) bottom/100% 3px no-repeat}
.tf-crumbs{font-size:12.5px;color:var(--tf-muted);padding:16px 0}
.tf-crumbs a:hover{color:var(--tf-m)}
.tf-crumbs b{color:var(--tf-ink)}

/* top bar */
.tf-topbar{background:var(--tf-k);color:#ddd;font-size:12.5px}
.tf-topbar .tf-wrap{display:flex;gap:28px;min-height:32px;align-items:center;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.tf-topbar .tf-wrap::-webkit-scrollbar{display:none}
.tf-topbar span.tf-tb-item:before{content:"✓";color:var(--tf-y);margin-right:6px;font-weight:700}
.tf-topbar .tf-cmyk{margin-left:auto;display:flex;gap:4px}
.tf-topbar .tf-cmyk i{width:10px;height:10px;border-radius:50%;display:block}

/* header */
.tf-header{background:#fff;border-bottom:1px solid var(--tf-line);position:relative;z-index:40}
.elementor-location-header .tf-header{position:relative}
.tf-hdr{display:flex;align-items:center;gap:24px;min-height:84px}
.tf-hdr .tf-logo img{height:44px;width:auto;max-width:none}
.tf-search{flex:1;max-width:560px;margin-left:auto;position:relative}
.tf-search input[type=search]{width:100%;height:46px;border:0!important;background:var(--tf-soft)!important;border-radius:4px!important;padding:0 16px 0 46px!important;font-size:14px;outline:none;box-shadow:none}
.tf-search input[type=search]:focus{box-shadow:0 0 0 2px var(--tf-c)}
.tf-search > svg{position:absolute;left:15px;top:14px;color:#333;pointer-events:none}
.tf-results{position:absolute;left:0;right:0;top:52px;background:#fff;border:1px solid var(--tf-line);border-radius:6px;box-shadow:0 12px 30px rgba(0,0,0,.12);display:none;max-height:380px;overflow:auto;z-index:60}
.tf-results.on{display:block}
.tf-results a{display:flex;gap:12px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--tf-line);font-size:14px}
.tf-results a:hover,.tf-results a.on{background:var(--tf-soft)}
.tf-results .tf-th{width:48px;height:36px;border-radius:4px;overflow:hidden;flex:none;background:var(--tf-soft)}
.tf-results .tf-th img{width:100%;height:100%;object-fit:cover}
.tf-results small{color:#777}
.tf-results .tf-none{padding:14px;font-size:14px;color:#777}
.tf-hbtns{display:flex;gap:8px;align-items:center}
.tf-hbtn{width:54px;height:46px;border:1px solid #cfcfcf;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:10px;gap:2px;position:relative;line-height:1.1;color:var(--tf-ink)}
.tf-hbtn:hover{border-color:var(--tf-k)}
.tf-hbtn--cart{background:var(--tf-k);color:#fff!important;border-color:var(--tf-k)}
.tf-badge{position:absolute;top:-7px;right:-7px;background:var(--tf-m);color:#fff;font-size:11px;font-weight:700;min-width:20px;height:20px;border-radius:10px;display:none;align-items:center;justify-content:center;padding:0 5px}
.tf-badge.on{display:flex}
.tf-vatsw{font-size:12px;border:1px solid #ccc!important;border-radius:20px!important;padding:5px 12px!important;font-weight:600;white-space:nowrap}
.tf-vatsw b{color:var(--tf-m)}
.tf-lang{display:flex;gap:2px;font-size:12px;font-weight:700;border:1px solid #ccc;border-radius:20px;padding:3px}
.tf-lang a{padding:3px 8px;border-radius:14px;color:#666}
.tf-lang a.on{background:var(--tf-k);color:#fff}
.tf-scope .tf-burger,.tf-burger{display:none!important;width:40px;height:46px;border:0!important;background:transparent!important;align-items:center;justify-content:center;margin-left:-8px!important}
.tf-nav{border-top:1px solid var(--tf-line)}
.tf-nav .tf-wrap{display:flex;gap:26px;min-height:48px;align-items:center;overflow-x:auto;scrollbar-width:none}
.tf-nav .tf-wrap::-webkit-scrollbar{display:none}
.tf-nav a{font-weight:600;font-size:14px;white-space:nowrap;padding:12px 0;border-bottom:3px solid transparent}
.tf-nav a.on,.tf-nav a:hover{border-color:var(--tf-m)}
.elementor-location-header{position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:100}
@media (max-width:600px){.elementor-location-header{top:0}}

/* hero */
.tf-hero{position:relative;overflow:hidden;background:#0d0d0f;color:#fff}
.tf-hero .tf-wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;min-height:470px;padding-top:40px;padding-bottom:40px}
.tf-hero h1{font-size:clamp(30px,4.4vw,56px);line-height:1.08;font-weight:800;letter-spacing:-.02em;color:#fff}
.tf-hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--tf-c),var(--tf-m) 55%,var(--tf-y));-webkit-background-clip:text;background-clip:text;color:transparent}
.tf-hero .tf-hero-text{color:#c9c9cf;font-size:17px;margin:18px 0 28px;max-width:520px}
.tf-hero .tf-ctas{display:flex;gap:12px;flex-wrap:wrap}
.tf-hero-art{position:relative;height:380px}
.tf-hero-art .tf-blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55}
.tf-hero-art .tf-card{position:absolute;border-radius:10px;box-shadow:0 25px 60px rgba(0,0,0,.5);overflow:hidden;background:#fff}
.tf-hero-art .tf-card img{width:100%;height:100%;object-fit:cover}
.tf-hero .tf-stats{display:flex;gap:34px;margin-top:34px;flex-wrap:wrap}
.tf-hero .tf-stats b{display:block;font-size:24px}
.tf-hero .tf-stats span{font-size:12px;color:#aaa;text-transform:uppercase;letter-spacing:.08em}

/* usp */
.tf-usp{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--tf-line)}
.tf-usp > div{padding:22px 20px;display:flex;gap:14px;align-items:center;font-size:13.5px;border-right:1px solid var(--tf-line)}
.tf-usp > div:last-child{border-right:0}
.tf-usp i{width:42px;height:42px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:800;color:#fff}
.tf-usp b{display:block;font-size:14px}

/* product cards */
.tf-pgrid{display:grid;grid-template-columns:repeat(var(--tf-cols,5),minmax(0,1fr));gap:22px}
.tf-pcard{display:block}
.tf-pcard .tf-im{aspect-ratio:4/3;border-radius:6px;overflow:hidden;background:var(--tf-soft);transition:.2s}
.tf-pcard .tf-im img{width:100%;height:100%;object-fit:cover}
.tf-pcard:hover .tf-im{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.1)}
.tf-pcard h3{font-size:15px;font-weight:700;margin-top:12px!important;line-height:1.3}
.tf-pcard .tf-from{font-size:13px;color:var(--tf-muted)}
.tf-pcard .tf-from b{color:var(--tf-ink)}

/* category tiles */
.tf-cats{display:grid;grid-template-columns:repeat(var(--tf-cols,4),minmax(0,1fr));gap:16px}
.tf-cat{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:16/10;display:flex;align-items:flex-end;padding:18px;color:#fff!important}
.tf-cat .tf-bg{position:absolute;inset:0;transition:.4s}
.tf-cat .tf-bg img{width:100%;height:100%;object-fit:cover}
.tf-cat:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.72))}
.tf-cat span{position:relative;z-index:1;font-weight:700;font-size:16px;line-height:1.3}
.tf-cat span small{display:block;font-weight:500;font-size:12px;opacity:.85}
.tf-cat:hover .tf-bg{transform:scale(1.05)}

/* split */
.tf-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.tf-split h2{font-size:clamp(24px,3vw,36px);line-height:1.15;font-weight:800;margin-bottom:16px!important}
.tf-split .tf-split-text{color:#444;margin-bottom:22px}
.tf-video{aspect-ratio:16/9;border-radius:8px;position:relative;overflow:hidden;background:#111;display:block;width:100%}
.tf-video img{width:100%;height:100%;object-fit:cover}
.tf-video iframe,.tf-video video{position:absolute;inset:0;width:100%;height:100%;border:0}
.tf-video .tf-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:78px;height:78px;border-radius:50%;background:var(--tf-m);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 12px rgba(230,0,126,.25);color:#fff;transition:.2s}
.tf-video:hover .tf-play{transform:translate(-50%,-50%) scale(1.06)}

/* cases */
.tf-cases{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.tf-case{background:#fff;border-radius:8px;overflow:hidden;display:flex;flex-direction:column}
.tf-case .tf-im{aspect-ratio:4/3;overflow:hidden}
.tf-case .tf-im img{width:100%;height:100%;object-fit:cover}
.tf-case .tf-bd{padding:22px;text-align:center;flex:1;display:flex;flex-direction:column;align-items:center}
.tf-case h3{font-size:19px;margin-bottom:10px!important}
.tf-case p{font-size:13.5px;color:#555;margin:0 0 18px;flex:1}

/* band */
.tf-band{background:var(--tf-k);color:#fff;border-radius:10px;padding:46px;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;position:relative;overflow:hidden}
.tf-band h2{font-size:clamp(22px,2.6vw,32px);font-weight:800;line-height:1.2;margin-bottom:12px!important;color:#fff}
.tf-band p{color:#bbb;margin:0}
.tf-band .tf-stripe{position:absolute;right:0;top:0;bottom:0;width:10px;background:linear-gradient(var(--tf-c),var(--tf-m),var(--tf-y))}
.tf-band .tf-band-btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}

/* reviews */
.tf-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tf-review{border:1px solid var(--tf-line);border-radius:8px;padding:24px;background:#fff}
.tf-review .tf-st{color:#00b67a;letter-spacing:2px;font-size:18px}
.tf-review p{font-size:14px;margin:10px 0 14px}
.tf-review small{color:var(--tf-muted)}

/* client logo slider */
.tf-logos{overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.tf-logos-row{display:flex;width:max-content;animation:tf-marquee var(--tf-speed,60s) linear infinite}
.tf-logos-row.tf-rev{animation-direction:reverse}
.tf-logos-row + .tf-logos-row{margin-top:18px}
.tf-logos:hover .tf-logos-row.tf-pause{animation-play-state:paused}
.tf-logo-item{flex:none;width:var(--tf-lw,190px);height:var(--tf-lh,96px);margin-right:var(--tf-gap,18px);background:#fff;border:1px solid var(--tf-line);border-radius:8px;display:flex;align-items:center;justify-content:center;padding:14px 18px}
.tf-logo-item img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transition:.25s}
.tf-logos.tf-gray .tf-logo-item img{filter:grayscale(1);opacity:.7}
.tf-logos.tf-gray .tf-logo-item:hover img{filter:none;opacity:1}
@keyframes tf-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.tf-logos-row{animation-duration:calc(var(--tf-speed,60s) * 2)}}

/* category page */
.tf-catHead{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;padding:20px 0 40px}
.tf-catHead h1{font-size:clamp(26px,3.4vw,40px);font-weight:800}
.tf-catHead .tf-cat-desc{color:#555;margin-top:10px}
.tf-catHead .tf-im{aspect-ratio:16/8;border-radius:8px;overflow:hidden;background:var(--tf-soft)}
.tf-catHead .tf-im img{width:100%;height:100%;object-fit:cover}
.tf-subcats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.tf-subcats a{border:1px solid var(--tf-line);border-radius:30px;padding:7px 16px;font-size:13px;font-weight:600}
.tf-subcats a.on,.tf-subcats a:hover{background:var(--tf-k);color:#fff;border-color:var(--tf-k)}
.tf-pager{display:flex;gap:6px;justify-content:center;margin:30px 0 0}
.tf-pager a,.tf-pager span{min-width:38px;height:38px;border:1px solid var(--tf-line);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;font-weight:600}
.tf-pager .current{background:var(--tf-k);color:#fff;border-color:var(--tf-k)}

/* product page */
.tf-pp{display:grid;grid-template-columns:90px minmax(0,1.15fr) minmax(360px,1fr);gap:24px;align-items:start;padding-bottom:40px}
.tf-thumbs{display:flex;flex-direction:column;gap:10px}
.tf-thumbs button{aspect-ratio:1;border:2px solid transparent!important;border-radius:4px!important;overflow:hidden;background:var(--tf-soft)!important;display:block;width:100%}
.tf-thumbs button img{width:100%;height:100%;object-fit:cover}
.tf-thumbs button.on{border-color:var(--tf-k)!important}
.tf-gallery{position:sticky;top:170px}
.tf-gallery .tf-main{aspect-ratio:1/1;border-radius:6px;overflow:hidden;background:var(--tf-soft);position:relative}
.tf-gallery .tf-main img{width:100%;height:100%;object-fit:cover}
.tf-gallery .tf-dots{display:flex;gap:6px;justify-content:center;margin-top:12px}
.tf-gallery .tf-dots i{width:22px;height:3px;background:#ccc;border-radius:2px}
.tf-gallery .tf-dots i.on{background:var(--tf-k)}
.tf-cfg{min-width:0}
.tf-cfg h1{font-size:26px;font-weight:700;margin-bottom:6px!important;line-height:1.25}
.tf-cfg .tf-short{font-size:14px;color:#444;margin:0 0 16px}
.tf-cfg h4{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin:6px 0 10px!important;padding-bottom:10px;border-bottom:1px solid var(--tf-line)}
.tf-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--tf-line)}
.tf-row > label{font-weight:600;font-size:14px}
.tf-size{display:flex;align-items:center;gap:8px;font-size:14px}
.tf-scope .tf-size input{width:78px;height:36px;border:1px solid #ccc;border-radius:3px;text-align:center;padding:0 4px}
.tf-scope .tf-size input.bad{border-color:var(--tf-err);background:#fff6f6}
.tf-hint{font-size:11.5px;color:var(--tf-muted)}
.tf-hint.err{color:var(--tf-err)}
.tf-opt{border-bottom:1px solid var(--tf-line)}
.tf-scope .tf-opt > button{width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:10px 10px 10px 12px;border-left:3px solid var(--tf-c);margin:8px 0}
.tf-opt > button .tf-t{flex:1;min-width:0;overflow-wrap:anywhere}
.tf-opt > button .tf-t b{display:block;font-size:14px}
.tf-opt > button .tf-t span{font-size:13.5px}
.tf-opt > button .tf-t small{display:block;font-size:11.5px;color:var(--tf-muted)}
.tf-opt .tf-chk{width:16px;height:16px;border-radius:50%;background:#1f6feb;display:inline-flex;align-items:center;justify-content:center;flex:none;color:#fff}
.tf-opt .tf-arr{transition:.2s;flex:none;color:#1f6feb}
.tf-opt.open .tf-arr{transform:rotate(90deg)}
.tf-opt .tf-choices{display:none;padding:2px 0 14px 15px}
.tf-opt.open .tf-choices{display:grid;gap:8px}
.tf-scope .tf-choice{display:flex;gap:12px;align-items:center;border:1.5px solid var(--tf-line);border-radius:6px;padding:10px 12px;text-align:left;transition:.12s;background:#fff;width:100%}
.tf-scope .tf-choice:hover{border-color:#aaa;background:#fff}
.tf-scope .tf-choice.on{border-color:var(--tf-m);background:#fff5fa}
.tf-choice .tf-sw{width:40px;height:40px;border-radius:4px;flex:none;overflow:hidden;border:1px solid #ddd}
.tf-choice .tf-ct{flex:1}
.tf-choice .tf-ct b{display:block;font-size:13.5px}
.tf-choice .tf-ct small{font-size:12px;color:var(--tf-muted)}
.tf-choice .tf-pr{font-size:12px;font-weight:700;white-space:nowrap}
.tf-rad{width:18px;height:18px;border-radius:50%;border:2px solid #bbb;flex:none;display:inline-block}
.on > .tf-rad{border:5px solid var(--tf-m)}
.tf-scope textarea.tf-cm{width:220px;height:48px;border:1px solid #ccc;border-radius:3px;padding:6px 8px;font-size:13px;resize:vertical}
.tf-design{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 6px}
.tf-scope .tf-design button{border:1.5px solid var(--tf-line);border-radius:4px;padding:14px 8px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12.5px;text-align:center;min-height:104px;justify-content:center;background:#fff}
.tf-scope .tf-design button.on{border-color:var(--tf-m);background:#fff5fa}
.tf-design button small{color:var(--tf-muted);font-size:11px}
.tf-filenote{font-size:12.5px;margin-top:6px;display:none}
.tf-filenote.on{display:block}
.tf-filenote.ok{color:var(--tf-ok)}
.tf-filenote.err{color:var(--tf-err)}
.tf-progress{height:4px;background:var(--tf-line);border-radius:2px;margin-top:6px;overflow:hidden;display:none}
.tf-progress i{display:block;height:100%;width:0;background:var(--tf-m);transition:width .2s}
.tf-pricebox{background:var(--tf-soft);border-radius:8px;padding:20px;margin-top:20px}
.tf-pricebox .tf-tot{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.tf-pricebox .tf-tot b{font-size:30px;font-weight:800}
.tf-pricebox .tf-tot b.flash{animation:tf-flash .5s}
@keyframes tf-flash{0%{color:var(--tf-m)}100%{color:var(--tf-ink)}}
.tf-pricebox .tf-per{font-size:13px;color:var(--tf-muted)}
.tf-pricebox .tf-vat{font-size:12px;color:var(--tf-muted);margin:2px 0 14px}
.tf-pricebox .tf-meta{display:flex;justify-content:space-between;font-size:12.5px;margin-top:12px;color:#444;gap:10px;flex-wrap:wrap}
.tf-qtywrap{display:flex;gap:10px;margin-bottom:12px}
.tf-qtywrap .tf-q{display:flex;border:1px solid #ccc;border-radius:4px;background:#fff;height:48px}
.tf-scope .tf-qtywrap .tf-q button{width:36px;font-size:18px}
.tf-scope .tf-qtywrap .tf-q input{width:58px;border:0;text-align:center;font-weight:700;padding:0;-moz-appearance:textfield}
.tf-scope .tf-qtywrap select{height:48px;border:1px solid #ccc;border-radius:4px;padding:0 10px;background:#fff;font-weight:600;min-width:120px}
.tf-tiers{margin-top:18px}
.tf-tiers h5{font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px!important}
.tf-tiers table{width:100%;border-collapse:collapse;font-size:13px;margin:0;border:0}
.tf-tiers td{padding:7px 8px;border:0;border-bottom:1px solid var(--tf-line);background:transparent!important}
.tf-tiers td:nth-child(2),.tf-tiers td:nth-child(3){text-align:right}
.tf-tiers tr{cursor:pointer}
.tf-tiers tr:hover td{background:#fafafa!important}
.tf-tiers tr.on td{background:#fff0f7!important;font-weight:700}
.tf-tiers .tf-save{color:var(--tf-ok);font-size:11px;font-weight:700;margin-left:6px}
.tf-err-msg{color:var(--tf-err);font-size:13px;margin-top:8px;display:none}
.tf-err-msg.on{display:block}
.tf-tabs{border-top:1px solid var(--tf-line);margin-top:20px}
.tf-tabs .tf-tb{display:flex;gap:28px;border-bottom:1px solid var(--tf-line);overflow:auto}
.tf-scope .tf-tabs .tf-tb button{padding:16px 0;font-weight:700;border-bottom:3px solid transparent;white-space:nowrap}
.tf-scope .tf-tabs .tf-tb button.on{border-color:var(--tf-m)}
.tf-tabs .tf-pn{padding:24px 0;max-width:820px;display:none}
.tf-tabs .tf-pn.on{display:block}
.tf-tabs .tf-pn p{margin:0 0 12px;color:#333}
.tf-tabs table{border-collapse:collapse;width:100%;border:0}
.tf-tabs table td{padding:10px 0;border:0;border-bottom:1px solid var(--tf-line);vertical-align:top;font-size:14px;background:transparent!important}
.tf-tabs table td:first-child{font-weight:700;width:200px}

/* simple add-to-cart for plain WooCommerce products */
.tf-cfg form.cart{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.tf-cfg form.cart .quantity input{height:48px;width:80px;border:1px solid #ccc;border-radius:4px;text-align:center}
.tf-cfg form.cart .single_add_to_cart_button{background:var(--tf-m)!important;color:#fff!important;border-radius:4px;font-weight:700;text-transform:uppercase;padding:0 26px;min-height:48px;flex:1}

/* drawer / modal / toast / chat */
.tf-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9990;display:none;align-items:center;justify-content:center;padding:16px}
.tf-modal.on{display:flex}
.tf-modal .tf-in{background:#fff;border-radius:6px;max-width:470px;width:100%;padding:38px 30px 30px;text-align:center;position:relative;color:var(--tf-ink)}
.tf-modal .tf-in img{height:42px;width:auto;margin:0 auto 16px}
.tf-modal .tf-in p{font-size:14px;margin:0 0 20px}
.tf-modal .tf-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tf-scope .tf-modal .tf-two button{border:2px solid var(--tf-m);color:var(--tf-m);font-weight:700;font-size:13px;padding:13px 6px;border-radius:3px;text-transform:uppercase;width:100%}
.tf-scope .tf-modal .tf-two button:hover{background:var(--tf-m);color:#fff}
.tf-modal .tf-two small{display:block;font-size:12px;color:#444;margin-top:8px}
.tf-scope .tf-modal .tf-x{position:absolute;right:14px;top:10px;font-size:22px;color:#888}
.tf-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:#fff;z-index:9995;transform:translateX(100%);transition:.3s;display:flex;flex-direction:column;box-shadow:-20px 0 50px rgba(0,0,0,.2);visibility:hidden}
.tf-drawer.on{transform:none;visibility:visible}
.tf-drawer .tf-hd{padding:20px 22px;border-bottom:1px solid var(--tf-line);display:flex;justify-content:space-between;align-items:center}
.tf-drawer .tf-hd b{display:flex;gap:10px;align-items:center}
.tf-drawer .tf-hd b i{width:24px;height:24px;border-radius:50%;background:var(--tf-ok);display:inline-flex;align-items:center;justify-content:center;color:#fff}
.tf-drawer .tf-bd{padding:22px;flex:1;overflow:auto}
.tf-drawer .tf-bd ul{list-style:none;font-size:12.5px;color:#555;margin:14px 0 0;padding:0;display:grid;gap:4px}
.tf-drawer .tf-ft{padding:22px;border-top:1px solid var(--tf-line);display:grid;gap:10px}
.tf-shade{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:9994;display:none}
.tf-shade.on{display:block}
.tf-toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,140px);background:var(--tf-k);color:#fff;padding:12px 20px;border-radius:30px;font-size:14px;z-index:9999;transition:.3s;max-width:90vw;text-align:center}
.tf-toast.on{transform:translate(-50%,0)}
.tf-chat{position:fixed;right:20px;bottom:20px;z-index:900;display:flex;align-items:center;gap:10px}
.tf-chat span{background:#fff;padding:9px 14px;border-radius:20px;font-size:13px;box-shadow:0 4px 16px rgba(0,0,0,.15);color:var(--tf-ink)}
.tf-chat a.tf-chat-btn{width:54px;height:54px;border-radius:50%;background:var(--tf-k);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.25);color:#fff}

/* mobile menu */
.tf-mnav{position:fixed;top:0;left:0;bottom:0;width:min(340px,88%);background:#fff;z-index:9995;transform:translateX(-100%);transition:.3s;display:flex;flex-direction:column;visibility:hidden}
.tf-mnav.on{transform:none;visibility:visible}
.tf-mnav .tf-hd{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--tf-line)}
.tf-mnav .tf-hd img{height:30px;width:auto}
.tf-mnav nav{overflow:auto;padding:8px 0}
.tf-mnav nav a{display:block;padding:13px 20px;font-weight:600;border-bottom:1px solid var(--tf-line)}
.tf-mnav nav a.on{color:var(--tf-m)}
.tf-mnav .tf-mfoot{padding:16px 20px;display:grid;gap:10px;margin-top:auto;border-top:1px solid var(--tf-line)}

body.admin-bar .tf-mnav,body.admin-bar .tf-drawer{top:32px}
@media (max-width:782px){body.admin-bar .tf-mnav,body.admin-bar .tf-drawer{top:46px}}

/* footer */
.tf-footer{background:var(--tf-k);color:#bbb;font-size:13.5px}
.tf-footer .tf-stripe{height:6px;background:linear-gradient(90deg,var(--tf-c) 0 33%,var(--tf-m) 33% 66%,var(--tf-y) 66%)}
.tf-footer .tf-fcols{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px;padding-top:54px;padding-bottom:40px}
.tf-footer h4{color:#fff;font-size:14px;margin-bottom:14px!important;text-transform:uppercase;letter-spacing:.06em}
.tf-footer ul{margin:0;padding:0}
.tf-footer li{list-style:none;margin-bottom:8px}
.tf-footer a:hover{color:#fff}
.tf-footer .tf-flogo img{height:40px;width:auto;margin-bottom:16px}
.tf-footer p{margin:0}
.tf-footer .tf-bottom{border-top:1px solid #2a2a2a;padding:18px 0;font-size:12px;color:#777}
.tf-footer .tf-bottom .tf-wrap{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.tf-pay{display:flex;gap:6px;margin-top:14px;flex-wrap:wrap}
.tf-pay span{background:#fff;color:#111;font-size:10px;font-weight:800;border-radius:3px;padding:4px 7px}
.tf-social{display:flex;gap:10px;margin-top:14px}
.tf-social a{width:34px;height:34px;border-radius:50%;border:1px solid #444;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.tf-social a:hover{border-color:#fff}

/* page title (info pages) */
.tf-ptitle h1{font-size:clamp(26px,3.4vw,36px);font-weight:800;margin-bottom:12px!important}
.tf-ptitle .tf-intro{color:#444;max-width:760px}
.tf-prose{max-width:820px;padding-bottom:60px}
.tf-prose h2{font-size:22px;font-weight:800;margin:28px 0 10px!important}
.tf-prose h3{font-size:17px;font-weight:700;margin:20px 0 8px!important}
.tf-prose p,.tf-prose li{color:#333}
.tf-prose ul{padding-left:20px}

/* WooCommerce pages – cart / checkout / account / thanks */
.tf-steps{display:flex;gap:10px;margin:6px 0 26px;font-size:13px;font-weight:700;flex-wrap:wrap}
.tf-steps span{display:flex;align-items:center;gap:8px;color:#aaa}
.tf-steps span i{width:26px;height:26px;border-radius:50%;border:2px solid #ccc;display:flex;align-items:center;justify-content:center;font-style:normal}
.tf-steps span.on{color:var(--tf-ink)}
.tf-steps span.on i{background:var(--tf-k);border-color:var(--tf-k);color:#fff}
.tf-steps span.done i{background:var(--tf-ok);border-color:var(--tf-ok);color:#fff}
.tf-steps .tf-sep{width:30px;height:2px;background:#ddd;align-self:center}
.tf-woo{padding-bottom:60px}
.tf-woo h1.tf-wtitle{font-size:26px;font-weight:800;margin-bottom:6px!important}
body.tf-site .woocommerce a.button,body.tf-site .woocommerce button.button,body.tf-site .woocommerce input.button,body.tf-site .woocommerce #respond input#submit{background:var(--tf-k);color:#fff;border-radius:4px;font-weight:700;font-family:var(--tf-font);padding:12px 20px;border:0}
body.tf-site .woocommerce a.button:hover,body.tf-site .woocommerce button.button:hover{background:#333;color:#fff}
body.tf-site .woocommerce button.button:disabled,body.tf-site .woocommerce button.button:disabled[disabled],body.tf-site .woocommerce button.button.disabled{background:#e4e4e4!important;color:#555!important;opacity:1;cursor:not-allowed;padding:12px 20px}
body.tf-site .woocommerce button.button:disabled:hover,body.tf-site .woocommerce button.button:disabled[disabled]:hover{background:#e4e4e4!important;color:#555!important}
body.tf-site .woocommerce button[name=update_cart]:not(:disabled){background:var(--tf-k)!important;color:#fff!important}
body.tf-site .woocommerce a.button.alt,body.tf-site .woocommerce button.button.alt,body.tf-site .woocommerce .checkout-button,body.tf-site #place_order{background:var(--tf-m)!important;color:#fff!important;text-transform:uppercase;letter-spacing:.04em;font-size:14px;min-height:50px;border-radius:4px}
body.tf-site .woocommerce a.button.alt:hover,body.tf-site .woocommerce button.button.alt:hover,body.tf-site #place_order:hover{background:var(--tf-m-dark)!important}
body.tf-site .woocommerce table.shop_table{border:0;border-radius:0;border-collapse:collapse}
body.tf-site .woocommerce table.shop_table th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--tf-muted)}
body.tf-site .woocommerce table.shop_table td,body.tf-site .woocommerce table.shop_table th{border-top:1px solid var(--tf-line);padding:14px 10px;background:transparent}
body.tf-site .woocommerce table.cart img{width:110px;border-radius:6px}
body.tf-site .woocommerce .cart_totals,body.tf-site .woocommerce-checkout-review-order{background:var(--tf-soft);border-radius:8px;padding:24px}
body.tf-site .woocommerce .cart-collaterals .cart_totals{width:100%;max-width:420px;float:right}
body.tf-site .woocommerce .cart_totals h2,body.tf-site #order_review_heading{font-size:18px;font-weight:800;margin-bottom:14px}
body.tf-site .woocommerce form .form-row label{font-size:12.5px;font-weight:700;margin-bottom:5px}
body.tf-site .woocommerce form .form-row input.input-text,body.tf-site .woocommerce form .form-row textarea,body.tf-site .woocommerce form .form-row select,body.tf-site .select2-container .select2-selection--single{min-height:46px;border:1px solid #ccc;border-radius:4px;padding:8px 12px;background:#fff;font-family:var(--tf-font)}
body.tf-site .select2-container .select2-selection--single .select2-selection__rendered{line-height:28px}
body.tf-site .woocommerce form .form-row.woocommerce-invalid input.input-text{border-color:var(--tf-err);background:#fff6f6}
body.tf-site .woocommerce-checkout #payment{background:transparent;border-radius:8px}
body.tf-site .woocommerce-checkout #payment ul.payment_methods{border:0;padding:0}
body.tf-site .woocommerce-checkout #payment ul.payment_methods li{border:1.5px solid var(--tf-line);border-radius:6px;padding:14px;margin-bottom:10px;list-style:none;background:#fff}
body.tf-site .woocommerce-checkout #payment ul.payment_methods li:has(input:checked){border-color:var(--tf-m);background:#fff5fa}
body.tf-site .woocommerce-checkout #payment div.payment_box{background:transparent;padding:6px 0 0;margin:0;font-size:13px;color:#555}
body.tf-site .woocommerce-checkout #payment div.payment_box:before{display:none}
body.tf-site .woocommerce ul#shipping_method li{margin-bottom:6px}
body.tf-site .woocommerce-message,body.tf-site .woocommerce-info{border-top-color:var(--tf-m)}
body.tf-site .woocommerce-message:before,body.tf-site .woocommerce-info:before{color:var(--tf-m)}
.tf-ctype{display:inline-flex;border:1px solid #ccc;border-radius:30px;padding:3px;margin:0 0 16px}
.tf-ctype label{padding:8px 18px;border-radius:30px;font-size:13px;font-weight:700;cursor:pointer;margin:0!important}
.tf-ctype input{position:absolute;opacity:0;pointer-events:none}
.tf-ctype label:has(input:checked){background:var(--tf-k);color:#fff}
.tf-cart-lines{list-style:none;margin:6px 0 0;padding:0;font-size:12.5px;color:#555}
.tf-cart-lines li{margin:0}
dl.variation{font-size:12.5px;color:#555}
.tf-thanks{text-align:center;max-width:680px;margin:0 auto;padding:30px 0 40px}
.tf-thanks .tf-ok{width:84px;height:84px;border-radius:50%;background:var(--tf-ok);margin:0 auto 22px;display:flex;align-items:center;justify-content:center;color:#fff}
.tf-thanks h2{font-size:30px;margin-bottom:8px!important}
.tf-thanks .tf-ono{display:inline-block;background:var(--tf-soft);padding:8px 18px;border-radius:30px;font-weight:700;margin:14px 0 10px}
.tf-timeline{display:flex;justify-content:space-between;margin:30px 0;position:relative}
.tf-timeline:before{content:"";position:absolute;left:8%;right:8%;top:15px;height:2px;background:#ddd}
.tf-timeline div{position:relative;font-size:12px;width:25%}
.tf-timeline div i{width:32px;height:32px;border-radius:50%;background:#ddd;display:flex;align-items:center;justify-content:center;margin:0 auto 8px;font-style:normal;font-weight:700}
.tf-timeline div.on i{background:var(--tf-m);color:#fff}
body.tf-site .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;border:1px solid var(--tf-line);border-radius:8px;overflow:hidden}
body.tf-site .woocommerce-MyAccount-navigation li a{display:block;padding:12px 16px;border-bottom:1px solid var(--tf-line);font-weight:600}
body.tf-site .woocommerce-MyAccount-navigation li.is-active a{background:var(--tf-k);color:#fff}
.tf-file-link{display:inline-flex;gap:6px;align-items:center;font-weight:600;color:var(--tf-m)}

/* checkout layout: form left, summary right */
body.tf-site form.woocommerce-checkout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:0 34px;align-items:start}
body.tf-site form.woocommerce-checkout > *{grid-column:1}
body.tf-site form.woocommerce-checkout #customer_details{grid-column:1;grid-row:1 / span 3}
body.tf-site form.woocommerce-checkout #order_review_heading{grid-column:2;grid-row:1;margin:0 0 12px}
body.tf-site form.woocommerce-checkout #order_review{grid-column:2;grid-row:2;position:sticky;top:170px}
body.tf-site .woocommerce .col2-set .col-1,body.tf-site .woocommerce .col2-set .col-2{float:none;width:100%;max-width:none}
body.tf-site .woocommerce .col2-set{display:block}
body.tf-site .woocommerce-billing-fields,body.tf-site .woocommerce-shipping-fields,body.tf-site .woocommerce-additional-fields{border:1px solid var(--tf-line);border-radius:8px;padding:24px;margin-bottom:20px}
body.tf-site .woocommerce-billing-fields h3,body.tf-site .woocommerce-additional-fields h3,body.tf-site #ship-to-different-address{font-size:17px;font-weight:700;margin:0 0 16px}
body.tf-site .woocommerce-checkout-review-order-table{font-size:13.5px}
body.tf-site .woocommerce-checkout-review-order-table td.product-name{width:65%}
body.tf-site #billing_customer_type_field > label{display:block}
body.tf-site #billing_customer_type_field .required{display:none}
body.tf-site .tf-ctype label.radio{display:inline-flex;align-items:center}
body.tf-site .woocommerce table.shop_table th.product-quantity{white-space:nowrap}
@media (max-width:960px){body.tf-site form.woocommerce-checkout{display:block}body.tf-site form.woocommerce-checkout #order_review{position:static}}

/* WooCommerce account / login */
.tf-woo h2{font-size:22px;font-weight:800;margin:26px 0 14px!important;line-height:1.25}
body.tf-site .woocommerce form.login,body.tf-site .woocommerce form.register{border:1px solid var(--tf-line);border-radius:8px;padding:24px;margin:0 0 20px}
body.tf-site .woocommerce-form-login__rememberme{display:inline-flex;align-items:center;gap:6px;margin-left:12px;font-weight:600}
@media (max-width:480px){body.tf-site .woocommerce form.login,body.tf-site .woocommerce form.register{padding:18px}}

/* text must never leave its box */
.tf-scope button,.tf-scope .tf-btn{white-space:normal}
.tf-scope .tf-design button{align-items:stretch;line-height:1.3;white-space:normal}
.tf-scope .tf-design button small{line-height:1.35}
.tf-scope .tf-design button svg{align-self:center;flex:none}
.tf-scope .tf-design button,.tf-scope .tf-design button small{overflow-wrap:anywhere;word-break:normal;hyphens:auto}
.tf-choice .tf-ct,.tf-pcard h3,.tf-cat span,.tf-case h3,.tf-review p,.tf-usp span,.tf-cfg h1,.tf-row > label{overflow-wrap:anywhere;min-width:0}
.tf-row > div{min-width:0}

/* checkout / account forms on phones: one field per row */
@media (max-width:600px){
  body.tf-site .woocommerce form .form-row-first,body.tf-site .woocommerce form .form-row-last,body.tf-site .woocommerce-page form .form-row-first,body.tf-site .woocommerce-page form .form-row-last{float:none!important;width:100%!important;margin-right:0!important}
  body.tf-site .woocommerce-billing-fields,body.tf-site .woocommerce-shipping-fields,body.tf-site .woocommerce-additional-fields{padding:18px}
  body.tf-site .woocommerce form .form-row{margin-bottom:12px}
  body.tf-site .woocommerce table.shop_table_responsive tr td{padding:10px}
  .tf-ctype label{padding:8px 14px}
}

@media (max-width:480px){.tf-qtywrap{flex-wrap:wrap}.tf-qtywrap .tf-btn{flex:1 1 100%!important}}

.tf-prose,.tf-prose h2,.tf-prose h3,.tf-ptitle h1,.tf-catHead h1,.tf-woo h1,.tf-woo h2,.tf-h-sec{overflow-wrap:break-word;hyphens:auto}
.tf-prose h2,.tf-prose h3,.tf-ptitle h1{-webkit-hyphens:auto}

/* hide theme page titles on our pages */
body.tf-site .page-header .entry-title{display:none}
body.tf-site .site-main.post-0,body.tf-site main.site-main{max-width:none;padding:0}

/* responsive */
@media (max-width:1100px){
  .tf-pgrid{grid-template-columns:repeat(min(var(--tf-cols,5),3),minmax(0,1fr))}
  .tf-pp{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .tf-thumbs{display:none}
  .tf-cats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tf-hdr{gap:14px}
}
@media (max-width:860px){
  .tf-hdr{min-height:0;gap:10px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
  .tf-hdr .tf-logo img{height:32px}
  .tf-hbtns{margin-left:auto}
  .tf-search{order:3;flex:1 1 100%;max-width:none;margin:0}
  .tf-search input[type=search]{height:42px}
  .tf-search > svg{top:12px}
  .tf-hbtn--contact,.tf-hdr .tf-vatsw{display:none!important}
  .tf-scope .tf-burger,.tf-burger{display:flex!important}
  .tf-nav{display:none}
  .tf-hero .tf-wrap,.tf-split,.tf-catHead,.tf-band,.tf-pp{grid-template-columns:minmax(0,1fr)}
  .tf-pp > *,.tf-split > *,.tf-hero .tf-wrap > *{min-width:0}
  .tf-hdr > .tf-lang{display:none}
  .tf-mnav .tf-lang{align-self:flex-start}
  .tf-hero-art{height:260px}
  .tf-usp{grid-template-columns:1fr 1fr}
  .tf-usp > div:nth-child(2){border-right:0}
  .tf-usp > div{border-bottom:1px solid var(--tf-line)}
  .tf-cases,.tf-reviews{grid-template-columns:1fr}
  .tf-pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .tf-footer .tf-fcols{grid-template-columns:1fr 1fr}
  .tf-gallery{position:static}
  .tf-wrap{padding:0 16px}
  .tf-sec{padding:44px 0}
  .tf-wrap.tf-hdr{padding:10px 16px}
  .tf-hbtn{width:50px;height:44px}
  .tf-badge{top:-6px;right:-4px;min-width:18px;height:18px;font-size:10px}
  .tf-band{padding:30px 24px}
  .tf-band .tf-band-btns{justify-content:flex-start}
  .tf-chat span{display:none}
  .tf-logo-item{--tf-lw:150px;--tf-lh:80px}
  body.tf-site .woocommerce .cart-collaterals .cart_totals{float:none;max-width:none}
}
@media (max-width:480px){
  .tf-design{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tf-scope .tf-design button small{overflow-wrap:anywhere}
  .tf-scope .tf-design button{min-height:96px;font-size:11.5px;padding:10px 4px}
  .tf-scope textarea.tf-cm{width:100%}
  .tf-row.tf-row--stack{flex-direction:column;align-items:stretch}
  .tf-hero .tf-stats{gap:20px}
  .tf-timeline div{font-size:10.5px}
  .tf-footer .tf-fcols{grid-template-columns:1fr}
  .tf-cats{grid-template-columns:1fr 1fr;gap:10px}
  .tf-cat{padding:12px}
  .tf-cat span{font-size:14px}
  .tf-usp{grid-template-columns:1fr}
  .tf-usp > div{border-right:0}
  .tf-qtywrap{flex-wrap:wrap}
  .tf-qtywrap .tf-btn{flex:1 1 100%!important}
}

/* very small phones (≤370px) – must stay last */
@media (max-width:370px){
  .tf-wrap.tf-hdr{gap:6px;padding:8px 12px}
  .tf-hdr .tf-logo img{height:26px}
  .tf-hbtn{width:44px;height:40px;font-size:9px}
  .tf-hbtns{gap:6px}
  .tf-scope .tf-burger,.tf-burger{width:32px}
  .tf-tiers table{font-size:11.5px}
  .tf-tiers td{padding:6px 4px}
  .tf-tiers td:first-child{white-space:nowrap}
  .tf-pricebox{padding:16px}
  .tf-pricebox .tf-tot b{font-size:26px}
  .tf-row{flex-wrap:wrap}
  .tf-scope .tf-size input{width:64px}
}

