/* Navigation, présence vétérinaire et portraits de l’équipe. */
.header-inner{gap:17px}.desktop-nav{gap:18px}.desktop-nav a{font-size:.875rem}.desktop-nav a[href='/veterinaire-nac/']{max-width:180px}.header-phone{margin-left:0}.header-directions{background:var(--teal);color:white;flex-shrink:0;font-size:.875rem;padding:12px 15px;min-height:48px}.header-directions:hover{background:#055e64}.header-directions .icon{width:19px;height:19px}.brand span{font-size:.75rem;letter-spacing:.045em}.hero-note strong{font-weight:650;color:var(--navy)}.meet-team{margin-top:14px}.team-hero-photo{object-position:50% 35%}.human-photo-label{font-size:.75rem;letter-spacing:0;line-height:1.45;background:#ffffffed;padding:9px 12px;border-radius:6px;left:23px;top:20px;right:23px;display:block;width:fit-content;max-width:calc(100% - 46px)}.big-24{font-size:3.25rem;white-space:nowrap;flex-shrink:0}.always-card{gap:18px}.always-card>div:last-child{min-width:0}.always-card strong{line-height:1.45}.always-card>div>span{line-height:1.55}.contact-band-inner>div:first-child{max-width:650px}.contact-band p{color:#ddf1f2;font-size:.9375rem;max-width:600px;margin:18px 0 0}.contact-band-inner>div:last-child{flex-shrink:0}.presence-section{padding:32px 0;background:#f0f7f8;border-bottom:1px solid var(--line)}.presence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.presence-grid article{display:flex;align-items:flex-start;gap:14px}.presence-grid article>.icon{color:var(--teal);width:24px;height:24px;margin-top:3px}.presence-grid h2{font-size:1rem;font-weight:650;line-height:1.45;letter-spacing:-.015em;margin:0 0 9px}.presence-grid p{font-size:.875rem;line-height:1.65;margin:0}.team-section{background:#f6f9fa}.vet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.vet-card{background:white;border:1px solid #dce7e9;border-radius:15px;overflow:hidden}.vet-card img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:50% 35%}.vet-card>div{padding:23px 25px 25px}.vet-role{font-size:.75rem;letter-spacing:.05em;color:var(--teal);font-weight:650;display:block;margin-bottom:11px;line-height:1.55}.vet-card h3{font-size:1.35rem;letter-spacing:-.025em;line-height:1.35;margin:0 0 4px}.vet-title{font-size:.875rem;font-weight:600;color:var(--text)}.vet-card p{font-size:.9375rem;line-height:1.7;margin:13px 0 0}.team-note{margin-top:32px;padding:23px 27px;border-left:3px solid var(--teal);background:#e9f3f5}.team-note p{font-size:1rem;line-height:1.65;margin:0 0 12px;max-width:820px}.team-note .text-link{font-size:.9375rem}
@media(min-width:1121px) and (max-width:1350px){.header-inner{gap:12px}.desktop-nav{gap:14px}.desktop-nav a[href='/veterinaire-nac/']{max-width:145px}.desktop-nav a{max-width:112px}.header-phone{padding:10px;font-size:.9rem}.header-directions{padding:11px;font-size:.875rem;max-width:155px}.brand img{width:106px;height:40px}.brand span{font-size:.75rem;max-width:160px}}
@media(max-width:1120px){.desktop-nav{display:none}.menu-toggle{display:block}.header-phone{margin-left:auto}.header-directions{order:2}.header-phone{order:1}.menu-toggle{order:3}.brand{order:0}}
@media(max-width:960px){.presence-grid{gap:20px}.presence-grid article{gap:11px}.presence-grid h2{font-size:.9375rem}.vet-grid{gap:18px}.vet-card>div{padding:20px}.vet-card h3{font-size:1.2rem}.vet-card p{font-size:.875rem}.big-24{font-size:3rem}}
@media(max-width:720px){html{scroll-padding-top:165px}.header-inner{height:auto;min-height:127px;flex-wrap:wrap;padding:10px 0;gap:7px 10px}.header-directions{order:4;flex-basis:100%;min-height:39px;font-size:.875rem;padding:8px 14px;border-radius:6px}.header-phone{margin-left:auto}.header-phone small{font-size:.75rem;letter-spacing:0}.header-phone{font-size:.875rem;gap:5px}.brand span{font-size:.75rem;max-width:130px;line-height:1.25}.brand img{width:93px;height:35px}.menu-toggle{padding:9px 0 9px 5px}.human-photo-label{font-size:.75rem;left:18px;right:18px;top:16px;max-width:calc(100% - 36px);padding:8px 10px}.always-card{padding:20px 17px;gap:14px}.big-24{font-size:2.65rem}.always-card strong{font-size:.875rem}.always-card>div>span{font-size:.75rem}.presence-section{padding:26px 0}.presence-grid{grid-template-columns:1fr;gap:23px}.presence-grid h2{font-size:1rem}.presence-grid p{font-size:.875rem}.presence-grid article{gap:14px}.vet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.vet-card>div{padding:17px}.vet-card h3{font-size:1.1rem;overflow-wrap:anywhere}.vet-role{font-size:.75rem;letter-spacing:0}.vet-card p{font-size:.875rem}.team-note{padding:20px;margin-top:25px}.team-note p{font-size:.9375rem}.contact-band p{font-size:.9375rem}}
@media(max-width:420px){.vet-grid{grid-template-columns:1fr}.vet-card{display:grid;grid-template-columns:.42fr 1fr;align-items:start}.vet-card img{height:100%;min-height:250px;aspect-ratio:auto;object-position:52% 38%}.vet-card>div{padding:20px 17px}.vet-card h3{font-size:1.15rem}.vet-card p{font-size:.875rem}.header-phone small{font-size:.75rem}.header-phone .icon{display:none}.always-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:17px 20px}.big-24{font-size:2.65rem}.always-card strong{font-size:.875rem}.always-card>div>span{font-size:.75rem}.hero-visual{padding-bottom:86px}}
@media print{.header-directions{display:none}.presence-grid,.vet-grid{grid-template-columns:repeat(2,1fr)}.vet-card{break-inside:avoid}}

/* Portrait collectif et deux rubriques avec un même cadre photographique. */
.collective-photo{height:auto;aspect-ratio:1/1;object-fit:contain;object-position:center;border-radius:32px 16px 16px 16px}
.collective-visual{padding-bottom:65px}
.collective-visual .human-photo-label{top:17px;left:17px;max-width:calc(100% - 34px);font-weight:650}
.human-photo-label small{display:block;font-size:.7rem;font-weight:400;color:#61767e;line-height:1.5;margin-top:2px}
.animal-grid .species-photo-card{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:0;padding:0;grid-template-columns:none;border-bottom:5px solid var(--teal)}
.animal-grid .species-photo-card>img{width:100%;height:auto;min-height:0;aspect-ratio:640/298;object-fit:cover;object-position:center}
.animal-grid .species-photo-card>div{padding:31px 34px;display:flex;flex-direction:column;flex:1;align-items:flex-start}
.animal-grid .species-photo-card h3{font-size:2.2rem;line-height:1.18}
.animal-grid .species-photo-card .number-label{font-size:.75rem;letter-spacing:.065em;line-height:1.6;margin-bottom:18px}
.animal-grid .species-photo-card p{margin-bottom:23px}
.animal-grid .species-photo-card .text-link{margin-top:auto;line-height:1.55}
.team-subheading{font-size:1.4rem;letter-spacing:-.025em;line-height:1.4;margin-bottom:23px}
.team-names-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:25px}
.team-name-card{background:white;border:1px solid #dce7e9;border-radius:12px;padding:23px 25px}
.team-name-card h3{font-size:1.2rem;line-height:1.4;letter-spacing:-.025em;margin:0 0 5px}
.team-name-card span{font-size:.875rem;line-height:1.6;color:var(--teal);display:block}
.asv-team{margin-top:45px;padding-top:32px;border-top:1px solid #dce7e9}
.asv-team>p{max-width:720px;font-size:.9375rem;margin-bottom:0}
.asv-team .team-subheading{margin-bottom:14px}
.vet-card p:empty{display:none}
@media(max-width:960px){.animal-grid .species-photo-card>div{padding:26px}.animal-grid .species-photo-card h3{font-size:1.9rem}.collective-visual .always-card{position:relative;left:auto;right:auto;margin: -12px 12px 0}.collective-visual{padding-bottom:0}}
@media(max-width:720px){.collective-photo{height:auto;border-radius:26px 12px 12px 12px}.collective-visual .human-photo-label{font-size:.75rem;top:12px;left:12px;padding:6px 9px}.human-photo-label small{font-size:.65rem}.animal-grid .species-photo-card>div{padding:27px}.animal-grid .species-photo-card h3{font-size:2rem}}
@media(max-width:720px){.team-names-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.team-name-card{padding:20px}.team-subheading{font-size:1.3rem}.asv-names-grid{grid-template-columns:1fr}.asv-team{margin-top:32px;padding-top:26px}}
@media(max-width:420px){.team-names-grid{grid-template-columns:1fr}.vet-card img{object-position:50% 15%}.vet-card p:empty{display:none}.collective-visual .always-card{margin-left:8px;margin-right:8px}}

/* Présence vétérinaire : titre, puis 24h/24 sur une deuxième ligne. */
.always-card.presence-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.always-card.presence-card>strong{margin:0;line-height:1.45}
.always-card.presence-card>.big-24{margin:0}
.always-card.presence-card>span{display:block;font-size:.79rem;line-height:1.55;color:#bfd1d8}
.collective-visual .presence-card{position:relative;left:auto;right:auto;bottom:auto;margin:-12px 12px 0}
.collective-visual{padding-bottom:0}
@media(max-width:420px){.collective-visual .presence-card{margin-left:8px;margin-right:8px}.always-card.presence-card>span{font-size:.75rem}}

/* Accès directs à la réservation et à l’appel. */
.day-card-actions{display:flex;flex-direction:column;align-items:flex-start;gap:19px}
.day-card-actions .button{min-width:180px}
.header-phone{min-height:44px}
.header-number{display:block;font-weight:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
@media(max-width:720px){.day-card-actions .button{width:100%}}

/* Trois prises en charge : clinique, urgences et visites à domicile. */
.team-section .vet-emergency{display:block;color:#a5432b;font-size:.75rem;font-weight:650;letter-spacing:.025em;line-height:1.5;margin-bottom:6px}
.vet-role + .vet-role.vet-qualification{margin-top:-7px}
.asv-portraits-grid{margin-top:25px}
.asv-card{background:#edf9f9;border-color:#91d3d7;border-top:4px solid #159eaf}
.asv-card .vet-role,.asv-card .vet-title{color:#04676e}
.animal-grid .species-photo-card>.species-photo-pair{padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:3px;flex:none;aspect-ratio:640/298;overflow:hidden}
.animal-grid .species-photo-pair>img{width:100%;height:100%;min-width:0;object-fit:cover;object-position:50% 25%}
.animal-grid .species-photo-card>img.user-rabbit-photo{object-fit:contain;background:#f3f5f5}
.animal-gallery-section{background:#f7fafb}
.patient-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.patient-photo-grid figure{margin:0;min-width:0;background:#fff;border:1px solid #dce7e9;border-radius:14px;overflow:hidden}
.patient-photo-grid img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#edf2f3}
.patient-photo-grid figcaption{padding:15px 18px;font-size:.9rem;font-weight:600;color:var(--teal);line-height:1.5}
.animal-care-photo{margin:0}
.animal-care-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:20px}
@media(max-width:960px){.patient-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(max-width:420px){.patient-photo-grid{gap:12px}.patient-photo-grid figcaption{padding:12px;font-size:.85rem}}
.collective-visual{display:flex;flex-direction:column}
.collective-visual .human-photo-label{position:static;order:-1;margin:0 0 10px;max-width:100%;border:1px solid var(--line)}
.service-choice.three-services{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.three-services>article{min-width:0;padding:30px 27px;display:flex;flex-direction:column}
.three-services .card-top{gap:12px;min-height:47px}
.three-services .icon-box{flex-shrink:0}
.three-services h3{font-size:1.65rem;line-height:1.25;margin-bottom:20px}
.three-services p{font-size:.94rem}
.three-services .schedule-small div{flex-wrap:wrap;gap:4px 12px}
.three-services .schedule-small strong{white-space:nowrap}
.three-services .emergency-number{font-size:clamp(1.65rem,2.3vw,2.25rem);white-space:nowrap}
.three-services .day-card-actions,.three-services .emergency-card>.text-link,.home-visit-actions{margin-top:auto}
.emergency-card-actions{display:flex;flex-direction:column;align-items:flex-start;gap:19px;margin-top:auto}
.three-services .button{width:100%}
.home-visit-card{background:#f0f7f3;border:1px solid #d4e5dc;scroll-margin-top:210px}
.service-card-logo{display:flex;align-items:center;justify-content:center;align-self:stretch;width:100%;height:164px;max-width:100%;margin:0 0 24px;padding:10px;border:1px solid #dfe8e8;border-radius:10px;overflow:hidden;background:#fff}
.service-card-logo img{display:block;width:100%;height:100%;object-fit:contain}
.day-service-logo img{max-width:220px}
.emergency-service-logo img{max-width:248px}
.home-visit-service-logo img{max-width:164px}
.service-card-logo:hover{box-shadow:0 4px 14px #0f2c3a16}
.service-card-heading{margin-bottom:20px}
.three-services .service-card-heading h3{margin-bottom:10px}
.three-services .service-card-context{margin:0;color:var(--teal);font-size:.88rem;font-weight:600;line-height:1.5}
.three-services .emergency-card .service-card-context{color:var(--aqua)}
.three-services .service-card-description{margin-bottom:24px}
.service-card-details{margin-bottom:26px}
.three-services .service-card-details .schedule-small{margin:0}
.three-services .service-card-details .small-note,.three-services .service-card-details .home-visit-localities{margin-bottom:0}
.three-services .service-card-actions{display:flex;flex-direction:column;gap:16px;margin-top:0;padding-top:0;align-items:stretch}
.three-services .service-card-actions>.button{min-height:54px;margin:0}
.three-services .service-card-secondary{display:flex;align-items:center;min-height:48px;line-height:1.5}
.service-card-phone{display:flex;align-items:center;gap:10px;width:100%;min-height:64px;margin:auto 0 20px;padding:16px 0;border-top:1px solid #cbdfe0;border-bottom:1px solid #cbdfe0;color:var(--teal);font-size:clamp(1.45rem,2vw,1.8rem);font-weight:650;line-height:1.3;white-space:nowrap;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.service-card-phone .icon{width:21px;height:21px}
.emergency-card .service-card-phone{color:var(--aqua);border-color:#ffffff35}
@media(min-width:1101px){.service-choice.three-services{grid-template-rows:repeat(7,auto);row-gap:0}.three-services>article{display:grid;grid-template-rows:subgrid;grid-row:span 7;row-gap:0}.three-services .service-card-phone{margin-top:0}}
.home-visit-card .home-visit-localities{font-size:.85rem;line-height:1.65;border-top:1px solid #d4e5dc;padding-top:17px;margin-top:3px}
.home-visit-actions{display:flex;flex-direction:column;gap:17px;padding-top:6px}
.home-visit-phone{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;color:var(--teal);font-size:1.12rem;font-weight:650;text-decoration:underline;text-underline-offset:4px;min-height:44px}
.home-visit-phone .icon{width:20px;height:20px}
.home-visit-area{margin-top:24px;border:1px solid #d6e4e6;border-radius:14px;background:#fafdfc;scroll-margin-top:210px}
.home-visit-area>summary{padding:22px 27px;gap:20px;border:0}
.home-visit-area>summary>span:first-child{display:flex;align-items:center;gap:12px;color:inherit;font:inherit;line-height:inherit}
.home-visit-area[open]>summary>span:first-child{transform:none}
.home-visit-area>summary .icon{color:var(--teal);flex-shrink:0}
.home-visit-area>summary .area-toggle{font-size:1.5rem;color:var(--teal);flex-shrink:0;transition:transform .2s}
.home-visit-area[open]>summary .area-toggle{transform:rotate(45deg)}
.home-visit-area-content{padding:0 27px 27px;border-top:1px solid #e0eaea}
.home-visit-area-content>p:first-child{margin-top:22px;font-size:.93rem}
.home-visit-zones{display:grid;grid-template-columns:2fr 1fr;gap:30px;margin:25px 0}
.home-visit-zones h3{font-size:1.08rem;letter-spacing:0;margin-bottom:16px}
.home-visit-towns{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}
.home-visit-towns li{background:#eaf3f2;border:1px solid #dae8e5;border-radius:6px;padding:5px 9px;font-size:.84rem;line-height:1.5;color:var(--navy)}
.home-visit-area-note{font-size:.87rem;line-height:1.7;margin-bottom:20px}
.home-visit-area-note a{color:var(--teal);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
@media(min-width:721px) and (max-width:1100px){.service-choice.three-services{grid-template-columns:repeat(2,minmax(0,1fr))}.three-services>.home-visit-card{grid-column:1/-1}.home-visit-card .home-visit-actions{max-width:340px}.three-services .emergency-number{font-size:2.1rem}}
@media(max-width:720px){.service-choice.three-services{grid-template-columns:1fr;gap:18px}.three-services>article{padding:27px}.three-services .emergency-number{font-size:2.15rem}.home-visit-area>summary{padding:20px;font-size:.92rem}.home-visit-area-content{padding:0 20px 23px}.home-visit-zones{grid-template-columns:1fr;gap:25px}.home-visit-towns{gap:6px}.home-visit-towns li{font-size:.8rem;padding:5px 8px}.home-visit-area-content>.text-link{font-size:.87rem;line-height:1.6}}
