@media screen and (max-height: 600px) and (orientation: landscape) {

    #carousel {padding: 55px 20px 80px;}

    #carousel h2 {margin-bottom: 40px;font-size: 1.6rem;}

    #carousel .carousel {
        --item-width: 62vw;
        --item-height: 28vw;
        --side-offset: 30vw;

        height: 300px;margin-top: 0;
        margin-bottom: 35px;padding-bottom: 70px;
    }

    .carousel-nav {width: 40px;height: 40px;}

    .contact-me-btn {margin-top: 38px;padding: 9px 16px;}

    .carousel-item img {
        object-fit: cover;object-position: center 20%;
        background: var(--section-light-card);
    }

}
@media (max-width: 640px), (orientation: landscape) and (max-height: 540px) {
  .contact-form [data-notification] { max-width: min(calc(100% - 2rem), 18rem); font-size: .75rem; }
  .contact-form .notification__text--full { display: none; }
  .contact-form .notification__text--compact { display: inline; }
}
@media (orientation: landscape) and (max-height: 620px) {
  .duo-story.is-native-return { height: 100svh; }
  .duo-story-sticky { top: 0; min-height: 0; height: 100svh; align-items: center; padding: 1rem 0; }
  .duo-story-gallery { inset: 1rem auto 1rem 1rem; width: calc(56% - 1.5rem); }
  .duo-story-image, .duo-story-image.is-active { object-fit: contain; object-position: center; transform: none; }
  .duo-story-copy { width: calc(44% - 2.5rem); margin: 0 1rem 0 auto; gap: .75rem; }
  .duo-story-copy h2 { max-width: none; margin: 0; font-size: clamp(1.35rem,3vw,2rem); line-height: 1.15; }
  .duo-story-copy p { max-width: none; font-size: .875rem; line-height: 1.5; }
  .duo-story-swipe-hint { top: auto; right: auto; bottom: 1rem; left: 1.5rem; width: 32px; height: 40px; }
  .duo-story-hand { width: 64px; }
}
@media (orientation: landscape) and (max-height: 540px) {
  .about-section { padding-top: 3.75rem; }
  .about-profiles { grid-template-columns: repeat(2,minmax(0,1fr)); max-width: min(100%,calc(100svh + 1rem),36rem); gap: 1rem; }
  .about-profile-card { border-radius: 1rem; }
  .about-profile-content { padding: .625rem .5rem; }
  .about-profile-content h2 { margin-bottom: .25rem; font-size: 1.125rem; }
  .about-profile-content p { font-size: .75rem; line-height: 1.4; }
  .about-section .content-box { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.7fr); align-items: center; gap: .625rem 1.5rem; width: min(100%,980px); padding: 1.25rem 1.5rem; }
  .about-section .about-brand-logo { grid-column: 1; grid-row: 1; width: min(100%,230px); margin: 0 auto; }
  .about-section .content-box h2 { grid-column: 1; grid-row: 2; margin: 0; font-size: 1.4rem; line-height: 1.2; }
  .about-section .content-box p { grid-column: 2; grid-row: 1 / span 3; width: 100%; font-size: .875rem; line-height: 1.55; }
  .about-section .content-box .section-kicker { grid-column: 1; grid-row: 3; max-width: 26ch; margin: 0 auto; font-size: .625rem; letter-spacing: 1px; line-height: 1.5; }
  .besoins-chien { padding: 2rem 1rem; }
  .besoins-container { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.35fr); width: min(100%,960px); gap: 1.5rem; align-items: center; }
  .besoins-intro { min-width: 0; }
  .besoins-intro h2 { font-size: 1.375rem; line-height: 1.15; white-space: normal; }
  .besoins-intro h2::after { margin: .5rem auto 0; }
  .besoins-image { width: min(100%,50svh,200px); margin: .75rem auto 0; border-radius: 1rem; }
  .besoins-list { min-width: 0; width: 100%; max-width: none; }
  .besoins-list .besoin { padding: .625rem .5rem; }
  .besoins-list .besoin h3 { margin-bottom: .25rem; font-size: 1rem; line-height: 1.25; }
  .besoins-list .besoin p { max-width: none; font-size: .8125rem; line-height: 1.5; }
  .navbar { top: 6px; max-width: 340px; padding: 0; }
  .nav-links { gap: .75rem; }
  .nav-links li a { display: inline-flex; align-items: center; min-height: 40px; padding: .25rem .5rem; font-size: .8125rem; }
  .dog-cta { width: 60px; right: -10px; bottom: 16px; }
  .pricing-section { --pricing-heading-size: 1.5rem; --pricing-detail-title-size: 1.25rem; --pricing-detail-text-size: .875rem; padding: 2rem 1.25rem; min-height: 0; }
  .pricing-container { flex-direction: row; gap: 1rem; }
  .pricing-left { width: 42%; padding: 1rem; }
  .pricing-right { width: 58%; padding: 1rem; }
  .pricing-left h2 { margin-bottom: 1rem; }
  .pricing-button { min-height: 44px; padding: .65rem .75rem; margin-bottom: .5rem; border-radius: .65rem; }
  .pricing-button:last-child { margin-bottom: 0; }
  .pricing-detail p { line-height: 1.5; }
  .pricing-cta { margin-top: 1rem; }
  #carousel { padding: 2rem 1.25rem; }
  #carousel h2 { font-size: 1.5rem; margin-bottom: 1rem; }
  #carousel .carousel { --item-width: min(62vw,78svh); --item-height: min(52svh,240px); height: min(62svh,280px); margin-bottom: 1rem; padding-bottom: 0; }
  #carousel .contact-me-btn { margin-top: 1rem; min-height: 44px; }
  .horaires-section { padding: 2.5rem 1rem; }
  .horaires-container { flex-direction: row; align-items: center; gap: 1.5rem; }
  .horaires-content { flex: 1 1 65%; min-width: 0; }
  .horaires-intro { margin-bottom: 1rem; }
  .horaires-intro span { font-size: .75rem; margin-bottom: .5rem; }
  .horaires-intro h2 { font-size: 1.5rem; margin-bottom: .5rem; }
  .horaires-intro h2::after { margin-top: .5rem; }
  .horaires-intro p, .horaires-note, .horaire-single p { font-size: .875rem; line-height: 1.5; }
  .horaire-single { padding: 1rem; border-radius: 1rem; }
  .horaire-single > span { margin-bottom: .5rem; font-size: 1rem; }
  .horaire-time strong { font-size: 2rem; }
  .horaire-single p, .horaires-note { margin-top: .75rem; }
  .horaires-image { flex: 0 1 30%; width: 30%; max-width: 260px; height: min(72svh,300px); margin: 0; border-radius: 1rem; }
  .contact-section { padding-block: 2.5rem; }
  .contact-form-card { width: min(100%,720px); margin-top: 1.5rem; padding: 1rem 1.25rem; border-radius: 1rem; }
  .contact-form-card h3 { font-size: 1.4rem; margin-bottom: .75rem; }
  .contact-form-card .form-generic { gap: .6rem; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .contact-form-card input, .contact-form-card textarea { font-size: 1rem; padding: .55rem .75rem; border-radius: .6rem; }
  .contact-form-card textarea { height: 88px; min-height: 88px; max-height: 180px; }
  .contact-form-card button[type="submit"] { padding: .55rem 1.25rem; font-size: .875rem; }
}

@media (orientation: landscape) {
  .hero-section .seo-text h1 { font-size: clamp(1.8rem,4vw,2.5rem); }
}

@media (orientation: landscape) and (max-width: 768px) {
  .hero-section .seo-text h1 { font-size: 1.8rem; }
}

.reviews-section { padding: 2.5rem 1rem; }
.reviews-section h2 { margin-bottom: 1.25rem; font-size: 1.5rem; }
.reviews-section #reviews-title::before { margin-bottom: .65rem; font-size: .75rem; letter-spacing: .14em; }
.reviews-section h2::after { margin-top: 1rem; }
.reviews-wrapper { --review-slide-gap: 12px; width: min(100%,560px); padding: .25rem; }
.review-slide { align-items: stretch; }
.review-card { width: 100%; min-height: 0; padding: 1rem; border-radius: 1rem; }
.review-card:hover { transform: none; }
.review-header { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: .25rem .625rem; margin: 0 0 .75rem; padding: 0; border: 0; text-align: left; }
.review-header::before { grid-row: 1 / span 2; width: 32px; height: 32px; background-size: 16px; }
.review-name { text-align: left; font-size: .875rem; line-height: 1.3; overflow-wrap: anywhere; }
.review-stars { position: static; grid-column: 2; display: flex; justify-content: flex-start; gap: .2rem; margin: 0; font-size: .625rem; letter-spacing: 0; }
.review-text { font-size: .875rem; line-height: 1.6; }
.reviews-indicators { flex-wrap: wrap; gap: 0; margin-top: .625rem; }
.reviews-indicators button::before { width: 6px; height: 6px; }

@media (orientation: landscape) {
  .reviews-wrapper { width: min(100%,640px); }
}

/* Copyright (c) Rzu-Informatique. Tous droits reserves. */

