/*
Theme Name: Tokboostly
Theme URI: https://tokboostly.nl/
Author: Tokboostly
Description: Custom Elementor and WooCommerce theme for Tokboostly.
Version: 2.1.2
Requires PHP: 8.0
Text Domain: tokboostly
*/

:root{--tb-ink:#173a62;--tb-blue:#0f4b79;--tb-orange:#eb7d35;--tb-peach:#fff4eb;--tb-line:#dce5eb}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;color:#263e51;background:#fff;font:400 16px/1.6 'DM Sans',Arial,sans-serif}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.screen-reader-text:focus{position:fixed;z-index:1000;top:8px;left:8px;width:auto;height:auto;padding:12px 16px;clip-path:none;background:#fff;color:#173a62}
a:focus-visible,button:focus-visible{outline:3px solid var(--tb-orange);outline-offset:3px}
.tb-site-header{position:relative;z-index:100;background:#fff;border-bottom:1px solid var(--tb-line)}
.tb-header-inner,.tb-footer-inner{width:min(100% - 36px,1180px);margin:auto}
.tb-header-inner{min-height:78px;display:flex;align-items:center;gap:28px}
.tb-brand{font:800 25px/1.2 Manrope,Arial,sans-serif;color:var(--tb-ink);text-decoration:none;letter-spacing:-.04em}
.tb-brand span{color:var(--tb-orange)}
.tb-site-nav{margin-left:auto}.tb-site-nav ul{display:flex;align-items:center;gap:25px;list-style:none;margin:0;padding:0}.tb-site-nav li{position:relative}.tb-site-nav a{display:block;color:var(--tb-ink);font-weight:700;text-decoration:none}.tb-site-nav a:hover{color:#bc5426}.tb-site-nav .sub-menu{position:absolute;top:100%;left:0;min-width:220px;display:none;padding:12px;background:#fff;border:1px solid var(--tb-line);border-radius:12px;box-shadow:0 12px 30px #173a621b;flex-direction:column;align-items:stretch;gap:0}.tb-site-nav li:hover>.sub-menu,.tb-site-nav li:focus-within>.sub-menu{display:flex}.tb-site-nav .sub-menu a{padding:9px 12px}
.tb-cart{white-space:nowrap;border:1px solid var(--tb-line);padding:9px 14px;border-radius:10px;color:var(--tb-ink);font-weight:800;text-decoration:none}
.tb-menu-toggle{display:none;margin-left:auto;background:#fff;border:1px solid var(--tb-line);border-radius:10px;padding:9px 13px;color:var(--tb-ink);font:700 15px inherit;cursor:pointer}
.tb-page-content{min-height:45vh}.tb-generic-content{width:min(100% - 36px,1100px);margin:60px auto}
/* The HTML widgets are full-width layouts inside a zero-padding Elementor container. */
.tb-page-content .elementor-widget-html,.tb-designed-article .elementor-widget-html{width:100%}
.tb-page-content .elementor-widget-html>.elementor-widget-container,.tb-designed-article .elementor-widget-html>.elementor-widget-container{margin:0;padding:0}
body.woocommerce-cart .tb-page-content .elementor-widget-shortcode{width:min(100% - 36px,1180px);margin:64px auto 90px}
body.woocommerce-cart .woocommerce-cart-form,body.woocommerce-cart .cart-collaterals{border:1px solid var(--tb-line);border-radius:18px;padding:24px;background:#fff;box-shadow:0 8px 25px #173a620d}
body.woocommerce-cart .woocommerce a{color:var(--tb-ink)}
body.woocommerce-cart .woocommerce .checkout-button,body.woocommerce-cart .woocommerce button.button{background:var(--tb-ink);color:#fff;border-radius:9px}
.tb-site-footer{background:#112f4e;color:#e6edf3;padding:60px 0 24px}.tb-footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:35px}.tb-site-footer h2,.tb-site-footer h3{color:#fff;font:800 19px/1.3 Manrope,Arial,sans-serif}.tb-site-footer .tb-brand{color:#fff}.tb-site-footer ul{margin:12px 0 0;padding:0;list-style:none}.tb-site-footer li{margin:7px 0}.tb-site-footer a{color:#e6edf3;text-decoration:none}.tb-site-footer a:hover{text-decoration:underline}.tb-footer-bottom{border-top:1px solid #ffffff2b;margin-top:40px;padding-top:20px;font-size:13px}
.woocommerce-page .tb-generic-content{max-width:1180px}.woocommerce-page .button,.woocommerce-page button.button{background:#173a62!important;color:#fff!important;border-radius:8px!important}
@media(max-width:900px){.tb-header-inner{flex-wrap:wrap;gap:14px}.tb-menu-toggle{display:block}.tb-site-nav{display:none;order:3;width:100%;margin:0 0 12px}.tb-site-nav.is-open{display:block}.tb-site-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:0}.tb-site-nav li{border-top:1px solid var(--tb-line)}.tb-site-nav a{padding:11px 6px}.tb-site-nav .sub-menu{display:flex;position:static;box-shadow:none;border:0;padding:0 0 0 16px;min-width:0}.tb-cart{margin-left:0}.tb-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.tb-footer-grid{grid-template-columns:1fr}.tb-site-footer{padding-top:42px}.tb-cart{font-size:14px}}

.tb-service-cart-success{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:14px 0 0;padding:14px 16px;border:1px solid #b8d6c7;border-radius:15px;background:#eff9f3;color:#174f3a;font:700 14px/1.4 'DM Sans',Arial,sans-serif;box-shadow:0 8px 22px #16433013}
.tb-service-cart-success a{display:inline-flex;align-items:center;min-height:44px;padding:11px 18px;border-radius:10px;background:#173a62;color:#fff!important;text-decoration:none!important;font-weight:800;box-shadow:0 6px 14px #173a6225}
.tb-service-cart-success a:hover{background:#e87531}

/* Global header and footer are rendered by the theme's template parts. */
.tb-checkout-native>.woocommerce{width:min(100% - 72px,1180px);margin:0 auto;padding:50px 0 65px;font:400 15px/1.6 'DM Sans',Arial,sans-serif;color:#344d60}
.tb-checkout-native>.woocommerce form.checkout{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);grid-template-areas:'customer heading' 'customer review';gap:0 28px;align-items:start}
.tb-checkout-native>.woocommerce #customer_details{grid-area:customer}.tb-checkout-native>.woocommerce #order_review_heading{grid-area:heading}.tb-checkout-native>.woocommerce #order_review{grid-area:review}
@media(max-width:920px){.tb-checkout-native>.woocommerce form.checkout{grid-template-columns:1fr;grid-template-areas:'customer' 'heading' 'review';gap:0}}
@media(max-width:650px){.tb-checkout-native>.woocommerce{width:min(100% - 34px,1180px)}}

/* Native WordPress blog listing and article layout. */
.tb-blog{min-height:55vh;background:#fff;color:#203c52}
.tb-blog-wrap{width:min(100% - 40px,1120px);margin-inline:auto}
.tb-blog-hero{padding:84px 0 74px;background:linear-gradient(125deg,#12365a,#214d71);color:#fff}
.tb-blog-eyebrow{color:#ffb47c;font-size:13px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.tb-blog-hero h1,.tb-article-head h1{font:800 clamp(34px,5vw,56px)/1.12 Manrope,Arial,sans-serif;letter-spacing:-.035em;margin:13px 0 16px}
.tb-blog-hero p{max-width:650px;margin:0;font-size:18px;color:#e1eaf3}
.tb-blog-list{padding-block:62px 84px}
.tb-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.tb-blog-card{overflow:hidden;border:1px solid #e1e9ef;border-radius:18px;background:#fff;box-shadow:0 12px 30px #183e6310;display:flex;flex-direction:column}
.tb-blog-card-image{display:grid;place-items:center;aspect-ratio:16/10;background:#e7eff4;overflow:hidden;text-decoration:none;color:#194365;font:800 25px Manrope,Arial,sans-serif}
.tb-blog-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.tb-blog-card:hover .tb-blog-card-image img{transform:scale(1.035)}
.tb-blog-card-body{padding:25px;display:flex;flex-direction:column;flex:1}
.tb-blog-card time,.tb-article-head time{color:#99602c;font-size:13px;font-weight:700}
.tb-blog-card h2{font:800 22px/1.3 Manrope,Arial,sans-serif;letter-spacing:-.02em;margin:11px 0}
.tb-blog-card h2 a{color:#193a5a;text-decoration:none}.tb-blog-card h2 a:hover{color:#c75e25}
.tb-blog-card p{color:#587081;margin:0 0 20px}
.tb-blog-read,.tb-article-foot a{margin-top:auto;color:#be581f;font-weight:800;text-decoration:none}
.tb-blog-pages{margin-top:42px;text-align:center}.tb-blog-pages .nav-links{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.tb-blog-pages a,.tb-blog-pages span{display:inline-block;padding:9px 15px;border:1px solid #d9e4ed;border-radius:8px;color:#183d5d;text-decoration:none}
.tb-blog-pages .current{background:#174768;color:#fff}
.tb-blog-empty{border:1px solid #dfe9f0;background:#f6f9fb;border-radius:18px;padding:40px}
.tb-blog-empty h2{margin:0 0 8px}.tb-blog-empty p{margin:0 0 16px}.tb-blog-empty a{color:#ad4e17;font-weight:800}
.tb-article-wrap{padding:56px 0 90px}.tb-article{max-width:100%}.tb-article .tb-blog-wrap{max-width:820px}
.tb-article-back{display:inline-block;margin-bottom:27px;color:#b95720;text-decoration:none;font-weight:700}
.tb-article-head{margin-bottom:35px}.tb-article-head h1{color:#173a5d;margin-bottom:0}
.tb-article-image{margin:0 0 38px;border-radius:18px;overflow:hidden}.tb-article-image img{display:block;width:100%;height:auto}
.tb-article-content{font-size:17px;line-height:1.8;overflow-wrap:anywhere}
.tb-article-content h2,.tb-article-content h3{font-family:Manrope,Arial,sans-serif;color:#163e60;line-height:1.3;margin:1.7em 0 .55em}
.tb-article-content h2{font-size:30px}.tb-article-content h3{font-size:23px}
.tb-article-content p,.tb-article-content ul,.tb-article-content ol{margin:0 0 1.25em}
.tb-article-content a{color:#b5531d;text-decoration:underline}.tb-article-content img{max-width:100%;height:auto;border-radius:12px}
.tb-article-content blockquote{border-left:4px solid #eb7d35;background:#fff5ec;padding:14px 22px;margin:26px 0}
.tb-article-content .wp-block-table{overflow-x:auto}.tb-article-content table{border-collapse:collapse;min-width:100%;font-size:15px}
.tb-article-content th,.tb-article-content td{border:1px solid #dce5eb;padding:10px;text-align:left}
.tb-article-foot{border-top:1px solid #dce5eb;margin-top:50px;padding-top:23px}
@media(max-width:900px){.tb-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.tb-blog-wrap{width:min(100% - 32px,1120px)}.tb-blog-hero{padding:58px 0}.tb-blog-list{padding:40px 0 65px}.tb-blog-grid{grid-template-columns:1fr;gap:18px}.tb-blog-card-body{padding:22px}.tb-article-wrap{padding:34px 0 65px}.tb-article-content{font-size:16px}.tb-article-content h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.tb-blog-card-image img{transition:none}}

/* Tokboostly contextual guide links */
.tb-related{background:#faf7f2;color:#14253a;padding:64px 0;border-top:1px solid #ece2d8}
.tb-related__inner{width:min(100% - 40px,1100px);margin:auto;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:18px 65px;align-items:start}
.tb-related__eyebrow{font:800 11px/1.5 Arial,sans-serif;color:#b65321;text-transform:uppercase;letter-spacing:.13em}
.tb-related h2{font:800 clamp(26px,3vw,37px)/1.2 Manrope,Arial,sans-serif;letter-spacing:-.035em;margin:10px 0 12px;color:#14253a}
.tb-related p{color:#657283;font:400 15px/1.65 Arial,sans-serif;margin:0}.tb-related ul{list-style:none;padding:0;margin:0;grid-row:span 2}
.tb-related li{border-bottom:1px solid #dfd9d1}.tb-related li:first-child{border-top:1px solid #dfd9d1}
.tb-related li a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;color:#14253a!important;text-decoration:none;font:700 15px/1.35 Manrope,Arial,sans-serif}
.tb-related li a:hover,.tb-related__all:hover{color:#c4551e!important}.tb-related li a span{color:#c4551e}
.tb-related__all{grid-column:1;align-self:end;justify-self:start;color:#ac4a18!important;text-decoration:none;border-bottom:2px solid #e86b26;font:800 13px/1.4 Arial,sans-serif;padding-bottom:5px}
.tbx-blog-links{list-style:none;padding:0;margin:19px 0 10px}.tbx-blog-links li{border-top:1px solid #e6e7e5}.tbx-blog-links li:last-child{border-bottom:1px solid #e6e7e5}
.tbx-blog-links a{display:flex;justify-content:space-between;gap:14px;padding:10px 0;color:#183249!important;font-size:14px;font-weight:700;text-decoration:none}.tbx-blog-links a:hover{color:#c4551e!important}
@media(max-width:700px){.tb-related{padding:48px 0}.tb-related__inner{width:min(100% - 32px,1100px);grid-template-columns:1fr;gap:18px}.tb-related ul{grid-row:auto}.tb-related__all{grid-column:auto;margin-top:4px}}

/* Fixed actions are kept clear of mobile browser bars and each other. */
.tb-floating-actions{position:fixed;right:clamp(14px,2.6vw,32px);bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:990;display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:none}
.tb-floating-actions>*{pointer-events:auto}
.tb-back-to-top,.tb-floating-cart{width:49px;height:49px;border:1px solid #d7e4ec;border-radius:16px;background:#fff;color:#173a62;display:grid;place-items:center;box-shadow:0 7px 25px rgba(13,40,67,.15);cursor:pointer;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}
.tb-back-to-top:hover,.tb-floating-cart:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(13,40,67,.2)}
.tb-back-to-top{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.tb-back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.tb-floating-cart{display:none;position:relative;background:#173a62;color:#fff;border-color:#173a62}
.tb-floating-count{position:absolute;right:-6px;top:-7px;min-width:22px;height:22px;border-radius:99px;padding:0 4px;background:#f1742b;color:#fff;border:2px solid #fff;text-align:center;font:800 11px/18px Arial,sans-serif}
@media(max-width:980px){
 .tbx-header{position:relative!important;top:auto!important;left:auto;right:auto}
 body.admin-bar .tbx-header{top:auto!important}
 .tbx-header-spacer{display:none!important;height:0!important}
 .tbx-head-actions .tbx-cart{display:none}
 .tb-floating-cart{display:grid}
 .tb-floating-actions{right:17px;bottom:calc(18px + env(safe-area-inset-bottom,0px));gap:11px}
 .tb-back-to-top,.tb-floating-cart{width:52px;height:52px}
}
@media(prefers-reduced-motion:reduce){.tb-back-to-top,.tb-floating-cart{transition:none}}
