.elementor-455 .elementor-element.elementor-element-d7d034d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-455 .elementor-element.elementor-element-0be579b{background-color:var( --e-global-color-primary );}.elementor-455 .elementor-element.elementor-element-fbfe658{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-455 .elementor-element.elementor-element-e752a0e{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:25px;--margin-bottom:25px;--margin-left:25px;--margin-right:25px;}.elementor-455 .elementor-element.elementor-element-e752a0e.e-con{--align-self:stretch;}.elementor-455 .elementor-element.elementor-element-3bdf853{width:100%;max-width:100%;}.elementor-455 .elementor-element.elementor-element-3bdf853.elementor-element{--align-self:center;}.elementor-455 .elementor-element.elementor-element-d534d5d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}body.elementor-page-455:not(.elementor-motion-effects-element-type-background), body.elementor-page-455 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}@media(min-width:768px){.elementor-455 .elementor-element.elementor-element-e752a0e{--width:100%;}}/* Start custom CSS *//* =========================================================
   CONTACT PAGE
========================================================= */

.contact-hero,
.contact-main-section,
.contact-cta{
position:relative;
overflow:hidden;
background:
linear-gradient(
180deg,
#07002f 0%,
#120046 50%,
#0b0238 100%
);
}

/* =========================================================
   SINGLE LARGE BACKGROUND LOGO
========================================================= */

.contact-main-section::before{
content:'';
position:absolute;

top:50%;
left:50%;

transform:translate(-50%,-50%);

width:1400px;
height:1400px;

background-image:url('https://www.alvodigital.co.uk/wp-content/uploads/2026/05/alvo-orange-logo-big-.png');
background-repeat:no-repeat;
background-position:center;
background-size:contain;

opacity:0.05;

pointer-events:none;
z-index:1;
}

.contact-main-section .container{
position:relative;
z-index:2;
}

/* =========================================================
   HERO
========================================================= */

.contact-hero{
padding:55px 0 35px;
text-align:center;
border-radius:0 0 48px 48px;
}

.contact-hero .container{
position:relative;
z-index:2;
}

.contact-hero h1{
font-size:clamp(4rem,8vw,6.5rem);
line-height:1;
font-weight:800;
letter-spacing:-3px;
color:#fff;
margin-bottom:34px;
max-width:1000px;
margin-inline:auto;
}

.contact-hero .hero-text{
font-size:1.15rem;
line-height:1.9;
color:rgba(255,255,255,.82);
max-width:860px;
margin:0 auto;
}

.contact-hero-buttons{
display:flex;
justify-content:center;
gap:18px;
margin-top:44px;
flex-wrap:wrap;
}

.contact-primary-btn{
display:inline-flex;
align-items:center;
justify-content:center;
padding:18px 34px;
background:#ff8c00;
color:#fff;
font-weight:700;
border-radius:18px;
text-decoration:none;
transition:.3s ease;
box-shadow:0 14px 40px rgba(255,140,0,.25);
}

.contact-primary-btn:hover{
transform:translateY(-4px);
}

.contact-secondary-btn{
display:inline-flex;
align-items:center;
justify-content:center;
padding:18px 34px;
background:rgba(255,255,255,.08);
border:1px solid rgba(255,255,255,.12);
color:#fff;
font-weight:600;
border-radius:18px;
text-decoration:none;
backdrop-filter:blur(10px);
transition:.3s ease;
}

.contact-secondary-btn:hover{
background:rgba(255,255,255,.14);
transform:translateY(-4px);
}

/* =========================================================
   MAIN SECTION
========================================================= */

.contact-main-section{
padding:35px 0;
}

.contact-layout{
display:grid;
grid-template-columns:1fr 1fr;
gap:70px;
align-items:start;
}

.contact-left h2{
font-size:3.4rem;
line-height:1.08;
font-weight:800;
letter-spacing:-2px;
color:#fff;
margin-bottom:28px;
}

.contact-left p{
font-size:1.05rem;
line-height:1.9;
color:rgba(255,255,255,.78);
margin-bottom:22px;
}

/* =========================================================
   INFO GRID
========================================================= */

.contact-info-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:24px;
margin-top:40px;
}

.contact-info-card{
background:rgba(255,255,255,.05);
border:1px solid rgba(255,255,255,.08);
padding:28px;
border-radius:24px;
backdrop-filter:blur(10px);
}

.contact-info-card h3{
font-size:1.1rem;
font-weight:700;
color:#fff;
margin-bottom:12px;
}

.contact-info-card p,
.contact-info-card a{
color:rgba(255,255,255,.78);
text-decoration:none;
line-height:1.7;
transition:.3s ease;
}

.contact-info-card a:hover{
color:#ff8c00;
}

/* =========================================================
   FORM
========================================================= */

.contact-form-wrap{
position:relative;
z-index:2;
}

.contact-form-card{
background:#ffffff;
padding:50px;
border-radius:36px;
box-shadow:0 30px 80px rgba(0,0,0,.18);
}

.contact-form-card h3{
font-size:2.4rem;
line-height:1.1;
font-weight:800;
letter-spacing:-1.5px;
color:#120046;
margin-bottom:18px;
}

.contact-form-card p{
font-size:1rem;
line-height:1.8;
color:#5f6783;
margin-bottom:38px;
}

/* =========================================================
   CONTACT FORM 7
========================================================= */

.alvo-form-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:22px;
}

.full-width{
grid-column:1/-1;
}

.alvo-field label{
display:block;
margin-bottom:10px;
font-size:.92rem;
font-weight:600;
color:#120046;
}

.alvo-field input,
.alvo-field textarea{
width:100%;
padding:18px 20px;
border-radius:18px;
border:1px solid rgba(18,0,70,.08);
background:#f8f9ff;
font-size:1rem;
font-family:'Poppins',sans-serif;
transition:.3s ease;
}

.alvo-field textarea{
min-height:180px;
resize:vertical;
}

.alvo-field input:focus,
.alvo-field textarea:focus{
outline:none;
border-color:#ff8c00;
box-shadow:0 0 0 4px rgba(255,140,0,.12);
}

.alvo-checkbox{
font-size:.92rem;
line-height:1.8;
color:#5f6783;
}

.alvo-checkbox input{
margin-right:10px;
}

.wpcf7-submit{
background:#ff8c00;
color:#fff;
border:none;
padding:18px 34px;
border-radius:18px;
font-weight:700;
font-size:1rem;
cursor:pointer;
transition:.3s ease;
font-family:'Poppins',sans-serif;
box-shadow:0 14px 40px rgba(255,140,0,.22);
}

.wpcf7-submit:hover{
transform:translateY(-4px);
}

/* =========================================================
   CTA
========================================================= */

.contact-cta{
padding:45px 0;
text-align:center;
border-radius:48px 48px 0 0;
}

.contact-cta h2{
font-size:clamp(3rem,6vw,4.6rem);
line-height:1;
font-weight:800;
letter-spacing:-2px;
color:#fff;
margin-bottom:28px;
}

.contact-cta p{
max-width:820px;
margin:0 auto 40px;
font-size:1.1rem;
line-height:1.9;
color:rgba(255,255,255,.82);
}

/* =========================================================
   MINI TITLE
========================================================= */

.mini-title{
display:inline-flex;
align-items:center;
gap:10px;
padding:10px 20px;
border-radius:100px;
background:rgba(255,255,255,.08);
border:1px solid rgba(255,255,255,.12);
font-size:.78rem;
font-weight:700;
letter-spacing:2px;
text-transform:uppercase;
color:#ff8c00;
margin-bottom:28px;
}

/* =========================================================
   GLOBAL BUTTON
========================================================= */

.primary-btn{
display:inline-flex;
align-items:center;
justify-content:center;
padding:18px 34px;
background:#ff8c00;
color:#fff;
font-weight:700;
border-radius:18px;
text-decoration:none;
transition:.3s ease;
box-shadow:0 14px 40px rgba(255,140,0,.25);
}

.primary-btn:hover{
transform:translateY(-4px);
}

/* =========================================================
   MOBILE
========================================================= */

@media(max-width:992px){

.contact-layout{
grid-template-columns:1fr;
}

.contact-left h2{
font-size:2.6rem;
}

.contact-form-card{
padding:40px;
}

}

@media(max-width:768px){

.contact-hero{
padding:110px 0 90px;
}

.contact-hero h1{
font-size:3rem;
letter-spacing:-1px;
}

.contact-left h2,
.contact-form-card h3,
.contact-cta h2{
font-size:2rem;
}

.contact-hero-buttons{
flex-direction:column;
}

.contact-primary-btn,
.contact-secondary-btn,
.primary-btn{
width:100%;
}

.alvo-form-grid{
grid-template-columns:1fr;
}

.contact-info-grid{
grid-template-columns:1fr;
}

.contact-form-card{
padding:32px 26px;
}

}
/* =========================================================
   CONTACT FORM WRAP
========================================================= */

.contact-form-wrap{
background:#ffffff;
padding:50px;
border-radius:36px;
box-shadow:0 30px 80px rgba(0,0,0,.18);

max-width:820px;
margin:0 auto;
}

/* =========================================================
   FORM HEADER
========================================================= */

.contact-form-wrap .mini-title{
color:#ff8c00;
margin-bottom:18px;
}

.contact-form-wrap h3{
font-size:2.4rem;
line-height:1.1;
font-weight:800;
letter-spacing:-1.5px;
color:#120046;
margin-bottom:18px;
}

.contact-form-wrap > p{
font-size:1rem;
line-height:1.8;
color:#5f6783;
margin-bottom:34px;
}

/* =========================================================
   CONTACT FORM 7
========================================================= */

.contact-form-wrap .wpcf7{
width:100%;
}

.contact-form-wrap .wpcf7 form{
display:flex;
flex-direction:column;
gap:22px;
width:100%;
}

.contact-form-wrap .wpcf7 p{
margin:0;
}

/* LABELS */

.contact-form-wrap label{
display:block;
font-size:.95rem;
font-weight:600;
color:#120046 !important;
margin-bottom:10px;
line-height:1.5;
}

/* INPUTS */

.contact-form-wrap input,
.contact-form-wrap textarea{
width:100%;
padding:18px 22px;
border-radius:18px;
border:1px solid rgba(18,0,70,.08);
background:#f7f8fc;
font-size:1rem;
font-family:'Poppins',sans-serif;
color:#120046 !important;
box-sizing:border-box;
transition:.3s ease;
margin-top:8px;
}

/* PLACEHOLDERS */

.contact-form-wrap input::placeholder,
.contact-form-wrap textarea::placeholder{
color:#7d849f;
opacity:1;
}

/* TEXTAREA */

.contact-form-wrap textarea{
min-height:180px;
resize:vertical;
}

/* FOCUS */

.contact-form-wrap input:focus,
.contact-form-wrap textarea:focus{
outline:none;
border-color:#ff8c00;
box-shadow:0 0 0 4px rgba(255,140,0,.12);
background:#fff;
}

/* BUTTON */

.contact-form-wrap .wpcf7-submit{
width:100%;
background:#ff8c00;
color:#fff;
border:none;
padding:18px 24px;
border-radius:18px;
font-size:1rem;
font-weight:700;
font-family:'Poppins',sans-serif;
cursor:pointer;
transition:.3s ease;
box-shadow:0 16px 40px rgba(255,140,0,.22);
}

.contact-form-wrap .wpcf7-submit:hover{
transform:translateY(-4px);
box-shadow:0 20px 50px rgba(255,140,0,.28);
}

/* ERRORS */

.contact-form-wrap .wpcf7-not-valid-tip{
font-size:.85rem;
margin-top:6px;
color:#ff4d4f;
}

/* RESPONSE */

.contact-form-wrap .wpcf7-response-output{
margin-top:20px;
padding:14px 18px;
border-radius:14px;
font-size:.95rem;
color:#120046;
}

/* MOBILE */

@media(max-width:768px){

.contact-form-wrap{
padding:32px 24px;
}

.contact-form-wrap h3{
font-size:2rem;
}

}
/* FORCE CENTER FORM CONTAINER */

.contact-form-wrap{
margin-left:auto !important;
margin-right:auto !important;
}

.elementor-widget-shortcode{
display:flex;
justify-content:center;
}

.elementor-shortcode{
width:100%;
max-width:820px;
margin:0 auto;
}
/* SLIGHTLY MOVE FORM RIGHT */

.elementor-widget-shortcode{
padding-left:370px;
}
/* FORCE FORM LABELS WHITE */

.wpcf7 label{
color:#ffffff !important;
font-size:16px !important;
font-weight:600 !important;
opacity:1 !important;
}

.wpcf7 p{
color:#ffffff !important;
}
/* PREMIUM CHECKBOX ALIGNMENT */

.wpcf7-list-item{
margin:0 !important;
display:block;
}

.wpcf7-list-item label{
display:flex !important;
align-items:center;
gap:16px;
color:#ffffff !important;
font-size:16px !important;
font-weight:500 !important;
line-height:1.5;
}

.wpcf7-list-item input[type="checkbox"]{
width:18px;
height:18px;
min-width:18px;
margin:0;
accent-color:#ff8c00;
cursor:pointer;
}
/* MAKE CONSENT TEXT NARROWER */

.wpcf7-list-item label{
max-width:620px;
}
/* REDUCE GAP BETWEEN CHECKBOX ROWS */

.wpcf7-list-item{
margin-bottom:1px !important;
}

.wpcf7-checkbox .wpcf7-list-item{
display:block;
}
/* CONTACT CTA */

.contact-bottom-cta{
margin-top:60px;
display:flex;
justify-content:center;
}
/* =========================================================
   MOBILE FORM FIX
========================================================= */

@media(max-width:768px){

.contact-layout{
grid-template-columns:1fr !important;
gap:40px;
}

.contact-form-wrap{
width:100%;
max-width:100%;
margin:0 auto !important;
padding:32px 20px;
box-sizing:border-box;
}

.contact-form-wrap form{
width:100%;
}

.contact-form-wrap input,
.contact-form-wrap textarea,
.contact-form-wrap select{
width:100%;
max-width:100%;
box-sizing:border-box;
}
.elementor-shortcode{
width:100%;
max-width:100%;
margin:0 auto;
}

}
/* FORM POSITIONING */

.elementor-widget-shortcode{
display:flex;
justify-content:center;
width:100%;
padding-left:120px;
}

@media(max-width:768px){

.elementor-widget-shortcode{
padding-left:0 !important;
justify-content:center;
width:100%;
}

}/* End custom CSS */