/*
Theme Name: Baseline IT
Description: Editable dark/neon-green theme for Baseline IT Websites. Packages & pricing under "Packages"; all text under Appearance > Customize > Baseline IT Site. Fully Elementor compatible.
Author: Baseline IT
Version: 1.1
Text Domain: baseline-it
*/
:root{--g:#39E620;--bg:#050A08;--panel:#0B1712;--t:#fff;--m:#B8C7BF}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--t);font-family:'Montserrat',system-ui,sans-serif;line-height:1.6}
a{color:var(--g);text-decoration:none}img{max-width:100%;height:auto}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
.site-h{position:sticky;top:0;z-index:99;background:rgba(5,10,8,.93);backdrop-filter:blur(8px);border-bottom:1px solid #12301a}
.admin-bar .site-h{top:32px}
.site-h .wrap{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:16px}
.logo{font-weight:800;letter-spacing:.12em;color:var(--t);display:flex;align-items:center;gap:10px}
.logo b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--g);color:var(--bg);font-size:14px;letter-spacing:0}
.logo img{height:50px;width:auto;max-height:none;display:block}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:22px}
.nav a{color:var(--m);font-weight:600;font-size:14px}.nav a:hover{color:var(--g)}
.btn,.btn:visited{display:inline-block;padding:14px 30px;border-radius:50px;font-weight:700;border:2px solid var(--g);background:var(--g);color:var(--bg);cursor:pointer;font-family:inherit;font-size:16px;transition:.2s}
.btn:hover{box-shadow:0 0 24px rgba(57,230,32,.6);transform:translateY(-2px)}
.btn.o{background:transparent;color:var(--g)}
.hero{padding:90px 0 70px;background:radial-gradient(ellipse at 50% 0,rgba(57,230,32,.18),transparent 60%)}
.hero .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.eyebrow{color:var(--g);font-weight:700;letter-spacing:.25em;font-size:13px}
h1{font-size:clamp(34px,6vw,60px);font-weight:900;line-height:1.1;margin:14px 0}
.hero p{color:var(--m);font-size:18px;max-width:560px;margin:0 0 30px}
.hero .btn{margin:0 10px 10px 0}
.av{width:100%;max-width:420px;margin:0 auto;display:block;border-radius:28px;border:2px solid var(--g);box-shadow:0 0 40px rgba(57,230,32,.45)}
section.s{padding:80px 0}.alt{background:var(--panel)}
h2{font-size:clamp(26px,4vw,40px);font-weight:800;text-align:center;margin:0 0 10px}
.sub{text-align:center;color:var(--m);margin:0 auto 40px;max-width:620px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.card{background:var(--panel);border:2px solid var(--g);border-radius:20px;padding:28px;box-shadow:0 0 25px rgba(57,230,32,.25)}
.alt .card{background:var(--bg)}
.card .ic{font-size:34px}.card h3{margin:6px 0;font-size:19px}.card p{margin:0;color:var(--m);font-size:15px}
.promo{border:2px solid #12301a;border-radius:24px;padding:36px 20px;text-align:center;margin-bottom:60px}
.pk .card{display:flex;flex-direction:column;text-align:center;position:relative}
.pk .card.ft{transform:scale(1.03);box-shadow:0 0 45px rgba(57,230,32,.55)}
.pk .bd{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--g);color:var(--bg);font-weight:800;font-size:12px;padding:4px 14px;border-radius:50px}
.pk .price{font-size:56px;font-weight:900;color:var(--g);line-height:1.1}
.pk .per{color:var(--m);font-size:14px}
.pk ul{list-style:none;padding:0;margin:18px 0;text-align:left;flex:1}
.pk li{margin:8px 0;color:var(--t);font-size:15px}
.pk li:before,.check li:before{content:"\2713";color:var(--bg);background:var(--g);border-radius:50%;width:20px;height:20px;display:inline-grid;place-items:center;font-size:12px;font-weight:800;margin-right:10px}
.check{list-style:none;padding:0;margin:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
form.bl-f{max-width:640px;margin:0 auto;display:grid;gap:14px}
.bl-f input,.bl-f textarea,.bl-f select{width:100%;background:var(--panel);color:var(--t);border:1px solid var(--g);border-radius:12px;padding:14px;font:inherit}
.bl-f .hp{position:absolute;left:-9999px}
.ok{background:var(--g);color:var(--bg);padding:12px 18px;border-radius:12px;text-align:center;font-weight:700;margin-bottom:16px}
.cinfo{text-align:center;color:var(--m);margin-bottom:28px}
.site-f{padding:30px 0;text-align:center;color:var(--m);font-size:14px;border-top:1px solid #12301a}
.page-c{padding:60px 0;min-height:50vh}
@media(max-width:800px){.nav{display:none}.hero .wrap{grid-template-columns:1fr;text-align:center}.hero p{margin:0 auto 30px}}
.pk .was{text-decoration:line-through;color:var(--m);font-size:22px;font-weight:700}
.pk .tag{display:inline-block;margin:6px auto;background:rgba(57,230,32,.15);color:var(--g);border:1px solid var(--g);border-radius:50px;padding:3px 12px;font-size:12px;font-weight:700}
.wa-f{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:999;display:flex;align-items:center;gap:7px;background:#25D366;color:#fff;font-weight:700;font-size:13px;padding:8px 14px;border-radius:50px;box-shadow:0 3px 14px rgba(0,0,0,.5),0 0 14px rgba(37,211,102,.45)}.wa-f:hover{transform:scale(1.05);color:#fff}.wa-f svg{width:20px;height:20px}

/* --- responsive + animation --- */
.menu-btn{display:none;background:none;border:2px solid var(--g);border-radius:10px;width:42px;height:42px;cursor:pointer;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:5px;flex-shrink:0}
.menu-btn span{display:block;width:20px;height:2px;background:var(--g);border-radius:2px;transition:transform .3s,opacity .3s}
.menu-btn[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.site-h .wrap{transition:min-height .3s ease}
.logo img{transition:height .3s ease}
.site-h.sc{box-shadow:0 4px 24px rgba(0,0,0,.5)}
.site-h.sc .logo img{height:42px}
.js .rv{opacity:0;translate:0 24px;transition:opacity .7s ease,translate .7s ease,transform .25s ease,box-shadow .25s ease}
.js .rv.in{opacity:1;translate:0 0}
.card:hover{transform:translateY(-6px);box-shadow:0 0 40px rgba(57,230,32,.55)}
.pk .card.ft:hover{transform:translateY(-6px) scale(1.03)}
.check li{transition:transform .2s}.check li:hover{transform:translateX(6px)}
@keyframes fu{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes fl{50%{transform:translateY(-10px)}}
@keyframes gl{50%{box-shadow:0 0 62px rgba(57,230,32,.75)}}
@keyframes pu{0%{box-shadow:0 0 0 0 rgba(37,211,102,.6)}100%{box-shadow:0 0 0 14px rgba(37,211,102,0)}}
.hero .wrap>div{animation:fu .9s ease both}
.hero .av{animation:fl 5s ease-in-out infinite,gl 3s ease-in-out infinite}
.wa-f{animation:pu 2.6s infinite}
@media(max-width:800px){
.menu-btn{display:flex}
.site-h .wrap{flex-wrap:wrap;height:auto;min-height:64px}
.nav.open{display:flex;flex-direction:column;gap:0;width:100%;order:5;padding:6px 0 10px;list-style:none}
.nav.open ul{flex-direction:column;gap:0}
.nav.open a{display:block;padding:13px 4px;border-top:1px solid #12301a;font-size:16px}
}
@media(max-width:600px){section,section.s{padding:56px 0}.hero{padding:56px 0 44px}.card{padding:22px}.pk .price,.deal .price{font-size:46px}.av{max-width:290px}.promo,.launch{padding:28px 16px;margin-bottom:40px}}
@media(max-width:480px){.hero .btn{display:block;margin:0 0 12px;text-align:center}.site-h .btn:not(.menu-btn){display:none}.wrap{padding:0 16px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.js .rv{opacity:1;translate:none}}
.cat-h{text-align:center;font-size:26px;font-weight:800;margin:56px 0 6px;color:var(--g)}.cat-h:first-of-type{margin-top:20px}
.cust{margin:0 0 70px}.cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px}
.ct{display:block;background:var(--panel);border:1px solid #12301a;border-radius:16px;padding:22px 14px;text-align:center;color:var(--t);transition:transform .25s,border-color .25s,box-shadow .25s}
.ct:hover{transform:translateY(-5px);border-color:var(--g);box-shadow:0 0 28px rgba(57,230,32,.35);color:var(--t)}
.ct .lg{width:64px;height:64px;border-radius:50%;margin:0 auto 12px;display:grid;place-items:center;background:rgba(57,230,32,.12);border:2px solid var(--g);color:var(--g);font-weight:800;font-size:22px;overflow:hidden}
.ct .lg img{width:100%;height:100%;object-fit:contain}
.ct b{display:block;font-size:16px}.ct small{color:var(--m);font-size:13px}
.pk .price.pq{font-size:34px;line-height:1.25;padding:14px 0}
.elementor img.av{border:2px solid var(--g);border-radius:28px;box-shadow:0 0 40px rgba(57,230,32,.45);animation:fl 5s ease-in-out infinite,gl 3s ease-in-out infinite}

/* Elementor layout fallbacks (remove the CSS class in Elementor > Advanced to resize freely) */
.elementor .bl-tile,.elementor .bl-pcard{flex:0 0 calc(33.333% - 16px);max-width:calc(33.333% - 16px)}
.elementor .bl-icard{flex:0 0 calc(25% - 18px);max-width:calc(25% - 18px)}
.elementor .bl-hl{flex:0 0 55%;max-width:55%}.elementor .bl-hr{flex:0 0 36%;max-width:36%}
.elementor .bl-circle{width:64px;min-width:64px;max-width:64px;height:64px;flex:0 0 64px;border-radius:50%}
@media(max-width:1024px){.elementor .bl-tile,.elementor .bl-pcard,.elementor .bl-icard{flex:0 0 calc(50% - 12px);max-width:calc(50% - 12px)}}
@media(max-width:767px){.elementor .bl-tile,.elementor .bl-pcard,.elementor .bl-icard,.elementor .bl-hl,.elementor .bl-hr{flex:0 0 100%;max-width:100%}}
