/*
Theme Name: GabryWebDesign
Theme URI: https://gabrywebdesign.com/
Author: Gabriel Badragan
Description: Tema WordPress per il sito professionale GabryWebDesign. Portfolio, offerte, blog e modulo contatti.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: gabrywebdesign
License: GPL-2.0-or-later
*/

:root{--navy:#101c38;--navy-deep:#0b142b;--navy-mid:#1a2b4f;--ink:#182942;--muted:#52627b;--line:#dce5f0;--pale:#f3f7fc;--white:#fff;--blue:#136ed0;--blue-bright:#2194e9;--orange:#f7832c;--radius:20px;--shadow:0 18px 54px rgba(11,30,66,.11)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased}
body.admin-bar .site-header{top:32px}
img{max-width:100%;height:auto;vertical-align:middle}
a{color:#0b65b9;text-decoration:none}a:hover{text-decoration:underline}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid #ee872e;outline-offset:3px}
h1,h2,h3,h4{line-height:1.14;letter-spacing:-.035em;margin:0 0 .56em;font-weight:800}
h1{font-size:clamp(2.75rem,5.5vw,5.5rem)}
h2{font-size:clamp(2rem,3.4vw,3.3rem)}
h3{font-size:1.24rem}
p{margin:0 0 1.35em}
.container{width:min(100% - 48px,1180px);margin-inline:auto}
.container.narrow{max-width:820px}
.section{padding:clamp(72px,8vw,110px) 0}
.section-soft{background:var(--pale)}
.section-dark{background:var(--navy);color:var(--white)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen-reader-text:focus{clip:auto!important;height:auto;width:auto;top:12px;left:12px;z-index:1000;padding:10px;background:#fff;color:#000}
.skip-link:focus{position:fixed}
.eyebrow{display:inline-block;margin-bottom:18px;color:#0a65b3;font-size:.77rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.eyebrow-light{color:#82d5ff}
.text-link{display:inline-flex;align-items:center;gap:10px;color:#0a5da8;font-weight:750}
.text-link:hover{color:#084b83}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;border-radius:12px;border:1px solid transparent;font-size:.92rem;font-weight:750;line-height:1.2;text-align:center;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.button:hover{transform:translateY(-2px);text-decoration:none}
.button-primary{background:linear-gradient(110deg,#087aca 2%,#168edf 56%,#f58025 100%);color:#fff;box-shadow:0 10px 25px rgba(13,105,198,.22)}
.button-primary:hover{color:#fff;box-shadow:0 14px 28px rgba(13,105,198,.32)}
.button-outline{border-color:#b8cbe1;background:#fff;color:#144265}
.button-outline:hover{background:#f5faff;color:#144265}
.button-ghost{border-color:#8aa3cd;background:rgba(255,255,255,.035);color:#fff}
.button-ghost:hover{background:rgba(255,255,255,.1);color:#fff}
.button-light{background:#fff;color:#14345c;white-space:nowrap}
.button-light:hover{color:#14345c}
.button-large{min-height:56px;padding:16px 26px;font-size:1rem}

/* Header */
.site-header{position:sticky;top:0;z-index:99;background:rgba(255,255,255,.97);border-bottom:1px solid #ecf0f5;backdrop-filter:blur(14px)}
.header-inner{display:flex;align-items:center;gap:26px;min-height:78px}
.site-brand{flex:0 0 auto;min-width:0}.site-brand a{display:block}.site-brand img{width:206px;height:auto;max-height:55px;object-fit:contain;object-position:left}
.site-brand .custom-logo{max-width:206px;max-height:55px;width:auto;height:auto}
.site-nav{margin-left:auto}.site-menu{display:flex;align-items:center;gap:23px;list-style:none;margin:0;padding:0}.site-menu a{display:block;padding:15px 0;color:#2c3d59;font-size:.89rem;font-weight:650}.site-menu a:hover,.site-menu .current-menu-item>a,.site-menu .current_page_item>a{color:#0067b8;text-decoration:none}
.site-menu .sub-menu{position:absolute;list-style:none;margin:0;padding:10px 15px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);display:none}.site-menu li:hover>.sub-menu,.site-menu li:focus-within>.sub-menu{display:block}
.header-cta{min-height:42px;padding:12px 17px;font-size:.81rem;white-space:nowrap}.nav-toggle{display:none}

/* Home hero */
.hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(120deg,#0b142b,#142952 75%,#172950);color:#fff}
.hero-glow{position:absolute;z-index:-1;pointer-events:none;filter:blur(8px);border-radius:50%}.hero-glow-one{width:500px;height:500px;left:-200px;bottom:-300px;background:radial-gradient(circle,rgba(31,143,223,.25),transparent 70%)}.hero-glow-two{width:720px;height:620px;right:-180px;top:-200px;background:radial-gradient(circle,rgba(142,91,201,.18),transparent 70%)}
.hero-inner{padding:clamp(92px,10vw,144px) 0 clamp(94px,10vw,136px);text-align:center;max-width:1050px}
.hero-kicker{padding:8px 16px;margin-bottom:26px;border:1px solid rgba(189,219,255,.32);border-radius:100px;background:rgba(255,255,255,.08);color:#d9f2ff;font-size:.78rem;letter-spacing:.035em;text-transform:none}
.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#52d5a2;margin-right:7px}
.hero h1{max-width:990px;margin:0 auto 24px;color:#fff;text-wrap:balance}
.hero-lead{max-width:700px;margin:0 auto 31px;color:#d5e2f4;font-size:clamp(1.09rem,1.5vw,1.27rem);line-height:1.65}
.hero-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:13px}.hero-points{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;list-style:none;padding:0;margin:33px 0 0;color:#d1dfef;font-size:.9rem}.hero-points li::before{content:"";display:inline-block;width:7px;height:7px;margin:0 8px 2px 0;background:#52d5a2;border-radius:50%}

/* Shared sections */
.split-intro{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:75px}.split-intro h2{margin-bottom:0}.split-intro p{font-size:1.13rem;color:var(--muted)}
.section-heading{max-width:720px;margin:0 auto 43px;text-align:center}.section-heading h2{margin-bottom:14px}.section-heading p{margin-bottom:0;color:var(--muted);font-size:1.06rem}.section-dark .section-heading p{color:#cbdcf1}
.section-heading-row{max-width:none;display:flex;align-items:end;justify-content:space-between;text-align:left}.section-heading-row .button{margin-bottom:6px}
.section-footer{text-align:center;margin-top:38px}
.offer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:17px}
.offer-card{position:relative;display:flex;flex-direction:column;padding:27px 23px 23px;border-radius:var(--radius);border:1px solid #dae5f1;background:#fff;box-shadow:0 10px 29px rgba(19,44,88,.06)}
.offer-card.is-featured{border:2px solid #228fd9;box-shadow:0 19px 39px rgba(20,91,164,.13)}
.offer-badge{position:absolute;top:-17px;left:50%;transform:translateX(-50%);padding:4px 16px;border-radius:100px;background:linear-gradient(100deg,#168de1,#fa852b);color:#fff;font-size:.75rem;font-weight:800;white-space:nowrap}
.offer-symbol{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#d8f3ff,#fce3d4);color:#124c80;font-weight:800;margin-bottom:21px}
.offer-card h3{font-size:1.19rem;color:#123756;margin-bottom:8px}.offer-card>p{font-size:.92rem;line-height:1.5;color:#50617a;min-height:66px;margin-bottom:12px}
.offer-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px;margin:4px 0 20px;color:#253953}.offer-price strong{font-size:2.15rem;line-height:1;font-weight:850;letter-spacing:-.05em}.offer-price span{font-size:.78rem;color:#5e6a79}
.offer-action{margin-top:auto;min-height:46px;padding:10px 8px;font-size:.76rem;white-space:normal}.offer-card.is-featured .offer-action{border-color:transparent;background:linear-gradient(110deg,#087aca,#f58025);color:#fff}
.check-list{list-style:none;padding:0;margin:0 0 24px;color:#344860;font-size:.87rem}.check-list li{position:relative;padding-left:21px;margin:0 0 11px;line-height:1.42}.check-list li::before{content:"✓";position:absolute;left:0;top:0;color:#0f71bb;font-weight:800}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.project-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 9px 33px rgba(15,39,76,.06)}
.project-media{aspect-ratio:16/9;overflow:hidden;background:#122244}.project-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .35s ease}.project-card:hover .project-media img{transform:scale(1.04)}
.project-art{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:30px;background:radial-gradient(circle at 80% 20%,#27638e 0,transparent 50%),linear-gradient(130deg,#0d1d3f,#1b3765);color:#fff;text-align:center}.project-art::before{content:"";position:absolute;inset:17px;border:1px solid rgba(255,255,255,.16);border-radius:10px}.project-art-mark{position:relative;font-size:clamp(1.7rem,3vw,2.7rem);font-weight:850;line-height:1.15;letter-spacing:-.05em}.project-art small{position:relative;margin-top:13px;color:#d0e3ff;font-size:.65rem;font-weight:750;letter-spacing:.24em}.project-art-villa-bianca-salento{background:radial-gradient(circle at 73% 16%,#6b9fab,transparent 48%),linear-gradient(135deg,#122d3c,#34636c)}.project-art-gabriel-rising{background:radial-gradient(circle at 78% 15%,#794786,transparent 44%),linear-gradient(130deg,#15132e,#31335e)}.project-art-gabriel-badragan{background:radial-gradient(circle at 78% 15%,#bf704b,transparent 44%),linear-gradient(130deg,#181d3a,#394359)}
.project-info{padding:26px 27px 29px}.project-info .eyebrow{margin-bottom:8px;font-size:.7rem}.project-info h3{font-size:1.48rem;margin-bottom:9px}.project-info p{color:var(--muted);min-height:54px;font-size:.94rem}.project-info .text-link{font-size:.89rem}
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.steps-grid article{border-top:1px solid #6c87af;padding:26px 6px 0}.steps-grid span,.value-number{display:inline-block;margin-bottom:26px;color:#78d4ff;font-size:1.9rem;font-weight:800;letter-spacing:-.05em}.steps-grid h3{color:inherit}.steps-grid p{color:#cddcf0;font-size:.95rem}.steps-light article{border-top-color:#becfe0}.steps-light span{color:#0b70bc}.steps-light p{color:var(--muted)}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(42px,6vw,90px)}.about-grid p{color:var(--muted);font-size:1.03rem}.about-grid .button{margin-top:12px}
.about-visual{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:445px;border-radius:28px;background:linear-gradient(145deg,#0f2244,#1c3d6a);color:#cddff1;overflow:hidden;box-shadow:var(--shadow)}.about-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%}.about-visual>span{position:relative;margin-top:22px;letter-spacing:.15em;text-transform:uppercase;font-size:.76rem;font-weight:750}.about-monogram{position:relative;display:grid;place-items:center;width:194px;height:194px;border-radius:36px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16)}.about-monogram img{max-width:125px;max-height:125px;object-fit:contain}
.cta-section{background:#f7faff;padding:72px 0}.cta-panel{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:50px 58px;border-radius:28px;color:#fff;background:radial-gradient(circle at 85% 10%,rgba(251,144,75,.2),transparent 36%),linear-gradient(115deg,#102045,#194076)}.cta-panel h2{font-size:clamp(1.9rem,3.2vw,3rem);max-width:690px;margin-bottom:9px}.cta-panel p{color:#d5e4f8;margin-bottom:0}.cta-panel .eyebrow{margin-bottom:10px}

/* Interior pages */
.page-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 95% 30%,#284678,#142346 45%,#101a34 85%);color:#fff;text-align:center;padding:clamp(82px,8vw,115px) 0}.page-hero h1{font-size:clamp(2.6rem,4.7vw,4.7rem);margin-bottom:20px}.page-hero p{font-size:1.13rem;color:#d4e3f4;max-width:740px;margin:0 auto}.page-hero .eyebrow{margin-bottom:18px}
.price-note{max-width:900px;color:#53647c;font-size:.87rem;margin:24px auto 0;text-align:center}
.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.detail-grid>div{padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:14px}.detail-grid span{display:block;margin-bottom:6px;color:#56708e;font-size:.83rem}.detail-grid strong{display:block;color:#20314a;font-size:.98rem;line-height:1.55}.detail-note{margin-top:22px;color:var(--muted);font-size:.94rem}
.faq-section details{border-bottom:1px solid var(--line);padding:19px 0}.faq-section summary{font-size:1.03rem;font-weight:750;cursor:pointer}.faq-section details p{margin:12px 0 0;color:var(--muted)}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.value-grid article{padding:30px;border:1px solid #dce6f1;background:#fff;border-radius:18px}.value-grid .value-number{font-size:1.35rem;margin-bottom:15px;color:#0f6db4}.value-grid p{color:var(--muted)}
.about-page-grid{align-items:center}
.contact-grid{display:grid;grid-template-columns:.83fr 1.17fr;align-items:start;gap:clamp(34px,5vw,72px)}.contact-intro h2{max-width:450px}.contact-intro>p{color:var(--muted);font-size:1.04rem}.contact-card{padding:18px 0;border-top:1px solid var(--line)}.contact-card h3{margin-bottom:6px;font-size:1rem}.contact-card p{margin:0;color:var(--muted)}.contact-intro>.button{margin-top:23px}
.form-card{padding:38px;background:#fff;border:1px solid #e0e8f2;border-radius:22px;box-shadow:var(--shadow)}.form-card h2{font-size:1.8rem;margin-bottom:10px}.form-card>p{color:var(--muted);font-size:.92rem}.contact-form{display:grid;gap:18px;margin-top:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.contact-form label{display:block;margin-bottom:7px;font-size:.85rem;font-weight:720;color:#293c53}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{width:100%;min-height:46px;padding:11px 13px;border:1px solid #bdcbda;border-radius:9px;background:#fff;color:#172b46}.contact-form textarea{min-height:138px;resize:vertical}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#718097}.contact-form .checkbox-row{display:flex;align-items:flex-start;gap:11px;font-weight:500;line-height:1.5}.checkbox-row input{width:19px;height:19px;flex:0 0 auto;margin-top:2px;accent-color:#0f72c5}.checkbox-row a{text-decoration:underline}.contact-form button{justify-self:start}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.site-field[hidden]{display:none}.form-alert{padding:12px 15px;border-radius:10px;font-weight:650}.form-success{background:#dff7e7;color:#14532d}.form-error{background:#fff0ed;color:#8f2d1c}
.article-wrap{max-width:860px;padding-top:70px;padding-bottom:100px}.article-card{margin-bottom:26px}.article-card>header{margin-bottom:30px}.article-card h1{font-size:clamp(2.6rem,5vw,4.4rem);margin:16px 0}.article-card>header p{color:var(--muted);font-size:1.1rem}.article-card .article-meta{font-size:.86rem}.article-image{margin:30px 0}.article-image img{width:100%;height:auto;border-radius:16px}.entry-content{font-size:1.07rem;line-height:1.78}.entry-content h2,.entry-content h3{margin:1.5em 0 .5em}.entry-content a{text-decoration:underline}.entry-content img{height:auto}.entry-content blockquote{padding:8px 25px;border-left:4px solid var(--blue);background:var(--pale)}
.posts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.post-card{overflow:hidden;border:1px solid var(--line);border-radius:18px}.post-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.post-card-body{padding:23px}.post-card-body .eyebrow{font-size:.68rem;margin-bottom:8px}.post-card h2{font-size:1.3rem;margin-bottom:9px}.post-card h2 a{color:var(--ink)}.post-card p{font-size:.9rem;color:var(--muted)}.pagination{margin-top:34px;text-align:center}.pagination .nav-links,.pagination ul{display:flex;justify-content:center;gap:12px;list-style:none}.pagination a,.pagination .current{padding:8px 12px;border:1px solid var(--line);border-radius:8px}.not-found{text-align:center}.not-found h1{font-size:clamp(2.5rem,5vw,4rem)}.not-found .hero-actions{margin-top:26px}
.comments-area{padding:32px 0;border-top:1px solid var(--line)}.comments-area ol{padding-left:28px}.comments-area textarea{width:100%}.comments-area input[type=text],.comments-area input[type=email],.comments-area input[type=url]{max-width:100%;padding:9px;border:1px solid var(--line);border-radius:6px}

/* Footer */
.site-footer{background:#0b152d;color:#d2deef;padding:65px 0 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:65px}.footer-grid h2{font-size:1rem;color:#fff;letter-spacing:0;margin-bottom:19px}.footer-grid p{font-size:.91rem;max-width:380px;color:#bacbe0}.footer-grid a{color:#dcecff}.footer-grid ul{padding:0;margin:0;list-style:none}.footer-grid li{margin-bottom:9px}.footer-brand{display:inline-flex;align-items:center;gap:11px;color:#fff!important;font-weight:800;font-size:1.2rem;margin-bottom:12px}.footer-brand img{width:42px;height:42px;object-fit:contain}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #32415b;padding:20px 0;margin-top:60px;font-size:.78rem;color:#aabdd4}.footer-bottom a{color:#c7dcf4;margin-left:17px}

/* Mobile */
@media(max-width:1100px){.header-inner{gap:16px}.site-brand img{width:182px}.site-menu{gap:14px}.header-cta{font-size:.76rem;padding:10px 12px}.offer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:21px}.offer-card>p{min-height:0}}
@media(max-width:850px){body.admin-bar .site-header{top:46px}.header-inner{min-height:70px}.nav-toggle{display:inline-flex;align-items:center;gap:9px;margin-left:auto;background:#fff;color:#213b59;border:1px solid var(--line);border-radius:9px;padding:8px 12px;min-height:44px;font-weight:750}.nav-toggle-bars,.nav-toggle-bars::before,.nav-toggle-bars::after{display:block;width:19px;height:2px;border-radius:2px;background:#213b59;position:relative}.nav-toggle-bars::before,.nav-toggle-bars::after{content:"";position:absolute;left:0}.nav-toggle-bars::before{top:-6px}.nav-toggle-bars::after{top:6px}.site-nav{position:absolute;top:100%;left:0;right:0;display:none;background:#fff;border-bottom:1px solid var(--line);padding:12px 24px 22px;box-shadow:0 16px 25px rgba(5,22,54,.13)}.site-nav.is-open{display:block}.site-menu{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-menu li{width:100%}.site-menu a{padding:10px 5px;font-size:1rem}.site-menu .sub-menu{position:static;display:block;box-shadow:none;border:0;padding:0 0 0 15px}.header-cta{display:none}.split-intro,.about-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.about-visual{min-height:360px}.footer-grid{grid-template-columns:1.6fr 1fr;gap:35px}.footer-grid>div:last-child{grid-column:1/-1}.steps-grid{grid-template-columns:repeat(2,1fr)}.posts-grid{grid-template-columns:repeat(2,1fr)}.cta-panel{padding:40px;flex-direction:column;align-items:start}.section-heading-row{align-items:start;flex-direction:column;gap:14px}}
@media(max-width:600px){.container{width:min(100% - 34px,1180px)}.section{padding:66px 0}.hero-inner{padding:82px 0 91px}.hero h1{font-size:clamp(2.45rem,10.5vw,3.5rem)}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{width:100%}.hero-points{gap:9px 15px;font-size:.81rem}.page-hero{padding:77px 0}.page-hero h1{font-size:clamp(2.4rem,9vw,3.4rem)}.page-hero p{font-size:1rem}.offer-grid,.project-grid,.steps-grid,.value-grid,.detail-grid,.posts-grid,.form-row{grid-template-columns:1fr}.offer-card{padding:27px 23px 23px}.offer-card>p{min-height:0}.project-info{padding:23px}.section-heading{margin-bottom:31px}.about-visual{min-height:340px}.cta-section{padding:50px 0}.cta-panel{padding:31px 25px;gap:25px}.cta-panel .button{white-space:normal;width:100%}.form-card{padding:26px 19px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:8px}.footer-bottom a:first-child{margin-left:0}}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
@media(max-width:480px){.site-brand img{width:168px}.site-brand .custom-logo{max-width:168px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
