/*
Theme Name: Elaterz
Theme URI: https://www.elaterz.com
Author: Elaterz
Author URI: https://www.elaterz.com
Description: Fully customizable digital-marketing agency theme for Elaterz. WooCommerce-ready, Customizer-driven header/footer, editable menus and widgets, optimized for SEO/GEO/AEO. Pair with the "Elaterz Core" plugin for booking, geo-currency, social audit and schema.
Version: 0.1.2
Requires at least: 6.2
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: elaterz
Tags: business, e-commerce, custom-colors, custom-logo, custom-menu, featured-images, full-width-template, threaded-comments, translation-ready
*/

/* Elaterz theme — main.css
   Color tokens injected from the Customizer (--elz-primary, --elz-accent, --elz-dark). */

:root{
	--elz-primary:#5b2be0;
	--elz-accent:#ff5a3c;
	--elz-dark:#0f1020;
	--elz-ink:#1c1c28;
	--elz-muted:#5b5b6b;
	--elz-line:#e7e7ef;
	--elz-bg:#ffffff;
	--elz-bg-soft:#f6f5fb;
	--elz-radius:16px;
	--elz-shadow:0 18px 40px -24px rgba(16,16,32,.45);
	--elz-inner:1240px;
	--elz-pad:clamp(16px,4vw,48px);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:"Manrope",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--elz-ink);background:var(--elz-bg);line-height:1.6;overflow-x:hidden;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--elz-primary);text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2,h3,h4{font-family:"Sora","Manrope",sans-serif;color:var(--elz-dark);line-height:1.15;margin:0 0 .5em;}
h1{font-size:clamp(2.1rem,4.5vw,3.4rem);font-weight:800;letter-spacing:-.02em;}
h2{font-size:clamp(1.7rem,3.4vw,2.5rem);font-weight:700;}
h3{font-size:clamp(1.2rem,2vw,1.5rem);}
p{margin:0 0 1rem;}

/* ---- Full-width layout system ---- */
.elz-bleed{width:100%;}
.elz-inner{max-width:var(--elz-inner);margin-inline:auto;padding-inline:var(--elz-pad);}
.elz-inner--narrow{max-width:840px;}
.elz-container{max-width:var(--elz-inner);margin-inline:auto;padding-inline:var(--elz-pad);}

/* Gutenberg alignment support inside page content */
.elz-page__content .elz-inner > *{max-width:100%;}
.elz-page__content .alignwide{width:min(1100px,100%);margin-inline:auto;}
.elz-page__content .alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}

.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;}
.skip-link{position:absolute;left:-999px;top:0;background:#fff;padding:10px 16px;z-index:1000;}
.skip-link:focus{left:8px;}

/* ---- Buttons ---- */
.elz-btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:1rem;padding:.9rem 1.6rem;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;text-decoration:none;}
.elz-btn:hover{text-decoration:none;transform:translateY(-2px);}
.elz-btn--primary{background:var(--elz-primary);color:#fff;box-shadow:var(--elz-shadow);}
.elz-btn--accent{background:var(--elz-accent);color:#fff;}
.elz-btn--ghost{background:transparent;color:var(--elz-dark);border-color:var(--elz-line);}
.elz-btn--ghost:hover{border-color:var(--elz-primary);color:var(--elz-primary);}

/* ---- Topbar ---- */
.elz-topbar{background:var(--elz-dark);color:#cfcfe6;font-size:.85rem;}
.elz-topbar a{color:#cfcfe6;}
.elz-topbar__inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:42px;flex-wrap:wrap;}
.elz-topbar__contact a{margin-right:1.2rem;}
.elz-topbar__right{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;}
.elz-topbar__wa{font-weight:700;color:#7ce0a3;}
.elz-socials{display:inline-flex;gap:.6rem;}
.elz-social{font-size:.8rem;opacity:.85;}

/* ---- Header ---- */
.elz-header{background:var(--elz-bg);border-bottom:1px solid var(--elz-line);position:relative;z-index:50;}
.elz-header.is-sticky{position:sticky;top:0;}
.elz-header__inner{display:flex;align-items:center;gap:1.5rem;min-height:84px;}
/* Bigger logo in the main bar */
.elz-branding .custom-logo,.elz-branding img{max-height:60px;width:auto;height:auto;}
.elz-site-title{font-family:"Sora",sans-serif;font-weight:800;font-size:1.5rem;color:var(--elz-dark);}
.elz-nav{margin-left:auto;}
.elz-menu{list-style:none;display:flex;gap:1.4rem;margin:0;padding:0;align-items:center;}
.elz-menu li{position:relative;}
.elz-menu a{color:var(--elz-ink);font-weight:600;font-size:.98rem;padding:.4rem 0;display:block;}
.elz-menu a:hover{color:var(--elz-primary);text-decoration:none;}
.elz-menu .menu-item-has-children>a::after{content:"▾";font-size:.7em;margin-left:.3rem;opacity:.7;}
.elz-menu .sub-menu{position:absolute;top:100%;left:0;min-width:250px;background:#fff;border:1px solid var(--elz-line);border-radius:12px;box-shadow:var(--elz-shadow);padding:.5rem;display:none;flex-direction:column;gap:.1rem;z-index:60;}
.elz-menu li:hover>.sub-menu{display:flex;}
.elz-menu .sub-menu a{padding:.6rem .8rem;border-radius:8px;font-weight:500;}
.elz-menu .sub-menu a:hover{background:var(--elz-bg-soft);}
.elz-menu .sub-menu .sub-menu{top:0;left:100%;}
.elz-header__cta{margin-left:.5rem;}
.elz-header.elz-header-centered .elz-header__inner{flex-direction:column;gap:.6rem;}
.elz-header.elz-header-centered .elz-nav{margin:0;}

/* Mobile nav toggle */
.elz-nav-toggle{display:none;margin-left:auto;width:48px;height:44px;border:1px solid var(--elz-line);border-radius:10px;background:#fff;position:relative;cursor:pointer;}
.elz-nav-toggle__bar,.elz-nav-toggle__bar::before,.elz-nav-toggle__bar::after{content:"";position:absolute;left:12px;width:22px;height:2px;background:var(--elz-dark);transition:.2s;}
.elz-nav-toggle__bar{top:21px;}
.elz-nav-toggle__bar::before{top:-7px;}
.elz-nav-toggle__bar::after{top:7px;}
.elz-nav-toggle[aria-expanded="true"] .elz-nav-toggle__bar{background:transparent;}
.elz-nav-toggle[aria-expanded="true"] .elz-nav-toggle__bar::before{top:0;transform:rotate(45deg);}
.elz-nav-toggle[aria-expanded="true"] .elz-nav-toggle__bar::after{top:0;transform:rotate(-45deg);}

/* ---- Sections (shared) ---- */
.elz-section{padding-block:clamp(3rem,6vw,5.5rem);}
.elz-section--soft{background:var(--elz-bg-soft);}
.elz-section--dark{background:var(--elz-dark);color:#e8e8f5;}
.elz-section--dark h2{color:#fff;}
.elz-section__head{max-width:720px;margin-bottom:2.5rem;}
.elz-section__head .elz-eyebrow{margin-bottom:.6rem;}
.elz-eyebrow{display:inline-block;background:rgba(91,43,224,.1);color:var(--elz-primary);font-weight:700;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;padding:.4rem .8rem;border-radius:999px;}

/* ---- Hero ---- */
.elz-hero{background:linear-gradient(160deg,var(--elz-bg-soft),#fff 60%);padding-block:clamp(2.6rem,6vw,5.5rem);}
.elz-hero__inner{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center;}
.elz-hero .elz-eyebrow{margin-bottom:1rem;}
.elz-hero__sub{font-size:1.15rem;color:var(--elz-muted);max-width:52ch;}
.elz-hero__cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.4rem;}
.elz-hero__points{list-style:none;padding:0;margin:1.6rem 0 0;display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;}
.elz-hero__points li{position:relative;padding-left:1.5rem;font-weight:600;font-size:.95rem;}
.elz-hero__points li::before{content:"✓";position:absolute;left:0;color:var(--elz-primary);font-weight:800;}
.elz-hero__media img{border-radius:var(--elz-radius);box-shadow:var(--elz-shadow);}
.elz-hero__media--placeholder{aspect-ratio:4/3;border-radius:var(--elz-radius);background:radial-gradient(120% 120% at 70% 20%,rgba(91,43,224,.22),rgba(255,90,60,.18) 60%,transparent),var(--elz-bg-soft);position:relative;overflow:hidden;box-shadow:var(--elz-shadow);}
.elz-orb{position:absolute;width:55%;aspect-ratio:1;border-radius:50%;background:conic-gradient(from 90deg,var(--elz-primary),var(--elz-accent),var(--elz-primary));filter:blur(2px);top:50%;left:50%;transform:translate(-50%,-50%);opacity:.85;}

/* ---- Stats ---- */
.elz-stats{background:var(--elz-dark);color:#fff;}
.elz-stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;padding-block:2.4rem;}
.elz-stat{text-align:center;}
.elz-stat__num{display:block;font-family:"Sora",sans-serif;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:800;color:#fff;}
.elz-stat__label{font-size:.9rem;color:#b9b9d0;}

/* ---- Services grid ---- */
.elz-svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;}
.elz-svc{background:#fff;border:1px solid var(--elz-line);border-radius:var(--elz-radius);padding:1.8rem;transition:transform .15s,box-shadow .15s,border-color .15s;}
.elz-svc:hover{transform:translateY(-4px);box-shadow:var(--elz-shadow);border-color:transparent;}
.elz-svc h3{margin-bottom:.5rem;}
.elz-svc h3 a{color:var(--elz-dark);}
.elz-svc h3 a:hover{color:var(--elz-primary);}
.elz-svc__desc{color:var(--elz-muted);}
.elz-svc__list{list-style:none;padding:0;margin:1rem 0;display:grid;grid-template-columns:1fr 1fr;gap:.4rem .8rem;}
.elz-svc__list li{position:relative;padding-left:1.2rem;font-size:.92rem;}
.elz-svc__list li::before{content:"•";position:absolute;left:0;color:var(--elz-accent);font-weight:800;}
.elz-svc__more{font-weight:700;}

/* ---- Why grid ---- */
.elz-why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.elz-why{background:#fff;border:1px solid var(--elz-line);border-radius:var(--elz-radius);padding:1.5rem;}
.elz-why h4{margin-bottom:.4rem;}
.elz-why p{color:var(--elz-muted);margin:0;font-size:.95rem;}

/* ---- Process ---- */
.elz-process{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.elz-process li{position:relative;padding-top:.5rem;}
.elz-process__n{font-family:"Sora",sans-serif;font-weight:800;font-size:1.6rem;color:var(--elz-primary);opacity:.5;}
.elz-process h4{margin:.3rem 0 .3rem;}
.elz-process p{color:var(--elz-muted);font-size:.95rem;margin:0;}

/* ---- Quote ---- */
.elz-quote{max-width:840px;text-align:center;}
.elz-quote__text{font-family:"Sora",sans-serif;font-size:clamp(1.3rem,2.6vw,2rem);font-weight:600;color:#fff;}
.elz-quote__by{color:#b9b9d0;}

/* ---- Generic page ---- */
.elz-page__header{background:var(--elz-bg-soft);padding-block:clamp(2rem,4vw,3rem);border-bottom:1px solid var(--elz-line);}
.elz-page__title{margin:0;}
.elz-page__content{padding-block:clamp(2rem,4vw,3.2rem);font-size:1.06rem;}
.elz-page-body{font-size:1.06rem;}
.elz-breadcrumbs{font-size:.85rem;color:var(--elz-muted);margin-bottom:.6rem;}
.elz-breadcrumbs a{color:var(--elz-muted);}

/* ---- CTA band ---- */
.elz-cta-band{background:var(--elz-primary);color:#fff;}
.elz-cta-band__inner{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding-block:2.6rem;flex-wrap:wrap;}
.elz-cta-band h2{color:#fff;margin:0;}

/* ---- Cards / blog ---- */
.elz-post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.6rem;padding-block:2.4rem;}
.elz-card{background:#fff;border:1px solid var(--elz-line);border-radius:var(--elz-radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s;}
.elz-card:hover{transform:translateY(-4px);box-shadow:var(--elz-shadow);}
.elz-card__media img{aspect-ratio:3/2;object-fit:cover;width:100%;}
.elz-card__body{padding:1.2rem;display:flex;flex-direction:column;gap:.4rem;}
.elz-card__title{font-size:1.2rem;margin:0;}
.elz-card__meta,.elz-meta{font-size:.82rem;color:var(--elz-muted);}
.elz-card__more{font-weight:700;margin-top:auto;}

/* ---- Single ---- */
.elz-single{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:2.5rem;padding-block:2.4rem;}
.elz-single__thumb img{border-radius:var(--elz-radius);margin:1rem 0;}
.elz-single__content{font-size:1.07rem;}
.elz-sidebar .widget,.elz-footer__col .widget{margin-bottom:1.6rem;}

/* ---- Footer ---- */
.elz-footer{background:#0b0c1a;color:#b9b9d0;padding-top:3rem;margin-top:0;}
.elz-footer a{color:#d6d6ea;}
.elz-footer__top{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:2rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.08);}
/* Footer logo: shown once, sensible size */
.elz-footer__brand .custom-logo,.elz-footer__brand img{max-height:46px;width:auto;margin-bottom:.4rem;}
.elz-site-title--footer{color:#fff;}
.elz-footer__about{font-size:.92rem;margin-top:1rem;color:#9a9ab5;}
.elz-footer .widget-title{color:#fff;font-size:1rem;margin-bottom:.8rem;}
.elz-footer .widget ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem;}
.elz-footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 0;flex-wrap:wrap;font-size:.85rem;}
.elz-footer-menu{list-style:none;display:flex;gap:1.2rem;margin:0;padding:0;flex-wrap:wrap;}

/* ---- Forms (shared with plugin) ---- */
.elz-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem;}
.elz-field label{font-weight:600;font-size:.92rem;}
.elz-field input,.elz-field select,.elz-field textarea{padding:.75rem .9rem;border:1px solid var(--elz-line);border-radius:10px;font:inherit;width:100%;}
.elz-field input:focus,.elz-field select:focus,.elz-field textarea:focus{outline:2px solid var(--elz-primary);border-color:var(--elz-primary);}

.elz-404{padding-block:4rem;text-align:center;}

/* ======================  RESPONSIVE  ====================== */
@media(max-width:1024px){
	.elz-svc__list{grid-template-columns:1fr 1fr;}
	.elz-why-grid,.elz-process{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:900px){
	.elz-hero__inner{grid-template-columns:1fr;}
	.elz-hero__media{order:-1;}
	.elz-single{grid-template-columns:1fr;}
	.elz-stats__grid{grid-template-columns:repeat(2,1fr);}
	.elz-svc-grid{grid-template-columns:1fr;}
	.elz-footer__top{grid-template-columns:1fr 1fr;}
	.elz-nav-toggle{display:block;}
	.elz-branding{margin-right:auto;}
	.elz-nav{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--elz-line);box-shadow:var(--elz-shadow);display:none;margin:0;padding:1rem var(--elz-pad);z-index:80;}
	.elz-nav.is-open{display:block;}
	.elz-menu{flex-direction:column;align-items:stretch;gap:.2rem;}
	.elz-menu .menu-item-has-children>a::after{float:right;}
	.elz-menu .sub-menu{position:static;display:flex;box-shadow:none;border:none;padding-left:1rem;min-width:0;}
	.elz-header__inner{flex-wrap:wrap;min-height:64px;}
	.elz-header__cta{order:5;width:100%;}
	.elz-header__cta .elz-btn{width:100%;justify-content:center;}
	.elz-branding .custom-logo,.elz-branding img{max-height:50px;}
}
@media(max-width:560px){
	.elz-why-grid,.elz-process,.elz-footer__top{grid-template-columns:1fr;}
	.elz-svc__list{grid-template-columns:1fr;}
	.elz-cta-band__inner{flex-direction:column;align-items:flex-start;}
	.elz-topbar__contact a{display:inline-block;margin-bottom:.2rem;}
}

/* ---- FAQ (homepage fallback; plugin restyles when active) ---- */
.elz-faq{margin:1.5rem 0;display:flex;flex-direction:column;gap:.6rem;}
.elz-faq__item{border:1px solid var(--elz-line);border-radius:12px;padding:.3rem 1rem;background:#fff;}
.elz-faq__item summary{font-weight:700;cursor:pointer;padding:.7rem 0;list-style:none;}
.elz-faq__item summary::-webkit-details-marker{display:none;}
.elz-faq__item summary::after{content:"+";float:right;color:var(--elz-primary);font-weight:800;}
.elz-faq__item[open] summary::after{content:"–";}
.elz-faq__a{padding-bottom:.7rem;color:var(--elz-muted);}

/* ============ Homepage creative components (v0.1.1) ============ */

/* Hero trust line + stars */
.elz-hero__trust{display:flex;align-items:center;gap:.5rem;margin-top:1.4rem;font-size:.9rem;color:var(--elz-muted);}
.elz-stars{color:#f5a623;letter-spacing:.1em;font-size:1rem;}
.elz-stars--lg{font-size:1.4rem;display:block;margin-bottom:1rem;}

/* Hero built-in visual */
.elz-hero__visual{position:relative;aspect-ratio:4/3.2;border-radius:var(--elz-radius);background:radial-gradient(120% 120% at 75% 10%,rgba(91,43,224,.18),rgba(255,90,60,.12) 55%,transparent),var(--elz-bg-soft);box-shadow:var(--elz-shadow);overflow:hidden;}
.elz-hero__card{position:absolute;left:8%;top:14%;width:78%;background:#fff;border:1px solid var(--elz-line);border-radius:14px;box-shadow:0 24px 50px -28px rgba(16,16,32,.5);padding:1rem 1.1rem 1.2rem;}
.elz-hero__card-head{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;font-weight:700;color:var(--elz-muted);margin-bottom:.4rem;}
.elz-up{color:#16a34a;}
.elz-chart{width:100%;height:90px;display:block;}
.elz-hero__bars{display:flex;align-items:flex-end;gap:8px;height:42px;margin-top:.6rem;}
.elz-hero__bars span{flex:1;background:linear-gradient(var(--elz-primary),var(--elz-accent));border-radius:4px 4px 0 0;opacity:.85;}
.elz-chip{position:absolute;background:#fff;border:1px solid var(--elz-line);border-radius:999px;padding:.45rem .8rem;font-size:.82rem;font-weight:700;box-shadow:0 12px 26px -16px rgba(16,16,32,.5);animation:elzFloat 4s ease-in-out infinite;}
.elz-chip strong{color:var(--elz-primary);}
.elz-chip--1{right:2%;top:24%;animation-delay:.2s;}
.elz-chip--2{right:6%;bottom:16%;animation-delay:1s;}
.elz-chip--3{left:2%;bottom:8%;animation-delay:1.8s;}
@keyframes elzFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(prefers-reduced-motion:reduce){.elz-chip{animation:none;}}

/* Trust strip */
.elz-trustbar{border-bottom:1px solid var(--elz-line);background:#fff;}
.elz-trustbar__inner{display:flex;align-items:center;justify-content:center;gap:1.4rem;flex-wrap:wrap;padding-block:1.1rem;color:var(--elz-muted);font-size:.9rem;}
.elz-trustbar__inner strong{color:var(--elz-dark);font-family:"Sora",sans-serif;font-weight:700;}

/* Service icons */
.elz-svc__icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:rgba(91,43,224,.1);color:var(--elz-primary);margin-bottom:1rem;}
.elz-svc__icon svg{width:26px;height:26px;}

@media(max-width:560px){
	.elz-trustbar__inner{gap:.7rem 1.1rem;}
}

/* Custom header logo (from Elaterz → Header) can be larger than the default cap */
.elz-branding .elz-logo{max-height:120px;}
