/* Productos y Servicios Veterinarios Alcorcón (/productos-y-servicios/): estilos propios de la landing, sacados de Elementor. */
.cvhub-page{
--purple:#5b3b91;
--purple-dark:#40266f;
--purple-deep:#2d194d;
--purple-light:#7655aa;
--purple-soft:#f4f0fa;
--purple-pale:#faf8fc;
--black:#171717;
--text:#55515a;
--muted:#7a7680;
--white:#ffffff;
--bg:#faf9fb;
--border:#e7e2eb;
--shadow:0 20px 50px rgba(47,31,67,.09);
--max:1240px;
width:100%;
margin:0;
padding:0;
overflow:hidden;
background:#fff;
color:var(--black);
font-family:'Poppins',Arial,Helvetica,sans-serif;
}
.cvhub-page,.cvhub-page *,.cvhub-page *::before,.cvhub-page *::after{
box-sizing:border-box;
}
.cvhub-page a{
text-decoration:none !important;
}
.cvhub-page img{
display:block;
max-width:100%;
}
.cvhub-page h1,.cvhub-page h2,.cvhub-page h3,.cvhub-page p{
margin-top:0;
}
.cvhub-page h1,.cvhub-page h2,.cvhub-page h3{
font-family:'Poppins',Arial,Helvetica,sans-serif;
font-weight:700;
}
.cvhub-page p{
color:var(--text);
font-size:15px;
line-height:1.8;
}
.cvhub-wrap{
width:min(calc(100% - 60px),var(--max));
margin:0 auto;
}
.cvhub-btn{
min-height:50px;
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
padding:0 22px;
border-radius:999px;
font-size:13px;
line-height:1;
font-weight:600;
transition: transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease;
}
.cvhub-btn:hover{
transform:translateY(-2px);
}
.cvhub-btn-purple{
border:2px solid var(--purple);
background:var(--purple);
color:#fff !important;
}
.cvhub-btn-purple:hover{
background:var(--purple-dark);
border-color:var(--purple-dark);
}
.cvhub-btn-outline{
border:1px solid var(--border);
background:#fff;
color:var(--black) !important;
}
.cvhub-btn-outline:hover{
border-color:var(--purple);
color:var(--purple) !important;
}
.cvhub-hero{
position:relative;
padding:38px 0 82px;
background: linear-gradient(180deg,#ffffff 0%,#ffffff 72%,#faf9fb 100%);
}
.cvhub-breadcrumb{
display:flex;
align-items:center;
flex-wrap:wrap;
gap:7px;
margin-bottom:50px;
color:#8b8790;
font-size:12px;
line-height:1.5;
}
.cvhub-breadcrumb a{
color:#77727c !important;
}
.cvhub-breadcrumb a:hover{
color:var(--purple) !important;
}
.cvhub-hero-top{
display:grid;
grid-template-columns: minmax(0,1.15fr) minmax(300px,.65fr);
gap:70px;
align-items:end;
margin-bottom:50px;
}
.cvhub-eyebrow{
display:flex;
align-items:center;
gap:12px;
margin-bottom:18px;
color:var(--purple);
font-size:12px;
line-height:1;
font-weight:700;
letter-spacing:1.3px;
text-transform:uppercase;
}
.cvhub-eyebrow::before{
content:"";
width:34px;
height:2px;
border-radius:10px;
background:var(--purple);
}
.cvhub-hero h1{
max-width:820px;
margin:0;
color:var(--black);
font-size:64px;
line-height:1.03;
letter-spacing:-3px;
}
.cvhub-hero h1 span{
color:var(--purple);
}
.cvhub-hero-intro{
padding-bottom:5px;
}
.cvhub-hero-intro p{
margin-bottom:23px;
color:#656169;
font-size:15px;
line-height:1.8;
}
.cvhub-hero-actions{
display:flex;
flex-wrap:wrap;
gap:10px;
}
.cvhub-hero-media{
position:relative;
}
.cvhub-hero-image-wrap{
position:relative;
height:430px;
overflow:hidden;
border-radius:32px;
background:#ddd;
box-shadow: 0 30px 70px rgba(41,29,54,.13);
}
.cvhub-hero-image{
width:100%;
height:100%;
object-fit:cover;
object-position:center 42%;
}
.cvhub-hero-image-wrap::after{
content:"";
position:absolute;
inset:0;
background: linear-gradient(90deg,rgba(35,20,52,.17) 0%,rgba(35,20,52,.03) 45%,transparent 70%);
pointer-events:none;
}
.cvhub-floating{
position:absolute;
left:34px;
bottom:-34px;
z-index:3;
width:min(510px,calc(100% - 68px));
display:grid;
grid-template-columns:1fr 1px 1fr;
align-items:center;
gap:23px;
padding:21px 25px;
border:1px solid rgba(255,255,255,.75);
border-radius:19px;
background:rgba(255,255,255,.95);
box-shadow: 0 18px 45px rgba(42,29,58,.15);
backdrop-filter:blur(15px);
-webkit-backdrop-filter:blur(15px);
}
.cvhub-floating-divider{
width:1px;
height:45px;
background:var(--border);
}
.cvhub-floating-item{
display:flex;
align-items:center;
gap:12px;
}
.cvhub-floating-icon{
width:43px;
height:43px;
flex:0 0 43px;
display:flex;
align-items:center;
justify-content:center;
border-radius:13px;
background:var(--purple-soft);
color:var(--purple);
}
.cvhub-floating-icon svg{
width:21px;
height:21px;
fill:none;
stroke:currentColor;
stroke-width:1.8;
stroke-linecap:round;
stroke-linejoin:round;
}
.cvhub-floating-text strong{
display:block;
margin-bottom:2px;
color:var(--black);
font-size:13px;
line-height:1.3;
font-weight:700;
}
.cvhub-floating-text span{
display:block;
color:var(--muted);
font-size:11px;
line-height:1.4;
}
.cvhub-intro{
padding:105px 0 80px;
background:#fff;
}
.cvhub-intro-inner{
max-width:900px;
margin:0 auto;
text-align:center;
}
.cvhub-mini-label{
display:block;
margin-bottom:16px;
color:var(--purple);
font-size:11px;
font-weight:700;
letter-spacing:1.5px;
text-transform:uppercase;
}
.cvhub-intro h2{
margin-bottom:18px;
color:var(--black);
font-size:40px;
line-height:1.18;
letter-spacing:-1.4px;
}
.cvhub-intro h2 span{
color:var(--purple);
}
.cvhub-intro p{
max-width:750px;
margin:0 auto;
}
.cvhub-section-head{
display:grid;
grid-template-columns:1fr auto;
gap:30px;
align-items:end;
margin-bottom:42px;
}
.cvhub-section-copy{
max-width:720px;
}
.cvhub-section-number{
display:block;
margin-bottom:11px;
color:var(--purple);
font-size:11px;
line-height:1;
font-weight:700;
letter-spacing:1.4px;
text-transform:uppercase;
}
.cvhub-section-head h2{
margin-bottom:10px;
color:var(--black);
font-size:42px;
line-height:1.1;
letter-spacing:-1.5px;
}
.cvhub-section-head p{
max-width:650px;
margin:0;
}
.cvhub-services{
position:relative;
padding:90px 0 100px;
overflow:hidden;
background:#fff;
}
.cvhub-services::before{
content:"";
position:absolute;
width:450px;
height:450px;
top:-260px;
right:-220px;
border-radius:50%;
background:var(--purple-soft);
}
.cvhub-card-grid{
position:relative;
z-index:2;
display:grid;
grid-template-columns: repeat(4,minmax(0,1fr));
gap:15px;
}
.cvhub-service-card{
position:relative;
min-height:195px;
display:flex;
flex-direction:column;
padding:24px;
overflow:hidden;
border:1px solid var(--purple);
border-radius:21px;
background: linear-gradient(145deg,var(--purple-dark) 0%,var(--purple) 100%);
color:#fff !important;
box-shadow: 0 10px 30px rgba(67,42,103,.10);
transition: transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease,color .25s ease;
}
.cvhub-service-card::after{
content:"";
position:absolute;
width:110px;
height:110px;
top:-65px;
right:-60px;
border:1px solid rgba(255,255,255,.12);
border-radius:50%;
transition: border-color .25s ease,transform .3s ease;
}
.cvhub-service-card:hover{
transform:translateY(-4px);
background:#fff;
border-color:rgba(91,59,145,.25);
color:var(--purple-dark) !important;
box-shadow: 0 18px 45px rgba(55,35,83,.12);
}
.cvhub-service-card:hover::after{
border-color:rgba(91,59,145,.10);
transform:scale(1.15);
}
.cvhub-service-icon{
width:42px;
height:42px;
display:flex;
align-items:center;
justify-content:center;
margin-bottom:38px;
border-radius:12px;
background:rgba(255,255,255,.14);
color:#fff;
transition: background .25s ease,color .25s ease;
}
.cvhub-service-card:hover .cvhub-service-icon{
background:var(--purple-soft);
color:var(--purple);
}
.cvhub-service-icon svg{
width:21px;
height:21px;
fill:none;
stroke:currentColor;
stroke-width:1.8;
stroke-linecap:round;
stroke-linejoin:round;
}
.cvhub-service-card strong{
display:block;
margin-top:auto;
margin-bottom:5px;
color:#fff;
font-size:14px;
line-height:1.35;
font-weight:700;
transition:color .25s ease;
}
.cvhub-service-card:hover strong{
color:var(--black);
}
.cvhub-service-card small{
display:block;
color:rgba(255,255,255,.68);
font-size:11px;
line-height:1.5;
font-weight:400;
transition:color .25s ease;
}
.cvhub-service-card:hover small{
color:var(--muted);
}
.cvhub-products{
position:relative;
padding:100px 0;
overflow:hidden;
background:var(--purple-pale);
}
.cvhub-products::before{
content:"";
position:absolute;
width:400px;
height:400px;
right:-240px;
top:-230px;
border-radius:50%;
background:#eee7f6;
}
.cvhub-product-card{
position:relative;
min-height:195px;
display:flex;
flex-direction:column;
padding:24px;
overflow:hidden;
border:1px solid var(--border);
border-radius:21px;
background:#fff;
color:var(--black) !important;
transition: transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.cvhub-product-card:hover{
transform:translateY(-4px);
border-color:rgba(91,59,145,.30);
box-shadow: 0 18px 45px rgba(55,35,83,.10);
}
.cvhub-product-icon{
width:42px;
height:42px;
display:flex;
align-items:center;
justify-content:center;
margin-bottom:38px;
border-radius:12px;
background:var(--purple-soft);
color:var(--purple);
}
.cvhub-product-icon svg{
width:20px;
height:20px;
fill:none;
stroke:currentColor;
stroke-width:1.8;
stroke-linecap:round;
stroke-linejoin:round;
}
.cvhub-product-card strong{
display:block;
margin-top:auto;
margin-bottom:5px;
color:var(--black);
font-size:14px;
line-height:1.35;
font-weight:700;
}
.cvhub-product-card small{
display:block;
color:var(--muted);
font-size:11px;
line-height:1.5;
}
.cvhub-info{
padding:100px 0;
background:#fff;
}
.cvhub-info-grid{
display:grid;
grid-template-columns: .8fr 1.2fr;
gap:75px;
align-items:center;
}
.cvhub-info-label{
display:block;
margin-bottom:13px;
color:var(--purple);
font-size:11px;
line-height:1;
font-weight:700;
letter-spacing:1.4px;
text-transform:uppercase;
}
.cvhub-info h2{
margin-bottom:17px;
color:var(--black);
font-size:39px;
line-height:1.15;
letter-spacing:-1.3px;
}
.cvhub-info p{
margin-bottom:25px;
}
.cvhub-info-cards{
display:grid;
grid-template-columns: repeat(2,minmax(0,1fr));
gap:12px;
}
.cvhub-info-card{
min-height:115px;
padding:20px;
border:1px solid var(--border);
border-radius:17px;
background:var(--bg);
}
.cvhub-info-card small{
display:block;
margin-bottom:7px;
color:var(--purple);
font-size:10px;
line-height:1;
font-weight:700;
letter-spacing:1px;
text-transform:uppercase;
}
.cvhub-info-card strong{
display:block;
color:var(--black);
font-size:14px;
line-height:1.55;
font-weight:600;
}
.cvhub-final{
padding:0 0 100px;
background:#fff;
}
.cvhub-final-box{
position:relative;
display:grid;
grid-template-columns:1fr auto;
gap:40px;
align-items:center;
overflow:hidden;
padding:46px 50px;
border-radius:27px;
background:var(--purple-soft);
}
.cvhub-final-box::after{
content:"";
position:absolute;
width:240px;
height:240px;
right:-110px;
top:-140px;
border-radius:50%;
background:rgba(91,59,145,.07);
}
.cvhub-final-copy{
position:relative;
z-index:2;
}
.cvhub-final h2{
margin-bottom:8px;
color:var(--black);
font-size:30px;
line-height:1.2;
}
.cvhub-final p{
max-width:680px;
margin:0;
font-size:14px;
}
.cvhub-final-actions{
position:relative;
z-index:2;
display:flex;
flex-wrap:wrap;
gap:9px;
}
@media(max-width:1050px){
.cvhub-hero h1{
font-size:54px;
}
.cvhub-hero-top{
grid-template-columns:1fr .65fr;
gap:45px;
}
.cvhub-card-grid{
grid-template-columns: repeat(3,minmax(0,1fr));
}
}
@media(max-width:820px){
.cvhub-wrap{
width:min(calc(100% - 40px),700px);
}
.cvhub-hero-top{
grid-template-columns:1fr;
gap:25px;
}
.cvhub-hero h1{
font-size:49px;
}
.cvhub-hero-intro{
max-width:620px;
}
.cvhub-hero-image-wrap{
height:380px;
}
.cvhub-section-head{
grid-template-columns:1fr;
gap:18px;
}
.cvhub-card-grid{
grid-template-columns: repeat(2,minmax(0,1fr));
}
.cvhub-info-grid{
grid-template-columns:1fr;
gap:40px;
}
.cvhub-final-box{
grid-template-columns:1fr;
}
}
@media(max-width:600px){
.cvhub-wrap{
width:calc(100% - 28px);
}
.cvhub-hero{
padding:24px 0 62px;
}
.cvhub-breadcrumb{
margin-bottom:30px;
}
.cvhub-hero-top{
margin-bottom:34px;
}
.cvhub-hero h1{
font-size:39px;
line-height:1.07;
letter-spacing:-1.7px;
}
.cvhub-hero-intro p{
font-size:14px;
}
.cvhub-hero-actions{
flex-direction:column;
}
.cvhub-btn{
width:100%;
}
.cvhub-hero-image-wrap{
height:310px;
border-radius:22px;
}
.cvhub-floating{
position:relative;
left:auto;
bottom:auto;
width:calc(100% - 22px);
margin:-32px auto 0;
grid-template-columns:1fr;
gap:12px;
padding:17px;
}
.cvhub-floating-divider{
width:100%;
height:1px;
}
.cvhub-intro{
padding:72px 0 62px;
}
.cvhub-intro h2{
font-size:30px;
}
.cvhub-services,.cvhub-products,.cvhub-info{
padding:68px 0;
}
.cvhub-section-head{
margin-bottom:30px;
}
.cvhub-section-head h2{
font-size:32px;
}
.cvhub-card-grid{
grid-template-columns: repeat(2,minmax(0,1fr));
gap:12px;
}
.cvhub-service-card,.cvhub-product-card{
min-height:175px;
padding:19px;
}
.cvhub-service-icon,.cvhub-product-icon{
width:39px;
height:39px;
margin-bottom:30px;
}
.cvhub-service-card strong,.cvhub-product-card strong{
font-size:13px;
}
.cvhub-service-card small,.cvhub-product-card small{
font-size:10.5px;
}
.cvhub-info h2{
font-size:30px;
}
.cvhub-info-cards{
grid-template-columns:1fr;
}
.cvhub-final{
padding-bottom:70px;
}
.cvhub-final-box{
padding:32px 25px;
}
.cvhub-final h2{
font-size:26px;
}
.cvhub-final-actions{
flex-direction:column;
}
}
@media(max-width:400px){
.cvhub-hero h1{
font-size:35px;
}
.cvhub-hero-image-wrap{
height:275px;
}
.cvhub-service-card,.cvhub-product-card{
min-height:165px;
padding:16px;
}
.cvhub-service-icon,.cvhub-product-icon{
margin-bottom:25px;
}
}
.cvhub-page a:focus-visible{
outline:3px solid rgba(91,59,145,.30);
outline-offset:3px;
}
@media(prefers-reduced-motion:reduce){
.cvhub-page *,.cvhub-page *::before,.cvhub-page *::after{
transition-duration:.01ms !important;
}
}
