/*
Theme Name: VPNfor.life
Theme URI: https://vpnfor.life/
Author: VPNfor.life
Description: Minimalist privacy-hardware storefront for VPNfor.life. Built for a focused Deeper Connect Pico inventory sale.
Version: 0.4.0
Requires at least: 6.6
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: vpnfor-life
*/

:root{
  --vfl-ink:#111318;
  --vfl-charcoal:#20242b;
  --vfl-muted:#6f7782;
  --vfl-line:#e3e6ea;
  --vfl-paper:#f6f7f8;
  --vfl-white:#ffffff;
  --vfl-accent:#58d68d;
  --vfl-accent-dark:#238a57;
  --vfl-shadow:0 24px 70px rgba(15,23,42,.11);
}
html{scroll-behavior:smooth}
body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
a{text-underline-offset:.16em}
.vfl-eyebrow{letter-spacing:.14em;text-transform:uppercase;font-size:.76rem;font-weight:760}
.vfl-muted{color:var(--vfl-muted)}
.vfl-accent{color:var(--vfl-accent-dark)}
.vfl-measure{max-width:680px}
.vfl-section{position:relative;overflow:hidden}
.vfl-card{border:1px solid var(--vfl-line);border-radius:24px;background:#fff;box-shadow:0 10px 34px rgba(15,23,42,.045)}
.vfl-card-featured{border-color:#b9e9cd;box-shadow:0 24px 70px rgba(35,138,87,.12)}
.vfl-badge{display:inline-flex;align-items:center;gap:.45rem;border:1px solid #c8ead6;border-radius:999px;background:#f1fbf5;color:#236b46;padding:.48rem .72rem;font-size:.76rem;font-weight:750;letter-spacing:.04em}
.vfl-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--vfl-accent)}
.vfl-price{font-size:clamp(2.5rem,4vw,4.6rem);line-height:.95;letter-spacing:-.055em;font-weight:780}
.vfl-price small{font-size:.95rem;letter-spacing:0;color:var(--vfl-muted);font-weight:550}
.vfl-spec-list{list-style:none;padding:0;margin:1.3rem 0 0}
.vfl-spec-list li{padding:.62rem 0;border-bottom:1px solid var(--vfl-line);display:flex;justify-content:space-between;gap:1rem}
.vfl-spec-list li:last-child{border-bottom:0}
.vfl-spec-list strong{font-weight:680}
.vfl-trust{font-size:.82rem;color:#4f5863}
.vfl-policy-box{border-left:3px solid #c6ccd3;padding:1.15rem 1.25rem;background:#f8f9fa;border-radius:0 16px 16px 0;color:#4d5660}
.vfl-grid{display:grid;gap:24px}
.vfl-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.vfl-hero-shell{background:linear-gradient(180deg,#ffffff 0%,#f7f8fa 100%);border-bottom:1px solid var(--vfl-line)}
.vfl-hero-copy h1{max-width:760px}
.vfl-wordmark{font-size:1.22rem;font-weight:820;letter-spacing:-.045em;color:var(--vfl-ink);white-space:nowrap}
.vfl-wordmark span{color:var(--vfl-accent-dark)}
.vfl-header-cart{font-size:.9rem;font-weight:680}
.vfl-device-stage{position:relative;min-height:420px;border-radius:34px;background:radial-gradient(circle at 68% 20%,rgba(88,214,141,.16),transparent 32%),linear-gradient(145deg,#eef1f3,#ffffff 63%);border:1px solid #e1e5e8;box-shadow:var(--vfl-shadow);overflow:hidden}
.vfl-device-stage:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(17,19,24,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(17,19,24,.035) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,black,transparent 90%)}
.vfl-pico-render{position:absolute;left:17%;right:17%;top:42%;height:68px;border-radius:10px;background:linear-gradient(180deg,#2d3238 0%,#14171b 100%);box-shadow:0 28px 50px rgba(15,23,42,.32);transform:rotate(-6deg);border:1px solid rgba(255,255,255,.12)}
.vfl-pico-render:before,.vfl-pico-render:after{content:"";position:absolute;top:21px;width:70px;height:27px;border:2px solid #444b53;border-radius:4px;background:#22272d}
.vfl-pico-render:before{left:-68px}.vfl-pico-render:after{right:-68px}
.vfl-adapter-render{position:absolute;width:185px;height:28px;left:43%;top:66%;background:linear-gradient(180deg,#2e343b,#171b20);border-radius:6px;transform:rotate(10deg);box-shadow:0 18px 36px rgba(15,23,42,.24)}
.vfl-adapter-render:after{content:"";position:absolute;right:-34px;top:5px;width:36px;height:18px;border-radius:2px;background:#adb4bc}
.vfl-device-caption{position:absolute;left:28px;bottom:24px;font-size:.79rem;color:#616b75;letter-spacing:.04em}
.vfl-travel-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}
.vfl-travel-chip{border:1px solid var(--vfl-line);border-radius:16px;background:#fff;padding:18px 15px;text-align:center;font-weight:650;font-size:.9rem}
.vfl-network{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:16px;margin:38px auto 0;max-width:930px}
.vfl-node{border:1px solid var(--vfl-line);background:#fff;border-radius:18px;padding:22px;text-align:center;min-height:94px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 8px 24px rgba(15,23,42,.045)}
.vfl-arrow{color:#9aa2aa;font-size:1.5rem}
.vfl-calculator{border-radius:28px;background:#111318;color:#fff;padding:clamp(28px,5vw,58px);box-shadow:var(--vfl-shadow)}
.vfl-calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:end}
.vfl-field label{display:block;color:#bac0c7;font-size:.84rem;font-weight:680;margin-bottom:8px}
.vfl-field input{width:100%;box-sizing:border-box;border:1px solid #3a4048;background:#20242b;color:white;border-radius:12px;padding:14px 16px;font:inherit}
.vfl-calc-result{font-size:clamp(2.4rem,5vw,5rem);letter-spacing:-.055em;line-height:.95;font-weight:800}
.vfl-calc-note{color:#aeb5bd;font-size:.8rem;margin-top:12px}
.vfl-product-strip{display:grid;grid-template-columns:1.18fr .91fr .91fr;gap:22px}
.vfl-offer{padding:30px;position:relative}
.vfl-offer .wp-block-button__link{width:100%;box-sizing:border-box;text-align:center}
.vfl-oldstock{background:#eef1f3;border-top:1px solid var(--vfl-line);border-bottom:1px solid var(--vfl-line)}
.vfl-footer-links a{display:inline-block;margin:0 .85rem .55rem 0;color:#59616b;font-size:.88rem}
.woocommerce div.product p.price,.woocommerce div.product span.price,.woocommerce ul.products li.product .price{color:var(--vfl-ink);font-weight:760}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{border-radius:999px;background:var(--vfl-ink);color:#fff;padding:.9rem 1.25rem;font-weight:700}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:#2c3239;color:#fff}
.woocommerce-message,.woocommerce-info{border-top-color:var(--vfl-accent-dark)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--vfl-accent-dark)}

@media (max-width:900px){
 .vfl-grid-3,.vfl-product-strip{grid-template-columns:1fr}
 .vfl-calc-grid{grid-template-columns:1fr}
 .vfl-network{grid-template-columns:1fr;max-width:520px}.vfl-arrow{transform:rotate(90deg);text-align:center}
 .vfl-travel-row{grid-template-columns:1fr 1fr}
 .vfl-device-stage{min-height:330px}
}
@media (max-width:600px){
 .vfl-travel-row{grid-template-columns:1fr 1fr}
 .vfl-device-stage{min-height:280px;border-radius:24px}
 .vfl-pico-render{left:22%;right:22%;top:40%;height:54px}
 .vfl-pico-render:before,.vfl-pico-render:after{top:16px;width:48px;height:22px}.vfl-pico-render:before{left:-46px}.vfl-pico-render:after{right:-46px}
 .vfl-adapter-render{width:130px;left:39%;top:66%}
}


/* v0.3 page + contact refinements */
.vfl-page-shell{max-width:860px;margin:0 auto}
.vfl-page-shell h1{font-size:clamp(2.7rem,6vw,5.7rem);line-height:.96;letter-spacing:-.055em;margin-bottom:1.25rem}
.vfl-page-shell h2{margin-top:2.5rem;font-size:clamp(1.6rem,3vw,2.25rem);letter-spacing:-.035em}
.vfl-page-shell p,.vfl-page-shell li{line-height:1.72}
.vfl-contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;align-items:start;margin-top:36px}
.vfl-contact-card{border:1px solid var(--vfl-line);background:#fff;border-radius:22px;padding:28px;box-shadow:0 10px 34px rgba(15,23,42,.045)}
.vfl-contact-form label{display:block;font-size:.84rem;font-weight:700;margin:0 0 8px}
.vfl-contact-form input,.vfl-contact-form textarea{width:100%;box-sizing:border-box;border:1px solid #cfd5db;background:#fff;color:var(--vfl-ink);border-radius:12px;padding:13px 14px;font:inherit}
.vfl-contact-form textarea{min-height:160px;resize:vertical}
.vfl-contact-form .vfl-field-row{margin-bottom:18px}
.vfl-contact-form button{appearance:none;border:0;border-radius:999px;background:var(--vfl-ink);color:#fff;padding:13px 20px;font:inherit;font-weight:750;cursor:pointer}
.vfl-contact-form button:hover{background:#2c3239}
.vfl-form-notice{border-radius:14px;padding:14px 16px;margin:0 0 20px}
.vfl-form-success{background:#eff9f3;border:1px solid #c9e8d5;color:#1f6844}
.vfl-form-error{background:#fff2f1;border:1px solid #f0cbc6;color:#8b3329}
.vfl-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media (max-width:800px){.vfl-contact-grid{grid-template-columns:1fr}}


/* v0.4 WooCommerce Product Catalog */
.vfl-shop-hero{
  background:
    radial-gradient(circle at 78% 16%,rgba(88,214,141,.13),transparent 28%),
    linear-gradient(180deg,#fff 0%,#f6f7f8 100%);
  border-bottom:1px solid var(--vfl-line);
}
.vfl-shop-title{
  max-width:900px;
  font-size:clamp(3.25rem,7vw,6.75rem);
  line-height:.92;
  letter-spacing:-.06em;
  margin:.2rem 0 1.4rem;
}
.vfl-shop-lede{
  max-width:760px;
  color:#59616b;
  font-size:clamp(1.08rem,2vw,1.35rem);
  line-height:1.55;
  margin-bottom:1.8rem;
}
.vfl-shop-trust{gap:10px!important}
.vfl-shop-trust p{
  margin:0;
  padding:.58rem .78rem;
  border:1px solid #dfe4e8;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  color:#59616b;
  font-size:.78rem;
  font-weight:680;
}
.vfl-catalog-meta{
  border-bottom:1px solid var(--vfl-line);
  padding-bottom:18px;
  margin-bottom:28px;
  color:#68717a;
  font-size:.88rem;
}
.vfl-catalog-meta .woocommerce-ordering{margin:0}
.vfl-catalog-meta select{
  border:1px solid #d6dbe0;
  border-radius:999px;
  background:#fff;
  padding:.7rem 2.4rem .7rem 1rem;
  color:var(--vfl-ink);
}
.vfl-product-collection ul.wc-block-product-template{
  gap:22px!important;
}
.vfl-shop-product-card{
  box-sizing:border-box;
  border:1px solid var(--vfl-line);
  border-radius:24px;
  background:#fff;
  overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.vfl-shop-product-card:hover{
  transform:translateY(-3px);
  border-color:#d2d7dc;
  box-shadow:0 22px 50px rgba(15,23,42,.08);
}
.vfl-shop-product-card .wc-block-components-product-image,
.vfl-shop-product-card .wc-block-components-product-image a{
  display:block;
  width:100%;
}
.vfl-shop-product-card .wc-block-components-product-image img{
  width:100%;
  aspect-ratio:1.16/1;
  object-fit:contain;
  box-sizing:border-box;
  border-radius:17px;
  background:linear-gradient(145deg,#f0f2f4,#fafbfb);
  padding:22px;
}
.vfl-shop-product-card .wp-block-post-title{
  width:100%;
  font-size:1.15rem!important;
  letter-spacing:-.025em;
}
.vfl-shop-product-card .wp-block-post-title a{color:var(--vfl-ink)}
.vfl-shop-product-card .wc-block-components-product-price{
  width:100%;
  margin-top:auto;
  font-size:1.35rem!important;
  font-weight:800;
  color:var(--vfl-ink);
}
.vfl-shop-product-card .wp-block-woocommerce-product-button{
  width:100%;
  margin-top:.35rem;
}
.vfl-shop-product-card .wp-block-button__link,
.vfl-shop-product-card .wc-block-components-product-button__button{
  box-sizing:border-box;
  width:100%;
  border-radius:999px!important;
  background:var(--vfl-ink)!important;
  color:#fff!important;
  border:0!important;
  padding:.86rem 1rem!important;
  font-weight:750!important;
  text-align:center;
}
.vfl-shop-policy-note{
  border:1px solid var(--vfl-line);
  border-radius:22px;
  background:#f7f8f9;
}
.vfl-shop-policy-note h3{margin-top:0}
.vfl-shop-policy-note p{color:#5a626c}
@media (max-width:760px){
  .vfl-shop-title{font-size:clamp(2.8rem,15vw,4.6rem)}
  .vfl-catalog-meta{align-items:flex-start!important;gap:14px!important}
  .vfl-shop-content{padding-left:18px!important;padding-right:18px!important}
}
