/*
Theme Name: Vape Pirates — Light Starter
Author: VAPEVIO Design Project
Description: Schlankes, helles Classic-Theme als Grundlage fuer modular aufgebaute Startseiten-Abschnitte und die spaetere Store-Control-Anbindung. Kein Pagebuilder.
Version: 0.15.0
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: vape-pirates-starter
License: GPL-2.0-or-later
*/
:root {
  --vpp-red: #c82242;
  --vpp-ink: #191821;
  --vpp-lavender: #eee7fa;
  --vpp-paper: #ffffff;
  --vpp-surface: #faf9fd;
  --vpp-muted: #747381;
  --vpp-line: #e9e7ef;
  --vpp-max: 1376px;
  --vpp-radius: 15px;
  --vpp-shadow: 0 12px 40px rgba(31,23,49,.055);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body.vpp-theme { margin: 0; background: var(--vpp-paper); color: var(--vpp-ink); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; line-height: 1.5; -webkit-font-smoothing: antialiased; }
.vpp-theme img { max-width: 100%; height: auto; }
.vpp-theme a { color: inherit; text-decoration: none; }
.vpp-theme button, .vpp-theme input { font: inherit; }
.vpp-theme button { cursor: pointer; }
.vpp-theme :focus-visible { outline: 3px solid var(--vpp-red); outline-offset: 3px; }
.vpp-container { max-width: var(--vpp-max); width: calc(100% - 72px); margin-inline: auto; }
.vpp-skip { position: fixed; z-index: 9999; top: -100px; left: 12px; padding: 12px 18px; background: var(--vpp-ink); color: white !important; }
.vpp-skip:focus { top: 12px; }
.vpp-announcement { background: #20202b; color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.vpp-announcement-inner { min-height: 34px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.vpp-header { position: relative; z-index: 100; background: rgba(255,255,255,.98); border-bottom: 1px solid var(--vpp-line); }
.vpp-header-inner { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.vpp-logo { display: inline-flex; align-items: center; gap: var(--vpp-symbol-gap, 9px); flex-shrink: 0; min-width: 0; color: var(--vpp-ink); }
.vpp-logo svg { width: 40px; height: 40px; flex: none; }
.vpp-brand-symbol { display: flex; flex: 0 0 auto; width: var(--vpp-symbol-size, 60px); height: var(--vpp-symbol-size, 60px); align-items: center; justify-content: center; overflow: hidden; }
.vpp-brand-symbol-img { display:block; width:100%; height:100%; object-fit:contain; }
.vpp-brand-symbol-demo { mix-blend-mode:multiply; }

.vpp-logo-img { display: block; width: auto; max-width: 245px; max-height: 60px; object-fit: contain; }
.vpp-wordmark { font-size: clamp(20px, 2.1vw, 28px); line-height: 1; font-weight: 950; letter-spacing: -.075em; font-style: italic; white-space: nowrap; }
.vpp-wordmark em { font-style: italic; color: var(--vpp-red); }
.vpp-nav { margin-inline: auto; }
.vpp-nav-links { display: flex; align-items: center; justify-content: center; gap: clamp(18px, 2.5vw, 36px); list-style: none; padding: 0; margin: 0; }
.vpp-nav-links li { margin: 0; position: relative; }
.vpp-nav-links a { display: inline-flex; min-height: 44px; align-items: center; white-space: nowrap; font-size: 13px; font-weight: 750; }
.vpp-nav-links a:hover, .vpp-nav-links .current-menu-item > a { color: var(--vpp-red); }
.vpp-nav-links .sub-menu { display: none; position: absolute; top: 100%; left: -15px; min-width: 220px; padding: 11px; margin: 0; list-style: none; background: white; border: 1px solid var(--vpp-line); border-radius: 9px; box-shadow: var(--vpp-shadow); }
.vpp-nav-links li:hover > .sub-menu, .vpp-nav-links li:focus-within > .sub-menu { display: block; }
.vpp-nav-links .sub-menu a { display: flex; padding: 7px 10px; min-height: 35px; }
.vpp-actions { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.vpp-icon-button { display: inline-flex; padding: 9px; min-width: 42px; min-height: 42px; justify-content: center; align-items: center; border: 0; background: transparent; border-radius: 50%; color: var(--vpp-ink); }
.vpp-icon-button:hover { background: var(--vpp-surface); color: var(--vpp-red); }
.vpp-icon-button svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.vpp-mobile-toggle { display: none; }
.vpp-search-panel[hidden] { display: none !important; }
.vpp-search-panel { position: absolute; left: 0; right: 0; background: white; border-block: 1px solid var(--vpp-line); box-shadow: var(--vpp-shadow); }
.vpp-search-form { min-height: 94px; display: flex; align-items: center; gap: 18px; }
.vpp-search-form label { font-weight: 800; font-size: 13px; white-space: nowrap; }
.vpp-search-form input[type=search] { min-width: 0; flex: 1; padding: 13px; border: 1px solid var(--vpp-line); border-radius: 9px; }
.vpp-primary-btn { display: inline-flex; align-items: center; justify-content: center; gap: 24px; min-height: 48px; border: none; padding: 14px 23px; background: var(--vpp-red); color: white !important; border-radius: 9px; font-size: 13px; font-weight: 850; letter-spacing: .015em; box-shadow: 0 7px 18px rgba(200,34,66,.13); transition: transform .2s, background .2s, box-shadow .2s; }
.vpp-primary-btn:hover { background: #a91d38; transform: translateY(-2px); box-shadow: 0 12px 24px rgba(200,34,66,.19); }
.vpp-main { min-height: 45vh; }
.vpp-main a { text-underline-offset: 3px; }
.vpp-content { padding-block: clamp(40px,6vw,90px); }
.vpp-page-header { border-bottom: 1px solid var(--vpp-line); padding-bottom: 28px; margin-bottom: 32px; }
.vpp-page-header h1 { margin: 8px 0 0; font-size: clamp(35px,5vw,70px); letter-spacing: -.055em; line-height: 1.05; }
.vpp-eyebrow { display: block; color: var(--vpp-red); font-weight: 850; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
.vpp-prose { max-width: 860px; font-size: 16px; }
.vpp-prose a { color: var(--vpp-red); text-decoration: underline; }
.vpp-prose img { border-radius: 12px; }
.vpp-post-list { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.vpp-post-card { padding: 26px; border: 1px solid var(--vpp-line); border-radius: 12px; }
.vpp-post-card h2 { font-size: 25px; margin: 0 0 12px; }
.vpp-not-found { text-align: center; padding: 60px 0; }
.vpp-not-found h1 { font-size: clamp(42px,7vw,84px); letter-spacing: -.06em; margin: 12px 0; }
.vpp-footer { margin-top: 0; background: #20202b; color: #fff; padding: 55px 0 0; }
.vpp-footer-grid { display: flex; align-items: flex-start; justify-content: space-between; gap: 32px; padding-bottom: 48px; }
.vpp-footer-brand strong { font-weight: 900; font-size: 24px; font-style: italic; letter-spacing: -.04em; }
.vpp-footer-brand p { max-width: 420px; font-size: 13px; line-height: 1.8; color: #c5c4cf; }
.vpp-footer-links, .vpp-footer-menu { display: flex; align-items: center; gap: 22px; list-style: none; margin: 0; padding: 0; }
.vpp-footer-links a { font-size: 13px; color: #f0eef3; }
.vpp-footer-links a:hover { color: #ff8fa6; }
.vpp-footer-bottom { display: flex; justify-content: space-between; gap: 18px; padding: 18px 0; border-top: 1px solid #ffffff22; color: #b9b7c2; font-size: 10px; letter-spacing: .1em; font-weight: 700; }
/* Compatibility width bridge for the existing optional VAPEVIO Shop templates */
.vv-wrap { max-width: 1376px; width: calc(100% - 72px); margin-inline: auto; }
.woocommerce .products { list-style: none; padding: 0; }
.woocommerce .products li.product { border: 1px solid var(--vpp-line); border-radius: 12px; padding: 12px; }
@media (max-width: 900px) {
  .vpp-container,.vv-wrap { width: calc(100% - 36px); }
  .vpp-header-inner { min-height: 70px; }
  .vpp-actions { gap: 4px; }
  .vpp-mobile-toggle { display: inline-flex; }
  .vpp-nav { position: absolute; left: 0; right: 0; top: 100%; display: none; margin: 0; background: white; border-bottom: 1px solid var(--vpp-line); box-shadow: var(--vpp-shadow); max-height: calc(100vh - 115px); overflow: auto; }
  .vpp-nav.is-open { display: block; }
  .vpp-nav-links { flex-direction: column; align-items: stretch; gap: 0; padding: 12px 18px 20px; }
  .vpp-nav-links a { min-height: 51px; border-bottom: 1px solid var(--vpp-line); }
  .vpp-nav-links .sub-menu { display: block; position: static; border: 0; box-shadow: none; border-radius: 0; padding: 0 0 0 18px; }
  .vpp-nav-links .sub-menu a { border: none; }
  .vpp-search-form { flex-wrap: wrap; padding-block: 15px; }
  .vpp-search-form label { width: 100%; }
  .vpp-search-form input[type=search] { flex-basis: 58%; }
  .vpp-post-list { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .vpp-container,.vv-wrap { width: calc(100% - 28px); }
  .vpp-announcement { font-size: 9px; letter-spacing: .08em; }
  .vpp-announcement-inner { min-height: 29px; }
  .vpp-announcement-inner span:last-child { display: none; }
  .vpp-header-inner { min-height: 66px; }
  .vpp-wordmark { font-size: clamp(17px, 4.8vw, 19px); }
  .vpp-brand-symbol { width: min(var(--vpp-symbol-size, 60px), 49px); height: min(var(--vpp-symbol-size, 60px), 49px); }
  .vpp-logo { gap: min(var(--vpp-symbol-gap, 9px), 7px); }
  .vpp-header-inner { gap: 7px; }
  .vpp-wordmark { letter-spacing: -.07em; }

  .vpp-logo svg { width: 33px; height: 33px; }
  .vpp-actions { gap: 0; }
  .vpp-icon-button { min-width: 37px; padding: 7px; }
  .vpp-account-link { display: none; }
  .vpp-search-form { gap: 9px; }
  .vpp-search-form input[type=search] { flex-basis: 100%; }
  .vpp-post-list { grid-template-columns: 1fr; }
  .vpp-footer { padding-top: 35px; }
  .vpp-footer-grid { flex-direction: column; gap: 22px; padding-bottom: 30px; }
  .vpp-footer-bottom { flex-direction: column; gap: 6px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; } }

/* International controls: only visible after functional WPML links/currency tools exist. */
.vpp-locale-controls{display:flex;align-items:center;gap:7px;flex:0 0 auto;font-size:12px;font-weight:800}
.vpp-language-switch{position:relative}
.vpp-language-switch summary{list-style:none;min-width:54px;padding:7px 8px;border-radius:8px;border:1px solid var(--vpp-line);cursor:pointer;white-space:nowrap;display:flex;align-items:center;justify-content:space-between;gap:4px}
.vpp-language-switch summary::-webkit-details-marker{display:none}
.vpp-language-switch[open] summary,.vpp-language-switch summary:hover{border-color:var(--vpp-red)}
.vpp-language-switch ul{list-style:none;position:absolute;z-index:120;right:0;top:calc(100% + 8px);min-width:150px;max-height:280px;overflow:auto;background:#fff;border:1px solid var(--vpp-line);border-radius:10px;box-shadow:var(--vpp-shadow);margin:0;padding:6px}
.vpp-language-switch a{display:block;padding:9px;border-radius:7px;font-size:12px;white-space:nowrap}
.vpp-language-switch a:hover,.vpp-language-switch [aria-current=page]{background:#f6eff9;color:var(--vpp-red)}
.vpp-currency-switch select,.vpp-currency-switch .wcml_currency_switcher{font:inherit;max-width:85px;padding:7px 8px;border:1px solid var(--vpp-line);border-radius:8px;background:#fff;color:var(--vpp-ink)}
.vpp-currency-switch :is(.wcml-dropdown,.wcml-dropdown-click){z-index:120;max-width:95px}
@media(max-width:1060px){.vpp-locale-controls{gap:3px}.vpp-currency-switch select{max-width:72px}}
@media(max-width:720px){.vpp-locale-controls{gap:2px;font-size:10px}.vpp-language-switch summary{min-width:42px;padding:5px}.vpp-currency-switch select{max-width:60px;padding:5px}.vpp-actions{gap:2px}}
