/*
Theme Name: Ganchev Stroi
Theme URI: https://ganchevstroi.com
Description: Custom WordPress theme for Ganchev Stroi
Author: Ganchev Stroi
Version: 1.1.1
*/

:root{
	--gs-bg:#07121b;--gs-bg-deep:#050c13;--gs-panel:#111e29;--gs-panel-2:#172633;
	--gs-orange:#f79300;--gs-orange-bright:#ff9f08;--gs-white:#fff;--gs-text:#f2f4f6;
	--gs-muted:#aab6c0;--gs-border:rgba(255,255,255,.11);--gs-container:1420px;
	--gs-radius:14px;--gs-header-height:96px;
}
html{margin:0;padding:0;scroll-behavior:smooth}
body{margin:0;padding:0;background:var(--gs-bg);color:var(--gs-text);font-family:'Inter',Arial,Helvetica,sans-serif;line-height:1.5;overflow-x:hidden}
*,*::before,*::after{box-sizing:border-box}
img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}button{cursor:pointer}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3,h4{font-family:'Oswald',Arial,sans-serif}
section{position:relative}
:focus-visible{outline:2px solid var(--gs-orange);outline-offset:4px}

.gs-site{width:100%;min-height:100vh;background:var(--gs-bg)}
.gs-container{width:min(calc(100% - 60px),var(--gs-container));margin-inline:auto}
.gs-hero .gs-container{width:min(calc(100% - 52px),1560px)}

/* Header */
.gs-header{position:absolute;top:0;left:0;right:0;z-index:100;height:var(--gs-header-height);background:linear-gradient(180deg,rgba(4,9,14,.34) 0%,rgba(4,9,14,.08) 100%);border-bottom:1px solid rgba(255,255,255,.04);backdrop-filter:blur(5px)}
.gs-header-inner{height:100%;display:flex;align-items:center}
.gs-brand{display:inline-flex;align-items:center;flex-shrink:0}
.gs-brand-logo{width:300px;height:auto;max-height:74px;object-fit:contain}
.gs-nav{display:flex;align-items:center;gap:46px;margin-left:auto;margin-right:42px}
.gs-nav a{position:relative;display:flex;align-items:center;height:var(--gs-header-height);color:rgba(255,255,255,.92);font-size:17px;font-weight:800}
.gs-nav a::after{content:"";position:absolute;left:50%;bottom:17px;width:42px;height:3px;border-radius:2px;background:var(--gs-orange);transform:translateX(-50%) scaleX(0);transition:transform .2s ease}
.gs-nav a:hover,.gs-nav a.is-active{color:var(--gs-orange)}
.gs-nav a:hover::after,.gs-nav a.is-active::after{transform:translateX(-50%) scaleX(1)}
.gs-header-contact{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 28px;border:1px solid var(--gs-orange);border-radius:9px;color:#fff;font-size:16px;font-weight:900;background:rgba(0,0,0,.10)}
.gs-header-contact-icon{margin-right:9px;color:var(--gs-orange);font-size:17px}
.gs-mobile-toggle{display:none}

/* Hero */
.gs-hero{position:relative;min-height:1085px;overflow:hidden;background:#09141e;padding-bottom:28px}
.gs-hero-background{position:absolute;inset:0;z-index:0;background-repeat:no-repeat;background-size:cover;background-position:center center;transform:scale(1.002)}
.gs-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(3,9,15,.82) 0%,rgba(3,9,15,.55) 29%,rgba(3,9,15,.20) 52%,rgba(3,9,15,.05) 100%)}
.gs-hero-bottom-fade{position:absolute;left:0;right:0;bottom:0;height:55%;z-index:2;background:linear-gradient(180deg,rgba(5,12,19,0) 0%,rgba(5,12,19,.12) 28%,rgba(5,12,19,.86) 77%,#07121b 100%);pointer-events:none}
.gs-hero-content{position:relative;z-index:5;display:flex;align-items:flex-start;padding-top:183px}
.gs-hero-copy{width:690px;max-width:100%}
.gs-kicker{margin-bottom:18px;color:var(--gs-orange);font-size:12px;font-weight:900;line-height:1.2;letter-spacing:.24em;text-transform:uppercase}
.gs-hero h1{margin:0;color:#fff;font-size:clamp(70px,6vw,104px);line-height:.88;font-weight:900;letter-spacing:-.055em;text-transform:uppercase;text-shadow:0 10px 30px rgba(0,0,0,.16)}
.gs-hero h1 span{color:var(--gs-orange)}
.gs-hero-description{width:600px;max-width:100%;margin:28px 0 0;color:rgba(255,255,255,.94);font-size:19px;line-height:1.5;text-shadow:0 3px 18px rgba(0,0,0,.3)}
.gs-hero-actions{display:flex;align-items:center;gap:14px;margin-top:31px}
.gs-button{min-height:56px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 28px;border-radius:8px;font-size:15px;font-weight:900;transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}
.gs-button:hover{transform:translateY(-2px)}
.gs-button-primary{background:var(--gs-orange);color:#111820;box-shadow:0 10px 25px rgba(247,147,0,.17)}
.gs-button-primary:hover{background:var(--gs-orange-bright)}
.gs-button-secondary{border:1px solid rgba(255,255,255,.36);background:rgba(7,15,22,.20);color:#fff;backdrop-filter:blur(3px)}
.gs-button-secondary:hover{border-color:var(--gs-orange);background:rgba(7,15,22,.38)}
.gs-button-icon{font-size:18px;line-height:1;color:currentColor}

/* Benefits */
.gs-benefits{position:absolute;left:0;right:0;bottom:410px;z-index:10;background:rgba(4,10,16,.84);border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.05);backdrop-filter:blur(7px)}
.gs-benefits-grid{min-height:106px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.gs-benefit{display:flex;align-items:center;gap:14px;padding:15px 34px;border-right:1px solid rgba(255,255,255,.09)}
.gs-benefit:last-child{border-right:0}
.gs-benefit-icon{width:46px;height:46px;flex:0 0 46px;display:flex;align-items:center;justify-content:center;border:2px solid var(--gs-orange);border-radius:50%;color:var(--gs-orange);font-size:18px;font-weight:900}
.gs-benefit-copy strong{display:block;color:#fff;font-size:15px;font-weight:900}
.gs-benefit-copy span{display:block;margin-top:4px;color:rgba(255,255,255,.58);font-size:11px}

/* Integrated services */
.gs-hero-services{position:absolute;left:0;right:0;bottom:34px;z-index:12}
.gs-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.gs-service-card{position:relative;min-height:332px;overflow:hidden;padding:24px 22px 30px;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:linear-gradient(145deg,#182733 0%,#13212c 58%,#0f1a23 100%);box-shadow:0 9px 24px rgba(0,0,0,.10)}
.gs-service-card::before{content:"";position:absolute;left:-95px;bottom:-110px;width:400px;height:250px;border:1px solid rgba(247,147,0,.055);border-radius:50%;transform:rotate(-14deg);box-shadow:0 0 0 25px rgba(247,147,0,.022),0 0 0 50px rgba(247,147,0,.014),0 0 0 75px rgba(247,147,0,.008);pointer-events:none}
.gs-service-card::after{content:"";position:absolute;right:-100px;top:-120px;width:280px;height:185px;border:1px solid rgba(255,255,255,.025);border-radius:50%;transform:rotate(26deg);pointer-events:none}
.gs-service-icon{position:relative;z-index:6;width:64px;height:64px;display:flex;align-items:center;justify-content:center;border:1px solid var(--gs-orange);border-radius:10px;color:var(--gs-orange);background:rgba(247,147,0,.015)}
.gs-service-icon svg{width:35px;height:35px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.gs-service-copy{position:relative;z-index:6;max-width:365px;margin-top:20px}
.gs-service-copy h3{margin:0;color:#fff;font-size:26px;line-height:1.08;font-weight:900;letter-spacing:-.02em}
.gs-service-copy p{max-width:345px;margin:11px 0 0;color:rgba(255,255,255,.72);font-size:14px;line-height:1.5}
.gs-service-line-art{position:absolute;left:20px;right:14px;bottom:14px;height:154px;z-index:2;opacity:.25;pointer-events:none}
.gs-service-line-art svg{width:100%;height:100%;fill:none;stroke:var(--gs-orange);stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.gs-service-link{position:absolute;left:22px;bottom:19px;z-index:8;display:inline-flex;align-items:center;gap:7px;color:var(--gs-orange);font-size:13px;font-weight:900}
.gs-service-link-arrow{font-size:19px;line-height:1}
.gs-service-number{position:absolute;right:17px;bottom:5px;z-index:4;color:rgba(247,147,0,.24);font-size:74px;line-height:.88;font-weight:900;letter-spacing:-.06em;user-select:none}

/* Equipment */
.gs-section{position:relative}
.gs-section-heading{max-width:800px;margin-bottom:46px}
.gs-section-heading h2{margin:0;color:#fff;font-size:clamp(42px,4.15vw,64px);line-height:.98;font-weight:900;letter-spacing:-.05em}
.gs-section-heading p{max-width:700px;margin:19px 0 0;color:var(--gs-muted);font-size:17px;line-height:1.55}
.gs-equipment{padding:108px 0 108px;background:#07111a}
.gs-equipment-frame{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:#0d1821}
.gs-equipment-placeholder{position:relative;min-height:510px}
.gs-equipment-placeholder img{width:100%;height:510px;object-fit:cover;object-position:center center;opacity:.68}
.gs-equipment-placeholder::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,10,16,.95) 0%,rgba(4,10,16,.72) 34%,rgba(4,10,16,.24) 63%,rgba(4,10,16,.08) 100%)}
.gs-equipment-placeholder-overlay{position:absolute;left:58px;top:50%;z-index:4;width:min(600px,calc(100% - 116px));transform:translateY(-50%)}
.gs-equipment-placeholder-overlay h3{margin:0;color:#fff;font-size:clamp(40px,4vw,62px);line-height:.98;font-weight:900;letter-spacing:-.05em}
.gs-equipment-placeholder-overlay p{max-width:530px;margin:18px 0 0;color:rgba(255,255,255,.72);font-size:16px;line-height:1.55}

/* Contact */
.gs-contact{padding:96px 0 105px;background:linear-gradient(145deg,#111e28 0%,#08121b 100%)}
.gs-contact-card{min-height:280px;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:46px 54px;border:1px solid rgba(247,147,0,.30);border-radius:15px;background:linear-gradient(135deg,rgba(247,147,0,.055),rgba(255,255,255,.015))}
.gs-contact-copy h2{margin:0;max-width:790px;color:#fff;font-size:clamp(42px,4vw,64px);line-height:.98;font-weight:900;letter-spacing:-.05em}
.gs-contact-copy p{margin:18px 0 0;color:var(--gs-muted);font-size:17px;line-height:1.5}

/* Footer */
.gs-footer{border-top:1px solid rgba(255,255,255,.07);background:#050b10}
.gs-footer-inner{min-height:118px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.gs-footer-brand strong{display:block;color:#fff;font-size:15px;font-weight:900}
.gs-footer-brand span{display:block;margin-top:5px;color:rgba(255,255,255,.40);font-size:11px}
.gs-footer-copy{color:rgba(255,255,255,.40);font-size:11px}

/* Tablet */
@media (max-width:1120px){
	.gs-container{width:min(calc(100% - 40px),var(--gs-container))}
	.gs-hero .gs-container{width:min(calc(100% - 40px),1560px)}
	.gs-brand-logo{width:250px}
	.gs-nav{gap:24px;margin-right:20px}
	.gs-header-contact{padding:0 20px}
	.gs-services-grid{gap:16px}
}

/* Mobile */
@media (max-width:760px){
	:root{--gs-header-height:78px}
	.gs-container,.gs-hero .gs-container{width:calc(100% - 32px)}
	.gs-brand-logo{width:210px;max-height:56px}
	.gs-nav,.gs-header-contact{display:none}
	.gs-mobile-toggle{display:block;margin-left:auto;width:44px;height:44px;padding:9px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:rgba(0,0,0,.18)}
	.gs-mobile-toggle span{display:block;width:100%;height:2px;margin:4px 0;background:#fff;border-radius:2px}
	.gs-nav.is-open{position:absolute;left:16px;right:16px;top:84px;display:flex;flex-direction:column;gap:0;margin:0;padding:7px;border:1px solid rgba(255,255,255,.10);border-radius:10px;background:rgba(4,9,14,.97);backdrop-filter:blur(12px)}
	.gs-nav.is-open a{height:48px;padding:0 13px}
	.gs-nav.is-open a::after{display:none}
	.gs-hero{min-height:1120px}
	.gs-hero-background{background-position:61% center}
	.gs-hero-overlay{background:linear-gradient(90deg,rgba(4,10,16,.92),rgba(4,10,16,.72) 48%,rgba(4,10,16,.19))}
	.gs-hero-content{padding-top:108px}
	.gs-hero h1{font-size:clamp(48px,14vw,76px)}
	.gs-hero-description{font-size:16px}
	.gs-hero-actions{flex-direction:column;align-items:stretch}
	.gs-button{width:100%}
	.gs-benefits{bottom:450px}
	.gs-benefits-grid{grid-template-columns:1fr}
	.gs-benefit{min-height:62px;padding:12px 16px;border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}
	.gs-benefit:last-child{border-bottom:0}
	.gs-hero-services{bottom:18px}
	.gs-services-grid{grid-template-columns:1fr}
	.gs-service-card{min-height:305px}
	.gs-service-card:nth-child(n+2){display:none}
	.gs-equipment,.gs-contact{padding:72px 0 80px}
	.gs-section-heading h2{font-size:41px}
	.gs-equipment-placeholder{min-height:420px}
	.gs-equipment-placeholder img{height:420px}
	.gs-equipment-placeholder-overlay{left:28px;width:calc(100% - 56px)}
	.gs-contact-card{flex-direction:column;align-items:flex-start;padding:36px 28px}
	.gs-footer-inner{min-height:145px;flex-direction:column;align-items:flex-start;justify-content:center}
}
@media (max-width:440px){
	.gs-hero{min-height:1180px}
	.gs-service-card{min-height:290px}
	.gs-service-number{font-size:66px}
	.gs-equipment-placeholder-overlay h3{font-size:36px}
	.gs-contact-copy h2{font-size:39px}
}
@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	*,*::before,*::after{animation:none!important;transition:none!important}
}


/* ================================================================
   MASTER REFERENCE V3 — refined geometry pass
   Keeps approved typography, buttons and existing content.
   Focus: header / hero proportions / benefits / integrated service cards.
   ================================================================ */

:root{
  --gs-container:1440px;
  --gs-header-height:90px;
}

.gs-container{width:min(calc(100% - 96px),var(--gs-container));}
.gs-hero .gs-container{width:min(calc(100% - 96px),1440px);}

/* Header: cleaner, wider, less compressed */
.gs-header{height:var(--gs-header-height);background:linear-gradient(180deg,rgba(4,9,14,.55) 0%,rgba(4,9,14,.14) 100%);backdrop-filter:blur(3px)}
.gs-brand-logo{width:270px;max-height:66px}
.gs-nav{gap:48px;margin-right:34px}
.gs-nav a{height:var(--gs-header-height);font-size:17px}
.gs-nav a::after{bottom:10px;width:38px;height:3px}
.gs-header-contact{min-height:52px;padding:0 25px;border-radius:8px;font-size:15px}
.gs-header-contact-icon{margin-right:8px;font-size:16px}

/* Hero: compact enough to hold the full approved composition */
.gs-hero{min-height:900px;padding-bottom:0}
.gs-hero-background{background-position:center 46%;transform:none}
.gs-hero-overlay{background:linear-gradient(90deg,rgba(3,9,15,.74) 0%,rgba(3,9,15,.50) 27%,rgba(3,9,15,.18) 53%,rgba(3,9,15,.03) 100%)}
.gs-hero-bottom-fade{height:48%;background:linear-gradient(180deg,rgba(5,12,19,0) 0%,rgba(5,12,19,.06) 18%,rgba(5,12,19,.48) 57%,rgba(5,12,19,.92) 82%,#07121b 100%)}
.gs-hero-content{padding-top:158px}
.gs-hero-copy{width:660px}
.gs-kicker{margin-bottom:16px;font-size:11px;letter-spacing:.27em}
.gs-hero h1{font-size:clamp(76px,6vw,98px);line-height:.9;letter-spacing:-.055em}
.gs-hero-description{width:560px;margin-top:25px;font-size:18px;line-height:1.42}
.gs-hero-actions{gap:14px;margin-top:27px}
.gs-button{min-height:54px;padding:0 26px;border-radius:8px}

/* Benefits: lower, slimmer, visually integrated */
.gs-benefits{bottom:238px;background:rgba(4,10,16,.70);border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.05);backdrop-filter:blur(3px)}
.gs-benefits-grid{min-height:88px}
.gs-benefit{gap:13px;padding:12px 28px}
.gs-benefit-icon{width:42px;height:42px;flex-basis:42px;border-width:1.5px;font-size:17px}
.gs-benefit-copy strong{font-size:14px}
.gs-benefit-copy span{font-size:10.5px;margin-top:3px}

/* Service panels: lighter, tighter, closer to approved reference */
.gs-hero-services{bottom:20px}
.gs-services-grid{gap:18px}
.gs-service-card{min-height:216px;padding:18px 18px 22px;border-radius:12px;background:linear-gradient(145deg,#1a2935 0%,#152430 60%,#101c25 100%);box-shadow:0 8px 20px rgba(0,0,0,.12)}
.gs-service-card::before{left:-85px;bottom:-105px;width:350px;height:210px;box-shadow:0 0 0 22px rgba(247,147,0,.018),0 0 0 44px rgba(247,147,0,.012),0 0 0 66px rgba(247,147,0,.007)}
.gs-service-card::after{right:-90px;top:-100px;width:240px;height:150px}
.gs-service-icon{width:54px;height:54px;border-radius:8px}
.gs-service-icon svg{width:29px;height:29px;stroke-width:2}
.gs-service-copy{max-width:320px;margin-top:13px}
.gs-service-copy h3{font-size:22px;line-height:1.08}
.gs-service-copy p{max-width:300px;margin-top:7px;font-size:12px;line-height:1.4}
.gs-service-line-art{left:10px;right:8px;bottom:9px;height:115px;opacity:.24}
.gs-service-line-art svg{stroke-width:1.15}
.gs-service-link{left:18px;bottom:14px;font-size:11px;gap:5px}
.gs-service-link-arrow{font-size:16px}
.gs-service-number{right:14px;bottom:3px;font-size:56px}

/* Keep the next section close, without a large visual gap */
.gs-equipment{padding-top:92px}
.gs-section-heading{margin-bottom:38px}

@media (max-width:1120px){
  .gs-container,.gs-hero .gs-container{width:min(calc(100% - 56px),var(--gs-container))}
  .gs-brand-logo{width:245px}
  .gs-nav{gap:28px;margin-right:18px}
  .gs-header-contact{padding:0 20px}
  .gs-hero{min-height:920px}
  .gs-hero-content{padding-top:150px}
  .gs-benefits{bottom:250px}
  .gs-service-card{min-height:212px}
}

@media (max-width:760px){
  :root{--gs-header-height:78px}
  .gs-container,.gs-hero .gs-container{width:calc(100% - 32px)}
  .gs-brand-logo{width:210px;max-height:56px}
  .gs-hero{min-height:1120px}
  .gs-hero-background{background-position:61% center}
  .gs-hero-content{padding-top:108px}
  .gs-benefits{bottom:432px}
  .gs-hero-services{bottom:18px}
  .gs-service-card{min-height:290px}
  .gs-service-copy h3{font-size:24px}
  .gs-service-copy p{font-size:13px}
  .gs-service-line-art{height:150px}
  .gs-service-number{font-size:66px}
}

/* ================================================================
   MASTER REFERENCE V4 — visual fidelity pass
   Geometry is kept intact; this pass refines the visual hierarchy
   against the approved reference: wider frame, cleaner header,
   darker photographic treatment, stronger typography, slimmer
   benefits, and finer service panels.
   ================================================================ */

:root{
  --gs-container:1536px;
  --gs-header-height:88px;
}

/* Full-width frame: reference uses the page canvas, not a narrow centered column. */
.gs-container,
.gs-hero .gs-container{
  width:calc(100% - 96px);
  max-width:1536px;
}

/* Header */
.gs-header{
  height:var(--gs-header-height);
  background:
    linear-gradient(180deg,rgba(5,10,15,.50) 0%,rgba(5,10,15,.18) 100%);
  border-bottom:1px solid rgba(255,255,255,.035);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}
.gs-brand-logo{
  width:282px;
  max-height:68px;
}
.gs-nav{
  gap:42px;
  margin-right:42px;
}
.gs-nav a{
  height:var(--gs-header-height);
  font-size:16px;
  font-weight:700;
}
.gs-nav a::after{
  bottom:9px;
  width:40px;
  height:3px;
}
.gs-header-contact{
  min-height:50px;
  padding:0 25px;
  border-radius:8px;
  font-size:15px;
  font-weight:700;
  background:rgba(7,13,19,.22);
}

/* Hero: closer to the approved vertical rhythm and photographic density. */
.gs-hero{
  min-height:800px;
  padding-bottom:0;
}
.gs-hero-background{
  background-position:center 44%;
  transform:scale(1.0);
}
.gs-hero-overlay{
  background:
    linear-gradient(90deg,
      rgba(3,9,15,.84) 0%,
      rgba(3,9,15,.65) 25%,
      rgba(3,9,15,.30) 50%,
      rgba(3,9,15,.075) 73%,
      rgba(3,9,15,.025) 100%);
}
.gs-hero-bottom-fade{
  height:45%;
  background:
    linear-gradient(180deg,
      rgba(5,12,19,0) 0%,
      rgba(5,12,19,.035) 22%,
      rgba(5,12,19,.30) 52%,
      rgba(5,12,19,.84) 82%,
      #07121b 100%);
}
.gs-hero-content{
  padding-top:132px;
}
.gs-hero-copy{
  width:660px;
}
.gs-kicker{
  margin-bottom:15px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.25em;
}
.gs-hero h1{
  font-size:clamp(78px,6.15vw,102px);
  line-height:.90;
  letter-spacing:-.058em;
  text-shadow:0 8px 25px rgba(0,0,0,.18);
}
.gs-hero-description{
  width:540px;
  margin-top:25px;
  font-size:17px;
  line-height:1.48;
}
.gs-hero-actions{
  gap:14px;
  margin-top:27px;
}
.gs-button{
  min-height:56px;
  padding:0 26px;
  border-radius:8px;
  font-size:15px;
}

/* Benefits: narrow, elegant band rather than a heavy black block. */
.gs-benefits{
  bottom:190px;
  background:
    linear-gradient(180deg,
      rgba(3,9,15,.18),
      rgba(3,9,15,.68));
  border-top:1px solid rgba(255,255,255,.065);
  border-bottom:1px solid rgba(255,255,255,.045);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}
.gs-benefits-grid{
  min-height:82px;
}
.gs-benefit{
  gap:13px;
  padding:10px 30px;
}
.gs-benefit-icon{
  width:42px;
  height:42px;
  flex-basis:42px;
}
.gs-benefit-copy strong{
  font-size:14px;
}
.gs-benefit-copy span{
  margin-top:3px;
  font-size:10.5px;
}

/* Integrated service panels: exact role from the master reference. */
.gs-hero-services{
  bottom:18px;
}
.gs-services-grid{
  gap:18px;
}
.gs-service-card{
  min-height:188px;
  padding:18px 18px 22px;
  border-radius:12px;
  border-color:rgba(255,255,255,.105);
  background:
    linear-gradient(145deg,
      rgba(24,39,51,.96) 0%,
      rgba(19,34,44,.95) 58%,
      rgba(14,24,33,.96) 100%);
  box-shadow:0 12px 28px rgba(0,0,0,.16);
}
.gs-service-card::before{
  left:-90px;
  bottom:-105px;
  width:390px;
  height:235px;
  border-color:rgba(247,147,0,.052);
  box-shadow:
    0 0 0 24px rgba(247,147,0,.020),
    0 0 0 48px rgba(247,147,0,.012),
    0 0 0 72px rgba(247,147,0,.007);
}
.gs-service-card::after{
  right:-95px;
  top:-105px;
  width:250px;
  height:155px;
}
.gs-service-icon{
  width:54px;
  height:54px;
  border-radius:9px;
  background:rgba(247,147,0,.012);
}
.gs-service-icon svg{
  width:30px;
  height:30px;
  stroke-width:2;
}
.gs-service-copy{
  max-width:330px;
  margin-top:12px;
}
.gs-service-copy h3{
  font-size:22px;
  line-height:1.04;
  letter-spacing:-.018em;
}
.gs-service-copy p{
  max-width:305px;
  margin-top:7px;
  font-size:11.5px;
  line-height:1.38;
}
.gs-service-line-art{
  left:9px;
  right:7px;
  bottom:7px;
  height:112px;
  opacity:.21;
}
.gs-service-line-art svg{
  stroke-width:1.12;
}
.gs-service-link{
  left:18px;
  bottom:13px;
  gap:5px;
  font-size:11px;
}
.gs-service-link-arrow{
  font-size:16px;
}
.gs-service-number{
  right:13px;
  bottom:3px;
  font-size:57px;
  color:rgba(247,147,0,.22);
}

/* Keep the next section visually quiet, as in the master. */
.gs-equipment{
  padding-top:96px;
}

/* Desktop refinement: at very wide screens the content stays anchored to the same visual frame. */
@media (min-width:1500px){
  .gs-container,
  .gs-hero .gs-container{
    width:calc(100% - 104px);
    max-width:1536px;
  }
}

@media (max-width:1120px){
  .gs-container,
  .gs-hero .gs-container{
    width:min(calc(100% - 40px),var(--gs-container));
  }
  .gs-brand-logo{width:250px}
  .gs-nav{gap:24px;margin-right:20px}
  .gs-header-contact{padding:0 20px}
}

@media (max-width:760px){
  .gs-container,
  .gs-hero .gs-container{width:calc(100% - 32px)}
  .gs-hero{min-height:1120px}
  .gs-hero-background{background-position:61% center}
  .gs-benefits{bottom:450px}
  .gs-hero-services{bottom:18px}
  .gs-service-card{min-height:305px}
}

/* =========================================================
   MASTER REFERENCE V5 — precision match
   Target: 1536 x 1024 approved desktop composition.
   Preserve content / structure; refine only visual geometry.
   ========================================================= */

:root{
  --gs-container:1438px;
  --gs-header-height:102px;
}

body.gs-page{background:#07121b;}

.gs-container,
.gs-hero .gs-container{
  width:calc(100% - 96px);
  max-width:var(--gs-container);
}

/* HEADER */
.gs-header{
  height:var(--gs-header-height);
  background:linear-gradient(180deg,rgba(5,12,18,.64) 0%,rgba(5,12,18,.28) 58%,rgba(5,12,18,.05) 100%);
  backdrop-filter:none;
  border-bottom:1px solid rgba(255,255,255,.035);
}
.gs-header-inner{align-items:center;}
.gs-brand{width:286px;}
.gs-brand-logo{width:266px;max-height:76px;object-fit:contain;object-position:left center;}
.gs-nav{gap:50px;margin-left:112px;margin-right:auto;}
.gs-nav a{
  height:var(--gs-header-height);
  font-size:17px;
  font-weight:600;
  color:rgba(255,255,255,.90);
}
.gs-nav a::after{bottom:15px;width:40px;height:3px;}
.gs-nav a.is-active{color:var(--gs-orange);}
.gs-header-contact{
  min-width:250px;
  min-height:57px;
  padding:0 25px;
  border-radius:9px;
  font-size:16px;
  letter-spacing:.01em;
  background:rgba(6,12,18,.10);
}
.gs-header-contact-icon{display:inline-flex;align-items:center;justify-content:center;margin-right:9px;color:var(--gs-orange);}
.gs-header-contact-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}

/* HERO */
.gs-hero{
  min-height:1024px;
  height:1024px;
  display:block;
  overflow:hidden;
  background:#0a1620;
}
.gs-hero-background{
  inset:0;
  background-size:cover;
  background-position:center top;
  transform:none;
}
.gs-hero-overlay{
  background:
    linear-gradient(90deg,
      rgba(4,10,16,.66) 0%,
      rgba(4,10,16,.44) 29%,
      rgba(4,10,16,.12) 55%,
      rgba(4,10,16,.03) 100%);
}
.gs-hero::after{
  background:linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.03) 50%,rgba(0,0,0,.12) 100%);
}
.gs-hero-bottom-fade{
  position:absolute;
  left:0;right:0;bottom:0;height:39%;z-index:3;pointer-events:none;
  background:linear-gradient(180deg,
    rgba(7,18,27,0) 0%,
    rgba(7,18,27,.08) 26%,
    rgba(7,18,27,.38) 52%,
    rgba(7,18,27,.88) 82%,
    #07121b 100%);
}
.gs-hero-content{
  z-index:6;
  display:block;
  padding-top:202px;
  padding-bottom:0;
}
.gs-hero-copy{width:620px;}
.gs-kicker{
  margin-bottom:17px;
  font-size:12px;
  letter-spacing:.29em;
}
.gs-hero h1{
  font-size:116px;
  line-height:.90;
  font-weight:900;
  letter-spacing:-.057em;
  text-shadow:0 8px 24px rgba(0,0,0,.12);
}
.gs-hero h1 span{color:var(--gs-orange);}
.gs-hero-description{
  width:560px;
  margin-top:25px;
  font-size:18px;
  line-height:1.38;
  color:rgba(255,255,255,.95);
}
.gs-hero-actions{gap:18px;margin-top:30px;}
.gs-button{
  min-height:58px;
  padding:0 28px;
  border-radius:9px;
  font-size:16px;
}
.gs-button-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;}
.gs-button-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.gs-button-primary{min-width:222px;}
.gs-button-secondary{min-width:214px;background:rgba(7,15,22,.30);border-color:rgba(255,255,255,.43);}

/* BENEFITS */
.gs-benefits{
  left:0;right:0;bottom:292px;z-index:9;
  background:linear-gradient(180deg,rgba(4,10,16,.04) 0%,rgba(4,10,16,.58) 100%);
  border-top:0;border-bottom:0;backdrop-filter:none;
}
.gs-benefits-grid{min-height:82px;}
.gs-benefit{
  gap:14px;
  padding:12px 8px 12px 4px;
  border-right:1px solid rgba(255,255,255,.10);
}
.gs-benefit-icon{width:44px;height:44px;flex:0 0 44px;color:var(--gs-orange);}
.gs-benefit-icon svg{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.gs-benefit-copy strong{font-size:15px;line-height:1.15;}
.gs-benefit-copy span{font-size:11px;margin-top:4px;color:rgba(255,255,255,.57);}

/* INTEGRATED SERVICE CARDS */
.gs-hero-services{left:0;right:0;bottom:36px;z-index:12;}
.gs-services-grid{gap:18px;}
.gs-service-card{
  min-height:236px;
  padding:19px 18px 23px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.13);
  background:linear-gradient(145deg,rgba(24,39,51,.94),rgba(17,30,40,.94));
  box-shadow:0 18px 36px rgba(0,0,0,.16);
}
.gs-service-card::before{
  left:-92px;bottom:-105px;width:410px;height:255px;
  border-color:rgba(247,147,0,.075);
  box-shadow:0 0 0 25px rgba(247,147,0,.028),0 0 0 50px rgba(247,147,0,.016),0 0 0 75px rgba(247,147,0,.010);
}
.gs-service-card::after{right:-94px;top:-116px;width:290px;height:182px;border-color:rgba(255,255,255,.035);}
.gs-service-icon{width:64px;height:64px;border-radius:10px;background:rgba(247,147,0,.01);}
.gs-service-icon svg{width:37px;height:37px;stroke-width:2.05;}
.gs-service-copy{max-width:350px;margin-top:13px;}
.gs-service-copy h3{font-size:27px;line-height:1.04;letter-spacing:-.022em;}
.gs-service-copy p{max-width:335px;margin-top:9px;font-size:13px;line-height:1.42;color:rgba(255,255,255,.78);}
.gs-service-line-art{left:7px;right:4px;bottom:4px;height:150px;opacity:.27;}
.gs-service-line-art svg{stroke-width:1.2;}
.gs-service-link{left:22px;bottom:18px;gap:6px;font-size:13px;}
.gs-service-link-arrow{font-size:20px;}
.gs-service-number{right:15px;bottom:3px;font-size:78px;color:rgba(247,147,0,.26);}

/* keep next section visually separated from the hero */
.gs-equipment{padding-top:98px;}

/* DESKTOP DENSITY TUNING */
@media (min-width:1450px){
  .gs-container,.gs-hero .gs-container{width:calc(100% - 98px);max-width:1438px;}
}

@media (max-width:1200px) and (min-width:761px){
  .gs-brand{width:245px;}
  .gs-brand-logo{width:230px;}
  .gs-nav{margin-left:55px;gap:30px;}
  .gs-nav a{font-size:15px;}
  .gs-header-contact{min-width:205px;padding:0 18px;font-size:14px;}
  .gs-hero h1{font-size:90px;}
  .gs-service-copy h3{font-size:23px;}
  .gs-service-copy p{font-size:12px;}
}

@media (max-width:760px){
  :root{--gs-header-height:78px;}
  .gs-hero{height:auto;min-height:1180px;}
  .gs-header{height:78px;}
  .gs-brand-logo{width:210px;max-height:58px;}
  .gs-hero-content{padding-top:112px;}
  .gs-hero h1{font-size:clamp(54px,14vw,78px);line-height:.92;}
  .gs-hero-background{background-position:61% top;}
  .gs-benefits{bottom:420px;}
  .gs-hero-services{bottom:16px;}
  .gs-service-card{min-height:305px;}
}


/* APPROVED MASTER SERVICE PANELS */
.gs-approved-services{
  position:absolute;
  left:0; right:0; bottom:34px; z-index:12;
  pointer-events:none;
}
.gs-approved-services-stage{
  position:relative;
  width:calc(100% - 96px);
  max-width:1438px;
}
.gs-approved-services-image{
  display:block; width:100%; height:auto;
  pointer-events:none;
}
.gs-service-hit{
  position:absolute;
  top:0; bottom:0;
  pointer-events:auto;
  background:transparent;
}
.gs-service-hit-01{left:0; width:33.34%;}
.gs-service-hit-02{left:33.34%; width:33.32%;}
.gs-service-hit-03{left:66.66%; width:33.34%;}
@media (max-width:1200px){
  .gs-approved-services-stage{width:calc(100% - 64px);}
}
@media (max-width:760px){
  .gs-approved-services{bottom:18px;}
  .gs-approved-services-stage{width:calc(100% - 28px);}
}

/* ================================================================
   FINAL MASTER MATCH — 7 CORRECTIONS
   Target: approved 1536 x 1024 desktop reference.
   1) Header frame/alignment
   2) Left content rail
   3) Hero text scale/position
   4) Hero image crop/position
   5) CTA geometry
   6) Benefits band
   7) Approved service-panels asset placement
   ================================================================ */

@media (min-width: 761px){
  :root{
    --gs-header-height:104px;
    --gs-container:1438px;
  }

  /* 1. HEADER — match the reference frame */
  .gs-container,
  .gs-hero .gs-container{
    width:calc(100% - 96px);
    max-width:1438px;
  }
  .gs-header{
    height:104px;
    background:linear-gradient(180deg,rgba(5,11,16,.58) 0%,rgba(5,11,16,.18) 72%,rgba(5,11,16,.03) 100%);
    border-bottom:1px solid rgba(255,255,255,.035);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .gs-header-inner{height:104px;}
  .gs-brand{width:320px;}
  .gs-brand-logo{width:302px;max-height:76px;}
  .gs-nav{gap:48px;margin-left:106px;margin-right:auto;}
  .gs-nav a{
    height:104px;
    font-size:17px;
    font-weight:600;
  }
  .gs-nav a::after{bottom:16px;width:42px;height:3px;}
  .gs-header-contact{
    min-width:250px;
    min-height:57px;
    padding:0 25px;
    border-radius:9px;
    font-size:16px;
    font-weight:700;
    background:rgba(6,12,18,.10);
  }

  /* 2. LEFT CONTENT RAIL — exact reference margin at 1536px */
  .gs-hero-content{
    padding-top:202px;
    padding-left:0;
  }
  .gs-hero-copy{width:620px;}

  /* 3. HERO TYPOGRAPHY — preserve the approved typeface, fix only scale/spacing */
  .gs-kicker{margin-bottom:17px;font-size:12px;letter-spacing:.29em;}
  .gs-hero h1{
    font-size:116px;
    line-height:.895;
    letter-spacing:-.057em;
    text-shadow:0 8px 24px rgba(0,0,0,.12);
  }
  .gs-hero-description{
    width:560px;
    margin-top:25px;
    font-size:18px;
    line-height:1.38;
  }

  /* 4. HERO IMAGE — the source image is the same; only the crop is corrected */
  .gs-hero{
    min-height:1024px;
    height:1024px;
  }
  .gs-hero-background{
    background-size:cover;
    background-position:center top;
    transform:none;
  }
  .gs-hero-overlay{
    background:linear-gradient(90deg,
      rgba(4,10,16,.66) 0%,
      rgba(4,10,16,.44) 29%,
      rgba(4,10,16,.12) 55%,
      rgba(4,10,16,.03) 100%);
  }
  .gs-hero-bottom-fade{
    height:39%;
    background:linear-gradient(180deg,
      rgba(7,18,27,0) 0%,
      rgba(7,18,27,.08) 26%,
      rgba(7,18,27,.38) 52%,
      rgba(7,18,27,.88) 82%,
      #07121b 100%);
  }

  /* 5. CTA — match the approved button scale and rhythm; do not redesign */
  .gs-hero-actions{gap:18px;margin-top:30px;}
  .gs-button{
    min-height:58px;
    padding:0 28px;
    border-radius:9px;
    font-size:16px;
  }
  .gs-button-primary{min-width:222px;}
  .gs-button-secondary{
    min-width:214px;
    background:rgba(7,15,22,.26);
    border-color:rgba(255,255,255,.43);
  }

  /* 6. BENEFITS — thin, elegant and directly tied to the hero */
  .gs-benefits{
    bottom:292px;
    background:linear-gradient(180deg,rgba(4,10,16,.02) 0%,rgba(4,10,16,.50) 100%);
    border-top:0;
    border-bottom:0;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .gs-benefits-grid{min-height:82px;}
  .gs-benefit{
    gap:14px;
    padding:12px 8px 12px 4px;
  }
  .gs-benefit-icon{
    width:44px;
    height:44px;
    flex:0 0 44px;
    border-width:1.7px;
  }
  .gs-benefit-icon svg{
    width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:1.7;
    stroke-linecap:round;stroke-linejoin:round;
  }
  .gs-benefit-copy strong{font-size:15px;line-height:1.15;}
  .gs-benefit-copy span{font-size:11px;margin-top:4px;}

  /* 7. APPROVED SERVICE PANELS — use the original design asset 1:1 */
  .gs-approved-services{
    left:0;right:0;bottom:36px;z-index:12;
  }
  .gs-approved-services-stage{
    position:relative;
    width:100%;
    max-width:1438px;
    margin-inline:auto;
  }
  .gs-approved-services-image{
    display:block;
    width:100%;
    height:auto;
  }
  .gs-service-hit{top:0;bottom:0;}
  .gs-service-hit-01{left:0;width:33.34%;}
  .gs-service-hit-02{left:33.34%;width:33.32%;}
  .gs-service-hit-03{left:66.66%;width:33.34%;}
}

@media (max-width:1200px) and (min-width:761px){
  .gs-brand{width:245px;}
  .gs-brand-logo{width:230px;}
  .gs-nav{margin-left:55px;gap:30px;}
  .gs-nav a{font-size:15px;}
  .gs-header-contact{min-width:205px;padding:0 18px;font-size:14px;}
  .gs-hero h1{font-size:90px;}
}


/* ================================================================
   FINAL MASTER CORRECTIONS — logo + hero + header polish
   ================================================================ */
.gs-header{
    border-bottom:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    background:linear-gradient(180deg,rgba(5,11,16,.46) 0%,rgba(5,11,16,.20) 58%,rgba(5,11,16,0) 100%) !important;
}
.gs-header::after{
    content:"";
    position:absolute;
    left:0;right:0;bottom:-28px;height:42px;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(5,11,16,.14) 0%,rgba(5,11,16,.05) 45%,rgba(5,11,16,0) 100%);
}
.gs-brand-logo{width:302px !important;max-height:78px !important;object-fit:contain !important}
.gs-hero-background{background-size:100% auto !important;background-position:center 18% !important;transform:none !important}
.gs-hero-overlay{background:linear-gradient(90deg,rgba(4,10,16,.56) 0%,rgba(4,10,16,.38) 30%,rgba(4,10,16,.10) 58%,rgba(4,10,16,.015) 100%) !important}
.gs-hero-bottom-fade{height:36% !important;background:linear-gradient(180deg,rgba(7,18,27,0) 0%,rgba(7,18,27,.05) 24%,rgba(7,18,27,.28) 52%,rgba(7,18,27,.78) 82%,#07121b 100%) !important}
.gs-hero-copy > .gs-kicker{display:none !important}
@media (min-width:761px){
    .gs-hero-content{padding-top:188px !important}
    .gs-hero-copy{width:620px !important}
    .gs-hero h1{font-size:116px !important;line-height:.895 !important;letter-spacing:-.057em !important}
    .gs-hero-description{margin-top:25px !important}
}
@media (max-width:1200px) and (min-width:761px){.gs-brand-logo{width:230px !important}}
@media (max-width:760px){
    .gs-brand-logo{width:210px !important;max-height:58px !important}
    .gs-hero-background{background-size:auto 100% !important;background-position:62% top !important}
}
/* GANCHEV STROY — FINAL HERO VISUAL PATCH
   ADD THIS FILE AT THE VERY END OF:
   wp-content/themes/ganchev-stroi-new/style.css

   Do NOT replace style.css with this file.
   Do NOT change front-page.php.
*/

@media (min-width: 761px) {

  /* 1) Keep the original hero image, but show a wider / brighter composition. */
  .gs-hero-background{
    background-size: cover !important;
    background-position: center top !important;
    transform: none !important;
    filter: brightness(1.08) saturate(1.04) !important;
  }

  /* 2) Reduce the global dark wash over the photograph. */
  .gs-hero-overlay{
    background:
      linear-gradient(
        90deg,
        rgba(4,10,16,.46) 0%,
        rgba(4,10,16,.30) 28%,
        rgba(4,10,16,.10) 56%,
        rgba(4,10,16,.02) 100%
      ) !important;
  }

  /* 3) Keep the lower transition soft, not black/heavy. */
  .gs-hero-bottom-fade{
    height: 34% !important;
    background:
      linear-gradient(
        180deg,
        rgba(7,18,27,0) 0%,
        rgba(7,18,27,.03) 28%,
        rgba(7,18,27,.18) 56%,
        rgba(7,18,27,.62) 82%,
        #07121b 100%
      ) !important;
  }
}
  /* ================================================================
   MOBILE & TABLET RESPONSIVE OVERRIDES (SAFE APPEND)
   ================================================================ */
@media (max-width: 1024px) {
  .gs-header { height: 76px; }
  .gs-header-inner { height: 76px; }
  .gs-brand-logo { width: 190px !important; }
  .gs-header-contact { display: none !important; }
  .gs-mobile-toggle { display: flex !important; }

  .gs-nav {
    position: fixed;
    top: 0;
    right: -100%;
    width: 280px;
    height: 100vh;
    background: #06141e;
    border-left: 1px solid rgba(151,181,199,.24);
    flex-direction: column;
    align-items: flex-start;
    padding: 90px 24px 30px;
    gap: 18px;
    margin: 0;
    transition: right .3s ease;
    z-index: 998;
    box-shadow: -10px 0 30px rgba(0,0,0,.6);
  }
  .gs-nav.is-open { right: 0 !important; }
  .gs-nav a {
    font-size: 19px !important;
    width: 100%;
    height: auto !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.06);
  }
}

@media (max-width: 768px) {
  .gs-container {
    width: calc(100% - 32px) !important;
  }
  
  /* Hero Typography scaling on mobile */
  .gs-hero h1, .gs-services-hero h1, .gs-tehnika-hero h1, .gs-contact-hero h1 {
    font-size: clamp(42px, 11vw, 64px) !important;
    line-height: 1 !important;
  }
  .gs-hero-description, .gs-services-hero-content > p, .gs-tehnika-hero-content > p {
    font-size: 17px !important;
    margin-top: 14px !important;
  }

  /* Hero buttons on mobile */
  .gs-hero-actions {
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
  }
  .gs-button {
    width: 100% !important;
    justify-content: center !important;
  }

  /* Approved services panel mobile */
  .gs-approved-services-stage {
    min-height: auto !important;
    transform: scale(1) !important;
  }
}
/* MOBILE FIX: HOMEPAGE HERO & BUTTONS */
@media (max-width: 768px) {
  .gs-hero {
    min-height: auto !important;
    padding-top: 100px !important;
    padding-bottom: 30px !important;
  }
  .gs-hero-content {
    padding-top: 20px !important;
  }
  .gs-hero-actions {
    margin-top: 24px !important;
    margin-bottom: 30px !important;
    gap: 12px !important;
  }
  .gs-button {
    min-height: 50px !important;
    font-size: 17px !important;
  }
  .gs-approved-services-stage {
    display: block !important;
    width: 100% !important;
    position: relative !important;
  }
}
/* ================================================================
   FINAL MOBILE FIXES (HOMEPAGE & FOOTER)
   ================================================================ */
@media (max-width: 768px) {
  /* 1. Премахване на огромното празно пространство от началната снимка */
  .gs-hero {
    min-height: auto !important;
    height: auto !important;
    padding-bottom: 20px !important;
  }
  .gs-hero-background {
    height: 100% !important;
  }
  .gs-approved-services {
    display: none !important; /* Скрива свития миниатюрен панел долу на мобилен екран */
  }

  /* 4. Оправяне на футъра да не реже "КОНТАКТИ" */
  .gs-home-footer-nav,
  .gs-services-footer-nav,
  .gs-tehnika-footer-nav,
  .gs-kontakti-footer-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 16px 20px !important;
    padding: 0 10px !important;
    width: 100% !important;
  }
  .gs-home-footer-nav a,
  .gs-services-footer-nav a,
  .gs-tehnika-footer-nav a,
  .gs-kontakti-footer-nav a {
    font-size: 14px !important;
    white-space: nowrap !important;
  }
}
/* ================================================================
   MOBILE HERO SECTION COMPACT FIX
   ================================================================ */
@media (max-width: 768px) {
  /* Ограничава височината на банера на телефон */
  .gs-hero {
    min-height: auto !important;
    height: auto !important;
    max-height: 520px !important;
    padding-top: 100px !important;
    padding-bottom: 24px !important;
    overflow: hidden !important;
  }

  .gs-hero-background {
    height: 100% !important;
    background-position: center 20% !important;
  }

  .gs-hero-content {
    padding-top: 0 !important;
  }

  .gs-hero-actions {
    margin-top: 20px !important;
    margin-bottom: 10px !important;
    gap: 12px !important;
  }

  /* Скрива миниатюрните нечетими панели в долния край на снимката за мобилен изглед */
  .gs-approved-services,
  .gs-approved-services-stage,
  .gs-hero-bottom-cards {
    display: none !important;
  }
}
/* ================================================================
   FINAL MOBILE HERO COMPACT FIX (CUT THE LONG TRUCK)
   ================================================================ */
@media (max-width: 768px) {
  /* Ограничава банера и всички негови слоеве до компактна височина */
  section#home.gs-hero,
  .gs-hero {
    min-height: 0 !important;
    height: auto !important;
    max-height: 520px !important;
    padding-top: 100px !important;
    padding-bottom: 30px !important;
    overflow: hidden !important;
    position: relative !important;
  }

  .gs-hero-background,
  .gs-hero-overlay,
  .gs-hero-bottom-fade {
    height: 100% !important;
    max-height: 520px !important;
    min-height: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    position: absolute !important;
  }

  .gs-hero-background {
    background-size: cover !important;
    background-position: center 30% !important;
  }

  .gs-hero-content {
    position: relative !important;
    z-index: 5 !important;
    padding-top: 0 !important;
  }

  .gs-hero-actions {
    margin-top: 24px !important;
    margin-bottom: 0 !important;
    gap: 12px !important;
  }

  /* Напълно скрива долните сплескани панели */
  #services.gs-approved-services,
  .gs-approved-services,
  .gs-hero-bottom-cards {
    display: none !important;
  }
}
/* ================================================================
   MOBILE HERO: LAYOUT (image stays compact, real content follows)
   ================================================================ */
@media (max-width: 768px) {
  #home.gs-hero {
    height: auto !important;
    min-height: 0 !important;
    padding-top: 110px !important;
    padding-bottom: 30px !important;
    display: block !important;
    position: relative !important;
  }

  .gs-hero-content {
    position: relative !important;
    z-index: 5 !important;
    margin-bottom: 0 !important;
  }

  /* The image-based desktop panel is not usable on mobile (no visible
     icon/text inside the invisible hit-areas) — it stays hidden here
     (see the earlier "FINAL MOBILE FIXES" rule) and is replaced below
     by real, readable cards. */
}

/* ================================================================
   MOBILE SERVICES — REAL CONTENT (icon + title), NOT the sprite image
   Fills the space freed up by the compact mobile hero photo with
   three legible, tappable cards instead of the flattened image.
   Markup: .gs-mobile-services > a.gs-mobile-service-card (front-page.php)
   ================================================================ */
.gs-mobile-services{
  display:none;
}
@media (max-width: 768px) {
  /* Make sure the desktop image/hit-area panel never reappears on mobile */
  .gs-approved-services{
    display:none !important;
  }

  .gs-mobile-services{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
    width:calc(100% - 32px) !important;
    margin:22px auto 34px !important;
    position:relative !important;
    z-index:5 !important;
  }
  .gs-mobile-service-card{
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    width:100% !important;
    padding:16px !important;
    background:rgba(10,18,24,.90) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    border-radius:10px !important;
    text-decoration:none !important;
    box-sizing:border-box !important;
  }
  .gs-mobile-service-icon{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:44px !important;
    height:44px !important;
    flex:0 0 44px !important;
    border:1.5px solid var(--gs-orange) !important;
    border-radius:9px !important;
    color:var(--gs-orange) !important;
  }
  .gs-mobile-service-icon svg{
    width:24px !important;
    height:24px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:2 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
  }
  .gs-mobile-service-title{
    flex:1 1 auto !important;
    min-width:0 !important;
    color:#fff !important;
    font-family:'Oswald',sans-serif !important;
    font-size:16px !important;
    font-weight:600 !important;
    letter-spacing:.01em !important;
  }
  .gs-mobile-service-arrow{
    flex:0 0 auto !important;
    margin-left:8px !important;
    color:var(--gs-orange) !important;
    font-size:20px !important;
    line-height:1 !important;
  }
}

/* ================================================================
   MOBILE HERO + VERTICAL SERVICE CARDS — FINAL SOURCE OF TRUTH
   Keeps all type as live HTML using the theme's Oswald/Inter fonts.
   ================================================================ */
@media (max-width: 768px) {
  section#home.gs-hero{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    padding:104px 0 30px !important;
    overflow:hidden !important;
    background:#07121b !important;
  }

  section#home .gs-hero-background,
  section#home .gs-hero-overlay,
  section#home .gs-hero-bottom-fade{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
  }

  section#home .gs-hero-background{
    background-size:auto 100% !important;
    background-position:61% top !important;
    background-repeat:no-repeat !important;
    filter:brightness(.88) saturate(1.03) !important;
    transform:none !important;
  }

  section#home .gs-hero-overlay{
    z-index:1 !important;
    background:linear-gradient(180deg,
      rgba(4,10,16,.86) 0%,
      rgba(4,10,16,.55) 26%,
      rgba(4,10,16,.10) 53%,
      rgba(4,10,16,.18) 72%,
      rgba(4,10,16,.70) 100%) !important;
  }

  section#home .gs-hero-bottom-fade{
    z-index:2 !important;
    background:linear-gradient(180deg,
      rgba(7,18,27,0) 0%,
      rgba(7,18,27,.04) 42%,
      rgba(7,18,27,.52) 72%,
      #07121b 100%) !important;
    pointer-events:none !important;
  }

  section#home .gs-hero-content{
    position:relative !important;
    z-index:5 !important;
    width:calc(100% - 32px) !important;
    max-width:none !important;
    margin:0 auto !important;
    padding:0 !important;
  }

  section#home .gs-hero-copy{
    width:100% !important;
    max-width:none !important;
  }

  section#home .gs-hero h1{
    font-family:'Oswald',Arial,sans-serif !important;
    font-size:clamp(48px,13.5vw,64px) !important;
    font-weight:900 !important;
    line-height:.98 !important;
    letter-spacing:-.035em !important;
  }

  section#home .gs-hero-description{
    width:100% !important;
    max-width:520px !important;
    margin:17px 0 0 !important;
    font-family:'Inter',Arial,sans-serif !important;
    font-size:16px !important;
    font-weight:400 !important;
    line-height:1.45 !important;
  }

  section#home .gs-hero-actions{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    width:100% !important;
    margin:24px 0 0 !important;
    gap:12px !important;
  }

  section#home .gs-button{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-width:0 !important;
    min-height:58px !important;
    padding:0 22px !important;
    gap:10px !important;
    border-radius:9px !important;
    font-size:17px !important;
    font-weight:900 !important;
    text-align:center !important;
  }

  section#home .gs-approved-services{
    display:none !important;
  }

  section#home .gs-mobile-services{
    position:relative !important;
    z-index:6 !important;
    display:flex !important;
    flex-direction:column !important;
    width:calc(100% - 32px) !important;
    max-width:520px !important;
    margin:clamp(170px,48vw,220px) auto 0 !important;
    gap:12px !important;
  }

  section#home .gs-mobile-service-card{
    display:grid !important;
    grid-template-columns:56px minmax(0,1fr) 42px !important;
    align-items:center !important;
    width:100% !important;
    min-height:104px !important;
    padding:13px 14px !important;
    gap:12px !important;
    border:1px solid rgba(104,155,184,.46) !important;
    border-radius:9px !important;
    background:rgba(5,20,29,.88) !important;
    box-shadow:0 10px 28px rgba(0,0,0,.20) !important;
    -webkit-backdrop-filter:blur(4px) !important;
    backdrop-filter:blur(4px) !important;
    text-decoration:none !important;
  }

  section#home .gs-mobile-service-icon{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:56px !important;
    height:56px !important;
    flex:none !important;
    border:2px solid var(--gs-orange) !important;
    border-radius:9px !important;
    color:var(--gs-orange) !important;
  }

  section#home .gs-mobile-service-icon svg{
    width:34px !important;
    height:34px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:2 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
  }

  section#home .gs-mobile-service-copy{
    display:flex !important;
    flex-direction:column !important;
    min-width:0 !important;
    gap:4px !important;
  }

  section#home .gs-mobile-service-title{
    display:block !important;
    flex:none !important;
    color:#fff !important;
    font-family:'Oswald',Arial,sans-serif !important;
    font-size:20px !important;
    font-weight:700 !important;
    line-height:1.08 !important;
    letter-spacing:0 !important;
  }

  section#home .gs-mobile-service-description{
    display:block !important;
    color:rgba(255,255,255,.70) !important;
    font-family:'Inter',Arial,sans-serif !important;
    font-size:11.5px !important;
    font-weight:400 !important;
    line-height:1.35 !important;
  }

  section#home .gs-mobile-service-number{
    align-self:center !important;
    color:var(--gs-orange) !important;
    font-family:'Oswald',Arial,sans-serif !important;
    font-size:36px !important;
    font-weight:700 !important;
    line-height:1 !important;
    letter-spacing:-.035em !important;
    text-align:right !important;
  }
}

@media (max-width: 380px) {
  section#home.gs-hero{
    padding-top:96px !important;
  }

  section#home .gs-hero-content,
  section#home .gs-mobile-services{
    width:calc(100% - 24px) !important;
  }

  section#home .gs-mobile-service-card{
    grid-template-columns:50px minmax(0,1fr) 34px !important;
    min-height:100px !important;
    padding:12px !important;
    gap:10px !important;
  }

  section#home .gs-mobile-service-icon{
    width:50px !important;
    height:50px !important;
  }

  section#home .gs-mobile-service-title{
    font-size:18px !important;
  }

  section#home .gs-mobile-service-number{
    font-size:31px !important;
  }
}
