/* Growvena Extras — Dark mode, rotating badge, GROWVENA hover reveal, testimonials slider */

/* ---------- Dark mode ---------- */
body.gv-dark{--gv-ink:#f5f5f7;--gv-muted:#a1a1aa;--gv-bg:#0b0b0f;--gv-surface:#141419;--gv-border:rgba(255,255,255,.1);--gv-shadow:0 10px 30px rgba(0,0,0,.5);color:var(--gv-ink);background:var(--gv-bg)}
body.gv-dark .gv-header.is-scrolled{background:rgba(11,11,15,.85)}
body.gv-dark .gv-menu .sub-menu{background:#141419}
body.gv-dark .gv-mobile-menu{background:#0b0b0f}
body.gv-dark .gv-service-card,body.gv-dark .gv-process__step,body.gv-dark .gv-pricing__card,body.gv-dark .gv-testimonials__card,body.gv-dark .gv-accordion__item,body.gv-dark .gv-case-card,body.gv-dark .gv-post-card,body.gv-dark .gv-contact__form-wrap,body.gv-dark .gv-testi-card,body.gv-dark .gv-legal__content,body.gv-dark .gv-industries__pill,body.gv-dark .gv-job-card{background:#141419;border-color:rgba(255,255,255,.08);color:var(--gv-ink)}
body.gv-dark .gv-about__card{background:#141419}
body.gv-dark .gv-logos{background:#141419}
body.gv-dark .gv-marquee::before{background:linear-gradient(to right,#141419,transparent)}
body.gv-dark .gv-marquee::after{background:linear-gradient(to left,#141419,transparent)}
body.gv-dark .gv-form input,body.gv-dark .gv-form select,body.gv-dark .gv-form textarea,
body.gv-dark .growvena-cf7 input[type=text],body.gv-dark .growvena-cf7 input[type=email],body.gv-dark .growvena-cf7 input[type=tel],body.gv-dark .growvena-cf7 input[type=url],body.gv-dark .growvena-cf7 select,body.gv-dark .growvena-cf7 textarea{background:#0b0b0f;color:var(--gv-ink);border-color:rgba(255,255,255,.15)}
body.gv-dark .gv-menu-toggle__bar{background:var(--gv-ink)}

/* Dark mode toggle button */
.gv-dark-toggle{width:40px;height:40px;border-radius:50%;background:transparent;border:1px solid var(--gv-border);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gv-ink);transition:transform .3s ease,background .3s ease,border-color .3s ease}
.gv-dark-toggle:hover{transform:rotate(20deg);background:var(--gv-surface)}
.gv-dark-toggle svg{width:18px;height:18px}
.gv-dark-toggle .gv-icon-sun{display:none}
body.gv-dark .gv-dark-toggle .gv-icon-moon{display:none}
body.gv-dark .gv-dark-toggle .gv-icon-sun{display:block}

/* ---------- Rotating Badge (fixed, every page) ---------- */
.gv-badge-rotator{position:fixed;bottom:24px;left:24px;z-index:800;width:150px;height:150px;transition:width .5s cubic-bezier(.2,.7,.2,1),height .5s cubic-bezier(.2,.7,.2,1)}
.gv-badge-rotator__inner{position:relative;width:100%;height:100%;background:var(--gv-ink);border-radius:50%;box-shadow:0 12px 32px rgba(0,0,0,.35);cursor:pointer;transition:box-shadow .4s ease}
.gv-badge-rotator__inner:hover{box-shadow:0 20px 48px rgba(0,94,255,.4)}
.gv-badge-rotator__spinner{position:absolute;inset:0;animation:gv-spin 22s linear infinite}
.gv-badge-rotator__text{position:absolute;inset:0}
.gv-badge-rotator__text svg{width:100%;height:100%}
.gv-badge-rotator__text text{fill:#fff;font-family:'Inter',sans-serif;font-size:15px;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.gv-badge-rotator__dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:22px;height:22px;background:var(--gv-primary);border-radius:50%;box-shadow:0 0 0 8px rgba(0,94,255,.22);transition:opacity .3s ease}

/* Expanded (hover) state — shows meaning */
.gv-badge-rotator__meaning{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.25rem;text-align:center;color:#fff;opacity:0;pointer-events:none;transition:opacity .4s ease .1s}
.gv-badge-rotator__meaning strong{display:block;font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gv-primary-2,#ffc72c);margin-bottom:.35rem}
.gv-badge-rotator__meaning p{font-size:.75rem;line-height:1.35;margin:0;font-weight:500}
.gv-badge-rotator:hover{width:280px;height:280px}
.gv-badge-rotator:hover .gv-badge-rotator__spinner{animation-duration:8s;opacity:.25}
.gv-badge-rotator:hover .gv-badge-rotator__dot{opacity:0}
.gv-badge-rotator:hover .gv-badge-rotator__meaning{opacity:1}
.gv-badge-rotator:hover .gv-badge-rotator__text text{font-size:12px}
@keyframes gv-spin{to{transform:rotate(360deg)}}
@media(max-width:640px){.gv-badge-rotator{width:110px;height:110px;bottom:16px;left:16px}.gv-badge-rotator__text text{font-size:18px}.gv-badge-rotator:hover{width:220px;height:220px}.gv-badge-rotator:hover .gv-badge-rotator__text text{font-size:14px}}
@media (prefers-reduced-motion:reduce){.gv-badge-rotator__spinner{animation:none}}

/* ---------- Footer GROWVENA hover reveal (Growth / Systems / Results) ---------- */
.gv-footer__wordmark-wrap{position:relative;margin-top:2rem;text-align:center;overflow:hidden;user-select:none;line-height:1;min-height:clamp(4rem,22vw,22rem)}
.gv-footer__wordmark{margin:0;font-weight:900;letter-spacing:-.03em;line-height:1;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.55);font-size:clamp(4rem,22vw,22rem);white-space:nowrap;transition:opacity .5s ease,transform .5s ease;cursor:pointer}
.gv-footer__wordmark span{-webkit-text-stroke:2px var(--gv-primary-2,#ffc72c);color:transparent}
body.gv-footer-light .gv-footer__wordmark{-webkit-text-stroke:2px rgba(15,15,16,.35)}
body.gv-footer-light .gv-footer__wordmark span{-webkit-text-stroke:2px var(--gv-primary)}
.gv-footer__wordmark-reveal{position:absolute;inset:0;display:flex;justify-content:space-around;align-items:center;opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease;pointer-events:none;padding:0 1rem}
.gv-footer__wordmark-reveal span{font-weight:900;font-size:clamp(1.5rem,6vw,5rem);letter-spacing:-.02em;color:transparent;-webkit-text-stroke:2px #fff;background:linear-gradient(135deg,var(--gv-primary),var(--gv-primary-2));-webkit-background-clip:text;background-clip:text;transition:transform .5s ease .1s;transform:translateY(20px)}
.gv-footer__wordmark-reveal span:nth-child(2){transition-delay:.2s}
.gv-footer__wordmark-reveal span:nth-child(3){transition-delay:.3s}
.gv-footer__wordmark-wrap:hover .gv-footer__wordmark{opacity:0;transform:translateY(-20px)}
.gv-footer__wordmark-wrap:hover .gv-footer__wordmark-reveal{opacity:1;transform:translateY(0)}
.gv-footer__wordmark-wrap:hover .gv-footer__wordmark-reveal span{transform:translateY(0);-webkit-text-stroke:0;color:transparent}
body.gv-footer-light .gv-footer__wordmark-reveal span{-webkit-text-stroke:2px var(--gv-ink)}

/* ---------- Testimonials Premium Slider ---------- */
.gv-tslider{position:relative;max-width:900px;margin:0 auto}
.gv-tslider__track{overflow:hidden;border-radius:var(--gv-radius-lg)}
.gv-tslider__slides{display:flex;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.gv-tslider__slide{flex:0 0 100%;padding:3rem 2.5rem;background:#fff;border:1px solid var(--gv-border);text-align:center;box-shadow:var(--gv-shadow)}
body.gv-dark .gv-tslider__slide{background:#141419}
.gv-tslider__logo{height:32px;margin:0 auto 1.25rem;opacity:.85;font-weight:800;letter-spacing:-.02em;font-size:1.1rem;color:var(--gv-muted)}
.gv-tslider__stars{color:var(--gv-accent);letter-spacing:2px;font-size:1.1rem;margin-bottom:1rem}
.gv-tslider__slide blockquote{font-size:clamp(1.15rem,2.2vw,1.6rem);font-weight:500;line-height:1.4;margin:0 auto 1.5rem;max-width:700px;color:var(--gv-ink);font-style:italic}
.gv-tslider__meta{display:inline-flex;align-items:center;gap:.85rem}
.gv-tslider__meta img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid var(--gv-primary)}
.gv-tslider__meta div{text-align:left}
.gv-tslider__meta strong{display:block;font-size:.95rem}
.gv-tslider__meta span{color:var(--gv-muted);font-size:.85rem}
.gv-tslider__controls{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem}
.gv-tslider__btn{width:44px;height:44px;border-radius:50%;background:var(--gv-primary);color:#fff;border:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .3s ease,background .3s ease}
.gv-tslider__btn:hover{transform:scale(1.08);background:#004ee0}
.gv-tslider__btn svg{width:18px;height:18px}
.gv-tslider__dots{display:flex;gap:.5rem}
.gv-tslider__dot{width:10px;height:10px;border-radius:50%;background:var(--gv-border);border:0;cursor:pointer;transition:background .3s ease,transform .3s ease;padding:0}
.gv-tslider__dot.is-active{background:var(--gv-primary);transform:scale(1.3)}

/* ---------- Careers ---------- */
.gv-jobs__grid{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:768px){.gv-jobs__grid{grid-template-columns:repeat(2,1fr)}}
.gv-job-card{padding:1.75rem;background:#fff;border:1px solid var(--gv-border);border-radius:var(--gv-radius-lg);display:flex;flex-direction:column;gap:.5rem;transition:transform .3s ease,box-shadow .3s ease}
.gv-job-card:hover{transform:translateY(-4px);box-shadow:var(--gv-shadow-lg)}
.gv-job-card__tag{align-self:flex-start;padding:.25rem .75rem;background:rgba(0,94,255,.08);color:var(--gv-primary);border-radius:9999px;font-size:.75rem;font-weight:600}
.gv-job-card h3{margin:.25rem 0;font-size:1.15rem}
.gv-job-card__meta{color:var(--gv-muted);font-size:.9rem;display:flex;gap:1rem;flex-wrap:wrap}
.gv-job-card__cta{margin-top:.75rem;color:var(--gv-primary);font-weight:600;font-size:.9rem}

/* ---------- Service detail page ---------- */
.gv-service-body{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:1024px){.gv-service-body{grid-template-columns:2fr 1fr}}
.gv-service-body__main h2{font-size:1.5rem;margin-top:2rem;margin-bottom:.75rem}
.gv-service-body__main p,.gv-service-body__main li{color:var(--gv-muted);line-height:1.7}
.gv-service-body__main ul{padding-left:1.25rem;margin-bottom:1rem}
.gv-service-body__main li{list-style:disc;margin-bottom:.4rem}
.gv-service-body__aside{padding:1.75rem;background:var(--gv-surface);border-radius:var(--gv-radius-lg);border:1px solid var(--gv-border);position:sticky;top:100px;align-self:start}
body.gv-dark .gv-service-body__aside{background:#141419}
.gv-service-body__aside h3{font-size:1.1rem;margin-bottom:.75rem}
.gv-service-body__aside ul li{padding:.35rem 0;font-size:.9rem;color:var(--gv-muted)}

/* ---------- Form success/error inline messages ---------- */
.gv-form__status{margin-top:.75rem;padding:.75rem 1rem;border-radius:.5rem;font-size:.9rem;display:none}
.gv-form__status.is-success{display:block;background:rgba(34,197,94,.1);color:#22c55e;border:1px solid rgba(34,197,94,.3)}
.gv-form__status.is-error{display:block;background:rgba(239,68,68,.1);color:#ef4444;border:1px solid rgba(239,68,68,.3)}

/* Position tweaks so FAB + rotator don't overlap */
@media(max-width:640px){
  .gv-whatsapp-fab{bottom:120px}
  .gv-badge-rotator{bottom:16px}
}

/* Header actions layout */
.gv-header__actions{gap:.5rem}
.gv-header__actions .gv-btn{display:inline-flex}
@media(max-width:640px){
  .gv-header__actions .gv-btn{display:none}
}
.gv-dark-toggle{flex-shrink:0}

/* Newsletter form status */
.gv-newsletter{flex-wrap:wrap}
.gv-newsletter .gv-form__status{flex:1 1 100%;text-align:center;font-size:.85rem}

/* Dark mode: fix accordion, text colors */
body.gv-dark .gv-accordion__q,body.gv-dark .gv-single__content,body.gv-dark .gv-post-card h3 a,body.gv-dark .gv-case-card h3,body.gv-dark .gv-service-card h3,body.gv-dark .gv-pricing__card h3,body.gv-dark .gv-tslider__slide blockquote{color:var(--gv-ink)}
body.gv-dark .gv-tslider__logo{color:var(--gv-muted)}
body.gv-dark .gv-pricing__card--featured{background:linear-gradient(180deg,#000,#111)}

/* Elementor page - hide site title when inside Elementor editor */
.elementor-editor-active .gv-badge-rotator{display:none}

/* Ensure card content shows in dark mode */
body.gv-dark .gv-case-card__cat,body.gv-dark .gv-post-card__cat,body.gv-dark .gv-service-card__tags span{background:rgba(0,94,255,.18);color:var(--gv-primary-2)}
body.gv-dark .gv-eyebrow{background:rgba(0,94,255,.18);color:var(--gv-primary-2)}
body.gv-dark .gv-industries__pill{color:var(--gv-ink)}
