/**
 * This Girl Know — main stylesheet.
 * Uses CSS custom properties printed by inc/dynamic-css.php.
 * Variant looks are driven by body / element classes so no per-option file is needed.
 */

/* ---------------------------------------------------------------------------
 * 1. Base & reset
 * ------------------------------------------------------------------------ */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
	margin:0;
	font-family:var(--tgk-font-body);
	font-size:var(--tgk-fs-base);
	line-height:var(--tgk-lh-body);
	color:var(--tgk-text);
	background:var(--tgk-bg);
	-webkit-font-smoothing:antialiased;
	overflow-wrap:break-word;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--tgk-link);text-decoration:none;transition:color .18s ease;}
a:hover{color:var(--tgk-link-hover);}
h1,h2,h3,h4,h5,h6{
	font-family:var(--tgk-font-heading);
	color:var(--tgk-heading);
	line-height:var(--tgk-lh-heading);
	font-weight:var(--tgk-heading-weight);
	letter-spacing:var(--tgk-letter-spacing);
	text-transform:var(--tgk-heading-transform);
	margin:0 0 .5em;
}
h1{font-size:var(--tgk-h1);}
h2{font-size:var(--tgk-h2);}
h3{font-size:var(--tgk-h3);}
h4{font-size:var(--tgk-h4);}
p,ul,ol{margin:0 0 1.2em;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
.tgk-skip-link{position:absolute;left:-9999px;top:0;background:var(--tgk-primary);color:#fff;padding:10px 16px;z-index:9999;border-radius:0 0 8px 0;}
.tgk-skip-link:focus{left:0;color:#fff;}

/* ---------------------------------------------------------------------------
 * 2. Layout
 * ------------------------------------------------------------------------ */
.tgk-container{width:100%;max-width:var(--tgk-container);margin:0 auto;padding:0 20px;}
.tgk-site-content{padding:var(--tgk-spacing) 0;}
.tgk-main-wrap{display:grid;gap:calc(var(--tgk-spacing) * 1.4);align-items:start;}
.tgk-has-sidebar.tgk-layout-right-sidebar .tgk-main-wrap{grid-template-columns:minmax(0,1fr) var(--tgk-sidebar-w);}
.tgk-has-sidebar.tgk-layout-left-sidebar .tgk-main-wrap{grid-template-columns:var(--tgk-sidebar-w) minmax(0,1fr);}
.tgk-layout-left-sidebar .tgk-sidebar{order:-1;}
.tgk-layout-no-sidebar .tgk-main{max-width:var(--tgk-content-w);margin:0 auto;}
.tgk-layout-full-width .tgk-main{max-width:100%;}
.tgk-single .tgk-prose{max-width:100%;}

/* Box styles for main content */
.tgk-box-card .tgk-single-article,.tgk-box-card .tgk-page-article{background:#fff;border-radius:var(--tgk-radius);padding:clamp(20px,4vw,44px);box-shadow:0 10px 40px rgba(0,0,0,.05);}
.tgk-box-bordered .tgk-single-article,.tgk-box-bordered .tgk-page-article{border:1px solid var(--tgk-border);border-radius:var(--tgk-radius);padding:clamp(20px,4vw,44px);}
.tgk-box-shadow .tgk-single-article{box-shadow:0 14px 50px rgba(0,0,0,.07);border-radius:var(--tgk-radius);padding:clamp(20px,4vw,44px);background:#fff;}

/* ---------------------------------------------------------------------------
 * 3. Buttons
 * ------------------------------------------------------------------------ */
.tgk-btn,.tgk-card-readmore,button.tgk-btn,.tgk-comments input[type=submit],.tgk-comments .submit{
	display:inline-flex;align-items:center;gap:.4em;
	background:var(--tgk-primary);color:#fff;
	padding:.7em 1.4em;border:0;cursor:pointer;font-weight:600;
	font-family:var(--tgk-font-heading);border-radius:var(--tgk-btn-radius);
	transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease;
}
.tgk-btn:hover{color:#fff;transform:translateY(-2px);}
.tgk-btn-outline .tgk-btn{background:transparent;color:var(--tgk-primary);border:2px solid var(--tgk-primary);}
.tgk-btn-outline .tgk-btn:hover{background:var(--tgk-primary);color:#fff;}
.tgk-btn-underline .tgk-btn{background:transparent;color:var(--tgk-primary);border-radius:0;border-bottom:3px solid var(--tgk-primary);padding-left:0;padding-right:0;}
.tgk-btn-gradient .tgk-btn{background:linear-gradient(135deg,var(--tgk-primary),var(--tgk-secondary));}
.tgk-btn-soft .tgk-btn{background:rgba(var(--tgk-primary-rgb),.14);color:var(--tgk-primary);}
.tgk-btn-soft .tgk-btn:hover{background:var(--tgk-primary);color:#fff;}
.tgk-btn-shadow .tgk-btn{box-shadow:0 8px 22px rgba(var(--tgk-primary-rgb),.4);}

/* ---------------------------------------------------------------------------
 * 4. Top bar
 * ------------------------------------------------------------------------ */
.tgk-topbar{background:var(--tgk-topbar-bg);color:var(--tgk-topbar-color);font-size:.85rem;}
.tgk-topbar a{color:inherit;}
.tgk-topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 20px;flex-wrap:wrap;}
.tgk-topbar-menu{display:flex;gap:16px;list-style:none;margin:0;padding:0;}

/* ---------------------------------------------------------------------------
 * 5. Header (8 layouts)
 * ------------------------------------------------------------------------ */
.tgk-site-header{background:var(--tgk-header-bg);color:var(--tgk-header-color);box-shadow:0 2px 18px rgba(0,0,0,.05);position:relative;z-index:50;}
.tgk-header-inner{display:flex;align-items:center;gap:24px;padding:var(--tgk-header-pad) 20px;}
.tgk-branding{display:flex;align-items:center;}
.tgk-site-title{margin:0;font-size:var(--tgk-site-title-size,26px);font-family:var(--tgk-font-heading);}
.tgk-site-title a{color:var(--tgk-heading);}
.tgk-site-desc{display:block;font-size:.8rem;color:var(--tgk-muted);}
.tgk-custom-logo-link{display:inline-block;}
.tgk-custom-logo-link img{width:var(--tgk-logo-w,170px);max-width:100%;height:auto;transition:width .2s ease;}
.tgk-branding{display:flex;align-items:center;gap:12px;}
.tgk-header-actions{display:flex;align-items:center;gap:12px;margin-left:auto;}
.tgk-primary-nav{display:flex;align-items:center;}
.tgk-menu{display:flex;gap:6px;list-style:none;margin:0;padding:0;align-items:center;}
.tgk-menu a{display:block;padding:10px 14px;color:var(--tgk-header-color);font-family:var(--tgk-font-heading);font-weight:500;position:relative;}

/* Header layout: centered */
.tgk-header-centered .tgk-header-inner{flex-direction:column;text-align:center;gap:14px;}
.tgk-header-centered .tgk-header-actions{margin-left:0;}
.tgk-header-centered .tgk-menu{justify-content:center;}
/* logo-left-menu-below */
.tgk-header-logo-left-menu-below .tgk-header-inner{flex-wrap:wrap;}
.tgk-header-logo-left-menu-below .tgk-primary-nav{flex-basis:100%;justify-content:center;border-top:1px solid var(--tgk-border);margin-top:8px;padding-top:6px;}
/* split */
.tgk-header-split .tgk-branding{order:2;margin:0 auto;}
.tgk-header-split .tgk-primary-nav{order:1;}
.tgk-header-split .tgk-header-actions{order:3;}
/* stacked */
.tgk-header-stacked .tgk-header-inner{flex-direction:column;}
/* minimal */
.tgk-header-minimal .tgk-site-title{font-size:1.3rem;}
/* boxed */
.tgk-header-boxed .tgk-header-inner{background:#fff;border-radius:var(--tgk-radius);margin:14px auto;box-shadow:0 6px 30px rgba(0,0,0,.07);}
/* transparent */
.tgk-header-transparent .tgk-site-header{background:transparent;box-shadow:none;position:absolute;left:0;right:0;}

/* Sticky / shrink */
.tgk-sticky-header .tgk-site-header{position:sticky;top:0;}
.tgk-shrink-header .tgk-site-header.is-shrunk{box-shadow:0 4px 24px rgba(0,0,0,.1);}
.tgk-shrink-header .tgk-site-header.is-shrunk .tgk-header-inner{padding-top:8px;padding-bottom:8px;}
.tgk-shrink-header .tgk-site-header.is-shrunk .tgk-custom-logo-link img{width:var(--tgk-logo-w-sticky,120px);}

/* Menu hover styles (8) */
.tgk-menu-underline .tgk-menu a::after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:2px;background:var(--tgk-primary);transform:scaleX(0);transition:transform .2s;transform-origin:left;}
.tgk-menu-underline .tgk-menu a:hover::after,.tgk-menu-underline .current-menu-item>a::after{transform:scaleX(1);}
.tgk-menu-pill .tgk-menu a{border-radius:999px;}
.tgk-menu-pill .tgk-menu a:hover,.tgk-menu-pill .current-menu-item>a{background:var(--tgk-primary);color:#fff;}
.tgk-menu-highlight .tgk-menu a:hover,.tgk-menu-highlight .current-menu-item>a{background:rgba(var(--tgk-primary-rgb),.12);border-radius:8px;color:var(--tgk-primary);}
.tgk-menu-box .tgk-menu a:hover{box-shadow:inset 0 0 0 2px var(--tgk-primary);border-radius:8px;}
.tgk-menu-dot .tgk-menu a::before{content:"";position:absolute;left:50%;bottom:2px;width:5px;height:5px;border-radius:50%;background:var(--tgk-primary);transform:translateX(-50%) scale(0);transition:transform .2s;}
.tgk-menu-dot .tgk-menu a:hover::before,.tgk-menu-dot .current-menu-item>a::before{transform:translateX(-50%) scale(1);}
.tgk-menu-gradient .tgk-menu a:hover{background:linear-gradient(135deg,var(--tgk-primary),var(--tgk-secondary));color:#fff;border-radius:8px;}
.tgk-menu-bracket .tgk-menu a:hover::before{content:"[";margin-right:2px;color:var(--tgk-primary);}
.tgk-menu-bracket .tgk-menu a:hover::after{content:"]";margin-left:2px;color:var(--tgk-primary);}

/* Submenus */
.tgk-menu li{position:relative;}
.tgk-menu ul.sub-menu{position:absolute;top:100%;left:0;min-width:200px;background:#fff;box-shadow:0 14px 40px rgba(0,0,0,.12);border-radius:12px;padding:8px;list-style:none;margin:0;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;z-index:60;}
.tgk-menu li:hover>ul.sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
.tgk-menu ul.sub-menu a{color:var(--tgk-text);border-radius:8px;}

/* Header actions buttons */
.tgk-menu-toggle,.tgk-search-toggle{display:inline-flex;background:none;border:0;cursor:pointer;color:inherit;padding:8px;}
.tgk-menu-toggle{display:none;}
.tgk-menu-toggle-bars span{display:block;width:24px;height:2px;background:currentColor;margin:5px 0;transition:.25s;border-radius:2px;}
.tgk-menu-toggle[aria-expanded=true] .tgk-menu-toggle-bars span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.tgk-menu-toggle[aria-expanded=true] .tgk-menu-toggle-bars span:nth-child(2){opacity:0;}
.tgk-menu-toggle[aria-expanded=true] .tgk-menu-toggle-bars span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* Search drawer */
.tgk-search-drawer{background:var(--tgk-alt-bg);padding:18px 0;border-top:1px solid var(--tgk-border);}
.tgk-search-form{display:flex;gap:8px;}
.tgk-search-field{flex:1;padding:.7em 1em;border:1px solid var(--tgk-border);border-radius:var(--tgk-radius);font-size:1rem;background:#fff;}
.tgk-search-submit{background:var(--tgk-primary);color:#fff;border:0;border-radius:var(--tgk-radius);padding:0 16px;cursor:pointer;}

/* ---------------------------------------------------------------------------
 * 6. Card grid + 8 card styles
 * ------------------------------------------------------------------------ */
.tgk-card-grid{display:grid;gap:28px;margin:0 0 36px;}
.tgk-cards-1{grid-template-columns:1fr;}
.tgk-cards-2{grid-template-columns:repeat(2,1fr);}
.tgk-cards-3{grid-template-columns:repeat(3,1fr);}
.tgk-cards-4{grid-template-columns:repeat(4,1fr);}

.tgk-card{background:#fff;border-radius:var(--tgk-card-radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease;box-shadow:0 6px 26px rgba(0,0,0,.06);}
.tgk-card-media{position:relative;overflow:hidden;background:var(--tgk-alt-bg);}
.tgk-card-img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.tgk-card-body{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1;}
.tgk-card-title{font-size:1.18rem;margin:0;line-height:1.3;}
.tgk-card-title a{color:var(--tgk-heading);}
.tgk-card-title a:hover{color:var(--tgk-primary);}
.tgk-card-excerpt{color:var(--tgk-text);font-size:.95rem;margin:0;}
.tgk-card-readmore{margin-top:auto;align-self:flex-start;background:transparent;color:var(--tgk-primary);padding:0;font-weight:600;}
.tgk-cat-badge{display:inline-block;background:var(--tgk-primary);color:#fff;font-size:.72rem;font-weight:600;padding:4px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em;}
.tgk-card-media .tgk-cat-badge{position:absolute;top:12px;left:12px;z-index:3;}
.tgk-meta{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--tgk-muted);font-size:.82rem;align-items:center;}
.tgk-meta a{color:var(--tgk-muted);}
.tgk-meta span{position:relative;}

/* Style: overlay */
.tgk-card--overlay{position:relative;}
.tgk-card--overlay .tgk-card-media{position:absolute;inset:0;}
.tgk-card--overlay .tgk-card-img{height:100%;}
.tgk-card--overlay::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,.05) 60%);z-index:2;}
.tgk-card--overlay .tgk-card-body{position:relative;z-index:3;margin-top:auto;min-height:260px;justify-content:flex-end;}
.tgk-card--overlay .tgk-card-title a,.tgk-card--overlay .tgk-meta,.tgk-card--overlay .tgk-meta a,.tgk-card--overlay .tgk-card-excerpt{color:#fff;}
/* Style: minimal */
.tgk-card--minimal{box-shadow:none;background:transparent;}
.tgk-card--minimal .tgk-card-body{padding:14px 0 0;}
/* Style: horizontal */
.tgk-card--horizontal{flex-direction:row;align-items:stretch;}
.tgk-card--horizontal .tgk-card-media{width:42%;flex-shrink:0;}
.tgk-card--horizontal .tgk-card-body{width:58%;}
/* Style: magazine */
.tgk-card--magazine .tgk-card-title{font-size:1.4rem;}
.tgk-card--magazine .tgk-card-body{padding:22px;}
/* Style: grid-clean */
.tgk-card--grid-clean{box-shadow:none;border:1px solid var(--tgk-border);border-radius:0;}
/* Style: playful */
.tgk-card--playful{border-radius:24px;}
.tgk-card--playful .tgk-card-media{border-radius:0;}
.tgk-card--playful .tgk-cat-badge{background:var(--tgk-secondary);}
/* Style: editorial */
.tgk-card--editorial{flex-direction:row;box-shadow:none;border-bottom:1px solid var(--tgk-border);border-radius:0;background:transparent;padding-bottom:18px;}
.tgk-card--editorial .tgk-card-media{width:38%;flex-shrink:0;border-radius:var(--tgk-card-radius);}
.tgk-card--editorial .tgk-card-title{font-size:1.5rem;}

/* Style: list row */
.tgk-card--list{flex-direction:row;box-shadow:none;background:#fff;border:1px solid var(--tgk-border);align-items:center;}
.tgk-card--list .tgk-card-media{width:160px;flex-shrink:0;align-self:stretch;}
.tgk-card--list .tgk-card-body{padding:14px 18px;}
.tgk-card--list .tgk-card-title{font-size:1.1rem;}
/* Style: compact (text-tight, small image) */
.tgk-card--compact .tgk-card-body{padding:12px 14px;gap:6px;}
.tgk-card--compact .tgk-card-title{font-size:1rem;}
.tgk-card--compact .tgk-card-excerpt{display:none;}
/* Style: numbered (ranked) — uses a grid counter */
.tgk-card-grid{counter-reset:tgkrank;}
.tgk-card--numbered{counter-increment:tgkrank;flex-direction:row;box-shadow:none;background:transparent;align-items:center;gap:14px;border-bottom:1px solid var(--tgk-border);border-radius:0;}
.tgk-card--numbered::before{content:counter(tgkrank);font-family:var(--tgk-font-heading);font-weight:800;font-size:2.4rem;color:var(--tgk-primary);min-width:48px;text-align:center;line-height:1;}
.tgk-card--numbered .tgk-card-media{width:120px;flex-shrink:0;border-radius:var(--tgk-card-radius);overflow:hidden;}
.tgk-card--numbered .tgk-card-excerpt{display:none;}
/* Style: tall pin (3:4) */
.tgk-card--tall-pin .tgk-card-media{aspect-ratio:3/4!important;}
.tgk-card--tall-pin{max-width:360px;margin:0 auto;}

/* Hover effects (8) */
.tgk-hover--lift:hover{transform:translateY(-6px);box-shadow:0 18px 50px rgba(0,0,0,.13);}
.tgk-hover--zoom:hover .tgk-card-img{transform:scale(1.08);}
.tgk-hover--tilt:hover{transform:rotate(-1deg) translateY(-4px);}
.tgk-hover--glow:hover{box-shadow:0 0 0 3px rgba(var(--tgk-primary-rgb),.35),0 16px 40px rgba(0,0,0,.12);}
.tgk-hover--overlay-fade .tgk-card-media::after{content:"";position:absolute;inset:0;background:rgba(var(--tgk-primary-rgb),.0);transition:.3s;}
.tgk-hover--overlay-fade:hover .tgk-card-media::after{background:rgba(var(--tgk-primary-rgb),.22);}
.tgk-hover--border{box-shadow:none;border:2px solid transparent;}
.tgk-hover--border:hover{border-color:var(--tgk-primary);}
.tgk-hover--scale-image .tgk-card-img{transition:transform .5s;}
.tgk-hover--scale-image:hover .tgk-card-img{transform:scale(1.12);}

/* ---------------------------------------------------------------------------
 * 7. Archive header / pagination
 * ------------------------------------------------------------------------ */
.tgk-archive-header{margin-bottom:28px;}
.tgk-archive-title{font-size:clamp(1.8rem,4vw,2.6rem);}
.tgk-archive-desc{color:var(--tgk-muted);}
.tgk-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 12px;padding:0;font-size:.82rem;color:var(--tgk-muted);}
.tgk-breadcrumbs li:not(:last-child)::after{content:"/";margin-left:6px;opacity:.5;}
.tgk-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 10px;margin:2px;border-radius:var(--tgk-radius);background:#fff;color:var(--tgk-heading);box-shadow:0 4px 16px rgba(0,0,0,.06);font-weight:600;}
.tgk-pagination .page-numbers.current,.tgk-pagination .page-numbers:hover{background:var(--tgk-primary);color:#fff;}
.tgk-pagination{display:flex;justify-content:center;flex-wrap:wrap;margin-top:20px;}

/* ---------------------------------------------------------------------------
 * 8. Single post + prose
 * ------------------------------------------------------------------------ */
.tgk-single-header{text-align:center;max-width:var(--tgk-content-w);margin:0 auto 24px;}
.tgk-single-title{font-size:clamp(2rem,5vw,3rem);margin:.3em 0;}
.tgk-single-meta{display:inline-flex;align-items:center;gap:12px;justify-content:center;flex-wrap:wrap;}
.tgk-author-avatar{border-radius:50%;}
.tgk-single-featured{margin:0 0 32px;}
.tgk-featured--full{max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
.tgk-featured--contained{max-width:var(--tgk-content-w);margin-left:auto;margin-right:auto;}
.tgk-featured-img{width:100%;border-radius:var(--tgk-radius);object-fit:cover;}
.tgk-featured--full .tgk-featured-img{border-radius:0;}
.tgk-prose,.tgk-single-content{max-width:var(--tgk-content-w);margin:0 auto;font-size:1.06rem;}
.tgk-prose img{border-radius:var(--tgk-radius);margin:1.4em auto;}
.tgk-prose h2{margin-top:1.6em;}
.tgk-prose blockquote{border-left:4px solid var(--tgk-primary);background:var(--tgk-alt-bg);margin:1.6em 0;padding:1em 1.4em;border-radius:0 var(--tgk-radius) var(--tgk-radius) 0;font-style:italic;}
.tgk-prose a{text-decoration:underline;text-decoration-color:rgba(var(--tgk-primary-rgb),.4);}
.tgk-prose ul,.tgk-prose ol{padding-left:1.4em;}
.tgk-prose li{margin-bottom:.5em;}
.tgk-prose table{width:100%;border-collapse:collapse;margin:1.4em 0;}
.tgk-prose th,.tgk-prose td{border:1px solid var(--tgk-border);padding:.7em;}
.tgk-prose th{background:var(--tgk-alt-bg);}
.tgk-tags{margin:24px 0;}
.tgk-tags a{display:inline-block;background:var(--tgk-alt-bg);color:var(--tgk-text);padding:4px 12px;border-radius:999px;font-size:.82rem;margin:3px;}
.tgk-tags-label{font-weight:600;margin-right:6px;}

/* Author box */
.tgk-author-box{display:flex;gap:20px;background:var(--tgk-alt-bg);border-radius:var(--tgk-radius);padding:24px;margin:36px auto;max-width:var(--tgk-content-w);}
.tgk-author-box img{border-radius:50%;}
.tgk-author-box-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--tgk-muted);}
.tgk-author-box-name{margin:.2em 0;}

/* Share */
.tgk-share{display:flex;align-items:center;gap:10px;margin:24px 0;}
.tgk-share-label{font-weight:600;}
.tgk-share-btn{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:50%;background:var(--tgk-alt-bg);color:var(--tgk-heading);}
.tgk-share-btn:hover{background:var(--tgk-primary);color:#fff;transform:translateY(-3px);}
.tgk-share-pinterest:hover{background:#e60023;}

/* Post nav */
.tgk-post-nav{display:flex;justify-content:space-between;gap:16px;margin:30px auto;max-width:var(--tgk-content-w);}
.tgk-post-nav a{display:flex;flex-direction:column;background:#fff;border-radius:var(--tgk-radius);padding:14px 18px;box-shadow:0 6px 22px rgba(0,0,0,.06);max-width:48%;}
.tgk-nav-sub{font-size:.75rem;color:var(--tgk-muted);text-transform:uppercase;}

/* Related */
.tgk-related{max-width:var(--tgk-container);margin:48px auto;}
.tgk-related-title,.tgk-section-title{font-size:clamp(1.5rem,3vw,2rem);text-align:center;margin-bottom:24px;position:relative;}

/* Reading progress */
.tgk-reading-progress{position:fixed;top:0;left:0;height:4px;width:100%;background:transparent;z-index:9999;}
.tgk-reading-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--tgk-primary),var(--tgk-secondary));transition:width .1s;}

/* ---------------------------------------------------------------------------
 * 9. Table of Contents (8 styles)
 * ------------------------------------------------------------------------ */
.tgk-toc{background:var(--tgk-toc-bg);border-radius:var(--tgk-radius);padding:18px 22px;margin:0 0 28px;font-size:.97rem;}
.tgk-toc--float-right{float:right;max-width:320px;margin:0 0 20px 24px;}
.tgk-toc--float-left{float:left;max-width:320px;margin:0 24px 20px 0;}
.tgk-toc-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.tgk-toc-title{font-family:var(--tgk-font-heading);font-weight:700;color:var(--tgk-heading);font-size:1.05rem;}
.tgk-toc-list{list-style:none;margin:14px 0 0;padding:0;}
.tgk-toc-item{margin:6px 0;padding-left:calc(var(--tgk-toc-indent,0) * 16px);}
.tgk-toc-item a{color:var(--tgk-text);}
.tgk-toc-item a:hover{color:var(--tgk-toc-accent);}
.tgk-toc-toggle{background:none;border:0;cursor:pointer;padding:4px;}
.tgk-toc-toggle-icon{display:block;width:12px;height:12px;border-right:2px solid var(--tgk-toc-accent);border-bottom:2px solid var(--tgk-toc-accent);transform:rotate(45deg);transition:transform .2s;}
.tgk-toc.is-collapsed .tgk-toc-toggle-icon{transform:rotate(-45deg);}
.tgk-toc.is-collapsed .tgk-toc-list{display:none;}
/* counter */
.tgk-toc--counter{counter-reset:toc;}
.tgk-toc--counter .tgk-toc-item{counter-increment:toc;}
.tgk-toc--counter .tgk-toc-item a::before{content:counter(toc) ". ";color:var(--tgk-toc-accent);font-weight:700;}
/* style variants */
.tgk-toc-style-bordered{background:transparent;border:2px solid var(--tgk-toc-accent);}
.tgk-toc-style-minimal{background:transparent;border-left:3px solid var(--tgk-toc-accent);border-radius:0;padding-left:16px;}
.tgk-toc-style-numbered{counter-reset:toc;}
.tgk-toc-style-numbered .tgk-toc-item{counter-increment:toc;}
.tgk-toc-style-numbered .tgk-toc-item a::before{content:counter(toc);display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;background:var(--tgk-toc-accent);color:#fff;border-radius:50%;font-size:.75rem;margin-right:8px;}
.tgk-toc-style-bullet .tgk-toc-item{list-style:none;}
.tgk-toc-style-bullet .tgk-toc-item a::before{content:"●";color:var(--tgk-toc-accent);margin-right:8px;font-size:.7em;}
.tgk-toc-style-pill .tgk-toc-item a{display:inline-block;background:#fff;padding:4px 12px;border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.tgk-toc-style-sidebar{box-shadow:0 8px 30px rgba(0,0,0,.08);background:#fff;border:1px solid var(--tgk-border);}
.tgk-toc-widget .tgk-toc{position:sticky;top:90px;}

/* ---------------------------------------------------------------------------
 * 10. Pinterest Save button (8 styles)
 * ------------------------------------------------------------------------ */
.tgk-pin-wrap{position:relative;display:inline-block;max-width:100%;line-height:0;}
.tgk-pin-wrap > img{display:block;max-width:100%;height:auto;}
.tgk-pin-wrap > a{display:block;line-height:0;}
/* Featured image (and any explicitly block) wrap fills its column. */
.tgk-single-featured .tgk-pin-wrap,.tgk-page-featured .tgk-pin-wrap{display:block;}
.tgk-single-featured .tgk-pin-wrap > img,.tgk-page-featured .tgk-pin-wrap > img{width:100%;}
.tgk-pin-btn{position:absolute;display:inline-flex;align-items:center;gap:6px;background:var(--tgk-pin-bg);color:var(--tgk-pin-color);font-family:var(--tgk-font-heading);font-weight:700;font-size:.85rem;line-height:1.1;padding:8px 12px;border:0;cursor:pointer;border-radius:var(--tgk-pin-radius);box-shadow:0 4px 14px rgba(0,0,0,.25);z-index:5;transition:opacity .2s,transform .2s;}
.tgk-pin-btn:hover{color:var(--tgk-pin-color);transform:scale(1.05);}
.tgk-pin-pos--center.tgk-pin-btn:hover{transform:translate(-50%,-50%) scale(1.05);}
.tgk-pin-btn .tgk-pin-logo{flex-shrink:0;}
/* positions */
.tgk-pin-pos--top-left{top:12px;left:12px;}
.tgk-pin-pos--top-right{top:12px;right:12px;}
.tgk-pin-pos--bottom-left{bottom:12px;left:12px;}
.tgk-pin-pos--bottom-right{bottom:12px;right:12px;}
.tgk-pin-pos--center{top:50%;left:50%;transform:translate(-50%,-50%);}
.tgk-pin-pos--center:hover{transform:translate(-50%,-50%) scale(1.05);}
/* sizes */
.tgk-pin-size--small{font-size:.75rem;padding:6px 9px;}
.tgk-pin-size--large{font-size:1rem;padding:11px 16px;}
/* style variants */
.tgk-pin--circle,.tgk-pin--square{padding:10px;}
.tgk-pin--circle{border-radius:50%;}
.tgk-pin--square{border-radius:6px;}
.tgk-pin--badge{border-radius:999px;}
.tgk-pin--ribbon{border-radius:0 0 8px 0;top:0;left:0;}
.tgk-pin--minimal{background:rgba(255,255,255,.92);color:#e60023;box-shadow:0 2px 8px rgba(0,0,0,.2);}
/* hover-only reveal */
.tgk-pin-btn.is-hover-only{opacity:0;}
.tgk-pin-wrap:hover .tgk-pin-btn.is-hover-only{opacity:1;}

/* ---------------------------------------------------------------------------
 * 11. Sidebar & widgets
 * ------------------------------------------------------------------------ */
.tgk-sidebar .widget{background:#fff;border-radius:var(--tgk-radius);padding:22px;margin-bottom:24px;box-shadow:0 6px 24px rgba(0,0,0,.05);}
.widget-title{font-size:1.1rem;margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid var(--tgk-alt-bg);}
.tgk-sidebar ul{list-style:none;padding:0;margin:0;}
.tgk-sidebar li{padding:7px 0;border-bottom:1px dashed var(--tgk-border);}

/* Ads */
.tgk-ad{margin:24px auto;text-align:center;max-width:100%;}
.tgk-ad-label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--tgk-muted);margin-bottom:4px;}

/* ---------------------------------------------------------------------------
 * 12. Footer (8 layouts)
 * ------------------------------------------------------------------------ */
.tgk-site-footer{background:var(--tgk-footer-bg);color:var(--tgk-footer-color);margin-top:var(--tgk-spacing);}
.tgk-site-footer a{color:var(--tgk-footer-color);}
.tgk-site-footer a:hover{color:#fff;}
.tgk-footer-widgets{padding:48px 0 24px;}
.tgk-footer-cols{display:grid;gap:32px;grid-template-columns:repeat(4,1fr);}
.tgk-footer-columns-1 .tgk-footer-cols{grid-template-columns:1fr;}
.tgk-footer-columns-2 .tgk-footer-cols{grid-template-columns:repeat(2,1fr);}
.tgk-footer-columns-3 .tgk-footer-cols{grid-template-columns:repeat(3,1fr);}
.tgk-footer-centered .tgk-footer-cols{grid-template-columns:1fr;text-align:center;}
.tgk-footer-minimal .tgk-footer-widgets{display:none;}
.tgk-footer-rich .tgk-footer-cols{grid-template-columns:1.5fr 1fr 1fr 1fr;}
.tgk-site-footer .widget,.tgk-footer-col .widget{background:transparent;box-shadow:none;padding:0;}
.tgk-site-footer .widget-title{color:var(--tgk-footer-heading);border-color:rgba(255,255,255,.15);}
.tgk-site-footer li{border-color:rgba(255,255,255,.1);}
.tgk-footer-sitename{font-family:var(--tgk-font-heading);font-size:1.4rem;color:#fff;font-weight:700;}
.tgk-footer-bottom{border-top:1px solid rgba(255,255,255,.12);}
.tgk-footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;flex-wrap:wrap;}
.tgk-footer-menu{display:flex;gap:18px;list-style:none;margin:0;padding:0;flex-wrap:wrap;}
.tgk-social{display:flex;gap:10px;margin-top:14px;}
.tgk-social-link{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;}
.tgk-social--footer .tgk-social-link:hover{background:var(--tgk-primary);}
.tgk-social--topbar .tgk-social-link{width:auto;height:auto;background:none;}

/* Back to top */
.tgk-back-to-top{position:fixed;bottom:24px;right:24px;width:46px;height:46px;border:0;border-radius:50%;background:var(--tgk-primary);color:#fff;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.2);z-index:80;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(20px);transition:.25s;}
.tgk-back-to-top.is-visible{opacity:1;transform:translateY(0);}

/* ---------------------------------------------------------------------------
 * 13. Homepage
 * ------------------------------------------------------------------------ */
.tgk-home section{padding:var(--tgk-spacing) 0;}
.tgk-hero-track{display:grid;gap:24px;}
.tgk-hero--grid .tgk-hero-track,.tgk-hero--masonry .tgk-hero-track,.tgk-hero--category-tiles .tgk-hero-track{grid-template-columns:repeat(3,1fr);}
.tgk-hero--grid .tgk-hero-item-1{grid-column:span 2;grid-row:span 2;}
.tgk-hero-item{position:relative;border-radius:var(--tgk-radius);overflow:hidden;min-height:280px;box-shadow:0 10px 36px rgba(0,0,0,.1);}
.tgk-hero-media{position:absolute;inset:0;}
.tgk-hero-media img{width:100%;height:100%;object-fit:cover;}
.tgk-hero-item::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent 65%);}
.tgk-hero-body{position:absolute;bottom:0;padding:24px;z-index:2;color:#fff;}
.tgk-hero-title{color:#fff;font-size:clamp(1.2rem,2.4vw,1.9rem);margin:.3em 0;}
.tgk-hero-excerpt{color:rgba(255,255,255,.88);}
.tgk-hero--slider .tgk-hero-track,.tgk-hero--carousel .tgk-hero-track{grid-auto-flow:column;grid-auto-columns:88%;overflow-x:auto;scroll-snap-type:x mandatory;}
.tgk-hero--slider .tgk-hero-item,.tgk-hero--carousel .tgk-hero-item{scroll-snap-align:center;}
.tgk-hero--single-feature .tgk-hero-item:not(.tgk-hero-item-1){display:none;}
.tgk-hero--single-feature .tgk-hero-item-1{min-height:460px;}
.tgk-hero--split .tgk-hero-track{grid-template-columns:1fr 1fr;}

.tgk-cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.tgk-home-cats--circles .tgk-cat-item{text-align:center;}
.tgk-home-cats--circles .tgk-cat-thumb{width:120px;height:120px;border-radius:50%;}
.tgk-cat-item{display:flex;flex-direction:column;align-items:center;gap:8px;}
.tgk-cat-thumb{display:block;width:100%;aspect-ratio:1/1;background:var(--tgk-alt-bg) center/cover no-repeat;border-radius:var(--tgk-radius);}
.tgk-home-cats--pills .tgk-cat-grid{display:flex;flex-wrap:wrap;justify-content:center;}
.tgk-home-cats--pills .tgk-cat-thumb{display:none;}
.tgk-home-cats--pills .tgk-cat-item{background:var(--tgk-alt-bg);padding:10px 22px;border-radius:999px;flex-direction:row;gap:6px;}
.tgk-home-cats--cards .tgk-cat-item{background:#fff;padding:16px;border-radius:var(--tgk-radius);box-shadow:0 6px 24px rgba(0,0,0,.06);}
.tgk-cat-name{font-family:var(--tgk-font-heading);font-weight:700;color:var(--tgk-heading);}
.tgk-cat-count{font-size:.78rem;color:var(--tgk-muted);}
.tgk-home-more{text-align:center;margin-top:24px;}
.tgk-row-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap;}
.tgk-section-title--left{text-align:left;margin:0;}
.tgk-row-more{font-family:var(--tgk-font-heading);font-weight:600;color:var(--tgk-primary);white-space:nowrap;}

/* About / welcome band */
.tgk-home-about{background:var(--tgk-alt-bg);border-radius:var(--tgk-radius);}
.tgk-about-inner{display:flex;align-items:center;gap:36px;flex-wrap:wrap;}
.tgk-about-photo{flex:0 0 280px;max-width:280px;}
.tgk-about-photo img{border-radius:var(--tgk-radius);width:100%;}
.tgk-about-text{flex:1;min-width:280px;}
.tgk-social--about{margin-top:16px;}
.tgk-social--about .tgk-social-link{background:rgba(var(--tgk-primary-rgb),.12);color:var(--tgk-primary);}
@media(max-width:640px){.tgk-about-photo{flex-basis:100%;max-width:100%;}}

.tgk-newsletter{background:linear-gradient(135deg,var(--tgk-primary),var(--tgk-secondary));color:#fff;border-radius:var(--tgk-radius);}
.tgk-newsletter-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;padding:20px;}
.tgk-newsletter h2{color:#fff;margin:0;}
.tgk-newsletter-form{display:flex;gap:8px;flex-wrap:wrap;}
.tgk-newsletter-form input{padding:.8em 1em;border:0;border-radius:var(--tgk-radius);min-width:220px;}
.tgk-newsletter-form small{flex-basis:100%;opacity:.85;font-size:.72rem;}

/* ---------------------------------------------------------------------------
 * 14. 404
 * ------------------------------------------------------------------------ */
.tgk-404-inner{text-align:center;max-width:680px;margin:40px auto;}
.tgk-404-emoji{font-size:4rem;}
.tgk-404 .tgk-search-form{max-width:440px;margin:18px auto;}

/* ---------------------------------------------------------------------------
 * 15. Comments
 * ------------------------------------------------------------------------ */
.tgk-comments{max-width:var(--tgk-content-w);margin:40px auto;}
.tgk-comment-list{list-style:none;padding:0;}
.tgk-comment-list .comment-body{background:#fff;border-radius:var(--tgk-radius);padding:18px;margin-bottom:16px;box-shadow:0 4px 18px rgba(0,0,0,.05);}
.tgk-comments .comment-form input[type=text],.tgk-comments .comment-form input[type=email],.tgk-comments .comment-form input[type=url],.tgk-comments .comment-form textarea{width:100%;padding:.8em 1em;border:1px solid var(--tgk-border);border-radius:var(--tgk-radius);margin-top:4px;font-family:inherit;}

/* ---------------------------------------------------------------------------
 * 16. Responsive
 * ------------------------------------------------------------------------ */
@media(max-width:1024px){
	.tgk-cards-4{grid-template-columns:repeat(2,1fr);}
	.tgk-cat-grid{grid-template-columns:repeat(3,1fr);}
	.tgk-footer-cols,.tgk-footer-rich .tgk-footer-cols{grid-template-columns:repeat(2,1fr);}
	.tgk-hero--grid .tgk-hero-track{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:880px){
	.tgk-has-sidebar .tgk-main-wrap{grid-template-columns:1fr!important;}
	.tgk-sidebar{order:2;}
	.tgk-menu-toggle{display:inline-flex;}
	.tgk-custom-logo-link img{width:var(--tgk-logo-w-mobile,130px);}
	.tgk-primary-nav .tgk-menu{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:#fff;box-shadow:0 16px 40px rgba(0,0,0,.12);padding:10px;z-index:70;}
	.tgk-primary-nav.is-open .tgk-menu{display:flex;}
	.tgk-menu ul.sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;padding-left:14px;}
	.tgk-header-inner{flex-wrap:wrap;}
	.tgk-mobilemenu-fullscreen .tgk-primary-nav.is-open .tgk-menu{position:fixed;inset:0;top:0;justify-content:center;align-items:center;font-size:1.4rem;}
	.tgk-mobilemenu-offcanvas-right .tgk-primary-nav.is-open .tgk-menu{position:fixed;top:0;right:0;bottom:0;left:auto;width:80%;max-width:320px;}
}
@media(max-width:640px){
	.tgk-cards-2,.tgk-cards-3,.tgk-cards-4{grid-template-columns:1fr;}
	.tgk-cat-grid{grid-template-columns:repeat(2,1fr);}
	.tgk-footer-cols{grid-template-columns:1fr;}
	.tgk-card--horizontal,.tgk-card--editorial,.tgk-card--list{flex-direction:column;}
	.tgk-card--horizontal .tgk-card-media,.tgk-card--editorial .tgk-card-media,.tgk-card--list .tgk-card-media{width:100%;}
	.tgk-card--numbered .tgk-card-media{width:90px;}
	.tgk-card--numbered::before{font-size:1.8rem;min-width:34px;}
	.tgk-hero--grid .tgk-hero-track,.tgk-hero--split .tgk-hero-track{grid-template-columns:1fr;}
	.tgk-hero--grid .tgk-hero-item-1{grid-column:auto;grid-row:auto;}
	.tgk-author-box{flex-direction:column;text-align:center;align-items:center;}
	.tgk-post-nav{flex-direction:column;}
	.tgk-post-nav a{max-width:100%;}
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
	*{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
}
