/*
Theme Name: TopVaper (GeneratePress Child)
Theme URI: https://topvaper.com
Description: GeneratePress child theme for TopVaper.
Author: TopVaper
Template: generatepress
Version: 1.1.0
*/

:root{
	--ink:#0e1116; --surface:#151b23; --surface-2:#1b232d;
	--line:#28313d; --fog:#f2f5f8; --smoke:#9aa7b4;
	--mist:#5fd4e2; --mist-deep:#2ba8b8; --violet:#a78bfa;
	--btn-text:#06272b; --chip-border:rgba(255,255,255,.22);
}
body{background:var(--ink);color:var(--fog);font-family:'Inter',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.entry-title,.main-title{font-family:'Space Grotesk',sans-serif;color:var(--fog);letter-spacing:-.01em}
.site-content a:not(.tvp-mini):not(.tvp-submit){color:var(--mist)}
.site-content a:not(.tvp-mini):not(.tvp-submit):hover{color:var(--fog)}
.site-header{background:rgba(14,17,22,.92);border-bottom:1px solid var(--line)}
.site-header .inside-header{padding:18px 22px}
.main-title{font-size:1.25rem;margin:0}
.main-title a,.main-title a:hover,.main-title a:visited{color:var(--fog);text-transform:uppercase;font-weight:700;letter-spacing:.02em}
.main-title em{font-style:normal;color:var(--mist)}
.site-description{display:none}
.main-navigation,.main-navigation ul ul{background:transparent}
.main-navigation .main-nav ul li a{color:var(--smoke);font-size:.95rem;font-weight:500;transition:color .15s ease}
.main-navigation .main-nav ul li a:hover{color:var(--fog)}
.main-navigation .main-nav ul li[class*="current"] > a{color:var(--mist)}
.main-navigation .menu-toggle,.main-navigation .menu-toggle:hover,.main-navigation button.menu-toggle:focus{background:transparent;color:var(--fog)}
.main-navigation ul ul{background:var(--surface);border:1px solid var(--line)}
.site-content{padding-top:10px}
.separate-containers .inside-article,.one-container .container,.separate-containers .paging-navigation,.inside-page-header{background:transparent}
.entry-header{margin:44px 0 10px;text-align:center}
.entry-title{font-size:clamp(1.7rem,3.4vw,2.4rem)}
.page-content,.entry-content,.entry-summary{margin-top:1.4em}
.entry-content p{color:var(--fog)}
.site-footer{background:transparent}
.site-info{border-top:1px solid var(--line);color:var(--smoke);font-size:.88rem;padding:34px 22px;text-align:center}
.site-info a{color:var(--smoke)}
.site-info a:hover{color:var(--fog)}
.tvp-msg.tvp-error{color:#ff8a8d}
.tvp-msg.tvp-ok{color:#4ade80}
.tvp-notice{color:var(--fog)}
.tvp-form-foot a,.tvp-notice a{color:var(--mist)}
::selection{background:var(--mist);color:var(--btn-text)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--mist);outline-offset:2px}

/* ---------- footer widgets area ---------- */
.footer-widgets{background:transparent;border-top:1px solid var(--line);color:var(--smoke)}
.footer-widgets .widget-title{color:var(--fog);font-family:'Space Grotesk',sans-serif}
.footer-widgets a{color:var(--smoke)}
.footer-widgets a:hover{color:var(--fog)}

/* ---------- footer bar: beat GP's dynamic customizer CSS ---------- */
.site-footer,
.site-footer .site-info,
.footer-bar{
	background:var(--ink) !important;
	color:var(--smoke);
}

/* ---------- for-brands page ---------- */
.tvb-lede{font-size:1.15rem;color:var(--smoke);max-width:44rem}
.entry-content ul{color:var(--fog)}
.entry-content li{margin-bottom:.5em}
.tvb-cta{
	display:inline-block;background:var(--mist);color:var(--btn-text) !important;
	font-family:'Space Grotesk',sans-serif;font-weight:600;
	padding:13px 32px;border-radius:999px;text-decoration:none;
	transition:transform .15s ease;
}
.tvb-cta:hover{transform:translateY(-1px);color:var(--btn-text) !important}

/* ---------- contact form (CF7) ---------- */
.wpcf7 label{font-weight:600;color:var(--fog)}
.wpcf7 input[type="text"],.wpcf7 input[type="email"],
.wpcf7 textarea,.wpcf7 select{
	width:100%;max-width:640px;padding:11px 13px;font:inherit;
	background:var(--surface);color:var(--fog);
	border:2px solid var(--line);border-radius:10px;box-sizing:border-box;
}
.wpcf7 input:focus,.wpcf7 textarea:focus,.wpcf7 select:focus{outline:none;border-color:var(--mist)}
.wpcf7 input[type="submit"]{
	background:var(--mist);color:var(--btn-text);border:0;border-radius:999px;
	padding:13px 40px;font-family:'Space Grotesk',sans-serif;font-weight:600;
	font-size:1rem;cursor:pointer;transition:transform .15s ease;
}
.wpcf7 input[type="submit"]:hover{transform:translateY(-1px)}
.tvc-row{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;max-width:640px}
@media(max-width:640px){.tvc-row{grid-template-columns:1fr}}
.wpcf7 form .wpcf7-response-output{border-color:var(--line);color:var(--fog);border-radius:10px;padding:12px 16px}
.wpcf7-not-valid-tip{color:#ff8a8d}

/* ---------- contact page: centered column layout ---------- */
.page-id-25 .entry-content{
	max-width:680px;
	margin-left:auto;
	margin-right:auto;
}
.page-id-25 .wpcf7 input[type="text"],
.page-id-25 .wpcf7 input[type="email"],
.page-id-25 .wpcf7 textarea,
.page-id-25 .wpcf7 select,
.page-id-25 .tvc-row{max-width:100%}
