/*
Theme Name: PRANA GROUP
Theme URI: https://prana-group.ru
Author: PRANA GROUP
Description: Premium dark theme for PRANA GROUP show agency. Gold accent on dark background.
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: prana
Requires at least: 6.0
Requires PHP: 8.0
*/

/* ============================================
   PRANA GROUP — Premium Show Agency
   Main Stylesheet
   ============================================ */

/* ---------- CSS Custom Properties ---------- */
:root {
  --color-bg:          #09090f;
  --color-surface:     #111119;
  --color-surface-alt: #18182a;
  --color-card:        #13131d;
  --color-form-bg:     #1a1a2e;
  --color-border:      rgba(201, 165, 74, .12);
  --color-border-light:rgba(255,255,255,.06);

  --color-gold:        #c9a54a;
  --color-gold-light:  #e2c36d;
  --color-gold-dark:   #a8872e;
  --color-gold-glow:   rgba(201,165,74,.35);
  --color-gold-hover:  #a8872e;
  --color-gold-hover-light: #c9a54a;
  --color-gold-hover-glow: rgba(168,135,46,.35);

  --color-text:        #eaeaf2;
  --color-text-sec:    #9a9ab0;
  --color-text-muted:  #5e5e74;
  --color-white:       #ffffff;

  --font-heading: 'Cormorant Garant', 'Georgia', serif;
  --font-body:    'Raleway', 'Segoe UI', sans-serif;

  --header-h: 100px;
  --section-py: 100px;
  --transition: .35s cubic-bezier(.4,0,.2,1);
}

/* ---------- Reset & Base ---------- */
*,*::before,*::after{box-sizing:border-box}

html{
  scroll-behavior:smooth;
  -webkit-font-smoothing:antialiased;
}

body{
  margin:0;
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.7;
  color:var(--color-text);
  background:var(--color-bg);
  overflow-x:hidden;
}

img{max-width:100%;height:auto;display:block}

a{
  color:var(--color-gold);
  text-decoration:none;
  transition:color var(--transition);
}
a:hover{color:var(--color-gold-hover)}

h1,h2,h3,h4,h5,h6{
  font-family:var(--font-heading);
  font-weight:600;
  line-height:1.2;
  color:var(--color-white);
  margin-top:0;
}

p{margin-top:0}

ul{list-style:none;padding:0;margin:0}

::selection{
  background:var(--color-gold);
  color:var(--color-bg);
}

/* ---------- Utility ---------- */
.text-gold{color:var(--color-gold)!important}
.text-sec{color:var(--color-text-sec)!important}
.bg-surface{background:var(--color-surface)!important}
.bg-surface-alt{background:var(--color-surface-alt)!important}

.section-padding{
  padding-top:var(--section-py);
  padding-bottom:var(--section-py);
}

.section-title{
  font-size:clamp(2rem,5vw,3.2rem);
  margin-bottom:.3em;
}
.section-subtitle{
  font-size:1.1rem;
  color:var(--color-text-sec);
  max-width:600px;
}

.gold-line{
  width:60px;height:3px;
  background:linear-gradient(90deg,var(--color-gold),var(--color-gold-light));
  border:none;
  margin:1.2rem 0 1.5rem;
  border-radius:2px;
}
.gold-line-center{margin-left:auto;margin-right:auto}

.overflow-hidden{overflow:hidden}

/* ---------- Buttons ---------- */
.btn-gold{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 36px;
  font-family:var(--font-body);
  font-size:.95rem;font-weight:600;
  letter-spacing:.5px;
  text-transform:uppercase;
  color:var(--color-white);
  background:linear-gradient(135deg,var(--color-gold),var(--color-gold-light));
  border:none;border-radius:4px;
  cursor:pointer;
  transition:all var(--transition);
  position:relative;
  overflow:hidden;
  z-index:1;
}
.btn-gold::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,var(--color-gold-hover),var(--color-gold-hover-light));
  opacity:0;transition:opacity var(--transition);
  z-index:-1;
}
.btn-gold:hover{
  color:var(--color-white);
  transform:translateY(-2px);
  box-shadow:0 8px 30px var(--color-gold-hover-glow);
}
.btn-gold:hover::before{opacity:1}

.btn-outline{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 34px;
  font-family:var(--font-body);
  font-size:.95rem;font-weight:600;
  letter-spacing:.5px;
  text-transform:uppercase;
  color:var(--color-gold);
  background:transparent;
  border:2px solid var(--color-gold);
  border-radius:4px;
  cursor:pointer;
  transition:all var(--transition);
}
.btn-outline:hover{
  color:var(--color-white);
  background:var(--color-gold-hover);
  border-color:var(--color-gold-hover);
  transform:translateY(-2px);
  box-shadow:0 8px 30px var(--color-gold-hover-glow);
}

.btn-sm{padding:10px 24px;font-size:.85rem}
.btn-lg{padding:18px 48px;font-size:1.05rem}

/* ---------- Navbar ---------- */
.navbar-prana{
  position:fixed;top:0;left:0;right:0;
  height:var(--header-h);
  z-index:1050;
  transition:all var(--transition);
  background:transparent;
  border-bottom:1px solid transparent;
}
.navbar-prana.scrolled{
  background:rgba(9,9,15,.92);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom-color:var(--color-border);
  box-shadow:0 4px 30px rgba(0,0,0,.4);
}

.navbar-prana .navbar-brand img{
  height:72px;
  filter:brightness(1.1);
  transition:height var(--transition);
}
.navbar-prana.scrolled .navbar-brand img{height:60px}
@media(max-width:991.98px){
  .navbar-prana .navbar-brand img{height:56px}
  .navbar-prana.scrolled .navbar-brand img{height:48px}
}

.navbar-prana .nav-link{
  font-family:var(--font-body);
  font-size:.88rem;
  font-weight:600;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--color-white)!important;
  padding:.5rem 1rem!important;
  position:relative;
  transition:color var(--transition);
}
.navbar-prana .nav-link::after{
  content:'';position:absolute;bottom:0;left:1rem;right:1rem;
  height:2px;background:var(--color-gold);
  transform:scaleX(0);transform-origin:center;
  transition:transform var(--transition);
}
.navbar-prana .nav-link:hover{
  color:var(--color-gold-hover)!important;
}
.navbar-prana .nav-link.active{
  color:var(--color-gold)!important;
}
.navbar-prana .nav-link:hover::after{
  transform:scaleX(1);
  background:var(--color-gold-hover);
}
.navbar-prana .nav-link.active::after{
  transform:scaleX(1);
}

.navbar-prana .navbar-toggler{
  border:none;padding:0;
  color:var(--color-white);
  font-size:1.5rem;
  box-shadow:none!important;
}
.navbar-prana .navbar-toggler:focus{box-shadow:none}

.navbar-prana .btn-gold{
  padding:10px 24px;font-size:.82rem;
}

/* Mobile offcanvas */
.offcanvas-prana{
  background:var(--color-bg)!important;
  border-left:1px solid var(--color-border)!important;
  max-width:300px;
}
.offcanvas-prana .nav-link{
  font-size:1rem!important;
  padding:.8rem 0!important;
  border-bottom:1px solid var(--color-border-light);
  color:var(--color-white)!important;
}
.offcanvas-prana .nav-link:hover,
.offcanvas-prana .nav-link.active{
  color:var(--color-gold)!important;
}
.offcanvas-prana .nav-link::after{display:none}
.offcanvas-prana .offcanvas-header{
  justify-content:flex-end;
}
.offcanvas-prana .btn-close{
  filter:invert(1);
  opacity:1;
}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  text-align:center;
  overflow:hidden;
}
.hero-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  background-repeat:no-repeat;
  z-index:0;
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,
    rgba(0,0,0,.05) 0%,
    rgba(0,0,0,.25) 50%,
    rgba(0,0,0,.45) 100%
  );
  z-index:1;
}
.hero-content{
  position:relative;z-index:2;
  max-width:850px;
  padding:0 1.5rem;
}
.hero-label{
  display:inline-block;
  font-size:.82rem;font-weight:700;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--color-gold);
  margin-bottom:1.2rem;
  padding:6px 18px;
  border:1px solid var(--color-gold);
  border-radius:2px;
}
.hero h1{
  font-size:clamp(2.4rem,6vw,4.5rem);
  font-weight:700;
  margin-bottom:.5em;
  line-height:1.1;
}
.hero h1 span{
  color:var(--color-gold);
}
.hero-desc{
  font-size:clamp(1rem,2vw,1.25rem);
  color:var(--color-text-sec);
  margin-bottom:2rem;
  max-width:650px;
  margin-left:auto;margin-right:auto;
}
.hero-buttons{
  display:flex;gap:16px;
  justify-content:center;
  flex-wrap:wrap;
}
.hero-scroll{
  position:absolute;bottom:40px;left:50%;
  transform:translateX(-50%);
  z-index:2;
  color:var(--color-text-sec);
  font-size:.8rem;text-align:center;
  animation:float 2s ease-in-out infinite;
}
.hero-scroll i{display:block;font-size:1.4rem;margin-top:4px}

@keyframes float{
  0%,100%{transform:translateX(-50%) translateY(0)}
  50%{transform:translateX(-50%) translateY(8px)}
}

/* Hero video */
.hero-video{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  z-index:0;
}

/* Page hero (inner pages) */
.page-hero{
  position:relative;
  padding:160px 0 80px;
  text-align:center;
  overflow:hidden;
}
.page-hero .hero-bg{
  filter:blur(2px) brightness(.4);
}
.page-hero .hero-overlay{
  background:linear-gradient(180deg,
    rgba(9,9,15,.7) 0%,
    rgba(9,9,15,.95) 100%
  );
}
.page-hero-content{
  position:relative;z-index:2;
}
.page-hero h1{
  font-size:clamp(2rem,5vw,3.5rem);
  margin-bottom:.3em;
}
.page-hero .breadcrumb{
  justify-content:center;
  font-size:.88rem;
}
.page-hero .breadcrumb-item a{color:var(--color-gold)}
.page-hero .breadcrumb-item.active{color:var(--color-text-sec)}
.page-hero .breadcrumb-item+.breadcrumb-item::before{
  color:var(--color-text-muted);
}

/* ---------- Trust Bar / Stats ---------- */
.stats-bar{
  background:var(--color-surface);
  border-top:1px solid var(--color-border);
  border-bottom:1px solid var(--color-border);
  padding:40px 0;
}
.stat-item{
  text-align:center;
  padding:16px;
}
.stat-number{
  font-family:var(--font-heading);
  font-size:clamp(2.2rem,4vw,3rem);
  font-weight:700;
  color:var(--color-gold);
  line-height:1;
  margin-bottom:6px;
}
.stat-label{
  font-size:.88rem;
  color:var(--color-text-sec);
  text-transform:uppercase;
  letter-spacing:1px;
}

/* ---------- Cards: Project ---------- */
.project-card{
  position:relative;
  border-radius:8px;
  overflow:hidden;
  background:var(--color-card);
  border:1px solid var(--color-border-light);
  transition:all var(--transition);
  height:100%;
}
.project-card:hover{
  transform:translateY(-6px);
  border-color:var(--color-border);
  box-shadow:0 20px 50px rgba(0,0,0,.5),
             0 0 30px var(--color-gold-glow);
}
.project-card-img{
  position:relative;
  padding-top:66%;
  overflow:hidden;
}
.project-card-img img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .6s ease;
}
.project-card:hover .project-card-img img{
  transform:scale(1.08);
}
.project-card-img .badge-new{
  position:absolute;top:14px;right:14px;
  background:var(--color-gold);color:var(--color-bg);
  font-size:.7rem;font-weight:700;
  letter-spacing:1px;text-transform:uppercase;
  padding:4px 12px;border-radius:2px;
  z-index:2;
}
.project-card-body{
  padding:20px 22px 24px;
}
.project-card-body h3{
  font-family:var(--font-body);
  font-size:1.05rem;
  font-weight:700;
  margin-bottom:6px;
  transition:color var(--transition);
}
.project-card:hover .project-card-body h3{
  color:var(--color-gold-hover);
}
.project-card-body p{
  font-size:.88rem;
  color:var(--color-text-sec);
  margin-bottom:0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.project-card-link{
  position:absolute;inset:0;z-index:3;
}

/* ---------- Cards: Team ---------- */
.team-card{
  text-align:center;
  transition:all var(--transition);
}
.team-card:hover{transform:translateY(-4px)}

.team-card-photo{
  position:relative;
  width:200px;height:200px;
  margin:0 auto 20px;
  border-radius:50%;
  overflow:hidden;
  border:3px solid var(--color-border);
  transition:border-color var(--transition);
}
.team-card:hover .team-card-photo{
  border-color:var(--color-gold-hover);
  box-shadow:0 0 30px var(--color-gold-hover-glow);
}
.team-card-photo img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}
.team-card:hover .team-card-photo img{
  transform:scale(1.06);
}
.team-card h4{
  font-family:var(--font-body);
  font-size:1rem;font-weight:700;
  margin-bottom:4px;
}
.team-card p{
  font-size:.85rem;
  color:var(--color-text-sec);
}

/* ---------- Cards: News ---------- */
.news-card{
  position:relative;
  background:var(--color-card);
  border:1px solid var(--color-border-light);
  border-radius:8px;
  overflow:hidden;
  height:100%;
  transition:all var(--transition);
}
.news-card-link{
  position:absolute;inset:0;z-index:3;
}
.news-card:hover{
  transform:translateY(-4px);
  border-color:var(--color-border);
  box-shadow:0 12px 40px rgba(0,0,0,.4);
}
.news-card-img{
  position:relative;
  padding-top:56%;
  overflow:hidden;
}
.news-card-img img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}
.news-card:hover .news-card-img img{
  transform:scale(1.05);
}
.news-card-body{padding:22px}
.news-card-date{
  font-size:.78rem;
  color:var(--color-gold);
  text-transform:uppercase;
  letter-spacing:1px;
  margin-bottom:8px;
}
.news-card-body h3{
  font-family:var(--font-body);
  font-size:1rem;font-weight:700;
  margin-bottom:8px;
  transition:color var(--transition);
}
.news-card:hover .news-card-body h3{
  color:var(--color-gold-hover);
}
.news-card-body p{
  font-size:.88rem;
  color:var(--color-text-sec);
  margin-bottom:0;
}
.news-card-link{
  position:absolute;inset:0;z-index:3;
}

/* ---------- Why Us / Features ---------- */
.feature-item{
  text-align:center;
  padding:30px 20px;
}
.feature-icon{
  width:72px;height:72px;
  margin:0 auto 18px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:linear-gradient(135deg,rgba(201,165,74,.15),rgba(201,165,74,.05));
  border:1px solid var(--color-border);
  color:var(--color-gold);
  font-size:1.6rem;
  transition:all var(--transition);
}
.feature-item:hover .feature-icon{
  background:var(--color-gold-hover);
  color:var(--color-bg);
  box-shadow:0 0 30px var(--color-gold-hover-glow);
}
.feature-item h4{
  font-family:var(--font-body);
  font-size:1rem;font-weight:700;
  margin-bottom:8px;
}
.feature-item p{
  font-size:.88rem;
  color:var(--color-text-sec);
}

/* ---------- How We Work (Steps) ---------- */
.step-item{
  text-align:center;
  position:relative;
  padding:0 20px;
}
.step-number{
  font-family:var(--font-heading);
  font-size:3.5rem;font-weight:700;
  color:var(--color-gold);
  opacity:.3;
  line-height:1;
  margin-bottom:12px;
}
.step-item h4{
  font-family:var(--font-body);
  font-size:1.05rem;font-weight:700;
  margin-bottom:8px;
}
.step-item p{
  font-size:.88rem;
  color:var(--color-text-sec);
}

/* Connector line between steps */
@media(min-width:768px){
  .steps-row .col-md-4:not(:last-child) .step-item::after,
  .steps-row .col-md-3:not(:last-child) .step-item::after{
    content:'';
    position:absolute;top:30px;right:-10%;
    width:20%;height:1px;
    background:linear-gradient(90deg,var(--color-gold),transparent);
  }
}

/* ---------- Gallery Grid ---------- */
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:12px;
}
.gallery-item{
  border-radius:6px;
  overflow:hidden;
  position:relative;
  cursor:pointer;
}
.gallery-item img{
  width:100%;height:250px;
  object-fit:cover;
  transition:transform .5s ease;
}
.gallery-item:hover img{
  transform:scale(1.06);
}
.gallery-item::after{
  content:'';
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.4) 100%);
  opacity:0;
  transition:opacity var(--transition);
  pointer-events:none; /* не перехватывать клик по ссылке Fancybox */
}
.gallery-item:hover::after{opacity:1}
.gallery-item a{position:relative;z-index:2}

/* ---------- Contact Form ---------- */
.contact-form .form-control,
.contact-form .form-select{
  background:var(--color-surface);
  border:1px solid rgba(255,255,255,.14);
  color:var(--color-text);
  padding:14px 18px;
  font-size:.95rem;
  border-radius:4px;
  transition:border-color var(--transition),box-shadow var(--transition);
}
.contact-form .form-control:focus,
.contact-form .form-select:focus{
  border-color:var(--color-gold);
  box-shadow:0 0 0 3px var(--color-gold-glow);
  background:var(--color-surface);
  color:var(--color-text);
}
.contact-form .form-control::placeholder{
  color:var(--color-text-muted);
}
.contact-form .form-label{
  font-size:.85rem;
  font-weight:600;
  color:var(--color-text-sec);
  margin-bottom:6px;
  text-transform:uppercase;
  letter-spacing:.5px;
}
.contact-form textarea.form-control{
  min-height:130px;
  resize:vertical;
}

.contact-form .form-check {
  padding-left: 0;
}

/* Select dropdown gold arrow */
.contact-form .form-select,
.contact-form select,
.wpcf7 select{
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23c9a54a' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 16px center;
  background-size:12px;
  padding-right:40px!important;
}

/* Date input gold calendar icon */
.contact-form input[type="date"]::-webkit-calendar-picker-indicator,
.wpcf7 input[type="date"]::-webkit-calendar-picker-indicator{
  filter:invert(72%) sepia(50%) saturate(500%) hue-rotate(5deg) brightness(95%);
  cursor:pointer;
}

.contact-form .form-check-input{
  background-color:var(--color-surface);
  border-color:rgba(255,255,255,.15);
}

/* Form container lighter background */
.sidebar-card:has(.contact-form){
  background:var(--color-form-bg);
}

/* ---------- CTA Section ---------- */
.cta-section{
  position:relative;
  padding:80px 0;
  text-align:center;
  overflow:hidden;
}
.cta-section .hero-bg{
  filter:blur(3px) brightness(.35);
}
.cta-section .hero-overlay{
  background:linear-gradient(180deg,
    rgba(9,9,15,.8) 0%,
    rgba(9,9,15,.85) 100%
  );
}
.cta-content{
  position:relative;z-index:2;
}
.cta-section h2{
  font-size:clamp(1.8rem,4vw,2.8rem);
  margin-bottom:.5em;
}
.cta-section p{
  font-size:1.1rem;
  color:var(--color-text-sec);
  max-width:550px;margin:0 auto 2rem;
}

/* ---------- Footer ---------- */
.footer{
  background:var(--color-surface);
  border-top:1px solid var(--color-border);
  padding:60px 0 0;
}
.footer-logo img{
  height:45px;
  margin-bottom:16px;
  filter:brightness(1.1);
}
.footer-desc{
  font-size:.88rem;
  color:var(--color-text-sec);
  max-width:300px;
}
.footer h5{
  font-family:var(--font-body);
  font-size:.88rem;font-weight:700;
  text-transform:uppercase;
  letter-spacing:1px;
  color:var(--color-white);
  margin-bottom:18px;
}
.footer-links li{margin-bottom:10px}
.footer-links a{
  font-size:.88rem;
  color:var(--color-text-sec);
  transition:color var(--transition);
}
.footer-links a:hover{color:var(--color-gold-hover)}

.footer-contact li{
  font-size:.88rem;
  color:var(--color-text-sec);
  margin-bottom:10px;
  display:flex;align-items:flex-start;gap:10px;
}
.footer-contact li i{
  color:var(--color-gold);
  margin-top:4px;
  flex-shrink:0;
}

.footer-social{
  display:flex;gap:12px;
  margin-top:16px;
}
.footer-social a{
  width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  border:1px solid var(--color-border);
  color:var(--color-text-sec);
  font-size:1rem;
  transition:all var(--transition);
}
.footer-social a:hover{
  border-color:var(--color-gold-hover);
  color:var(--color-gold-hover);
  background:rgba(201,165,74,.1);
}

.footer-bottom{
  margin-top:40px;
  padding:20px 0;
  border-top:1px solid var(--color-border-light);
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:10px;
}
.footer-bottom p{
  font-size:.8rem;color:var(--color-text-muted);
  margin:0;
}
.footer-bottom a{
  color:var(--color-text-muted);
  font-size:.8rem;
}
.footer-bottom a:hover{color:var(--color-gold-hover)}

/* ---------- Sticky Mobile CTA ---------- */
.mobile-cta{
  display:none;
  position:fixed;bottom:0;left:0;right:0;
  z-index:1040;
  background:rgba(9,9,15,.95);
  backdrop-filter:blur(10px);
  border-top:1px solid var(--color-border);
  padding:10px 16px;
  gap:10px;
}
.mobile-cta a{
  flex:1;
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:12px;border-radius:4px;
  font-size:.85rem;font-weight:700;
  text-align:center;
}
.mobile-cta .cta-phone{
  background:transparent;
  border:1px solid var(--color-gold);
  color:var(--color-gold);
}
.mobile-cta .cta-order{
  background:var(--color-gold);
  color:var(--color-white);
}

@media(max-width:991.98px){
  .mobile-cta{display:flex;  padding-bottom: 32px;}
  body{padding-bottom:70px}
}

/* ---------- About Timeline ---------- */
.timeline{
  position:relative;
  padding:20px 0;
}
.timeline::before{
  content:'';
  position:absolute;left:50%;top:0;bottom:0;
  width:2px;
  background:var(--color-border);
  transform:translateX(-50%);
}
.timeline-item{
  position:relative;
  padding:20px 0;
}
.timeline-dot{
  position:absolute;left:50%;top:30px;
  width:16px;height:16px;
  border-radius:50%;
  background:var(--color-gold);
  border:3px solid var(--color-bg);
  transform:translateX(-50%);
  z-index:2;
}
.timeline-content{
  background:var(--color-card);
  border:1px solid var(--color-border-light);
  border-radius:8px;
  padding:24px;
  width:45%;
  transition:all var(--transition);
}
.timeline-content:hover{
  border-color:var(--color-border);
}
.timeline-item:nth-child(odd) .timeline-content{margin-right:auto}
.timeline-item:nth-child(even) .timeline-content{margin-left:auto}

.timeline-year{
  font-family:var(--font-heading);
  font-size:1.5rem;font-weight:700;
  color:var(--color-gold);
  margin-bottom:6px;
}

@media(max-width:767.98px){
  .timeline::before{left:20px}
  .timeline-dot{left:20px}
  .timeline-content{width:calc(100% - 50px);margin-left:50px!important}
}

/* ---------- Project Detail ---------- */
.project-detail-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:16px;
}
.project-detail-gallery img{
  width:100%;height:280px;
  object-fit:cover;
  border-radius:8px;
  border:1px solid var(--color-border-light);
  transition:all var(--transition);
}
.project-detail-gallery img:hover{
  border-color:var(--color-border);
  box-shadow:0 8px 30px rgba(0,0,0,.5);
}

.program-badge{
  display:inline-block;
  padding:8px 20px;
  background:var(--color-surface);
  border:1px solid var(--color-border);
  border-radius:4px;
  font-size:.88rem;
  color:var(--color-text);
  transition:all var(--transition);
}
.program-badge:hover{
  border-color:var(--color-gold);
  color:var(--color-gold);
}
a.program-badge{text-decoration:none}

.tech-list li{
  padding:10px 0;
  border-bottom:1px solid var(--color-border-light);
  font-size:.92rem;
  color:var(--color-text-sec);
  display:flex;align-items:center;gap:12px;
}
.tech-list li i{
  color:var(--color-gold);
  font-size:.8rem;
}

/* ---------- FAQ Accordion ---------- */
.faq-item{
  background:var(--color-card);
  border:1px solid var(--color-border-light);
  border-radius:8px;
  margin-bottom:12px;
  overflow:hidden;
  transition:border-color var(--transition);
}
.faq-item:hover{
  border-color:var(--color-border);
}
.faq-question{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:100%;
  padding:20px 24px;
  background:none;
  border:none;
  cursor:pointer;
  text-align:left;
  font-family:var(--font-body);
  font-size:.95rem;
  font-weight:700;
  color:var(--color-white);
  transition:color var(--transition);
}
.faq-question:hover{
  color:var(--color-gold-hover);
}
.faq-question i{
  color:var(--color-gold);
  font-size:.9rem;
  transition:transform var(--transition);
  flex-shrink:0;
}
.faq-item.active .faq-question i{
  transform:rotate(180deg);
}
.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .4s ease, padding .4s ease;
}
.faq-item.active .faq-answer{
  max-height:300px;
}
.faq-answer-inner{
  padding:0 24px 20px;
  font-size:.9rem;
  line-height:1.7;
  color:var(--color-text-sec);
}

/* ---------- Rental / Equipment Cards ---------- */
.rental-card{
  background:var(--color-card);
  border:1px solid var(--color-border-light);
  border-radius:8px;
  overflow:hidden;
  height:100%;
  transition:all var(--transition);
}
.rental-card:hover{
  transform:translateY(-4px);
  border-color:var(--color-border);
  box-shadow:0 12px 40px rgba(0,0,0,.4);
}
.rental-card-img{
  position:relative;
  padding-top:70%;
  overflow:hidden;
}
.rental-card-img img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}
.rental-card:hover .rental-card-img img{
  transform:scale(1.05);
}
.rental-card-body{
  padding:22px;
}
.rental-card-body h4{
  font-family:var(--font-body);
  font-size:1rem;font-weight:700;
  margin-bottom:8px;
}
.rental-card-body p{
  font-size:.85rem;
  color:var(--color-text-sec);
  margin-bottom:0;
}
.rental-price{
  display:inline-block;
  font-size:1.05rem;
  font-weight:700;
  color:var(--color-gold);
  margin-top:10px;
}
.rental-specs{
  font-size:.78rem;
  color:var(--color-text-muted);
  margin-top:8px;
}

/* ---------- Contact Info Cards ---------- */
.contact-info-card{
  background:var(--color-card);
  border:1px solid var(--color-border-light);
  border-radius:8px;
  padding:32px;
  height:100%;
  transition:all var(--transition);
}
.contact-info-card:hover{
  border-color:var(--color-border);
}
.contact-info-card h3{
  font-family:var(--font-body);
  font-size:1.1rem;font-weight:700;
  margin-bottom:20px;
  display:flex;align-items:center;gap:10px;
}
.contact-info-card h3 i{color:var(--color-gold)}

.contact-person{
  display:flex;align-items:center;gap:14px;
  padding:12px 0;
  border-bottom:1px solid var(--color-border-light);
}
.contact-person:last-child{border-bottom:none}
.contact-person-info{
  font-size:.9rem;
}
.contact-person-info strong{
  color:var(--color-white);
  display:block;
}
.contact-person-info span{
  color:var(--color-text-sec);
  font-size:.82rem;
}
.contact-person-info a{
  color:var(--color-gold);
  font-weight:600;
}

/* ---------- Map Placeholder ---------- */
.map-placeholder{
  background:var(--color-card);
  border:1px solid var(--color-border-light);
  border-radius:8px;
  height:400px;
  display:flex;align-items:center;justify-content:center;
  color:var(--color-text-muted);
  font-size:.9rem;
}

/* ---------- Pagination ---------- */
/* Bootstrap pagination (static demo) */
.pagination-prana .page-link{
  background:var(--color-surface);
  border:1px solid var(--color-border-light);
  color:var(--color-text-sec);
  padding:10px 16px;
  font-size:.88rem;
  transition:all var(--transition);
}
.pagination-prana .page-link:hover{
  background:var(--color-gold-hover);
  border-color:var(--color-gold-hover);
  color:var(--color-bg);
}
.pagination-prana .page-item.active .page-link{
  background:var(--color-gold);
  border-color:var(--color-gold);
  color:var(--color-bg);
}

/* WordPress the_posts_pagination() */
.prana-pagination{
  margin-top:3rem;
}
.prana-pagination .nav-links,
.prana-pagination .navigation .nav-links{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:6px;
  flex-wrap:wrap;
}
.prana-pagination .page-numbers{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:44px;
  padding:8px 14px;
  background:var(--color-surface);
  border:1px solid var(--color-border-light);
  border-radius:6px;
  color:var(--color-text-sec);
  font-size:.88rem;
  font-weight:600;
  text-decoration:none;
  transition:all var(--transition);
}
.prana-pagination a.page-numbers:hover{
  background:var(--color-gold-hover);
  border-color:var(--color-gold-hover);
  color:var(--color-bg);
}
.prana-pagination .page-numbers.current{
  background:var(--color-gold);
  border-color:var(--color-gold);
  color:var(--color-bg);
}
.prana-pagination .page-numbers.dots{
  border:none;
  background:none;
  color:var(--color-text-muted);
  min-width:auto;
  padding:8px 4px;
}
.prana-pagination .screen-reader-text{
  display:none;
}

/* ---------- Animations ---------- */
.fade-up{
  opacity:0;
  transform:translateY(30px);
  transition:opacity .7s ease,transform .7s ease;
}
.fade-up.visible{
  opacity:1;
  transform:translateY(0);
}

/* ---------- Responsive ---------- */
@media(max-width:1199.98px){
  :root{--section-py:80px}
}

@media(max-width:991.98px){
  :root{--section-py:60px;--header-h:70px}
  .hero h1{font-size:clamp(2rem,5vw,3rem)}
  .team-card-photo{width:160px;height:160px}
}

@media(max-width:767.98px){
  :root{--section-py:50px;--header-h:64px}
  .hero{min-height:90vh}
  .section-title{margin-bottom:.5em}
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .gallery-item img{height:180px}
  .project-detail-gallery{grid-template-columns:repeat(2,1fr)}
  .project-detail-gallery img{height:200px}
  .footer-bottom{justify-content:center;text-align:center}
}

@media(max-width:575.98px){
  .hero-buttons{flex-direction:column;align-items:center}
  .btn-gold,.btn-outline{width:100%;justify-content:center}
  .gallery-grid{grid-template-columns:1fr}
  .gallery-item img{height:220px}
  .project-detail-gallery{grid-template-columns:1fr}
  .project-detail-gallery img{height:250px}
  .stat-item{padding:10px}
  .stat-number{font-size:2rem}
}

/* ---------- Article / Blog ---------- */
.article-content{
  max-width:800px;
}
.article-meta{
  display:flex;flex-wrap:wrap;gap:16px;
  margin-bottom:24px;
}
.article-date,.article-tag{
  font-size:.82rem;
  color:var(--color-text-sec);
  display:flex;align-items:center;gap:6px;
}
.article-date i,.article-tag i{color:var(--color-gold)}
.article-content h2{
  font-size:clamp(1.6rem,4vw,2.4rem);
  margin-bottom:.6em;
}
.article-lead{
  font-size:1.1rem;
  line-height:1.85;
  color:var(--color-text);
  margin-bottom:1.5rem;
}
.article-content p{
  font-size:1rem;
  line-height:1.85;
  color:var(--color-text-sec);
  margin-bottom:1.2rem;
}
.article-content h3{
  font-family:var(--font-body);
  font-size:1.25rem;font-weight:700;
  margin-top:2rem;margin-bottom:.8rem;
}
.article-content h4{
  font-family:var(--font-body);
  font-size:1.1rem;font-weight:700;
  margin-top:1.5rem;margin-bottom:.6rem;
}
.article-content ul,.article-content ol{
  padding-left:1.5rem;
  margin-bottom:1.2rem;
}
.article-content li{
  font-size:.95rem;
  color:var(--color-text-sec);
  margin-bottom:.5rem;
  line-height:1.7;
}
.article-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
  gap:12px;
  margin:2rem 0;
}
.article-gallery img{
  width:100%;height:220px;
  object-fit:cover;
  border-radius:8px;
  border:1px solid var(--color-border-light);
}
.article-share{
  display:flex;align-items:center;gap:12px;
  padding-top:24px;margin-top:32px;
  border-top:1px solid var(--color-border-light);
}
.article-share span{
  font-size:.85rem;color:var(--color-text-sec);font-weight:600;
}
.article-share a{
  width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  border:1px solid var(--color-border);
  color:var(--color-text-sec);
  font-size:.9rem;
  transition:all var(--transition);
}
.article-share a:hover{
  border-color:var(--color-gold-hover);
  color:var(--color-gold-hover);
}

/* Sidebar */
.sidebar-sticky{
  position:sticky;top:100px;
  display:flex;flex-direction:column;gap:24px;
}
.sidebar-card{
  background:var(--color-card);
  border:1px solid var(--color-border-light);
  border-radius:12px;
  padding:28px;
}
.sidebar-news-item{
  display:flex;align-items:center;gap:14px;
  padding:12px 0;
  border-bottom:1px solid var(--color-border-light);
}
.sidebar-news-item:last-child{border-bottom:none}
.sidebar-news-item img{
  width:60px;height:60px;
  object-fit:cover;
  border-radius:6px;
  flex-shrink:0;
}
.sidebar-news-item a:hover{color:var(--color-gold-hover)!important}

/* Blog cards */
.blog-card{
  position:relative;
  background:var(--color-card);
  border:1px solid var(--color-border-light);
  border-radius:8px;
  overflow:hidden;
  height:100%;
  transition:all var(--transition);
}
.blog-card:hover{
  transform:translateY(-4px);
  border-color:var(--color-border);
  box-shadow:0 12px 40px rgba(0,0,0,.4);
}
.blog-card-img{
  position:relative;
  padding-top:56%;
  overflow:hidden;
}
.blog-card-img img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}
.blog-card:hover .blog-card-img img{
  transform:scale(1.05);
}
.blog-card-body{padding:22px}
.blog-card-tag{
  font-size:.72rem;
  color:var(--color-gold);
  text-transform:uppercase;
  letter-spacing:1px;
  margin-bottom:8px;
}
.blog-card-body h3{
  font-family:var(--font-body);
  font-size:1rem;font-weight:700;
  margin-bottom:8px;
  transition:color var(--transition);
}
.blog-card:hover .blog-card-body h3{
  color:var(--color-gold-hover);
}
.blog-card-body p{
  font-size:.88rem;
  color:var(--color-text-sec);
  margin-bottom:0;
}
.blog-card-link{
  position:absolute;inset:0;z-index:3;
}

/* Project video */
.project-video-wrap{
  position:relative;
  border-radius:12px;
  overflow:hidden;
  border:1px solid var(--color-border-light);
  margin-bottom:24px;
}
.project-video-wrap video{
  width:100%;display:block;
}

@media(max-width:767.98px){
  .article-gallery{grid-template-columns:1fr}
  .article-gallery img{height:200px}
}

/* ---------- Scrollbar ---------- */
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:var(--color-bg)}
::-webkit-scrollbar-thumb{
  background:var(--color-surface-alt);
  border-radius:4px;
}
::-webkit-scrollbar-thumb:hover{
  background:var(--color-gold-dark);
}

/* ---------- Project Filter ---------- */
.filter-bar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  margin-bottom:3rem;
}
.filter-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:10px 24px;
  font-family:var(--font-body);
  font-size:.85rem;
  font-weight:600;
  letter-spacing:.5px;
  text-transform:uppercase;
  color:var(--color-text-sec);
  background:var(--color-surface);
  border:1px solid var(--color-border-light);
  border-radius:4px;
  cursor:pointer;
  transition:all var(--transition);
}
.filter-btn:hover{
  color:var(--color-gold);
  border-color:var(--color-border);
}
.filter-btn.active{
  color:var(--color-bg);
  background:linear-gradient(135deg,var(--color-gold),var(--color-gold-light));
  border-color:var(--color-gold);
}
.project-col{
  transition:opacity .4s ease,transform .4s ease;
}
.project-col.hidden{
  display:none;
}
.projects-count{
  font-size:.92rem;
  color:var(--color-text-sec);
  text-align:center;
  margin-bottom:2rem;
}
.projects-count span{
  color:var(--color-gold);
  font-weight:700;
}

/* ---------- Fancybox Overrides ---------- */
.fancybox__container{
  --fancybox-bg:rgba(9,9,15,.95);
}
.fancybox__nav .f-button,
.fancybox__toolbar .f-button{
  color:#fff !important;
  background:rgba(201,165,74,.2);
  border:1px solid rgba(201,165,74,.4);
  width:44px;height:44px;
  border-radius:50%;
  display:flex !important;
  align-items:center;
  justify-content:center;
  opacity:1 !important;
  visibility:visible !important;
}
.fancybox__nav .f-button:hover,
.fancybox__toolbar .f-button:hover{
  background:var(--color-gold);
  color:#fff !important;
}
.fancybox__nav{opacity:1 !important}
.fancybox__toolbar{opacity:1 !important}
.f-button svg{width:20px;height:20px}
.gallery-item a,
.project-detail-gallery a{
  display:block;width:100%;height:100%;
}
