/* VetCare — pages intérieures : en-tête de page, services, équipe, clinique, contact, rendez-vous, urgences, prose, 404. */

/* ─── En-tête de page ─── */
.vc-phero{background:linear-gradient(180deg,var(--vc-bg2) 0%,#fff 100%);border-bottom:1px solid var(--vc-line);padding:44px 0 40px;position:relative;overflow:hidden;}
.vc-phero::after{content:"";position:absolute;right:-120px;top:-160px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(47,168,213,.16) 0%,transparent 65%);pointer-events:none;}
.vc-crumbs{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--vc-ink4);margin-bottom:16px;flex-wrap:wrap;}
.vc-crumbs a:hover{color:var(--vc-cyan-d);}
.vc-crumbs span:last-child{color:var(--vc-ink2);font-weight:600;}
.vc-phero__title{font-size:46px;font-weight:900;letter-spacing:-.03em;margin:0 0 12px;position:relative;}
.vc-phero__intro{margin:0;max-width:680px;font-size:17px;line-height:1.65;color:var(--vc-ink3);position:relative;}
.vc-phero__meta{display:flex;align-items:center;gap:16px;margin-top:20px;}
.vc-phero__ic{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:16px;background:var(--vc-cyan);color:#fff;box-shadow:var(--vc-shadow-cyan);}
.vc-phero__cta{margin-top:24px;}

/* ─── Fiche service ─── */
.vc-svcpage{display:grid;grid-template-columns:1.4fr .8fr;gap:40px;align-items:start;}
.vc-svcpage__main h2{font-size:24px;font-weight:800;margin:0 0 16px;}
.vc-svcpage__main h2 + p,.vc-svcpage__main .vc-lead{margin:0 0 30px;}
.vc-svcpage__cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;}
.vc-svcpage__side{display:grid;gap:18px;position:sticky;top:96px;}
.vc-svcpage__side .vc-pill{margin-bottom:12px;}
.vc-svcpage__side .vc-btn--block{margin-top:14px;}
.vc-svc-grid--page{grid-template-columns:repeat(3,1fr);}

/* ─── Équipe (page) ─── */
.vc-team__grid--page{grid-template-columns:1fr 1fr;}
.vc-vet--wide{flex-direction:row;text-align:left;align-items:flex-start;gap:24px;padding:30px;}
.vc-vet__body{flex:1;}
.vc-vet--wide .vc-vet__name{margin-top:4px;font-size:24px;}
.vc-vet--wide .vc-vet__focus b{color:var(--vc-ink2);}

/* ─── Clinique ─── */
.vc-clinicpage__photo{margin:0 0 26px;border-radius:var(--vc-radius-xl);overflow:hidden;box-shadow:var(--vc-shadow-lg);aspect-ratio:21/9;}
.vc-clinicpage__photo img{width:100%;height:100%;object-fit:cover;}
.vc-clinicpage__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.vc-clinicpage__grid .vc-card .vc-pill{margin-bottom:12px;}
.vc-card--map{padding:0;overflow:hidden;min-height:300px;}
.vc-card--map iframe{width:100%;height:100%;min-height:300px;border:0;display:block;}

/* ─── Contact ─── */
.vc-contact{display:grid;grid-template-columns:1.3fr .9fr;gap:28px;align-items:start;}
.vc-contact__side{display:grid;gap:18px;}
.vc-contact__emg{display:block;font-family:var(--vc-display);font-size:28px;font-weight:900;letter-spacing:-.02em;color:#fff;margin:0 0 14px;}
.vc-contact__emg:hover{color:var(--vc-cyan);}
.vc-map-full{height:380px;border-top:1px solid var(--vc-line);}
.vc-map-full iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.85);}

/* ─── Rendez-vous ─── */
.vc-book{display:grid;grid-template-columns:1.35fr .85fr;gap:28px;align-items:start;}
.vc-book__form{padding:34px 34px 28px;}
.vc-book__side{display:grid;gap:18px;position:sticky;top:96px;}
.vc-book__side .vc-pill{margin-top:4px;}
.vc-steps{display:flex;gap:8px;margin:0 0 28px;}
.vc-step{flex:1;display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:12px;background:var(--vc-bg2);font-size:13px;font-weight:700;color:var(--vc-ink4);}
.vc-step i{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#fff;border:1px solid var(--vc-line-hi);font-style:normal;font-size:12px;}
.vc-step.is-on{background:var(--vc-cyan-soft);color:var(--vc-cyan-dd);}
.vc-step.is-on i{background:var(--vc-cyan);color:#fff;border-color:transparent;}
.vc-step.is-done{color:var(--vc-green);}
.vc-step.is-done i{background:var(--vc-green);color:#fff;border-color:transparent;}
.vc-species{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px;}
.vc-species__opt input{position:absolute;opacity:0;pointer-events:none;}
.vc-species__opt span{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;border:1px solid var(--vc-line-hi);border-radius:12px;font-size:13px;font-weight:700;color:var(--vc-ink2);cursor:pointer;transition:border-color .15s,background .15s,color .15s,transform .15s;}
.vc-species__opt span .vc-ic{color:var(--vc-ink4);}
.vc-species__opt input:checked + span{border-color:var(--vc-cyan);background:var(--vc-cyan-soft);color:var(--vc-cyan-dd);transform:translateY(-2px);}
.vc-species__opt input:checked + span .vc-ic{color:var(--vc-cyan-d);}
.vc-species__opt input:focus-visible + span{box-shadow:0 0 0 4px rgba(47,168,213,.2);}
.vc-slots{display:flex;flex-wrap:wrap;gap:7px;min-height:52px;padding:8px;border:1px dashed var(--vc-line-hi);border-radius:var(--vc-radius-sm);}
.vc-slots__hint{margin:auto;font-size:13px;color:var(--vc-ink4);}
.vc-slot{border:1px solid var(--vc-line-hi);background:#fff;border-radius:9px;padding:8px 11px;font-size:13.5px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--vc-ink2);cursor:pointer;transition:border-color .15s,background .15s,color .15s;}
.vc-slot:hover{border-color:var(--vc-cyan);color:var(--vc-cyan-d);}
.vc-slot.is-on{background:var(--vc-cyan);border-color:var(--vc-cyan);color:#fff;}
.vc-book__ok{text-align:center;padding:48px 34px;}
.vc-book__ok-ic{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--vc-green-soft);color:var(--vc-green);margin-bottom:16px;}
.vc-book__ok h2{font-size:28px;margin-bottom:10px;}
.vc-book__ok p{font-size:16px;color:var(--vc-ink2);max-width:520px;margin:0 auto 22px;}

/* ─── Urgences ─── */
.vc-emg{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.vc-emg h2{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;margin:0 0 16px;}
.vc-emg .vc-card--red h2 .vc-ic{color:var(--vc-red);}
.vc-emg .vc-card h2 .vc-ic{color:var(--vc-cyan-d);}
.vc-emg__ai{margin:18px 0 12px!important;}

/* ─── Prose (articles, pages, légal) ─── */
.vc-prose{max-width:820px;font-size:16.5px;line-height:1.75;color:var(--vc-ink2);}
.vc-prose--narrow{max-width:720px;}
.vc-prose h2{font-size:26px;font-weight:800;color:var(--vc-ink);margin:38px 0 12px;}
.vc-prose h3{font-size:20px;font-weight:800;color:var(--vc-ink);margin:28px 0 10px;}
.vc-prose p{margin:0 0 18px;}
.vc-prose a{color:var(--vc-cyan-d);font-weight:600;}
.vc-prose img{border-radius:16px;}
.vc-prose__fig{margin:0 0 26px;border-radius:var(--vc-radius-lg);overflow:hidden;}
.vc-prose blockquote{margin:24px 0;padding:18px 24px;border-left:4px solid var(--vc-cyan);background:var(--vc-bg2);border-radius:0 14px 14px 0;font-style:italic;}
.vc-post{padding:22px 0;border-bottom:1px solid var(--vc-line);}
.vc-post h2{font-size:24px;margin:0 0 6px;}
.vc-post__meta{font-size:13px;color:var(--vc-ink4);margin-bottom:8px;}

/* ─── 404 ─── */
.vc-nf{padding:96px 0;background:linear-gradient(180deg,var(--vc-bg2),#fff);}
.vc-nf__in{display:flex;flex-direction:column;align-items:center;text-align:center;}
.vc-nf__code{font-family:var(--vc-display);font-size:96px;font-weight:900;letter-spacing:-.05em;line-height:1;color:var(--vc-cyan-soft);margin:16px 0 0;-webkit-text-stroke:2px var(--vc-cyan);}
.vc-nf__title{font-size:34px;font-weight:900;margin:14px 0 10px;}
.vc-nf__sub{margin:0 0 26px;color:var(--vc-ink3);max-width:460px;}
.vc-nf__cta{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;}

/* ─── Responsive ─── */
@media (max-width:980px){
    .vc-phero__title{font-size:36px;}
    .vc-svcpage,.vc-contact,.vc-book,.vc-emg{grid-template-columns:1fr;}
    .vc-svcpage__side,.vc-book__side{position:static;}
    .vc-svc-grid--page{grid-template-columns:1fr 1fr;}
    .vc-team__grid--page,.vc-clinicpage__grid{grid-template-columns:1fr;}
}
@media (max-width:640px){
    .vc-phero{padding:30px 0 30px;}
    .vc-phero__title{font-size:30px;}
    .vc-svc-grid--page{grid-template-columns:1fr;}
    .vc-vet--wide{flex-direction:column;align-items:center;text-align:center;}
    .vc-book__form{padding:22px 18px;}
    .vc-steps{flex-direction:column;}
    .vc-species{grid-template-columns:repeat(2,1fr);}
    .vc-contact__emg{font-size:24px;}
    .vc-nf__code{font-size:72px;}
}
