/*
Theme Name: Taxi Vali Onești
Theme URI: https://taxivalionesti.ro
Author: Taxi Vali Onești
Author URI: https://taxivalionesti.ro
Description: Temă WordPress one-page, optimizată SEO, pentru firma de taxi "Taxi Vali Onești". Landing page simplu, axat pe prețuri bune și servicii rapide, cu 2 linii telefonice + WhatsApp, logo editabil, meniu și footer editabile, schema.org LocalBusiness + FAQPage pentru rezultate mai bune în Google local ("taxi Onești").
Version: 4.0.0
Requires at least: 5.9
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: taxi-vali-onesti
Tags: one-column, custom-menu, custom-logo, featured-images, translation-ready

Taxi Vali Onești WordPress Theme, (C) 2026
Taxi Vali Onești is distributed under the terms of the GNU GPL v2 or later.
*/

/* ---------------------------------------------------
   0. RESET & VARIABLES
--------------------------------------------------- */
:root{
	--tv-yellow:#f5b400;
	--tv-yellow-dark:#d99a00;
	--tv-dark:#161a1f;
	--tv-dark-2:#20262e;
	--tv-gray:#5b6470;
	--tv-light:#f7f8fa;
	--tv-white:#ffffff;
	--tv-green:#25d366;
	--tv-radius:14px;
	--tv-shadow:0 10px 30px rgba(22,26,31,.08);
	--tv-max:1180px;
	--tv-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
	margin:0;
	font-family:var(--tv-font);
	color:var(--tv-dark);
	background:var(--tv-white);
	line-height:1.6;
	font-size:17px;
	-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{line-height:1.2;margin:0 0 .5em;font-weight:800;}
p{margin:0 0 1em;}
button{font-family:inherit;cursor:pointer;}
.container{max-width:var(--tv-max);margin:0 auto;padding:0 20px;}
.screen-reader-text{position:absolute;left:-9999px;}
section{padding:70px 0;}
.section-tag{
	display:inline-block;
	background:rgba(245,180,0,.15);
	color:var(--tv-yellow-dark);
	font-weight:700;
	font-size:13px;
	letter-spacing:.06em;
	text-transform:uppercase;
	padding:6px 14px;
	border-radius:30px;
	margin-bottom:14px;
}
.section-title{font-size:clamp(26px,4vw,38px);margin-bottom:14px;}
.section-lead{color:var(--tv-gray);max-width:640px;margin:0 auto 40px;font-size:18px;}
.center{text-align:center;}

/* Buttons */
.btn{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:15px 28px;
	border-radius:50px;
	font-weight:700;
	font-size:16px;
	border:2px solid transparent;
	transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
	max-width:100%;
	white-space:nowrap;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--tv-yellow);color:var(--tv-dark);box-shadow:0 8px 20px rgba(245,180,0,.35);}
.btn-primary:hover{background:var(--tv-yellow-dark);}
.btn-whatsapp{background:var(--tv-green);color:var(--tv-white);box-shadow:0 8px 20px rgba(37,211,102,.35);}
.btn-outline{background:transparent;border-color:rgba(255,255,255,.4);color:var(--tv-white);}
.btn-outline:hover{background:rgba(255,255,255,.12);}
.btn-dark{background:var(--tv-dark);color:var(--tv-white);}
.btn-block{width:100%;justify-content:center;}
.btn-lg{padding:18px 34px;font-size:18px;}

/* ---------------------------------------------------
   1. HEADER / TOP BAR
--------------------------------------------------- */
.tv-topbar{background:var(--tv-dark);color:#cfd3d8;font-size:14px;}
.tv-topbar .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;padding:8px 20px;}
.tv-topbar a{color:#cfd3d8;}
.tv-topbar .tv-topbar-links{display:flex;gap:18px;align-items:center;flex-wrap:wrap;}
.tv-topbar .tv-topbar-links a:hover{color:var(--tv-yellow);}

.tv-header{
	position:sticky;top:0;z-index:500;
	background:var(--tv-white);
	box-shadow:0 2px 14px rgba(0,0,0,.06);
}
.tv-header .container{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;}
.tv-logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;color:var(--tv-dark);min-width:0;}
.tv-logo img{max-height:52px;width:auto;}
.tv-logo .tv-logo-badge{
	background:var(--tv-yellow);
	color:var(--tv-dark);
	width:42px;height:42px;border-radius:12px;
	display:flex;align-items:center;justify-content:center;font-size:20px;
	flex-shrink:0;
}
.tv-logo small{display:block;font-size:11px;font-weight:600;color:var(--tv-gray);letter-spacing:.04em;text-transform:uppercase;}

.tv-nav{display:flex;align-items:center;gap:26px;}
.tv-nav ul{display:flex;gap:24px;}
.tv-nav a{font-weight:600;font-size:15px;color:var(--tv-dark-2);}
.tv-nav a:hover{color:var(--tv-yellow-dark);}
.tv-header-cta{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.tv-header-cta .btn{padding:12px 20px;font-size:14.5px;}
.tv-menu-toggle{
	display:none;background:none;border:none;width:42px;height:42px;
	border-radius:10px;align-items:center;justify-content:center;flex-shrink:0;
}
.tv-menu-toggle span,.tv-menu-toggle span::before,.tv-menu-toggle span::after{
	content:"";display:block;width:22px;height:2px;background:var(--tv-dark);position:relative;transition:.2s;
}
.tv-menu-toggle span::before{position:absolute;top:-7px;}
.tv-menu-toggle span::after{position:absolute;top:7px;}

/* ---------------------------------------------------
   2. HERO
--------------------------------------------------- */
.tv-hero{
	background:linear-gradient(135deg,var(--tv-dark) 0%, var(--tv-dark-2) 60%, #2b2210 100%);
	color:var(--tv-white);
	padding:80px 0 60px;
	position:relative;
	overflow:hidden;
}
.tv-hero::after{
	content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;
	background:radial-gradient(circle,rgba(245,180,0,.28),transparent 70%);
}
.tv-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;position:relative;z-index:2;}
.tv-hero-badges{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px;}
.tv-hero-badge{
	background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);
	padding:6px 14px;border-radius:30px;font-size:13px;font-weight:600;
}
.tv-hero h1{font-size:clamp(30px,4.6vw,48px);margin-bottom:16px;}
.tv-hero h1 span{color:var(--tv-yellow);}
.tv-hero-sub{font-size:19px;color:#d3d7dc;max-width:560px;margin-bottom:28px;}
.tv-hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:14px;}
.tv-hero-alt-phone{color:#c9cdd3;font-size:14.5px;margin-bottom:26px;}
.tv-hero-alt-phone a{color:var(--tv-yellow);font-weight:700;}
.tv-hero-trust{display:flex;gap:24px;flex-wrap:wrap;color:#c9cdd3;font-size:14px;}
.tv-hero-trust strong{color:var(--tv-white);display:block;font-size:22px;}

.tv-hero-visual{position:relative;display:flex;align-items:center;justify-content:center;}
.tv-hero-visual img{max-width:100%;filter:drop-shadow(0 25px 40px rgba(0,0,0,.4));}

/* ---------------------------------------------------
   3. USP / TRUST STRIP
--------------------------------------------------- */
.tv-usp-strip{background:var(--tv-light);border-bottom:1px solid #ececef;}
.tv-usp-strip .container{
	display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:26px 20px;
}
.tv-usp-item{display:flex;align-items:center;justify-content:center;gap:12px;font-weight:700;font-size:15px;color:var(--tv-dark-2);}
.tv-usp-item .tv-ico{font-size:24px;}

/* ---------------------------------------------------
   4. HIGHLIGHT CARDS (Prețuri bune / Servicii rapide)
--------------------------------------------------- */
.tv-highlights{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
.tv-highlight-card{
	background:var(--tv-white);border:1px solid #ececef;border-radius:var(--tv-radius);
	padding:36px;box-shadow:var(--tv-shadow);text-align:center;
}
.tv-highlight-card img{width:120px;height:120px;margin:0 auto 20px;}
.tv-highlight-card h3{font-size:22px;margin-bottom:10px;}
.tv-highlight-card p{color:var(--tv-gray);margin:0;font-size:16px;}

.tv-section-alt{background:var(--tv-light);}

/* ---------------------------------------------------
   5. ZONE DESERVITE
--------------------------------------------------- */
.tv-zones{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.tv-zone-pill{
	background:var(--tv-white);border:1px solid #e5e7eb;padding:9px 18px;border-radius:30px;
	font-weight:600;font-size:14px;color:var(--tv-dark-2);
}

/* ---------------------------------------------------
   6. TESTIMONIALE
--------------------------------------------------- */
.tv-testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.tv-testi{background:var(--tv-white);border:1px solid #ececef;border-radius:var(--tv-radius);padding:26px;box-shadow:var(--tv-shadow);}
.tv-stars{color:var(--tv-yellow);letter-spacing:2px;margin-bottom:10px;font-size:15px;}
.tv-testi p.tv-quote{color:var(--tv-dark-2);margin-bottom:14px;font-size:15px;}
.tv-testi-author{font-weight:700;font-size:14px;}
.tv-testi-role{color:var(--tv-gray);font-size:13px;}

/* ---------------------------------------------------
   7. FAQ (accordion)
--------------------------------------------------- */
.tv-faq{max-width:760px;margin:0 auto;}
.tv-faq-item{border-bottom:1px solid #ececef;}
.tv-faq-q{
	width:100%;text-align:left;background:none;border:none;padding:20px 0;
	font-weight:700;font-size:16.5px;display:flex;justify-content:space-between;align-items:center;
	color:var(--tv-dark);
}
.tv-faq-q .tv-faq-icon{transition:transform .2s;font-size:20px;color:var(--tv-yellow-dark);}
.tv-faq-item.is-open .tv-faq-icon{transform:rotate(45deg);}
.tv-faq-a{display:none;color:var(--tv-gray);padding:0 0 20px;font-size:15px;}
.tv-faq-item.is-open .tv-faq-a{display:block;}

/* ---------------------------------------------------
   8. CONTACT / CTA FINAL (2 linii telefon + whatsapp, fără formular)
--------------------------------------------------- */
.tv-contact{background:var(--tv-dark);color:var(--tv-white);text-align:center;}
.tv-contact .section-lead{color:#c9cdd3;margin:0 auto 30px;}
.tv-phone-lines{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-bottom:26px;}
.tv-phone-line{
	background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
	border-radius:var(--tv-radius);padding:18px 26px;min-width:220px;
}
.tv-phone-line-label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#9aa0a8;margin-bottom:6px;}
.tv-phone-line-number{display:block;font-size:clamp(20px,3.5vw,28px);font-weight:800;color:var(--tv-yellow);}
.tv-contact-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:30px;}
.tv-contact-meta{display:flex;gap:30px;justify-content:center;flex-wrap:wrap;color:#c9cdd3;font-size:14.5px;}

/* ---------------------------------------------------
   9. FOOTER
--------------------------------------------------- */
.tv-footer{background:var(--tv-dark-2);color:#c9cdd3;padding:50px 0 20px;font-size:14.5px;}
.tv-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:30px;}
.tv-footer h4{color:var(--tv-white);font-size:15px;margin-bottom:14px;}
.tv-footer ul li{margin-bottom:8px;}
.tv-footer a:hover{color:var(--tv-yellow);}
.tv-footer-logo{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.tv-footer-logo img{max-height:40px;}
.tv-footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:#8b919a;font-size:13px;}

/* ---------------------------------------------------
   10. STICKY MOBILE CALL BAR
--------------------------------------------------- */
.tv-mobile-bar{
	position:fixed;left:0;right:0;bottom:0;z-index:600;
	display:none;background:var(--tv-white);box-shadow:0 -6px 20px rgba(0,0,0,.12);
	padding:10px 14px;gap:10px;
}
.tv-mobile-bar .btn{flex:1;padding:13px 10px;font-size:15px;white-space:normal;}

/* ---------------------------------------------------
   11. GENERIC PAGE / SINGLE POST CONTENT
--------------------------------------------------- */
.tv-page-content{max-width:760px;margin:0 auto;padding:60px 20px;}
.tv-page-content h1{font-size:32px;margin-bottom:20px;}
.tv-page-content img{border-radius:var(--tv-radius);margin:20px 0;}

/* ---------------------------------------------------
   12. RESPONSIVE
--------------------------------------------------- */
@media (max-width:980px){
	.tv-hero-grid{grid-template-columns:1fr;}
	.tv-hero-visual{order:-1;max-width:320px;margin:0 auto;}
	.tv-usp-strip .container{grid-template-columns:1fr;}
	.tv-highlights{grid-template-columns:1fr;}
	.tv-testi-grid{grid-template-columns:repeat(2,1fr);}
	.tv-footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:860px){
	.tv-header-cta .btn{padding:10px 16px;font-size:13.5px;}
}
/* Sub 720px: eliminăm butonul din header (se taie pe ecrane mici) -
   rămâne doar bara sticky de jos, care e mereu vizibilă pe mobil. */
@media (max-width:720px){
	.tv-nav{position:fixed;inset:64px 0 0 0;background:var(--tv-white);flex-direction:column;padding:20px;display:none;overflow:auto;}
	.tv-nav.is-open{display:flex;}
	.tv-nav ul{flex-direction:column;width:100%;gap:4px;}
	.tv-nav ul a{display:block;padding:12px 0;border-bottom:1px solid #f0f0f0;}
	.tv-menu-toggle{display:flex;}
	.tv-header-cta{display:none;}
	.tv-testi-grid{grid-template-columns:1fr;}
	.tv-footer-grid{grid-template-columns:1fr;}
	.tv-mobile-bar{display:flex;}
	body{padding-bottom:70px;}
	.tv-topbar{display:none;}
	.tv-contact-cta{flex-direction:column;}
	.tv-contact-cta .btn{width:100%;justify-content:center;}
	.tv-phone-lines{flex-direction:column;align-items:stretch;}
}
