/* GeoService Barletta — design system shared by front-end and Gutenberg editor */
:root{
    --gsb-ink:#10212a;
    --gsb-muted:#5c6c73;
    --gsb-navy:#0a2530;
    --gsb-navy-2:#123844;
    --gsb-teal:#17747a;
    --gsb-teal-dark:#105b60;
    --gsb-mint:#e7f2f0;
    --gsb-sand:#f5f2eb;
    --gsb-gold:#d3a24b;
    --gsb-gold-light:#efd399;
    --gsb-white:#fff;
    --gsb-line:#dbe5e4;
    --gsb-shadow:0 24px 70px -42px rgba(8,34,43,.55);
    --gsb-radius:20px;
    --gsb-max:1180px;
}
.geoservice-theme-main{width:100%;max-width:none!important;margin:0!important;padding:0!important;overflow:hidden}
.geoservice-site{width:100%;max-width:none!important;margin:0!important;padding:0!important;background:var(--gsb-white);color:var(--gsb-ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.7}
.editor-styles-wrapper .geoservice-site{width:100%;max-width:none!important;margin:0!important}
.editor-styles-wrapper .geoservice-site .block-editor-block-list__layout{max-width:none}
.geoservice-site *{box-sizing:border-box}
.geoservice-site h1,.geoservice-site h2,.geoservice-site h3,.geoservice-site h4{margin-top:0;color:var(--gsb-ink);font-family:"Arial Narrow",Inter,system-ui,sans-serif;font-weight:850;letter-spacing:-.035em;line-height:1.08}
.geoservice-site h1{font-size:clamp(44px,6vw,78px)}
.geoservice-site h2{font-size:clamp(34px,4.4vw,56px)}
.geoservice-site h3{font-size:clamp(21px,2vw,28px)}
.geoservice-site p{color:var(--gsb-muted)}
.geoservice-site a{color:inherit;text-decoration:none}
.geoservice-site .wp-block-image{margin:0}
.geoservice-site .wp-block-image img{display:block;width:100%}
.gsb-container{width:min(var(--gsb-max),calc(100% - 42px));margin-inline:auto}
.gsb-narrow{width:min(850px,calc(100% - 42px));margin-inline:auto}
.gsb-section{padding:100px 0}
.gsb-section--compact{padding:72px 0}
.gsb-section--soft{background:var(--gsb-mint)}
.gsb-section--sand{background:var(--gsb-sand)}
.gsb-section--dark{background:linear-gradient(135deg,var(--gsb-navy),var(--gsb-navy-2));color:var(--gsb-white)}
.gsb-section--dark h2,.gsb-section--dark h3,.gsb-section--dark p{color:var(--gsb-white)}
.gsb-section--dark p{opacity:.78}
.gsb-kicker{margin:0 0 18px!important;color:var(--gsb-teal)!important;font-size:12px!important;font-weight:900;letter-spacing:.17em;text-transform:uppercase}
.gsb-kicker--light{color:var(--gsb-gold-light)!important}
.gsb-lead{font-size:19px!important;line-height:1.75!important}
.gsb-center{text-align:center}
.gsb-center .gsb-lead{max-width:760px;margin-inline:auto}
.gsb-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px!important}
.geoservice-site .gsb-button .wp-block-button__link{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:14px 24px;border:0;border-radius:8px;background:var(--gsb-teal);color:var(--gsb-white);font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;transition:.2s ease}
.geoservice-site .gsb-button .wp-block-button__link:hover{transform:translateY(-2px);background:var(--gsb-teal-dark);box-shadow:0 16px 35px -20px rgba(23,116,122,.85)}
.geoservice-site .gsb-button--gold .wp-block-button__link{background:var(--gsb-gold);color:var(--gsb-navy)}
.geoservice-site .gsb-button--ghost .wp-block-button__link{border:1px solid rgba(255,255,255,.35);background:transparent;color:var(--gsb-white)}
.gsb-home-hero{position:relative;isolation:isolate;padding:90px 0 105px;background:linear-gradient(130deg,var(--gsb-navy),#0c3b45);color:var(--gsb-white);overflow:hidden}
.gsb-home-hero:before{content:"";position:absolute;inset:0;z-index:-2;background:url('../images/hero-home.webp') center/cover no-repeat;opacity:.22}
.gsb-home-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 82% 18%,rgba(211,162,75,.26),transparent 28%),linear-gradient(90deg,rgba(8,31,40,.96),rgba(8,31,40,.68))}
.gsb-home-hero__grid{display:grid;grid-template-columns:1.08fr .92fr;gap:72px;align-items:center}
.gsb-home-hero h1{max-width:780px;color:var(--gsb-white)}
.gsb-home-hero .gsb-lead{max-width:690px;color:#d7e3e4!important}
.gsb-hero-panel{padding:34px;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:rgba(255,255,255,.08);backdrop-filter:blur(10px);box-shadow:var(--gsb-shadow)}
.gsb-hero-panel__label{color:var(--gsb-gold-light)!important;font-size:12px!important;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.gsb-hero-panel h3{color:var(--gsb-white)}
.gsb-hero-panel ul{margin:24px 0 0;padding:0;list-style:none}
.gsb-hero-panel li{position:relative;margin:14px 0;padding-left:28px;color:#edf5f4;font-weight:700}
.gsb-hero-panel li:before{content:"";position:absolute;left:0;top:.7em;width:11px;height:11px;border:3px solid var(--gsb-gold);border-radius:50%}
.gsb-page-hero{position:relative;isolation:isolate;min-height:475px;display:flex;align-items:flex-end;padding:100px 0 78px;background:var(--gsb-navy);overflow:hidden}
.gsb-page-hero:before{content:"";position:absolute;inset:0;z-index:-2;background:var(--gsb-hero) center/cover no-repeat}
.gsb-page-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,30,38,.96),rgba(7,30,38,.76) 58%,rgba(7,30,38,.38))}
.gsb-page-hero h1{max-width:900px;margin-bottom:18px;color:var(--gsb-white)}
.gsb-page-hero .gsb-lead{max-width:760px;color:#d9e5e4!important}
.gsb-page-hero--about{--gsb-hero:url('../images/team-engineering.webp')}
.gsb-page-hero--services{--gsb-hero:url('../images/soil-profile.webp')}
.gsb-page-hero--geotechnics{--gsb-hero:url('../images/core-samples.webp')}
.gsb-page-hero--applied{--gsb-hero:url('../images/applied-geology.webp')}
.gsb-page-hero--instruments{--gsb-hero:url('../images/surveying.webp')}
.gsb-page-hero--contact{--gsb-hero:url('../images/hydrogeology.webp')}
.gsb-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.gsb-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gsb-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.gsb-card{min-height:100%;padding:32px;border:1px solid var(--gsb-line);border-radius:18px;background:var(--gsb-white);box-shadow:var(--gsb-shadow)}
.gsb-card:before{content:"";display:block;width:46px;height:4px;margin-bottom:24px;border-radius:999px;background:var(--gsb-gold)}
.gsb-card p:last-child{margin-bottom:0}
.gsb-card--flat{box-shadow:none}
.gsb-card--dark{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.06)}
.gsb-card--dark h3{color:var(--gsb-white)}
.gsb-card--dark p{color:#cad8d8}
.gsb-benefits{position:relative;z-index:2;margin-top:-42px}
.gsb-benefits .gsb-card{padding:26px}
.gsb-benefits .gsb-card h3{font-size:19px}
.gsb-split{display:grid;grid-template-columns:.94fr 1.06fr;gap:72px;align-items:center}
.gsb-split--reverse{grid-template-columns:1.06fr .94fr}
.gsb-split__image img{height:590px;object-fit:cover;border-radius:22px;box-shadow:var(--gsb-shadow)}
.gsb-split__image--short img{height:470px}
.gsb-list{margin:28px 0!important;padding:0!important;list-style:none!important}
.gsb-list li{position:relative;margin:14px 0;padding-left:34px;color:var(--gsb-ink);font-weight:730}
.gsb-list li:before{content:"✓";position:absolute;left:0;top:.12em;display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:var(--gsb-mint);color:var(--gsb-teal);font-size:12px;font-weight:950}
.gsb-section--dark .gsb-list li{color:var(--gsb-white)}
.gsb-section--dark .gsb-list li:before{background:rgba(255,255,255,.12);color:var(--gsb-gold-light)}
.gsb-statbar{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid var(--gsb-line);border-radius:18px;background:var(--gsb-white);box-shadow:var(--gsb-shadow)}
.gsb-stat{padding:30px;border-right:1px solid var(--gsb-line);text-align:center}
.gsb-stat:last-child{border-right:0}
.gsb-stat__value{margin:0 0 7px!important;color:var(--gsb-teal)!important;font-size:34px!important;font-weight:900}
.gsb-stat__label{margin:0!important;font-size:12px!important;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.gsb-service-card{overflow:hidden;border:1px solid var(--gsb-line);border-radius:20px;background:var(--gsb-white);box-shadow:var(--gsb-shadow)}
.gsb-service-card .wp-block-image img{height:250px;object-fit:cover}
.gsb-service-card__body{padding:30px}
.gsb-service-card__body p:last-child{margin-bottom:0}
.gsb-service-link{margin-top:20px!important;color:var(--gsb-teal)!important;font-size:12px!important;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.gsb-process{display:grid;grid-template-columns:repeat(4,1fr);gap:0;overflow:hidden;border:1px solid rgba(255,255,255,.15);border-radius:20px}
.gsb-step{padding:34px;border-right:1px solid rgba(255,255,255,.15)}
.gsb-step:last-child{border-right:0}
.gsb-step__num{margin:0 0 30px!important;color:var(--gsb-gold-light)!important;font-size:46px!important;font-weight:900}
.gsb-step h3{color:var(--gsb-white)}
.gsb-step p{margin-bottom:0;color:#cad7d7}
.gsb-band{display:grid;grid-template-columns:110px 1fr auto;gap:30px;align-items:center;padding:34px;border:1px solid var(--gsb-line);border-radius:18px;background:var(--gsb-white);box-shadow:var(--gsb-shadow)}
.gsb-band + .gsb-band{margin-top:18px}
.gsb-band__num{margin:0!important;color:var(--gsb-teal)!important;font-size:48px!important;font-weight:900}
.gsb-band h3{margin-bottom:8px}
.gsb-band p{margin-bottom:0}
.gsb-gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:230px;gap:14px}
.gsb-gallery .wp-block-image{overflow:hidden;border-radius:17px}
.gsb-gallery .wp-block-image img{height:100%;object-fit:cover;transition:transform .35s ease}
.gsb-gallery .wp-block-image:hover img{transform:scale(1.035)}
.gsb-gallery .wp-block-image:nth-child(1){grid-column:span 7;grid-row:span 2}
.gsb-gallery .wp-block-image:nth-child(2){grid-column:span 5}
.gsb-gallery .wp-block-image:nth-child(3){grid-column:span 5}
.gsb-gallery .wp-block-image:nth-child(4){grid-column:span 4}
.gsb-gallery .wp-block-image:nth-child(5){grid-column:span 4}
.gsb-gallery .wp-block-image:nth-child(6){grid-column:span 4}
.gsb-quote{padding:34px;border-left:5px solid var(--gsb-gold);border-radius:0 18px 18px 0;background:var(--gsb-sand)}
.gsb-quote p{margin-bottom:0;font-size:19px!important;line-height:1.8!important}
.gsb-cta{position:relative;isolation:isolate;padding:80px 0;background:var(--gsb-navy);overflow:hidden}
.gsb-cta:after{content:"";position:absolute;right:-110px;top:-180px;z-index:-1;width:480px;height:480px;border:1px solid rgba(255,255,255,.1);border-radius:50%}
.gsb-cta__grid{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center}
.gsb-cta h2{max-width:780px;color:var(--gsb-white)}
.gsb-cta p{max-width:720px;color:#cbd9d9}
.gsb-contact-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:30px;align-items:start}
.gsb-contact-card{padding:34px;border-radius:20px;background:var(--gsb-navy);color:var(--gsb-white)}
.gsb-contact-card h3{color:var(--gsb-white)}
.gsb-contact-card p{color:#d4e0e0}
.gsb-contact-card a{color:var(--gsb-white);font-weight:800}
.gsb-contact-row{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.13)}
.gsb-contact-row:last-child{border-bottom:0}
.gsb-contact-label{margin:0 0 5px!important;color:var(--gsb-gold-light)!important;font-size:11px!important;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.gsb-form-card{padding:36px;border:1px solid var(--gsb-line);border-radius:20px;background:var(--gsb-white);box-shadow:var(--gsb-shadow)}
.gsb-contact-form{display:grid;gap:17px}
.gsb-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}
.gsb-contact-form label,.gsb-form-card--editor label{display:grid;gap:8px;color:var(--gsb-ink);font-size:13px;font-weight:800}
.gsb-contact-form input,.gsb-contact-form select,.gsb-contact-form textarea,.gsb-form-card--editor input,.gsb-form-card--editor select,.gsb-form-card--editor textarea{width:100%;min-height:50px;padding:12px 14px;border:1px solid #cad8d8;border-radius:8px;background:#fbfdfd;color:var(--gsb-ink);font:inherit}
.gsb-contact-form textarea{min-height:150px;resize:vertical}
.gsb-contact-form input:focus,.gsb-contact-form select:focus,.gsb-contact-form textarea:focus{outline:2px solid rgba(23,116,122,.23);border-color:var(--gsb-teal)}
.gsb-contact-form button,.gsb-form-card--editor button{min-height:54px;padding:14px 22px;border:0;border-radius:8px;background:var(--gsb-teal);color:var(--gsb-white);font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.gsb-privacy-field{grid-template-columns:auto 1fr!important;align-items:start;font-weight:500!important}
.gsb-privacy-field input{width:18px!important;min-height:18px!important;margin-top:3px}
.gsb-hp{position:absolute!important;left:-9999px!important}
.gsb-form-message{margin-bottom:20px;padding:14px 16px;border-radius:8px;font-weight:750}
.gsb-form-message--success{background:#e6f5ec;color:#1c6a3f}
.gsb-form-message--error{background:#fff0ef;color:#a3352d}
.gsb-editor-form-label{color:var(--gsb-teal)!important;font-size:12px!important;font-weight:900;letter-spacing:.12em}
.gsb-faq{display:grid;gap:14px}
.gsb-faq-item{padding:26px;border:1px solid var(--gsb-line);border-radius:14px;background:var(--gsb-white)}
.gsb-faq-item h3{margin-bottom:8px;font-size:20px}
.gsb-faq-item p{margin-bottom:0}
@media(max-width:1024px){
    .gsb-home-hero__grid,.gsb-split,.gsb-split--reverse,.gsb-contact-layout{grid-template-columns:1fr;gap:44px}
    .gsb-home-hero{padding:78px 0 90px}
    .gsb-grid-4{grid-template-columns:repeat(2,1fr)}
    .gsb-grid-3{grid-template-columns:repeat(2,1fr)}
    .gsb-process{grid-template-columns:repeat(2,1fr)}
    .gsb-step:nth-child(2){border-right:0}.gsb-step:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.15)}
    .gsb-statbar{grid-template-columns:repeat(2,1fr)}
    .gsb-stat:nth-child(2){border-right:0}.gsb-stat:nth-child(-n+2){border-bottom:1px solid var(--gsb-line)}
    .gsb-cta__grid{grid-template-columns:1fr}
    .gsb-split__image img{height:500px}
}
@media(max-width:767px){
    .gsb-container,.gsb-narrow{width:min(100% - 28px,var(--gsb-max))}
    .gsb-section{padding:72px 0}.gsb-section--compact{padding:56px 0}
    .geoservice-site h1{font-size:42px}.geoservice-site h2{font-size:34px}
    .gsb-home-hero{padding:65px 0 76px}.gsb-page-hero{min-height:420px;padding:80px 0 58px}
    .gsb-grid-2,.gsb-grid-3,.gsb-grid-4,.gsb-form-grid{grid-template-columns:1fr}
    .gsb-benefits{margin-top:0;padding-top:22px}
    .gsb-statbar,.gsb-process{grid-template-columns:1fr}
    .gsb-stat,.gsb-step{border-right:0;border-bottom:1px solid var(--gsb-line)}
    .gsb-step{border-bottom-color:rgba(255,255,255,.15)}
    .gsb-stat:last-child,.gsb-step:last-child{border-bottom:0}
    .gsb-band{grid-template-columns:72px 1fr;padding:26px}.gsb-band .wp-block-buttons{grid-column:1/-1}
    .gsb-gallery{grid-template-columns:1fr;grid-auto-rows:260px}
    .gsb-gallery .wp-block-image:nth-child(n){grid-column:1;grid-row:auto}
    .gsb-split__image img,.gsb-split__image--short img{height:390px}
    .gsb-card,.gsb-form-card,.gsb-contact-card{padding:26px}
    .gsb-buttons{display:grid}.gsb-buttons .wp-block-button{width:100%}.gsb-buttons .wp-block-button__link{width:100%}
}

/* Real full-width layout inside Astra while preserving Astra Header/Footer Builder. */
body.page-template-geoservice-astra-fullwidth .site-content,
body.page-template-geoservice-astra-fullwidth #content{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
}
body.page-template-geoservice-astra-fullwidth .site-content > .ast-container,
body.page-template-geoservice-astra-fullwidth #content > .ast-container{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
}
body.page-template-geoservice-astra-fullwidth #primary,
body.page-template-geoservice-astra-fullwidth .site-main.geoservice-theme-main{
    float:none!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
}
