
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

:root {
  --orange:      #F5A97F;
  --orange-dark: #E08F63;
  --orange-pale: #FFF2E8;
  --green:       #86D1AB;
  --green-dark:  #5FB48C;
  --green-pale:  #EAF7F0;
  --yellow:      #FFE38F;
  --yellow-pale: #FFF8E3;
  --brown:       #17324D;
  --brown-mid:   #2B4D6E;
  --brown-light: #5F7F9E;
  --cream:       #FFFDF6;
  --cream-dark:  #F2FAFF;
  --white:       #FFFFFF;
  --text:        #17324D;
  --text-mid:    #45607A;
  --text-light:  #8399AE;
  --border:      rgba(23,50,77,0.1);
  --shadow:      0 4px 24px rgba(23,50,77,0.1);
  --shadow-lg:   0 12px 48px rgba(23,50,77,0.15);
}

html { scroll-behavior: smooth; }

body {
  font-family: 'DM Sans', sans-serif;
  background: var(--cream);
  color: var(--text);
  font-size: 15px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

/* ─── BACK ─── */
#page-pension .back-home {
  position: fixed; top: 18px; left: 20px; z-index: 200;
  background: white;
  color: var(--brown-mid);
  border: 1.5px solid var(--border);
  padding: 7px 16px; border-radius: 40px;
  font-size: 12px; font-weight: 600; letter-spacing: 0.06em;
  text-transform: uppercase; text-decoration: none;
  box-shadow: var(--shadow);
  transition: all 0.2s;
}
#page-pension .back-home:hover { background: var(--orange); color: white; border-color: var(--orange); }

/* ─── NAV ─── */
#page-pension nav {
  position: sticky; /* wrapper for absolute logo */
  top: 0; z-index: 100;
  background: rgba(255,253,246,0.95);
  backdrop-filter: blur(12px);
  border-bottom: 2px solid var(--cream-dark);
  padding: 0 24px;
  display: flex; align-items: center; justify-content: flex-end;
  height: 72px;
}
#page-pension .back-home-nav {
  position: absolute; left: 20px;
  background: white; color: var(--brown-mid);
  border: 1.5px solid var(--border);
  padding: 7px 16px; border-radius: 40px;
  font-size: 12px; font-weight: 600; letter-spacing: 0.06em;
  text-transform: uppercase; text-decoration: none;
  box-shadow: var(--shadow); transition: all 0.2s;
  white-space: nowrap;
}
#page-pension .back-home-nav:hover { background: var(--orange); color: white; border-color: var(--orange); }
#page-pension .nav-logo {
  display: flex; align-items: center; justify-content: center;
  text-decoration: none;
  position: absolute; left: 50%; transform: translateX(-50%);
}
#page-pension .nav-logo img {
  height: 52px; width: auto;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  filter: none;
}
#page-pension .nav-links { display: flex; gap: 28px; list-style: none; align-items: center; }
#page-pension .nav-links a {
  text-decoration: none; color: var(--text-mid);
  font-size: 13px; font-weight: 600;
  letter-spacing: 0.03em;
  transition: color 0.2s;
  position: relative;
}
#page-pension .nav-links a::after {
  content: ''; position: absolute;
  bottom: -3px; left: 0; right: 0; height: 2px;
  background: var(--orange); border-radius: 2px;
  transform: scaleX(0); transition: transform 0.2s;
}
#page-pension .nav-links a:hover { color: var(--orange); }
#page-pension .nav-links a:hover::after { transform: scaleX(1); }
#page-pension .nav-cta {
  background: var(--orange) !important;
  color: white !important;
  padding: 11px 24px;
  border-radius: 100px;
  font-weight: 700 !important;
  font-size: 13px;
  letter-spacing: 0.02em;
  transition: background 0.2s, transform 0.15s, box-shadow 0.2s !important;
  box-shadow: 0 4px 16px rgba(245,169,127,0.4);
  -webkit-font-smoothing: antialiased;
  transform: translateZ(0);
  will-change: transform;
  outline: none;
}
#page-pension .nav-cta::after { display: none !important; }
#page-pension .nav-cta:hover {
  background: var(--orange-dark) !important;
  transform: translateY(-1px) translateZ(0) !important;
  box-shadow: 0 6px 22px rgba(245,169,127,0.5) !important;
}

/* ─── HERO ─── */
#page-pension .hero {
  min-height: calc(100vh - 70px);
  display: grid; grid-template-columns: 1fr 1fr;
  overflow: hidden; position: relative;
}

/* Fond gauche */
#page-pension .hero-left {
  display: flex; flex-direction: column;
  justify-content: center;
  padding: 80px 60px 80px 80px;
  position: relative; z-index: 2;
  background: var(--cream);
}

/* Bulles déco */
#page-pension .hero-bubble {
  position: absolute; border-radius: 50%;
  pointer-events: none; z-index: 0;
}
#page-pension .bubble-1 {
  width: 320px; height: 320px;
  top: -80px; left: -80px;
  background: radial-gradient(circle, rgba(255,227,143,0.18) 0%, transparent 70%);
}
#page-pension .bubble-2 {
  width: 200px; height: 200px;
  bottom: 40px; left: 20%;
  background: radial-gradient(circle, rgba(134,209,171,0.12) 0%, transparent 70%);
}
#page-pension .bubble-3 {
  width: 160px; height: 160px;
  top: 30%; right: -40px;
  background: radial-gradient(circle, rgba(245,169,127,0.1) 0%, transparent 70%);
}

#page-pension .hero-content { position: relative; z-index: 2; }

#page-pension .hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--green-pale); color: var(--green);
  font-size: 11px; font-weight: 700; letter-spacing: 0.1em;
  text-transform: uppercase; padding: 7px 16px;
  border-radius: 40px; margin-bottom: 24px;
  border: 1.5px solid rgba(134,209,171,0.2);
  width: fit-content;
}

#page-pension .hero-title {
  font-family: 'Fredoka', sans-serif;
  font-size: 64px; font-weight: 700;
  line-height: 1.05; color: var(--brown);
  margin-bottom: 10px;
}
#page-pension .hero-title .accent { color: var(--orange); }
#page-pension .hero-title .accent-green { color: var(--green); }

#page-pension .hero-sub-title {
  font-family: 'Nunito', sans-serif;
  font-size: 20px; font-weight: 700; font-style: italic;
  color: var(--orange); margin-bottom: 20px;
  letter-spacing: 0.01em;
}

#page-pension .hero-desc {
  color: var(--text-mid); font-size: 16px;
  line-height: 1.75; max-width: 460px; margin-bottom: 40px;
}

#page-pension .hero-buttons { display: flex; gap: 14px; flex-wrap: wrap; }

#page-pension .btn-primary {
  background: var(--orange); color: white;
  padding: 15px 30px; border-radius: 40px;
  text-decoration: none; font-size: 14px; font-weight: 700;
  transition: all 0.2s; display: inline-block;
  box-shadow: 0 4px 18px rgba(245,169,127,0.4);
  transform: translateZ(0);
  -webkit-font-smoothing: antialiased;
  will-change: transform;
}
#page-pension .btn-primary:hover { background: var(--orange-dark); transform: translateY(-2px) translateZ(0); box-shadow: 0 8px 28px rgba(245,169,127,0.45); }

#page-pension .btn-secondary {
  background: white; color: var(--brown);
  padding: 15px 30px; border-radius: 40px;
  text-decoration: none; font-size: 14px; font-weight: 700;
  border: 2px solid var(--cream-dark);
  transition: all 0.2s; display: inline-block;
}
#page-pension .btn-secondary:hover { border-color: var(--orange); color: var(--orange); transform: translateY(-2px); }

/* Hero right, visuel joyeux */
#page-pension .hero-right { display:flex; align-items:stretch; /* gallery override */
  position: relative; overflow: hidden;
  background: linear-gradient(160deg, #FFF2E8 0%, #FFE5B4 50%, #FFDDA0 100%);
  display: flex; align-items: center; justify-content: center;
}
#page-pension .hero-right::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 30% 30%, rgba(245,169,127,0.15) 0%, transparent 50%),
    radial-gradient(circle at 70% 70%, rgba(134,209,171,0.1) 0%, transparent 50%);
}
#page-pension .hero-img-wrap {
  position: relative; z-index: 2;
  display: flex; flex-direction: column;
  align-items: center; gap: 20px;
}
#page-pension .hero-dog { font-size: 120px; animation: dogBounce 2.5s ease-in-out infinite; filter: drop-shadow(0 12px 24px rgba(23,50,77,0.2)); }
@keyframes dogBounce {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-16px) rotate(2deg); }
}
#page-pension .hero-floating-badge {
  background: white; border-radius: 20px;
  padding: 14px 20px; display: flex; align-items: center; gap: 12px;
  box-shadow: var(--shadow-lg);
  animation: floatIn 0.8s 0.4s cubic-bezier(0.34,1.56,0.64,1) both;
}
@keyframes floatIn {
  from { transform: translateY(20px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}
#page-pension .fb-icon { font-size: 26px; }
#page-pension .fb-text strong { display: block; font-size: 14px; font-weight: 700; color: var(--brown); }
#page-pension .fb-text span { font-size: 12px; color: var(--text-light); }

#page-pension .hero-tag-corner {
  position: absolute; top: 28px; right: 28px;
  background: var(--orange); color: white;
  font-family: 'Fredoka', sans-serif;
  font-size: 13px; font-weight: 600;
  padding: 8px 18px; border-radius: 40px;
  box-shadow: var(--shadow);
  animation: tagIn 0.7s 0.6s both;
}
@keyframes tagIn {
  from { transform: translateX(20px); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}

/* ─── WAVY DIVIDER ─── */
#page-pension .wave-divider {
  width: 100%; overflow: hidden;
  line-height: 0; background: var(--cream);
}
#page-pension .wave-divider svg { display: block; }

/* ─── SECTIONS ─── */
#page-pension section { padding: 90px 80px; }

#page-pension .section-label {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 11px; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--orange);
  margin-bottom: 12px;
}
#page-pension .section-label::before { content: ''; width: 24px; height: 2px; background: var(--orange); border-radius: 2px; }

#page-pension .section-title {
  font-family: 'Fredoka', sans-serif;
  font-size: 44px; font-weight: 700;
  color: var(--brown); line-height: 1.1;
}
#page-pension .section-title .em { color: var(--orange); }
#page-pension .section-title .em-green { color: var(--green); }

#page-pension .section-header { text-align: center; margin-bottom: 64px; }
#page-pension .section-header .section-label { justify-content: center; }
#page-pension .section-header p {
  color: var(--text-mid); font-size: 16px;
  max-width: 520px; margin: 14px auto 0; line-height: 1.75;
}

/* ─── SERVICES ─── */
#page-pension #services { background: white; }

#page-pension .services-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}

#page-pension .service-card {
  border-radius: 24px; padding: 36px 32px;
  border: 2px solid var(--cream-dark);
  background: var(--cream);
  transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
  position: relative; overflow: hidden;
}
#page-pension .service-card::before {
  content: ''; position: absolute;
  top: 0; left: 0; right: 0; height: 4px;
  border-radius: 24px 24px 0 0;
  transition: transform 0.3s;
  transform: scaleX(0);
}
#page-pension .service-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); border-color: transparent; }
#page-pension .service-card:hover::before { transform: scaleX(1); }

#page-pension .service-card.orange::before { background: var(--orange); }
#page-pension .service-card.green::before { background: var(--green); }
#page-pension .service-card.yellow::before { background: var(--yellow); }
#page-pension .service-card.orange:hover { border-color: rgba(245,169,127,0.2); }
#page-pension .service-card.green:hover { border-color: rgba(134,209,171,0.2); }
#page-pension .service-card.yellow:hover { border-color: rgba(255,227,143,0.3); }

#page-pension .service-emoji {
  font-size: 48px; margin-bottom: 20px; display: block;
  transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1);
}
#page-pension .service-card:hover .service-emoji { transform: scale(1.2) rotate(8deg); }

#page-pension .service-card h3 {
  font-family: 'Fredoka', sans-serif;
  font-size: 22px; font-weight: 700;
  color: var(--brown); margin-bottom: 10px;
}
#page-pension .service-card p { color: var(--text-mid); font-size: 14px; line-height: 1.7; margin-bottom: 20px; }

#page-pension .service-price {
  display: inline-flex; align-items: baseline; gap: 4px;
  background: white; border-radius: 40px;
  padding: 6px 16px; font-weight: 700;
}
#page-pension .service-card.orange .service-price { color: var(--orange); border: 1.5px solid rgba(245,169,127,0.2); }
#page-pension .service-card.green .service-price { color: var(--green); border: 1.5px solid rgba(134,209,171,0.2); }
#page-pension .service-card.yellow .service-price { color: var(--brown-mid); border: 1.5px solid rgba(255,227,143,0.4); }
#page-pension .price-amount { font-size: 22px; }
#page-pension .price-unit { font-size: 12px; opacity: 0.8; }

/* ─── WHY / ABOUT ─── */
#page-pension #about {
  background: var(--green);
  position: relative; overflow: hidden;
  padding: 90px 80px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center;
}
#page-pension #about::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 0% 100%, rgba(255,227,143,0.15) 0%, transparent 50%),
    radial-gradient(circle at 100% 0%, rgba(255,255,255,0.05) 0%, transparent 50%);
  pointer-events: none;
}
#page-pension .about-paw-bg {
  position: absolute; font-size: 200px; opacity: 0.04;
  pointer-events: none; user-select: none;
}
#page-pension .about-paw-bg.p1 { bottom: -40px; right: -20px; transform: rotate(20deg); }
#page-pension .about-paw-bg.p2 { top: -40px; left: -20px; transform: rotate(-15deg); }

#page-pension .about-text { position: relative; z-index: 2; }
#page-pension .about-text .section-label { color: rgba(255,255,255,0.7); }
#page-pension .about-text .section-label::before { background: rgba(255,255,255,0.5); }
#page-pension .about-text .section-title { color: white; }
#page-pension .about-text p { color: rgba(255,255,255,0.75); line-height: 1.8; margin: 16px 0 36px; }
#page-pension .about-text .btn-primary { background: var(--yellow); color: var(--brown); box-shadow: 0 4px 18px rgba(255,227,143,0.4); }
#page-pension .about-text .btn-primary:hover { background: #E0B830; }

#page-pension .about-points { display: flex; flex-direction: column; gap: 16px; margin-top: 32px; }
#page-pension .about-point {
  display: flex; gap: 14px; align-items: flex-start;
  background: rgba(255,255,255,0.1); border-radius: 16px;
  padding: 16px 20px; border: 1px solid rgba(255,255,255,0.15);
  transition: background 0.2s;
}
#page-pension .about-point:hover { background: rgba(255,255,255,0.15); }
#page-pension .about-point-icon {
  width: 42px; height: 42px; border-radius: 12px;
  background: rgba(255,255,255,0.15);
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; flex-shrink: 0;
}
#page-pension .about-point strong { display: block; color: white; font-size: 14px; margin-bottom: 3px; }
#page-pension .about-point span { color: rgba(255,255,255,0.65); font-size: 13px; }

#page-pension .about-visual { position: relative; z-index: 2; }
#page-pension .about-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
#page-pension .stat-card {
  background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.2);
  border-radius: 20px; padding: 28px 24px; text-align: center;
  transition: background 0.2s;
}
#page-pension .stat-card:hover { background: rgba(255,255,255,0.18); }
#page-pension .stat-num {
  font-family: 'Fredoka', sans-serif; font-size: 48px;
  font-weight: 700; color: var(--yellow); line-height: 1;
  margin-bottom: 6px;
}
#page-pension .stat-label { color: rgba(255,255,255,0.7); font-size: 13px; }
#page-pension .stat-card.wide { grid-column: span 2; }

/* ─── TARIFS ─── */
#page-pension #tarifs { background: var(--cream); }

#page-pension .tarifs-intro {
  display: flex; align-items: center; gap: 16px;
  background: var(--yellow-pale); border: 2px solid rgba(255,227,143,0.4);
  border-radius: 16px; padding: 20px 28px;
  margin-bottom: 48px;
  font-size: 14px; color: var(--brown-mid);
}
#page-pension .tarifs-intro-icon { font-size: 28px; flex-shrink: 0; }
#page-pension .tarifs-intro strong { color: var(--brown); display: block; margin-bottom: 4px; font-size: 15px; }

#page-pension .tarifs-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }

#page-pension .tarif-card {
  background: white; border-radius: 24px; overflow: hidden;
  border: 2px solid var(--cream-dark);
  transition: transform 0.25s, box-shadow 0.25s;
}
#page-pension .tarif-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }

#page-pension .tarif-card-header {
  padding: 28px 28px 20px;
  border-bottom: 2px dashed var(--cream-dark);
}
#page-pension .tarif-card.popular .tarif-card-header { background: var(--orange); }
#page-pension .tarif-card.popular .tarif-card-header * { color: white !important; }

#page-pension .tarif-emoji { font-size: 40px; margin-bottom: 12px; display: block; }
#page-pension .tarif-card-name {
  font-family: 'Fredoka', sans-serif;
  font-size: 22px; font-weight: 700; color: var(--brown);
}
#page-pension .tarif-card-sub { font-size: 13px; color: var(--text-light); margin-top: 4px; }

#page-pension .tarif-card-body { padding: 24px 28px; }
#page-pension .tarif-price-row {
  display: flex; align-items: baseline; gap: 6px;
  margin-bottom: 20px; padding-bottom: 20px;
  border-bottom: 1px dashed var(--cream-dark);
}
#page-pension .tarif-from { font-size: 12px; font-weight: 700; color: var(--text-light); text-transform: uppercase; letter-spacing: 0.06em; }
#page-pension .tarif-amount {
  font-family: 'Fredoka', sans-serif;
  font-size: 44px; font-weight: 700; line-height: 1;
  color: var(--orange);
}
#page-pension .tarif-card.popular .tarif-amount { color: var(--orange); }
#page-pension .tarif-unit { font-size: 14px; color: var(--text-light); }

#page-pension .tarif-features { list-style: none; display: flex; flex-direction: column; gap: 10px; margin-bottom: 24px; }
#page-pension .tarif-features li {
  display: flex; align-items: center; gap: 10px;
  font-size: 14px; color: var(--text-mid);
}
#page-pension .tarif-features li::before {
  content: '✓'; width: 22px; height: 22px;
  background: var(--green-pale); color: var(--green);
  border-radius: 50%; display: flex; align-items: center;
  justify-content: center; font-size: 12px; font-weight: 700;
  flex-shrink: 0;
}

#page-pension .tarif-sizes { margin-bottom: 24px; }
#page-pension .tarif-sizes-title { font-size: 12px; font-weight: 700; color: var(--text-light); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 10px; }
#page-pension .size-rows { display: flex; flex-direction: column; gap: 8px; }
#page-pension .size-row {
  display: flex; justify-content: space-between; align-items: center;
  background: var(--cream); border-radius: 10px;
  padding: 8px 14px; font-size: 13px;
}
#page-pension .size-name { color: var(--text-mid); }
#page-pension .size-price { font-weight: 700; color: var(--brown); }

#page-pension .btn-tarif {
  display: block; text-align: center;
  background: var(--orange); color: white;
  padding: 13px; border-radius: 40px;
  text-decoration: none; font-size: 14px; font-weight: 700;
  transition: all 0.2s;
}
#page-pension .btn-tarif:hover { background: var(--orange-dark); transform: translateY(-1px); }
#page-pension .tarif-card:not(.popular) .btn-tarif {
  background: transparent; color: var(--orange);
  border: 2px solid var(--orange);
}
#page-pension .tarif-card:not(.popular) .btn-tarif:hover { background: var(--orange); color: white; }

#page-pension .tarif-note {
  text-align: center; color: var(--text-light);
  font-size: 13px; margin-top: 28px; font-style: italic;
}

/* ─── GALERIE ─── */
#page-pension #galerie { background: #FFFDF6; }
#page-pension .gallery-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr;
  grid-template-rows: 320px;
  gap: 14px;
}
#page-pension .gallery-item {
  border-radius: 18px; overflow: hidden;
  cursor: pointer; position: relative;
  transition: transform 0.35s, box-shadow 0.35s;
  box-shadow: 0 4px 16px rgba(23,50,77,0.10);
}
#page-pension .gallery-item:hover { transform: scale(1.02); box-shadow: 0 8px 28px rgba(23,50,77,0.18); }
#page-pension .gallery-item img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
  display: block;
}
#page-pension .gallery-item:hover img { transform: scale(1.07); }
#page-pension .gi-main { grid-column: 1; grid-row: span 2; }
#page-pension .gi-tall { grid-row: span 2; }
#page-pension .gi-label {
  position: absolute; bottom: 12px; left: 12px;
  background: rgba(255,255,255,0.88);
  backdrop-filter: blur(8px);
  padding: 5px 12px; border-radius: 20px;
  font-size: 12px; font-weight: 600;
  color: var(--brown);
  box-shadow: 0 2px 8px rgba(0,0,0,0.10);
  pointer-events: none;
}


/* ─── TÉMOIGNAGES ─── */
#page-pension #temoignages { background: var(--orange-pale); }
#page-pension .reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
#page-pension .review-card {
  background: white; border-radius: 20px; padding: 28px;
  border: 2px solid var(--cream-dark);
  transition: transform 0.2s, box-shadow 0.2s;
}
#page-pension .review-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
#page-pension .stars { color: var(--yellow); font-size: 16px; letter-spacing: 2px; margin-bottom: 14px; }
#page-pension .review-quote {
  font-family: 'Nunito', sans-serif;
  color: var(--text-mid); font-size: 14px;
  line-height: 1.75; font-style: italic; margin-bottom: 20px;
}
#page-pension .reviewer {
  display: flex; align-items: center; gap: 12px;
  border-top: 1px dashed var(--cream-dark); padding-top: 16px;
}
#page-pension .reviewer-av {
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--orange-pale); border: 2px solid var(--orange);
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 13px; color: var(--orange);
}
#page-pension .reviewer-name { font-size: 14px; font-weight: 700; color: var(--brown); margin-bottom: 2px; }
#page-pension .reviewer-info { font-size: 12px; color: var(--text-light); }

/* ─── RÉSERVATION POP-UP ─── */
#page-pension .resa-overlay {
  position: fixed; inset: 0; z-index: 500;
  background: rgba(23,50,77,0.7);
  backdrop-filter: blur(8px);
  display: none; align-items: center; justify-content: center;
  padding: 20px;
}
#page-pension .resa-overlay.open { display: flex; }

#page-pension .resa-modal {
  background: var(--cream); border-radius: 28px;
  width: 100%; max-width: 620px; max-height: 90vh;
  overflow-y: auto; position: relative;
  box-shadow: 0 32px 80px rgba(23,50,77,0.3);
  animation: modalPop 0.5s cubic-bezier(0.34,1.56,0.64,1) both;
}
@keyframes modalPop {
  from { transform: scale(0.9) translateY(20px); opacity: 0; }
  to   { transform: scale(1) translateY(0); opacity: 1; }
}

#page-pension .resa-header {
  background: var(--orange); border-radius: 28px 28px 0 0;
  padding: 32px 40px 28px; text-align: center;
}
#page-pension .resa-header h2 {
  font-family: 'Fredoka', sans-serif;
  font-size: 28px; font-weight: 700; color: white; margin-bottom: 6px;
}
#page-pension .resa-header p { color: rgba(255,255,255,0.8); font-size: 14px; }

#page-pension .resa-body { padding: 36px 40px 40px; }

#page-pension .resa-notice {
  display: flex; gap: 12px; align-items: flex-start;
  background: var(--yellow-pale); border: 1.5px solid rgba(255,227,143,0.5);
  border-radius: 14px; padding: 16px 18px;
  margin-bottom: 28px; font-size: 13px; color: var(--brown-mid);
}
#page-pension .resa-notice-icon { font-size: 20px; flex-shrink: 0; }
#page-pension .resa-notice strong { display: block; color: var(--brown); margin-bottom: 3px; }

#page-pension .form-group { margin-bottom: 18px; }
#page-pension .form-group label {
  display: block; font-size: 12px; font-weight: 700;
  letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--brown-mid); margin-bottom: 8px;
}
#page-pension .form-group input,
#page-pension .form-group select,
#page-pension .form-group textarea {
  width: 100%; padding: 12px 16px;
  background: white; border: 2px solid var(--cream-dark);
  border-radius: 12px; font-family: 'DM Sans', sans-serif;
  font-size: 14px; color: var(--text);
  transition: border-color 0.2s, box-shadow 0.2s;
  outline: none; appearance: none;
}
#page-pension .form-group input:focus,
#page-pension .form-group select:focus,
#page-pension .form-group textarea:focus {
  border-color: var(--orange);
  box-shadow: 0 0 0 3px rgba(245,169,127,0.12);
}
#page-pension .form-group input::placeholder,
#page-pension .form-group textarea::placeholder { color: var(--text-light); }
#page-pension .form-group textarea { resize: vertical; min-height: 90px; }
#page-pension .form-group select option { background: white; }
#page-pension .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

#page-pension .form-upload {
  border: 2px dashed rgba(245,169,127,0.35); border-radius: 12px;
  padding: 20px; text-align: center; cursor: pointer;
  background: var(--orange-pale); transition: all 0.2s;
}
#page-pension .form-upload:hover { border-color: var(--orange); background: rgba(245,169,127,0.1); }
#page-pension .form-upload-icon { font-size: 28px; margin-bottom: 8px; }
#page-pension .form-upload p { font-size: 13px; color: var(--text-mid); }
#page-pension .form-upload span { font-size: 11px; color: var(--text-light); display: block; margin-top: 4px; }
#page-pension .form-upload input[type="file"] { display: none; }

#page-pension .resa-close {
  position: absolute; top: 16px; right: 16px;
  width: 36px; height: 36px; border-radius: 50%;
  background: rgba(255,255,255,0.2); border: none;
  color: white; font-size: 18px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background 0.2s;
}
#page-pension .resa-close:hover { background: rgba(255,255,255,0.35); }

#page-pension .btn-submit {
  width: 100%; padding: 16px;
  background: var(--orange); color: white;
  border: none; border-radius: 40px;
  font-family: 'Fredoka', sans-serif;
  font-size: 18px; font-weight: 700; cursor: pointer;
  transition: all 0.2s; margin-top: 8px;
}
#page-pension .btn-submit:hover { background: var(--orange-dark); transform: translateY(-1px); box-shadow: 0 8px 24px rgba(245,169,127,0.4); }

#page-pension .resa-success {
  display: none; text-align: center; padding: 20px 0;
}
#page-pension .resa-success-icon { font-size: 64px; margin-bottom: 16px; }
#page-pension .resa-success h3 {
  font-family: 'Fredoka', sans-serif;
  font-size: 26px; color: var(--green); margin-bottom: 10px;
}
#page-pension .resa-success p { color: var(--text-mid); line-height: 1.7; }

/* ─── CONTACT ─── */
#page-pension #contact {
  background: white; padding: 90px 80px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: start;
}
#page-pension .contact-info .section-title { margin-bottom: 14px; }
#page-pension .contact-info > p { color: var(--text-mid); line-height: 1.75; margin-bottom: 36px; }
#page-pension .contact-details { display: flex; flex-direction: column; gap: 14px; }
#page-pension .contact-item {
  display: flex; gap: 14px; align-items: flex-start;
  padding: 16px 20px; background: var(--cream);
  border: 2px solid var(--cream-dark); border-radius: 16px;
  transition: border-color 0.2s;
}
#page-pension .contact-item:hover { border-color: var(--orange); }
#page-pension .contact-item-icon {
  width: 40px; height: 40px; border-radius: 12px;
  background: var(--orange-pale);
  display: flex; align-items: center; justify-content: center;
  font-size: 18px; flex-shrink: 0;
}
#page-pension .contact-item strong { display: block; font-size: 14px; font-weight: 700; color: var(--brown); margin-bottom: 2px; }
#page-pension .contact-item span { font-size: 13px; color: var(--text-mid); line-height: 1.5; }

#page-pension .contact-map {
  background: var(--cream); border-radius: 20px;
  overflow: hidden; border: 2px solid var(--cream-dark);
}
#page-pension .map-placeholder {
  height: 280px; background: linear-gradient(135deg, #C8E6A0, #A5D6A7);
  display: flex; align-items: center; justify-content: center;
  flex-direction: column; gap: 12px;
  color: var(--green-dark); font-size: 13px; font-style: italic;
}
#page-pension .map-placeholder-icon { font-size: 48px; }
#page-pension .contact-map-info { padding: 20px 24px; display: flex; gap: 16px; flex-wrap: wrap; }
#page-pension .map-tag {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--green-pale); color: var(--green);
  border: 1.5px solid rgba(134,209,171,0.2);
  padding: 6px 14px; border-radius: 40px;
  font-size: 12px; font-weight: 700;
}

/* ─── LÉGALES ─── */
#page-pension #legales {
  background: var(--cream-dark); padding: 60px 80px;
}
#page-pension .legales-inner {
  max-width: 900px; margin: 0 auto;
  background: white; border-radius: 20px;
  padding: 40px 48px; border: 2px solid var(--cream-dark);
}
#page-pension .legales-inner h2 {
  font-family: 'Fredoka', sans-serif;
  font-size: 28px; color: var(--brown); margin-bottom: 24px;
  padding-bottom: 16px; border-bottom: 2px dashed var(--cream-dark);
}
#page-pension .legales-inner h3 {
  font-family: 'Fredoka', sans-serif;
  font-size: 18px; color: var(--brown-mid); margin: 24px 0 10px;
}
#page-pension .legales-inner p { color: var(--text-mid); font-size: 14px; line-height: 1.75; margin-bottom: 12px; }
#page-pension .legales-inner ul { color: var(--text-mid); font-size: 14px; line-height: 1.75; padding-left: 20px; margin-bottom: 12px; }

/* ─── FOOTER ─── */
#page-pension footer {
  background: var(--brown); padding: 60px 80px 32px;
}
#page-pension .footer-grid {
  display: grid; grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px; margin-bottom: 48px; padding-bottom: 40px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
#page-pension .footer-logo-text {
  font-family: 'Fredoka', sans-serif;
  font-size: 22px; font-weight: 700; color: white; margin-bottom: 4px;
}
#page-pension .footer-logo-sub { font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--orange); margin-bottom: 14px; }
#page-pension .footer-desc { color: rgba(255,255,255,0.45); font-size: 13px; line-height: 1.75; max-width: 240px; margin-bottom: 20px; }
#page-pension .footer-socials { display: flex; gap: 10px; }
#page-pension .footer-social {
  width: 36px; height: 36px; border-radius: 50%;
  background: rgba(255,255,255,0.08);
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; cursor: pointer; transition: background 0.2s;
  text-decoration: none;
}
#page-pension .footer-social:hover { background: var(--orange); }
#page-pension .footer-col h4 { color: rgba(255,255,255,0.5); font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 18px; }
#page-pension .footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 10px; }
#page-pension .footer-col a { color: rgba(255,255,255,0.45); text-decoration: none; font-size: 13px; transition: color 0.2s; }
#page-pension .footer-col a:hover { color: var(--orange); }
#page-pension .footer-bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; }
#page-pension .footer-bottom p { color: rgba(255,255,255,0.25); font-size: 12px; }
#page-pension .footer-bottom a { color: rgba(245,169,127,0.5); text-decoration: none; transition: color 0.2s; }
#page-pension .footer-bottom a:hover { color: var(--orange); }

/* ─── TVA BADGE ─── */
#page-pension .tva-badge {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.35); font-size: 11px; padding: 4px 10px;
  border-radius: 6px; margin-top: 8px;
}

/* ─── FADE UP ─── */
#page-pension .fade-up {
  opacity: 0; transform: translateY(22px);
  transition: opacity 0.65s ease, transform 0.65s ease;
}
#page-pension .fade-up.visible { opacity: 1; transform: translateY(0); }

/* ─── BACK TO TOP ─── */
#page-pension .back-top {
  position: fixed; bottom: 28px; right: 28px;
  width: 46px; height: 46px; border-radius: 50%;
  background: var(--orange); color: white;
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; text-decoration: none;
  opacity: 0; pointer-events: none;
  transition: opacity 0.3s, transform 0.2s; transform: translateY(8px); z-index: 99;
  box-shadow: 0 4px 16px rgba(245,169,127,0.4);
}
#page-pension .back-top.show { opacity: 1; pointer-events: all; transform: translateY(0); }
#page-pension .back-top:hover { background: var(--orange-dark); }

/* ─── RESPONSIVE ─── */
@media (max-width: 1100px) {
  #page-pension nav { padding: 0 32px; }
  #page-pension section, #page-pension #about, #page-pension #contact, #page-pension #legales { padding: 72px 40px; }
  #page-pension footer { padding: 56px 40px 28px; }
  #page-pension .hero { grid-template-columns: 1fr; }
  #page-pension .hero-left { padding: 80px 40px 60px; }
  #page-pension .hero-right { display:flex; align-items:stretch; /* gallery override */ min-height: 380px; }
  #page-pension .hero-title { font-size: 52px; }
}
@media (max-width: 900px) {
  #page-pension .services-grid, #page-pension .tarifs-grid, #page-pension .reviews-grid { grid-template-columns: 1fr 1fr; }
  #page-pension #about, #page-pension #contact { grid-template-columns: 1fr; gap: 48px; }
  #page-pension .footer-grid { grid-template-columns: 1fr 1fr; }
  #page-pension .nav-links li:not(:last-child):not(:nth-last-child(2)) { display: none; }
}
@media (max-width: 640px) {
  #page-pension .hero-title { font-size: 40px; }
  #page-pension section, #page-pension #about, #page-pension #contact, #page-pension #legales { padding: 64px 20px; }
  #page-pension .services-grid, #page-pension .tarifs-grid, #page-pension .reviews-grid { grid-template-columns: 1fr; }
  #page-pension .section-title { font-size: 34px; }
  #page-pension .footer-grid { grid-template-columns: 1fr; }
  #page-pension .form-row { grid-template-columns: 1fr; }
  #page-pension nav { padding: 0 16px; }
  #page-pension .back-home { display: none; }
  #page-pension .resa-body { padding: 24px; }
  #page-pension .resa-header { padding: 24px; }
}

/* ── HERO GALLERY ── */
#page-pension .hero-gallery {display:flex;gap:12px;height:420px;width:100%;}
#page-pension .hg-main {flex:1.4;position:relative;border-radius:20px;overflow:hidden;box-shadow:0 12px 40px rgba(23,50,77,0.18);}
#page-pension .hg-main img {width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease;}
#page-pension .hg-main:hover img {transform:scale(1.04);}
#page-pension .hg-main-badge {position:absolute;bottom:14px;left:14px;background:rgba(255,255,255,0.92);backdrop-filter:blur(8px);padding:7px 14px;border-radius:30px;font-size:13px;font-weight:600;color:var(--brown);box-shadow:0 4px 12px rgba(0,0,0,0.1);}
#page-pension .hg-side {flex:1;display:flex;flex-direction:column;gap:12px;}
#page-pension .hg-small {flex:1;border-radius:16px;overflow:hidden;box-shadow:0 6px 20px rgba(23,50,77,0.12);}
#page-pension .hg-small img {width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease;}
#page-pension .hg-small:hover img {transform:scale(1.06);}
#page-pension .hg-review {background:#fff;border-radius:16px;padding:16px;box-shadow:0 6px 20px rgba(23,50,77,0.1);border-left:4px solid var(--orange);}
#page-pension .hg-stars {font-size:14px;margin-bottom:6px;}
#page-pension .hg-review-text {font-size:13px;color:var(--brown);font-style:italic;line-height:1.5;margin:0 0 6px;}
#page-pension .hg-review-author {font-size:12px;color:var(--orange);font-weight:600;}

/* ── OVERRIDES CRITIQUES (isolation mono-fichier) ── */
#page-pension nav { background: rgba(255,253,246,0.97) !important; color: #17324D !important; }
#page-pension nav a, #page-pension .nav-links a { color: #2B4D6E !important; }
#page-pension .nav-links a:hover { color: #F5A97F !important; }
#page-pension .back-home-nav { color: #2B4D6E !important; background: white !important; }
#page-pension .nav-cta { color: white !important; background: #F5A97F !important; }

/* ── FORMULAIRE VERT ── */
#page-pension .form-group input,
#page-pension .form-group select,
#page-pension .form-group textarea {
  background: #EBF5EB !important;
  border: 2px solid #A8D5A8 !important;
  color: #2C5F2E !important;
}
#page-pension .form-group input::placeholder,
#page-pension .form-group textarea::placeholder { color: #86D1AB !important; }
#page-pension .form-group label { color: #17324D !important; }

/* ── TEXTES GÉNÉRAUX ── */
#page-pension p, #page-pension span, #page-pension li, #page-pension h1, #page-pension h2, #page-pension h3, #page-pension h4, #page-pension strong, #page-pension em { color: inherit; }
#page-pension .section-header p { color: #45607A !important; }
#page-pension .tarif-features li { color: #17324D !important; }
#page-pension .review-text, #page-pension .reviewer-info { color: #17324D !important; }
#page-pension .service-card p { color: #45607A !important; }
#page-pension .contact-item span, #page-pension .contact-item strong { color: #17324D !important; }
#page-pension .size-name { color: #45607A !important; }
#page-pension .tarif-card-sub { color: #5F7F9E !important; }
#page-pension .tarif-from, #page-pension .tarif-unit, #page-pension .tarif-sizes-title { color: #5F7F9E !important; }
#page-pension footer { color: #17324D !important; }
#page-pension footer a { color: #F5A97F !important; }

/* ── RESA TABS ── */
#page-pension .resa-tabs {
  display: flex; gap: 8px; margin-bottom: 20px;
  background: #f0f7f0; border-radius: 14px; padding: 6px;
}
#page-pension .resa-tab {
  flex: 1; padding: 10px 8px; border: none; border-radius: 10px;
  background: transparent; cursor: pointer;
  font-family: 'DM Sans', sans-serif; font-size: 13px; font-weight: 600;
  color: #45607A; transition: all 0.2s;
}
#page-pension .resa-tab.active {
  background: white; color: #F5A97F;
  box-shadow: 0 2px 8px rgba(23,50,77,0.12);
}
#page-pension .resa-tab:hover:not(.active) { background: rgba(255,255,255,0.6); }

/* ── SEND BUTTONS ── */
#page-pension .resa-send-btns {
  display: flex; gap: 12px; margin-top: 20px;
}
#page-pension .btn-send {
  flex: 1; display: flex; align-items: center; justify-content: center;
  gap: 8px; padding: 14px 20px; border: none; border-radius: 50px;
  font-family: 'DM Sans', sans-serif; font-size: 14px; font-weight: 700;
  cursor: pointer; transition: all 0.25s; letter-spacing: 0.01em;
}
#page-pension .btn-whatsapp {
  background: #25D366; color: white;
}
#page-pension .btn-whatsapp:hover { background: #1ebe5d; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(37,211,102,0.35); }
#page-pension .btn-email {
  background: var(--orange); color: white;
}
#page-pension .btn-email:hover { background: var(--orange-dark); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(245,169,127,0.35); }
@media(max-width:520px) {
  #page-pension .resa-send-btns { flex-direction: column; }
  #page-pension .resa-tabs { flex-wrap: wrap; }
  #page-pension .resa-tab { font-size: 12px; padding: 8px 6px; }
}

#page-pension{color:#17324D;background:#FFFDF6;cursor:auto;}
#page-pension nav{background:rgba(255,253,246,0.97)!important;}
#page-pension .nav-links a{color:#2B4D6E!important;}
#page-pension .nav-links a:hover{color:#F5A97F!important;}
#page-pension .back-home-nav{color:#2B4D6E!important;background:white!important;}
#page-pension .nav-cta{color:white!important;}

/* ═══ HOME SWEET WOOF · REFONTE LUDIQUE & ARRONDIE ═══ */
#page-pension{--ink:#17324D;--hand:'Caveat',cursive;--blob1:62% 38% 55% 45% / 48% 58% 42% 52%;--blob2:42% 58% 38% 62% / 55% 40% 60% 45%;}
#page-pension h1,#page-pension h2,#page-pension h3{font-family:'Fredoka',sans-serif;}
#page-pension .hand{font-family:var(--hand);font-weight:700;}

/* NAV */
#page-pension nav{border-bottom:none!important;box-shadow:0 6px 24px rgba(23,50,77,0.06);}
@media (min-width:901px){#page-pension .nav-links a{font-family:'Fredoka',sans-serif;font-weight:500!important;font-size:15px!important;border-radius:30px;padding:8px 14px!important;transition:background .2s,color .2s;}
#page-pension .nav-links a:not(.nav-cta):hover{background:var(--orange-pale);}}
#page-pension .nav-cta{background:var(--orange)!important;box-shadow:0 4px 0 var(--orange-dark)!important;border-radius:30px!important;}
#page-pension .nav-cta:hover{transform:translateY(2px);box-shadow:0 2px 0 var(--orange-dark)!important;}

/* BOUTONS « bonbon » */
#page-pension .btn-primary,#page-pension .btn-tarif{font-family:'Fredoka',sans-serif;font-weight:600;font-size:16px;letter-spacing:.01em;border-radius:50px;box-shadow:0 6px 0 var(--orange-dark),0 12px 24px rgba(245,169,127,.25)!important;transition:transform .15s,box-shadow .15s!important;}
#page-pension .btn-primary:hover,#page-pension .btn-tarif:hover{transform:translateY(3px)!important;box-shadow:0 3px 0 var(--orange-dark),0 6px 14px rgba(245,169,127,.25)!important;background:var(--orange)!important;color:#fff!important;}
#page-pension .btn-secondary{font-family:'Fredoka',sans-serif;font-weight:600;font-size:16px;border:2.5px solid var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:50px;transition:transform .15s,box-shadow .15s;}
#page-pension .btn-secondary:hover{transform:translateY(3px);box-shadow:0 2px 0 var(--ink);color:var(--ink);border-color:var(--ink);}

/* ── HERO ── */
#page-pension .hero{background:var(--cream);min-height:calc(100vh - 72px);}
#page-pension .hero-left{background:transparent;}
#page-pension .hero-bubble{display:none;}
#page-pension .hero::before{content:'';position:absolute;width:520px;height:520px;right:-120px;top:-140px;background:var(--yellow);opacity:.35;border-radius:var(--blob1);animation:hswMorph 14s ease-in-out infinite;}
#page-pension .hero::after{content:'';position:absolute;width:300px;height:300px;left:-90px;bottom:-110px;background:var(--green);opacity:.18;border-radius:var(--blob2);animation:hswMorph 18s ease-in-out infinite reverse;}
#page-pension .hero-badge{background:#fff;color:var(--green-dark);border:2px solid var(--green);box-shadow:0 4px 0 var(--green);font-size:12px;transform:rotate(-2deg);}
#page-pension .hero-title{font-size:72px;letter-spacing:-.01em;}
#page-pension .hero-title .accent-green{position:relative;display:inline-block;color:var(--green);}
#page-pension .hero-title .accent-green::after{content:'';position:absolute;left:-2%;right:-4%;bottom:-6px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 16' preserveAspectRatio='none'%3E%3Cpath d='M3 11 C 40 3, 80 3, 110 8 S 170 14, 197 5' fill='none' stroke='%23FFD23F' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/100% 100%;z-index:-1;}
#page-pension .hero-sub-title{font-family:var(--hand)!important;font-size:30px!important;color:var(--orange)!important;font-style:normal!important;transform:rotate(-2deg);display:inline-block;margin:6px 0 14px!important;}
#page-pension .hero-desc{font-size:17px;line-height:1.7;}
#page-pension .hero-buttons{gap:18px;}

#page-pension .hero-right{background:transparent!important;overflow:visible;padding:40px 60px 40px 20px;}
#page-pension .hero-tag-corner{display:none;}
#page-pension .hero-gallery{position:relative;display:block;height:520px;max-width:560px;margin:0 auto;}
#page-pension .hg-main{position:absolute!important;inset:30px 40px 40px 30px;border-radius:var(--blob1)!important;border:8px solid #fff;box-shadow:0 24px 50px rgba(23,50,77,.18)!important;animation:hswMorph 16s ease-in-out infinite;overflow:hidden;}
#page-pension .hg-main img{width:100%;height:100%;object-fit:cover;}
#page-pension .hg-main-badge{display:none;}
#page-pension .hg-side{display:contents;}
#page-pension .hg-small{position:absolute!important;width:150px;height:150px;border-radius:50%!important;border:6px solid #fff;box-shadow:0 12px 26px rgba(23,50,77,.18)!important;z-index:3;}
#page-pension .hg-small img{width:100%;height:100%;object-fit:cover;}
#page-pension .hg-small:nth-child(1){top:-10px;right:-10px;animation:hswFloat 6s ease-in-out infinite;}
#page-pension .hg-small:nth-child(2){bottom:-6px;left:-20px;width:130px;height:130px;animation:hswFloat 7s ease-in-out infinite .8s;}
#page-pension .hg-review{position:absolute!important;right:-30px;bottom:30px;width:220px;z-index:4;border-left:none!important;border-radius:22px!important;border:2.5px solid var(--ink)!important;box-shadow:5px 5px 0 var(--ink)!important;transform:rotate(3deg);}
#page-pension .hg-review-text{font-family:var(--hand);font-size:20px!important;line-height:1.15!important;color:var(--ink)!important;font-style:normal!important;}
.hsw-sticker{position:absolute;z-index:5;font-family:'Fredoka',sans-serif;font-weight:600;font-size:15px;padding:10px 18px;border-radius:40px;border:2.5px solid #17324D;box-shadow:4px 4px 0 #17324D;white-space:nowrap;animation:hswFloat 5s ease-in-out infinite;}
.hsw-sticker.s1{top:40px;left:-30px;background:#FFE38F;color:#17324D;transform:rotate(-8deg);}
.hsw-sticker.s2{top:52%;right:-46px;background:#86D1AB;color:#fff;transform:rotate(6deg);animation-delay:1.2s;}
.hsw-paw-doodle{position:absolute;pointer-events:none;opacity:.5;z-index:1;}

/* MARQUEE */
.hsw-marquee{background:var(--green);color:#fff;overflow:hidden;white-space:nowrap;padding:18px 0;transform:rotate(-1.5deg);margin:-16px -10px 0;position:relative;z-index:6;box-shadow:0 8px 0 rgba(23,50,77,.08);}
.hsw-marquee-track{display:inline-flex;gap:42px;animation:hswMarquee 28s linear infinite;font-family:'Fredoka',sans-serif;font-size:22px;font-weight:600;}
.hsw-marquee-track span{display:inline-flex;align-items:center;gap:10px;}
.hsw-marquee-track span::after{content:'✦';color:var(--yellow);margin-left:32px;}

/* LABELS DE SECTION */
#page-pension .section-label{background:var(--orange-pale);color:var(--orange-dark);padding:7px 16px;border-radius:40px;font-size:12px;transform:rotate(-2deg);}
#page-pension .section-label::before{content:'🐾';width:auto;height:auto;background:none;font-size:13px;}
#page-pension #about .section-label{background:rgba(255,255,255,.2);color:#fff;}
#page-pension .section-title{font-size:50px;}
#page-pension .section-header p{font-size:17px;}

/* VAGUES */
.hsw-wave{display:block;width:100%;height:70px;line-height:0;}
.hsw-wave svg{display:block;width:100%;height:100%;}

/* ── SERVICES ── */
#page-pension #services{background:var(--cream);position:relative;padding-top:110px;}
#page-pension .services-grid{gap:28px;}
#page-pension .service-card{border-radius:32px;border:2.5px solid var(--ink);padding:34px 30px;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s;}
#page-pension .service-card::before{display:none;}
#page-pension .service-card.orange{background:var(--orange-pale);box-shadow:7px 7px 0 var(--orange);}
#page-pension .service-card.green{background:var(--green-pale);box-shadow:7px 7px 0 var(--green);}
#page-pension .service-card.yellow{background:var(--yellow-pale);box-shadow:7px 7px 0 var(--yellow);}
#page-pension .service-card:nth-child(odd):hover{transform:translateY(-6px) rotate(-1.5deg);border-color:var(--ink);}
#page-pension .service-card:nth-child(even):hover{transform:translateY(-6px) rotate(1.5deg);border-color:var(--ink);}
#page-pension .service-card:hover{box-shadow:11px 11px 0 var(--ink)!important;}
#page-pension .service-emoji{display:flex!important;align-items:center;justify-content:center;width:74px;height:74px;font-size:36px!important;background:#fff;border-radius:var(--blob2);border:2.5px solid var(--ink);margin-bottom:20px;}
#page-pension .service-card h3{font-size:23px!important;font-weight:600;}
#page-pension .service-price{background:#fff!important;border:2.5px solid var(--ink)!important;border-radius:40px!important;}
#page-pension .service-price .price-amount{font-family:'Fredoka',sans-serif;}

/* ── ABOUT ── */
#page-pension #about{border-radius:0;padding-top:120px;padding-bottom:120px;}
#page-pension .about-paw-bg{opacity:.12!important;}
#page-pension .about-point{border-radius:24px;background:rgba(255,255,255,.14);border:2px solid rgba(255,255,255,.25);}
#page-pension .about-point:hover{transform:translateX(6px);}
#page-pension .about-point-icon{background:#fff!important;border-radius:var(--blob1)!important;}
#page-pension .about-stats{gap:22px!important;}
#page-pension .stat-card{border-radius:50%!important;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px!important;border:3px solid var(--ink)!important;box-shadow:6px 6px 0 var(--ink);transition:transform .3s cubic-bezier(.34,1.56,.64,1)!important;}
#page-pension .stat-card:nth-child(1){background:var(--yellow)!important;transform:rotate(-6deg);}
#page-pension .stat-card:nth-child(2){background:#fff!important;transform:rotate(4deg) translateY(18px);}
#page-pension .stat-card:nth-child(3){background:var(--orange)!important;transform:rotate(3deg);}
#page-pension .stat-card:nth-child(4){background:#fff!important;transform:rotate(-4deg) translateY(18px);}
#page-pension .stat-card:hover{transform:rotate(0) scale(1.06)!important;}
#page-pension .stat-num{font-family:'Fredoka',sans-serif!important;color:var(--ink)!important;font-size:44px!important;}
#page-pension .stat-card:nth-child(3) .stat-num,#page-pension .stat-card:nth-child(3) .stat-label{color:#fff!important;}
#page-pension .stat-label{color:var(--ink)!important;font-weight:600;font-size:14px!important;opacity:.85;}

/* ── TARIFS ── */
#page-pension #tarifs{background:var(--cream);padding-top:110px;}
#page-pension .tarifs-grid{gap:28px;align-items:start;}
#page-pension .tarif-card{border-radius:34px;border:2.5px solid var(--ink);box-shadow:7px 7px 0 var(--ink);overflow:visible;position:relative;}
#page-pension .tarif-card:hover{transform:translateY(-6px);box-shadow:11px 11px 0 var(--ink);}
#page-pension .tarif-card-header{border-radius:31px 31px 0 0;}
#page-pension .tarif-card:not(.popular) .tarif-card-header{background:var(--green-pale);}
#page-pension .tarif-card:nth-child(3) .tarif-card-header{background:var(--yellow-pale);}
#page-pension .tarif-card.popular::before{content:'⭐ Le + demandé';position:absolute;top:-18px;right:22px;z-index:3;background:var(--yellow);color:var(--ink);font-family:'Fredoka',sans-serif;font-weight:600;font-size:14px;padding:7px 16px;border-radius:40px;border:2.5px solid var(--ink);transform:rotate(5deg);}
#page-pension .tarif-emoji{font-size:40px!important;}
#page-pension .tarif-card-name{font-family:'Fredoka',sans-serif!important;font-size:24px!important;}
#page-pension .size-row{border-radius:16px!important;}
#page-pension .tarif-amount{font-family:'Fredoka',sans-serif!important;}
#page-pension .tarif-card:not(.popular) .btn-tarif{background:var(--orange)!important;color:#fff!important;border:none!important;}
#page-pension .discount-box{border:2.5px dashed var(--orange)!important;border-radius:24px!important;}
#page-pension .tarif-note{background:#fff;border:2px solid var(--yellow);border-radius:40px;padding:12px 22px;width:fit-content;margin:40px auto 0!important;}

/* ── GALERIE POLAROID ── */
#page-pension #galerie{background:#fff;}
#page-pension .gallery-grid{grid-template-columns:repeat(4,1fr)!important;grid-template-rows:auto!important;gap:34px!important;padding:20px 10px;}
#page-pension .gallery-item{background:#fff;padding:12px 12px 56px;border-radius:10px!important;overflow:visible!important;box-shadow:0 14px 30px rgba(23,50,77,.16)!important;grid-row:auto!important;grid-column:auto!important;transition:transform .35s cubic-bezier(.34,1.56,.64,1)!important;}
#page-pension .gallery-item img{aspect-ratio:1;height:auto!important;width:100%;object-fit:cover;border-radius:6px;}
#page-pension .gallery-item:nth-child(1){transform:rotate(-4deg);}
#page-pension .gallery-item:nth-child(2){transform:rotate(3deg) translateY(16px);}
#page-pension .gallery-item:nth-child(3){transform:rotate(-2deg);}
#page-pension .gallery-item:nth-child(4){transform:rotate(4deg) translateY(12px);}
#page-pension .gallery-item:hover{transform:rotate(0) scale(1.06)!important;z-index:2;}
#page-pension .gallery-item:hover img{transform:none!important;}
#page-pension .gallery-item::before{content:'';position:absolute;top:-12px;left:50%;width:90px;height:26px;transform:translateX(-50%) rotate(-3deg);background:rgba(255,227,143,.75);border-radius:3px;z-index:2;}
#page-pension .gallery-item:nth-child(even)::before{background:rgba(134,209,171,.55);transform:translateX(-50%) rotate(4deg);}
#page-pension .gi-label{position:absolute!important;left:0!important;right:0;bottom:12px!important;background:none!important;box-shadow:none!important;backdrop-filter:none!important;text-align:center;font-family:var(--hand);font-size:24px!important;font-weight:700!important;color:var(--ink)!important;}

/* ── AVIS EN BULLES ── */
#page-pension #temoignages{background:var(--yellow-pale)!important;}
#page-pension .reviews-grid{gap:34px!important;}
#page-pension .review-card{position:relative;border-radius:30px!important;border:2.5px solid var(--ink)!important;box-shadow:6px 6px 0 var(--ink);margin-bottom:22px;}
#page-pension .review-card::after{content:'';position:absolute;bottom:-20px;left:44px;width:30px;height:30px;background:inherit;border-right:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);transform:skewX(-25deg) rotate(45deg);border-radius:0 0 6px 0;}
#page-pension .review-card:nth-child(1){transform:rotate(-1.5deg);}
#page-pension .review-card:nth-child(2){transform:rotate(1.5deg);background:var(--green-pale)!important;}
#page-pension .review-card:nth-child(3){transform:rotate(-1deg);background:var(--orange-pale)!important;}
#page-pension .review-card:hover{transform:rotate(0) translateY(-4px)!important;}
#page-pension .review-card .stars{color:var(--yellow)!important;font-size:22px!important;-webkit-text-stroke:1px var(--ink);}
#page-pension .review-quote{font-size:16px!important;}
#page-pension .reviewer{margin-top:8px;}
#page-pension .reviewer-av{border:2.5px solid var(--ink)!important;border-radius:var(--blob2)!important;}

/* ── CONTACT ── */
#page-pension #contact{background:var(--cream)!important;}
#page-pension .contact-item{border-radius:24px!important;border:2px solid var(--cream-dark);background:#fff!important;transition:transform .2s,box-shadow .2s,border-color .2s;}
#page-pension .contact-item:hover{transform:translateX(6px);border-color:var(--ink)!important;box-shadow:4px 4px 0 var(--ink);}
#page-pension .contact-item-icon{border-radius:var(--blob1)!important;background:var(--yellow-pale)!important;}
#page-pension .contact-map{border-radius:34px!important;border:2.5px solid var(--ink)!important;box-shadow:7px 7px 0 var(--green);}
#page-pension .map-placeholder{background:radial-gradient(circle at 30% 30%,#C9F2DC 0,#9BE3BE 60%,#6FD3A0 100%)!important;color:var(--ink)!important;font-family:var(--hand);font-size:26px!important;font-style:normal!important;}
#page-pension .map-placeholder-icon{font-size:56px!important;animation:hswBounce 2s ease-in-out infinite;}
#page-pension .map-tag{border-radius:40px!important;}

/* FOOTER */
#page-pension footer{position:relative;}
#page-pension #legales{background:var(--cream)!important;}
#page-pension .legales-inner{border-radius:32px!important;}

#page-pension .hero-right::before{display:none!important;}
#page-pension .contact-item a{color:var(--ink);text-decoration:none;font-weight:600;border-bottom:2px solid var(--yellow);}
#page-pension .contact-item a:hover{color:var(--orange);}

/* ANIMATIONS */
@keyframes hswFloat{0%,100%{translate:0 0}50%{translate:0 -12px}}
@keyframes hswMorph{0%,100%{border-radius:62% 38% 55% 45% / 48% 58% 42% 52%}50%{border-radius:45% 55% 40% 60% / 58% 42% 58% 42%}}
@keyframes hswMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes hswBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media (prefers-reduced-motion:reduce){#page-pension *,.hsw-marquee-track,.hsw-sticker{animation:none!important;}}

/* RESPONSIVE */
@media (max-width:1100px){
  #page-pension .hero-title{font-size:56px;}
  #page-pension .hero-right{padding:30px 40px 60px;}
  #page-pension .gallery-grid{grid-template-columns:repeat(2,1fr)!important;}
}
@media (max-width:700px){
  #page-pension .hero-title{font-size:44px;}
  #page-pension .section-title{font-size:36px;}
  #page-pension .hero-gallery{height:340px;max-width:340px;margin-bottom:70px;}
  #page-pension .hg-main{inset:20px 16px 20px 16px;border-width:6px;}
  #page-pension .hg-review{bottom:-70px!important;right:10px!important;width:200px!important;}
  #page-pension .hero-badge{font-size:10px;letter-spacing:.06em;padding:6px 12px;}
  #page-pension .hero-sub-title{font-size:26px!important;}
  #page-pension .btn-primary,#page-pension .btn-secondary{font-size:15px;padding:14px 22px;}
  #page-pension .hero-right{padding:10px 20px 50px!important;}
  #page-pension .hg-small{width:100px;height:100px;}
  #page-pension .hg-small:nth-child(2){width:90px;height:90px;}
  #page-pension .hg-review{right:-6px;width:180px;bottom:0;}
  .hsw-sticker{font-size:13px;padding:8px 14px;}
  .hsw-sticker.s1{left:0;top:10px;}
  .hsw-sticker.s2{right:-6px;}
  .hsw-marquee-track{font-size:18px;}
  #page-pension .stat-num{font-size:32px!important;}
  #page-pension .gallery-grid{gap:22px!important;}
  #page-pension .gi-label{font-size:19px!important;}
}

/* ═══ MULTI-PAGES · PENSION ═══ */
#page-pension nav{justify-content:flex-start!important;gap:14px;transition:box-shadow .2s;}
#page-pension nav.scrolled{box-shadow:0 8px 28px rgba(23,50,77,.10);}
#page-pension .back-home-nav{position:static!important;order:2;font-family:'Fredoka',sans-serif;text-transform:none!important;letter-spacing:0!important;font-size:13px!important;font-weight:600!important;border:2px solid var(--ink)!important;box-shadow:3px 3px 0 var(--ink)!important;}
#page-pension .back-home-nav:hover{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--ink)!important;}
#page-pension .nav-logo{position:static!important;transform:none!important;order:1;}
#page-pension .nav-links{margin-left:auto;order:3;}
#page-pension .nav-links a.is-active{background:var(--orange-pale);color:var(--orange-dark)!important;}
.hsw-burger{display:none;order:4;width:46px;height:46px;border-radius:50%;border:2.5px solid #17324D;background:#fff;box-shadow:3px 3px 0 #17324D;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0;margin-left:8px;}
.hsw-burger span{display:block;width:18px;height:2.5px;border-radius:2px;background:#17324D;transition:transform .25s,opacity .25s;}
nav.open .hsw-burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
nav.open .hsw-burger span:nth-child(2){opacity:0;}
nav.open .hsw-burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
@media (max-width:1150px){
  .hsw-burger{display:flex;}
  #page-pension .nav-links li{display:none!important;}
  #page-pension .nav-links li:last-child{display:block!important;}
  #page-pension nav.open .nav-links{position:absolute;top:calc(100% + 10px);right:16px;left:16px;flex-direction:column;align-items:stretch;gap:4px;background:#fff;border:2.5px solid var(--ink);border-radius:28px;box-shadow:6px 6px 0 var(--ink);padding:14px;margin:0;}
  #page-pension nav.open .nav-links li{display:block!important;}
  #page-pension nav.open .nav-links a{display:block;padding:12px 18px!important;font-size:17px!important;font-family:'Fredoka',sans-serif;border-radius:18px;text-align:center;}
}
@media (max-width:520px){
  .hsw-burger{margin-left:auto;}
  #page-pension .back-home-nav{display:none!important;}
  #page-pension .nav-links li:last-child{display:none!important;}
  #page-pension nav.open .nav-links li:last-child{display:block!important;}
}

#page-pension .nav-switch,#page-transport .nav-switch{display:none!important;}
#page-pension nav.open .nav-switch,#page-transport nav.open .nav-switch{display:block!important;}
#page-pension nav.open .nav-switch a{background:var(--ink);color:#fff!important;}
/* En-tête des pages internes */
.hsw-page-head{position:relative;overflow:hidden;background:var(--cream);padding:70px 80px 60px;text-align:center;}
.hsw-page-head .hph-inner{position:relative;z-index:2;max-width:980px;margin:0 auto;}
.hph-crumbs{font-size:13px;font-weight:600;color:var(--text-mid);margin-bottom:18px;display:flex;gap:8px;justify-content:center;align-items:center;}
.hph-crumbs a{color:var(--orange-dark);text-decoration:none;}
.hph-crumbs a:hover{text-decoration:underline;}
.hph-title{font-family:'Fredoka',sans-serif;font-size:58px;font-weight:700;line-height:1.05;color:var(--brown);margin:8px 0 14px;}
#page-pension .hph-title .em{color:var(--orange);}
#page-pension .hph-title .em-green{color:var(--green);}
.hph-sub{max-width:700px;margin:0 auto;font-size:18px;color:var(--text-mid);line-height:1.6;}
.hph-blob{position:absolute;border-radius:62% 38% 55% 45% / 48% 58% 42% 52%;animation:hswMorph 15s ease-in-out infinite;}
.hph-blob.b1{width:340px;height:340px;right:-90px;top:-120px;background:var(--yellow);opacity:.35;}
.hph-blob.b2{width:240px;height:240px;left:-80px;bottom:-110px;background:var(--green);opacity:.18;animation-direction:reverse;}
.hph-paws span{position:absolute;font-size:28px;opacity:.25;z-index:1;}
.hph-paws span:nth-child(1){left:12%;top:28%;transform:rotate(-20deg);}
.hph-paws span:nth-child(2){left:17%;top:55%;transform:rotate(-10deg);font-size:22px;}
.hph-paws span:nth-child(3){right:14%;bottom:22%;transform:rotate(18deg);}

/* Boutons « voir plus » */
.hsw-more{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:48px;}

/* Bandeau d'appel à l'action */
.hsw-cta{background:var(--cream);padding:30px 80px 100px!important;}
.hsw-cta-box{position:relative;max-width:1100px;margin:0 auto;background:var(--orange);border:3px solid var(--ink);border-radius:40px;box-shadow:9px 9px 0 var(--ink);padding:46px 52px;display:flex;align-items:center;gap:36px;flex-wrap:wrap;overflow:hidden;}
.hsw-cta-box::before{content:'';position:absolute;width:260px;height:260px;right:-60px;top:-90px;background:var(--yellow);opacity:.45;border-radius:62% 38% 55% 45% / 48% 58% 42% 52%;}
.hsw-cta-dog{font-size:64px;line-height:1;position:relative;animation:hswFloat 4s ease-in-out infinite;}
.hsw-cta-text{flex:1;min-width:240px;position:relative;}
.hsw-cta-text h2{font-family:'Fredoka',sans-serif;font-size:38px;color:#fff;line-height:1.1;margin-bottom:8px;}
.hsw-cta-text h2 .hand{font-family:'Caveat',cursive;font-size:1.25em;color:var(--ink);}
.hsw-cta-text p{color:rgba(255,255,255,.92);font-size:16px;}
.hsw-cta-btns{display:flex;flex-direction:column;gap:12px;position:relative;}
.hsw-btn-light,.hsw-btn-ghost{font-family:'Fredoka',sans-serif;font-weight:600;font-size:16px;text-decoration:none;text-align:center;padding:14px 26px;border-radius:50px;border:2.5px solid var(--ink);transition:transform .15s,box-shadow .15s;white-space:nowrap;}
.hsw-btn-light{background:#fff;color:var(--ink);box-shadow:0 5px 0 var(--ink);}
.hsw-btn-ghost{background:var(--ink);color:#fff;box-shadow:0 5px 0 rgba(0,0,0,.25);}
.hsw-btn-light:hover,.hsw-btn-ghost:hover{transform:translateY(3px);box-shadow:0 2px 0 var(--ink);}

/* Carte entreprise (À propos) */
.hsw-company{background:var(--cream);padding:90px 80px 30px!important;}
.hsw-company-card{max-width:900px;margin:0 auto;display:flex;gap:28px;align-items:center;background:#fff;border:2.5px solid var(--ink);border-radius:34px;box-shadow:7px 7px 0 var(--green);padding:34px 40px;}
.hsw-company-icon{font-size:44px;width:92px;height:92px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--green-pale);border:2.5px solid var(--ink);border-radius:42% 58% 38% 62% / 55% 40% 60% 45%;}
.hsw-company-card h2{font-family:'Fredoka',sans-serif;font-size:28px;color:var(--brown);}
.hsw-company-card p{color:var(--text-mid);margin-bottom:14px;}
.hsw-company-tags{display:flex;flex-wrap:wrap;gap:10px;}
.hsw-company-tags span{background:var(--cream);border:2px solid var(--cream-dark);border-radius:40px;padding:7px 16px;font-size:14px;color:var(--ink);}
.hsw-company-tags a{color:var(--ink);font-weight:600;text-decoration:none;}

@media (max-width:900px){
  .hsw-page-head{padding:56px 24px 44px;}
  .hsw-cta,.hsw-company{padding-left:20px!important;padding-right:20px!important;}
}
@media (max-width:700px){
  .hph-title{font-size:42px;}
  .hph-sub{font-size:16px;}
  .hsw-cta-box{padding:34px 26px;border-radius:32px;gap:20px;text-align:center;justify-content:center;}
  .hsw-cta-text h2{font-size:30px;}
  .hsw-cta-btns{width:100%;}
  .hsw-company-card{flex-direction:column;text-align:center;padding:30px 22px;}
  .hsw-company-tags{justify-content:center;}
  .hph-paws{display:none;}
}
/* ═══ PAGES INTÉRIEURES COMPACTES : tout le contenu visible sans scroller ═══ */
.hsw-page-head{padding:26px 80px 6px!important;}
.hph-crumbs{margin-bottom:8px!important;font-size:12px!important;}
.hsw-page-head .section-label{display:none!important;}
.hph-title{font-size:clamp(30px,2.6vw,42px)!important;margin:2px 0 6px!important;}
.hph-sub{font-size:15px!important;}
.hph-paws,.hph-blob.b2{display:none!important;}
.hph-blob.b1{width:220px!important;height:220px!important;top:-120px!important;}
#page-pension .hsw-page-head ~ section{padding-top:28px!important;padding-bottom:60px!important;}
#page-pension .hsw-page-head ~ .hsw-wave{display:none;}
#page-pension .hsw-page-head ~ section .section-header{margin-bottom:24px!important;}
/* cartes services plus compactes */
#page-pension .hsw-page-head ~ #services .services-grid{gap:20px!important;}
#page-pension .hsw-page-head ~ #services .service-card{padding:22px 24px!important;border-radius:24px!important;box-shadow:5px 5px 0 var(--orange);}
#page-pension .hsw-page-head ~ #services .service-card.green{box-shadow:5px 5px 0 var(--green);}
#page-pension .hsw-page-head ~ #services .service-card.yellow{box-shadow:5px 5px 0 var(--yellow);}
#page-pension .hsw-page-head ~ #services .service-emoji{width:50px!important;height:50px!important;font-size:24px!important;margin-bottom:10px!important;}
#page-pension .hsw-page-head ~ #services .service-card h3{font-size:19px!important;margin-bottom:6px!important;}
#page-pension .hsw-page-head ~ #services .service-card p{font-size:13.5px!important;line-height:1.55!important;margin-bottom:12px!important;}
#page-pension .hsw-page-head ~ #services .service-price{padding:6px 14px!important;}
#page-pension .hsw-page-head ~ #services .price-amount{font-size:20px!important;}
/* tarifs / galerie / contact / à propos : moins d'espace en tête */
#page-pension .hsw-page-head ~ #tarifs .tarifs-grid{gap:20px!important;}
#page-pension .hsw-page-head ~ #about{padding-top:40px!important;padding-bottom:50px!important;gap:40px!important;}
#page-pension .hsw-page-head ~ #contact{gap:40px!important;}
#page-pension .hsw-page-head ~ #contact .contact-info > p{margin-bottom:14px;}
#page-pension .hsw-page-head ~ #galerie .gallery-grid{padding-top:4px!important;}
@media (max-width:900px){.hsw-page-head{padding:22px 20px 4px!important;}}


#page-pension .hsw-page-head ~ #contact .contact-info > .section-label,#page-pension .hsw-page-head ~ #contact .contact-info > .section-title{display:none!important;}
#page-pension .hsw-page-head ~ #contact{padding-top:28px!important;}
#page-pension .hsw-page-head ~ #contact .contact-item{padding:12px 16px!important;}
#page-pension .hsw-page-head ~ #contact .contact-details{gap:10px!important;}
#page-pension .hsw-page-head ~ #about .about-text > p:first-of-type{font-size:15px;}
#page-pension .hsw-page-head ~ #about .about-point{padding:10px 14px!important;}
#page-pension .hsw-page-head ~ #about .about-points{gap:8px!important;margin-top:14px!important;}
#page-pension .hsw-page-head ~ #about .stat-num{font-size:34px!important;}
#page-pension .hsw-page-head ~ #about .about-stats{max-width:420px;margin:0 auto;}
#page-pension .hsw-page-head ~ #galerie .gallery-grid{gap:26px!important;}


/* ── Tarifs : 3 cartes même hauteur, tout visible ── */
#page-pension .hsw-page-head ~ #tarifs{padding-top:22px!important;padding-bottom:40px!important;}
#page-pension .hsw-page-head ~ #tarifs .tarifs-grid{align-items:stretch!important;gap:22px!important;}
#page-pension .hsw-page-head ~ #tarifs .tarif-card{display:flex;flex-direction:column;border-radius:26px!important;}
#page-pension .hsw-page-head ~ #tarifs .tarif-card-header{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;padding:16px 22px!important;border-radius:23px 23px 0 0!important;}
#page-pension .hsw-page-head ~ #tarifs .tarif-emoji{grid-row:span 2;font-size:28px!important;margin:0!important;}
#page-pension .hsw-page-head ~ #tarifs .tarif-card-name{font-size:20px!important;line-height:1.15;}
#page-pension .hsw-page-head ~ #tarifs .tarif-card-sub{margin-top:0!important;font-size:12px!important;}
#page-pension .hsw-page-head ~ #tarifs .tarif-card-body{flex:1;display:flex;flex-direction:column;padding:14px 22px 18px!important;}
#page-pension .hsw-page-head ~ #tarifs .tarif-sizes{margin-bottom:10px!important;}
#page-pension .hsw-page-head ~ #tarifs .tarif-sizes-title{margin-bottom:6px!important;font-size:11px!important;}
#page-pension .hsw-page-head ~ #tarifs .size-rows{gap:4px!important;}
#page-pension .hsw-page-head ~ #tarifs .size-row{padding:6px 12px!important;font-size:13px!important;}
#page-pension .hsw-page-head ~ #tarifs .tarif-price-row{margin:2px 0 8px!important;padding-bottom:8px!important;}
#page-pension .hsw-page-head ~ #tarifs .tarif-amount{font-size:34px!important;}
#page-pension .hsw-page-head ~ #tarifs .tarif-note-small{font-size:12px!important;margin-bottom:6px!important;}
#page-pension .hsw-page-head ~ #tarifs .tarif-features{gap:4px!important;margin-bottom:12px!important;}
#page-pension .hsw-page-head ~ #tarifs .tarif-features li{font-size:13px!important;line-height:1.4!important;}
#page-pension .hsw-page-head ~ #tarifs .discount-box{margin-top:auto!important;padding:8px 12px!important;border-radius:16px!important;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;}
#page-pension .hsw-page-head ~ #tarifs .discount-box > div:first-child{margin:0!important;font-size:14px!important;}
#page-pension .hsw-page-head ~ #tarifs .discount-box > div:nth-child(2){gap:8px!important;}
#page-pension .hsw-page-head ~ #tarifs .discount-box > div:nth-child(2) > div{padding:4px 10px!important;display:flex;align-items:baseline;gap:5px;}
#page-pension .hsw-page-head ~ #tarifs .discount-box > div:nth-child(2) > div > div:first-child{font-size:16px!important;}
#page-pension .hsw-page-head ~ #tarifs .discount-box > div:nth-child(2) > div > div:last-child{font-size:11px!important;}
#page-pension .hsw-page-head ~ #tarifs .discount-box > p{display:none;}
#page-pension .hsw-page-head ~ #tarifs .btn-tarif{margin-top:auto!important;padding:11px 20px!important;font-size:15px!important;}
#page-pension .hsw-page-head ~ #tarifs .discount-box + .btn-tarif{margin-top:10px!important;}
#page-pension .hsw-page-head ~ #tarifs .tarif-note{margin-top:18px!important;font-size:12.5px;padding:8px 18px!important;}
/* ── Contact : pas de doublon, le footer reste sous l'écran ── */
#page-pension .hsw-page-head ~ #contact .contact-info > p{display:none!important;}
/* ── Galerie : on aperçoit juste le début des avis ── */
#page-pension .hsw-page-head ~ #galerie + .hsw-wave,#page-pension .hsw-page-head ~ #galerie ~ .hsw-wave{display:none!important;}
#page-pension .hsw-page-head ~ #temoignages{padding-top:26px!important;}


@media (max-height:840px) and (min-width:900px){
  .hph-sub{display:none;}
  #page-pension .hsw-page-head ~ #tarifs .tarif-features li{font-size:12.5px!important;line-height:1.3!important;}
  #page-pension .hsw-page-head ~ #tarifs .size-row{padding:4px 12px!important;}
  #page-pension .hsw-page-head ~ #tarifs .tarif-card-header{padding:12px 20px!important;}
  #page-pension .hsw-page-head ~ #services .service-card p{font-size:12.5px!important;}
}


body{background:#FFFDF6;cursor:auto;overflow-x:hidden;}
#page-pension{display:block;overflow-x:clip;}

/* ═══ Décorations ludiques (pattes, os, poissons, pelotes…) ═══ */
#page-pension section,#page-pension .hsw-page-head{position:relative;isolation:isolate;}
#page-pension .deco{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;}
#page-pension .dc{position:absolute;display:block;transform:rotate(var(--r));animation:dcFloat 7s ease-in-out infinite;}
#page-pension .dc svg{width:100%;height:100%;fill:currentColor;display:block;}
@keyframes dcFloat{0%,100%{translate:0 0}50%{translate:0 -8px}}
@media (max-width:700px){#page-pension .dc{transform:rotate(var(--r)) scale(.7);} #page-pension .dc:nth-child(n+5){display:none;}}
@media (prefers-reduced-motion:reduce){#page-pension .dc{animation:none!important;}}

/* ═══ Espace chats ═══ */
#page-pension .service-card.cat{background:#FFEFF5;box-shadow:7px 7px 0 #F6B3C9;}
#page-pension .service-card.cat .service-price{color:#DE8AA6;}
@media (min-width:1101px){#page-pension .services-grid{display:flex!important;flex-wrap:wrap;justify-content:center;}#page-pension .services-grid > .service-card{flex:0 0 calc(25% - 22px);}}
#page-pension .cat-band{background:#FFF6F9;padding:80px 80px!important;}
#page-pension .cat-band-in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center;}
#page-pension .cat-photo{position:relative;}
#page-pension .cat-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:62% 38% 55% 45% / 48% 58% 42% 52%;border:8px solid #fff;box-shadow:0 22px 46px rgba(23,50,77,.18);}
#page-pension .cat-photo .hsw-sticker{position:absolute;right:-10px;bottom:30px;background:#F6B3C9;color:#fff;transform:rotate(-6deg);}
#page-pension .cat-band .section-label{background:#FFE1EC;color:#CC7593;}
#page-pension .cat-band .section-title .em{color:#DE8AA6;}
#page-pension .cat-band p.lead{font-size:17px;line-height:1.7;color:var(--text-mid);margin:18px 0 22px;}
#page-pension .cat-points{list-style:none;display:grid;gap:10px;margin-bottom:28px;}
#page-pension .cat-points li{display:flex;gap:12px;align-items:center;background:#fff;border:2px solid #FFD3E2;border-radius:18px;padding:10px 16px;font-weight:500;color:var(--ink,#17324D);}
#page-pension .cat-points li span{font-size:22px;}
@media (max-width:900px){#page-pension .cat-band{padding:60px 22px!important;}#page-pension .cat-band-in{grid-template-columns:1fr;gap:34px;}#page-pension .cat-photo{max-width:380px;margin:0 auto;}}

/* ═══ Galerie : 11 polaroïds ═══ */
#page-pension .gallery-grid.gg-big{grid-template-columns:repeat(6,1fr)!important;gap:26px 22px!important;}
#page-pension .gg-big .gallery-item{padding:9px 9px 40px!important;}
#page-pension .gg-big .gi-label{font-size:19px!important;bottom:8px!important;}
#page-pension .gg-big .gallery-item::before{width:64px;height:20px;top:-9px;}
#page-pension .gg-big .gallery-item:nth-child(3n+1){transform:rotate(-3deg);}
#page-pension .gg-big .gallery-item:nth-child(3n+2){transform:rotate(2.5deg) translateY(10px);}
#page-pension .gg-big .gallery-item:nth-child(3n){transform:rotate(-1.5deg);}
@media (max-width:1300px){#page-pension .gallery-grid.gg-big{grid-template-columns:repeat(4,1fr)!important;}}
@media (max-width:700px){#page-pension .gallery-grid.gg-big{grid-template-columns:repeat(2,1fr)!important;gap:22px 14px!important;padding:10px 4px!important;}#page-pension .gg-big .gallery-item{padding:7px 7px 34px!important;}#page-pension .gg-big .gi-label{font-size:15px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 6px;bottom:7px!important;}}

/* ═══ Notre histoire : Laurie & Jérôme ═══ */
#page-pension .hsw-page-head:has(+ .story) .hph-sub{display:none;}
#page-pension .hsw-page-head:has(+ .story){padding-bottom:0!important;}
#page-pension .story{padding:18px 80px 56px!important;background:var(--cream);}
#page-pension .story-in{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:.85fr 1.25fr;gap:56px;align-items:center;}
#page-pension .story-photo{position:relative;}
#page-pension .story-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:28px;border:8px solid #fff;box-shadow:8px 8px 0 var(--orange),0 26px 50px rgba(23,50,77,.18);transform:rotate(-2deg);}
#page-pension .story-photo .hsw-sticker{position:absolute;left:-14px;bottom:-16px;background:var(--yellow);color:var(--ink,#17324D);transform:rotate(-5deg);font-size:16px;}
#page-pension .story h2{font-family:'Fredoka',sans-serif;font-size:clamp(26px,2.2vw,36px);line-height:1.1;color:var(--brown);margin:8px 0 12px;}
#page-pension .story h2 .em{color:var(--orange);}
#page-pension .story p{font-size:15.5px;line-height:1.6;color:var(--text-mid);margin-bottom:10px;}
#page-pension .story p strong{color:var(--ink,#17324D);}
#page-pension .story-quote{position:relative;margin:16px 0 14px;padding:16px 22px 16px 26px;background:#FFF0F6;border:2.5px solid #F6B3C9;border-radius:24px;box-shadow:6px 6px 0 #F6B3C9;}
#page-pension .story-quote::before{content:'💗';position:absolute;top:-18px;left:22px;font-size:26px;}
#page-pension .story-quote p{margin:0;font-size:16.5px;color:var(--ink,#17324D);}
#page-pension .story-quote strong{color:#CC7593;}
#page-pension .story-sign{font-family:'Caveat',cursive;font-size:26px;color:var(--orange);margin-top:2px!important;line-height:1.05;}
#page-pension .story-sign small{display:block;font-size:20px;color:var(--text-mid);}
@media (max-width:900px){#page-pension .story{padding:24px 20px 56px!important;}#page-pension .story-in{grid-template-columns:1fr;gap:36px;}#page-pension .story-photo{max-width:460px;margin:0 auto;}#page-pension .story p{font-size:15px;}#page-pension .story-quote{box-shadow:4px 4px 0 #F6B3C9;}}
@media (max-height:860px) and (min-width:901px){#page-pension .story p{font-size:14.5px;line-height:1.55;}#page-pension .story-quote p{font-size:15.5px;}}

/* ═══ À propos, section 2 : nouveau design ═══ */
#page-pension #about.about-v2{display:flex!important;flex-direction:column;background:#FFF3E8!important;padding:70px 80px 80px!important;}
#page-pension .about-v2 .about-paw-bg,#page-pension .about-v2 .about-text > p{display:none!important;}
#page-pension .about-v2 .av2-head{text-align:center;margin-bottom:34px;}
#page-pension .about-v2 .av2-head .section-label{background:#FFE0C7!important;color:var(--orange-dark)!important;}
#page-pension .about-v2 .av2-head .section-title{color:var(--brown)!important;}
#page-pension .about-v2 .about-visual{order:2;width:100%;max-width:1100px;margin:30px auto 0;}
#page-pension .about-v2 .about-text{order:1;width:100%;}
#page-pension .about-v2 .about-stats{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:18px!important;max-width:none!important;}
#page-pension .about-v2 .stat-card{aspect-ratio:auto!important;border-radius:22px!important;padding:16px 10px!important;transform:none!important;box-shadow:5px 5px 0 var(--ink,#17324D)!important;border:2.5px solid var(--ink,#17324D)!important;}
#page-pension .about-v2 .stat-card:nth-child(1){background:#FFE38F!important;}
#page-pension .about-v2 .stat-card:nth-child(2){background:#7FD8B0!important;}
#page-pension .about-v2 .stat-card:nth-child(3){background:#FF9E9E!important;}
#page-pension .about-v2 .stat-card:nth-child(4){background:#9DD2FF!important;}
#page-pension .about-v2 .stat-card .stat-num,#page-pension .about-v2 .stat-card .stat-label{color:var(--ink,#17324D)!important;}
#page-pension .about-v2 .stat-card .stat-num{font-size:34px!important;}
#page-pension .about-v2 .about-text{max-width:1100px;margin:0 auto;}
#page-pension .about-v2 .about-points{display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:16px!important;margin:0!important;}
#page-pension .about-v2 .about-point{flex-direction:column;align-items:center;text-align:center;gap:10px!important;background:#fff!important;border:2px solid #FFE0C7!important;border-radius:24px!important;padding:20px 14px!important;color:var(--ink,#17324D);transition:transform .25s;}
#page-pension .about-v2 .about-point:hover{transform:translateY(-4px)!important;}
#page-pension .about-v2 .about-point-icon{width:58px!important;height:58px!important;font-size:28px!important;display:flex;align-items:center;justify-content:center;}
#page-pension .about-v2 .about-point:nth-child(1) .about-point-icon{background:#EAF7F0!important;}
#page-pension .about-v2 .about-point:nth-child(2) .about-point-icon{background:#E6F2FF!important;}
#page-pension .about-v2 .about-point:nth-child(3) .about-point-icon{background:#FFF6D6!important;}
#page-pension .about-v2 .about-point:nth-child(4) .about-point-icon{background:#FFE9EF!important;}
#page-pension .about-v2 .about-point:nth-child(5) .about-point-icon{background:#F1E9FF!important;}
#page-pension .about-v2 .about-point strong{display:block;color:var(--ink,#17324D)!important;font-size:15px;margin-bottom:4px;}
#page-pension .about-v2 .about-point span{color:var(--text-mid)!important;font-size:13px;line-height:1.5;}
#page-pension .about-v2 + .hsw-wave{background:#FFF3E8!important;}
@media (max-width:1100px){#page-pension .about-v2 .about-points{grid-template-columns:repeat(3,1fr)!important;}}
@media (max-width:700px){#page-pension #about.about-v2{padding:50px 18px 56px!important;}#page-pension .about-v2 .about-stats{grid-template-columns:repeat(2,1fr)!important;}#page-pension .about-v2 .about-points{grid-template-columns:1fr 1fr!important;}#page-pension .about-v2 .about-point:last-child{grid-column:span 2;}}

/* ═══ Services : une photo dans chaque bloc ═══ */
#page-pension .service-card.has-photo{padding:0!important;overflow:hidden;display:flex;flex-direction:column;}
#page-pension .svc-photo{height:150px;overflow:hidden;border-bottom:2.5px solid var(--ink,#17324D);}
#page-pension .svc-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1);}
#page-pension .service-card.has-photo:hover .svc-photo img{transform:scale(1.07);}
#page-pension .service-card.has-photo .svc-body{position:relative;padding:34px 22px 20px;flex:1;display:flex;flex-direction:column;}
#page-pension .service-card.has-photo .service-emoji{position:absolute;top:-30px;left:20px;margin:0!important;width:56px!important;height:56px!important;font-size:26px!important;}
#page-pension .service-card.has-photo h3{font-size:19px!important;margin-bottom:6px!important;}
#page-pension .service-card.has-photo p{font-size:13.5px!important;line-height:1.5!important;margin-bottom:12px!important;flex:1;}
#page-pension .service-card.has-photo .service-price{align-self:flex-start;}
#page-pension .hsw-page-head ~ #services .service-card.has-photo,#page-pension #services .service-card.has-photo{padding:0!important;}
#page-pension .hsw-page-head ~ #services .svc-photo{height:104px;}
#page-pension .hsw-page-head ~ #services .service-card.has-photo .svc-body{padding:28px 18px 14px;}
#page-pension .hsw-page-head ~ #services .service-card.has-photo .service-emoji{width:46px!important;height:46px!important;font-size:22px!important;top:-24px;}
#page-pension .hsw-page-head ~ #services .service-card.has-photo h3{font-size:17.5px!important;}
#page-pension .hsw-page-head ~ #services{padding-top:16px!important;}
#page-pension .hsw-page-head ~ #services .service-card.has-photo p{font-size:12.5px!important;margin-bottom:8px!important;}
@media (max-height:840px) and (min-width:901px){#page-pension .hsw-page-head ~ #services .svc-photo{height:80px;}#page-pension .hsw-page-head ~ #services .service-card.has-photo p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}}

/* ═══ Tarifs : carte chats ═══ */
@media (min-width:1201px){#page-pension .tarifs-grid{grid-template-columns:repeat(4,1fr)!important;}}
@media (min-width:701px) and (max-width:1200px){#page-pension .tarifs-grid{grid-template-columns:repeat(2,1fr)!important;}}
#page-pension .cat-tarif .tarif-card-header{background:#FFE9F1!important;}
#page-pension .cat-tarif .size-row.highlight-row{background:#FFE9F1!important;}
#page-pension .hsw-page-head ~ #tarifs .cat-discount{border-color:#F6B3C9!important;}
/* ═══ Plus de « cadre » : décorations non coupées, fond continu ═══ */
#page-pension .deco{overflow:visible!important;}
#page-pension .hsw-page-head ~ #galerie,#page-pension .hsw-page-head ~ #tarifs,#page-pension .hsw-page-head ~ #services,#page-pension .hsw-page-head ~ #contact,#page-pension .hsw-page-head ~ #legales,#page-pension .hsw-page-head ~ .story{background:transparent!important;}
#page-pension .hsw-page-head{overflow:visible!important;background:transparent!important;}
#page-pension{background:#FFFDF6!important;}
#page-pension .hph-blob.b1{display:none!important;}

/* ═══ Pastel : textes et boutons lisibles sur couleurs douces ═══ */
#page-pension{--accent-txt:#D9875A;--green-txt:#4FA27C;--pink-txt:#C96F8E;}
#page-pension .btn-primary,#page-pension .btn-tarif,#page-pension .nav-cta,#page-pension .hsw-btn-light{color:#17324D!important;}
#page-pension .btn-primary,#page-pension .btn-tarif,#page-pension .nav-cta{box-shadow:0 6px 0 #E08F63,0 12px 24px rgba(245,169,127,.25)!important;}
#page-pension .tarif-card.popular .tarif-card-header *{color:#17324D!important;}
#page-pension .section-title .em,#page-pension .hph-title .em,#page-pension .story h2 .em,#page-pension .hero-title .accent,#page-pension .price-amount,#page-pension .tarif-amount,#page-pension .section-label{color:var(--accent-txt)!important;}
#page-pension .section-title .em-green,#page-pension .hph-title .em-green,#page-pension .hero-title .accent-green{color:var(--green-txt)!important;}
#page-pension .hero-sub-title,#page-pension .story-sign{color:var(--accent-txt)!important;}
#page-pension .cat-band .section-title .em,#page-pension .service-card.cat .price-amount{color:var(--pink-txt)!important;}
#page-pension .hsw-cta-box{background:#FBC8A7!important;}
#page-pension .hsw-cta-text h2{color:#17324D!important;}
#page-pension .hsw-cta-text p{color:#45607A!important;}
#page-pension footer{background:#3D5875!important;}
#page-pension .hsw-marquee{color:#17324D!important;}
#page-pension .reviewer-av{color:#17324D!important;}

/* ══════════════════════════════════════════════════════════════
   THÈME « LAURIE » : terracotta · crème · olive · moutarde
   Serif chaleureuse + script manuscrite, cartes douces
   ══════════════════════════════════════════════════════════════ */
#page-pension{
  --tc:#C2643F; --tc-d:#A9502F; --tc-l:#E9B9A0; --tc-pale:#F7E4D8;
  --olive:#8C9B5E; --olive-d:#6F7E45; --olive-pale:#EEF0E1;
  --mustard:#E7B24C; --mustard-pale:#FBEFD2;
  --cream:#FBF4EA; --cream-dark:#F3E7D6; --card:#FFFAF3;
  --navy:#1F2A44; --brown:#1F2A44; --text:#3B3128; --text-mid:#6B5A4B; --text-light:#9A8775;
  --orange:var(--tc); --orange-dark:var(--tc-d); --orange-pale:var(--tc-pale);
  --green:var(--olive); --green-dark:var(--olive-d); --green-pale:var(--olive-pale);
  --yellow:var(--mustard); --yellow-pale:var(--mustard-pale); --ink:#1F2A44;
  --serif:'Lora',Georgia,serif; --script:'Dancing Script',cursive; --body:'Nunito','DM Sans',sans-serif;
  --soft:0 14px 38px rgba(120,78,48,.13); --soft-s:0 6px 18px rgba(120,78,48,.10);
  background:var(--cream)!important; color:var(--text); font-family:var(--body);
}
body{background:#FBF4EA!important;}
#page-pension,#page-pension p,#page-pension li,#page-pension span,#page-pension a,#page-pension button,#page-pension input,#page-pension select,#page-pension textarea{font-family:var(--body);}
#page-pension h1,#page-pension h2,#page-pension h3,#page-pension h4,#page-pension .section-title,#page-pension .hph-title,#page-pension .hero-title,
#page-pension .tarif-card-name,#page-pension .service-card h3,#page-pension .story h2,#page-pension .stat-num,#page-pension .tarif-amount,
#page-pension .price-amount,#page-pension .hsw-cta-text h2,#page-pension .footer-logo-text,#page-pension .hsw-company-card h2{font-family:var(--serif)!important;letter-spacing:-.01em;}
#page-pension .hand,#page-pension .hero-sub-title,#page-pension .gi-label,#page-pension .story-sign,#page-pension .hph-script{font-family:var(--script)!important;}

/* ── Navigation ── */
#page-pension nav{background:rgba(251,244,234,.96)!important;box-shadow:0 4px 20px rgba(120,78,48,.07)!important;}
#page-pension .nav-links a{font-family:var(--serif)!important;font-size:16px!important;color:var(--navy)!important;font-weight:500!important;}
#page-pension .nav-links a.is-active{background:var(--tc-pale)!important;color:var(--tc)!important;}
#page-pension .nav-links a:not(.nav-cta):hover{background:var(--cream-dark)!important;color:var(--tc)!important;}
#page-pension .nav-cta{background:var(--tc)!important;color:#fff!important;box-shadow:0 8px 20px rgba(194,100,63,.28)!important;border-radius:40px!important;padding:11px 24px!important;}
#page-pension .nav-cta:hover{background:var(--tc-d)!important;transform:none!important;}
#page-pension .back-home-nav{border:1.5px solid var(--navy)!important;box-shadow:none!important;font-family:var(--serif)!important;font-weight:600!important;background:transparent!important;color:var(--navy)!important;}
#page-pension .nav-logo img{height:60px!important;}
#page-pension .hsw-burger{border:1.5px solid var(--navy)!important;box-shadow:none!important;}
#page-pension nav.open .nav-links{border:none!important;box-shadow:var(--soft)!important;border-radius:22px!important;background:var(--card)!important;}

/* ── Boutons ── */
#page-pension .btn-primary,#page-pension .btn-tarif,#page-pension .hsw-btn-light{background:var(--tc)!important;color:#fff!important;border:none!important;border-radius:40px!important;box-shadow:0 10px 24px rgba(194,100,63,.25)!important;font-family:var(--body)!important;font-weight:700!important;}
#page-pension .btn-primary:hover,#page-pension .btn-tarif:hover{background:var(--tc-d)!important;transform:translateY(-1px)!important;box-shadow:0 12px 26px rgba(194,100,63,.3)!important;}
#page-pension .btn-secondary,#page-pension .hsw-btn-ghost{background:transparent!important;color:var(--navy)!important;border:1.5px solid var(--navy)!important;box-shadow:none!important;border-radius:40px!important;}
#page-pension .btn-secondary:hover{background:var(--navy)!important;color:#fff!important;transform:none!important;}

/* ── Labels / titres ── */
#page-pension .section-label{background:transparent!important;color:var(--tc)!important;transform:none!important;padding:0!important;letter-spacing:.16em;font-weight:800;}
#page-pension .section-label::before{content:''!important;}
#page-pension .section-title,#page-pension .hph-title{color:var(--navy)!important;font-weight:700!important;}
#page-pension .section-title .em,#page-pension .hph-title .em,#page-pension .hero-title .accent,#page-pension .story h2 .em{color:var(--tc)!important;}
#page-pension .section-title .em-green,#page-pension .hph-title .em-green,#page-pension .hero-title .accent-green{color:var(--olive-d)!important;}

/* ── En-tête de page ── */
#page-pension .hsw-page-head{padding:34px 80px 22px!important;}
#page-pension .hph-title{font-size:clamp(34px,3.3vw,56px)!important;margin:6px 0 2px!important;}
#page-pension .hph-title .em{position:relative;display:inline-block;}
#page-pension .hph-title .em::after,#page-pension .hph-title .em-green::after{content:'';position:absolute;left:18%;right:18%;bottom:-6px;height:9px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 10' preserveAspectRatio='none'%3E%3Cpath d='M2 7 C 30 1, 80 1, 118 6' fill='none' stroke='%23C2643F' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/100% 100%;}
#page-pension .hph-title .em-green{position:relative;display:inline-block;}
#page-pension .hph-sub{display:none!important;}
#page-pension .hph-script{display:block;font-size:clamp(22px,1.9vw,32px);color:var(--text-mid);margin-top:4px;}
#page-pension .hph-script svg{width:26px;height:26px;vertical-align:-4px;margin-left:6px;fill:none;stroke:var(--mustard);stroke-width:1.8;}
#page-pension .hph-crumbs a{color:var(--tc)!important;}
#page-pension .hph-photo{position:absolute;left:0;top:0;width:min(30vw,520px);height:330px;z-index:0;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 85% 80% at 25% 30%,#000 45%,transparent 75%);mask-image:radial-gradient(ellipse 85% 80% at 25% 30%,#000 45%,transparent 75%);}
#page-pension .hph-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;}
#page-pension .hph-aside{position:absolute;right:6%;top:24px;z-index:1;font-family:var(--script);font-size:30px;line-height:1.05;color:var(--text-mid);transform:rotate(-8deg);text-align:left;pointer-events:none;}
#page-pension .hph-aside svg{width:26px;height:26px;fill:none;stroke:var(--tc);stroke-width:1.6;display:block;margin:4px 0 0 60px;}
#page-pension .hsw-page-head .hph-inner{position:relative;z-index:2;}
@media (max-width:1000px){#page-pension .hph-photo,#page-pension .hph-aside{display:none;}}

/* ── Décorations (nouvel univers, plus aérées) ── */
#page-pension .dc{animation-duration:9s;}
#page-pension .dc.blob{animation:none;z-index:-1;}
#page-pension .dc.blob svg{fill:currentColor;}
#page-pension .dc.line svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}

/* ── Cartes : style doux ── */
#page-pension .service-card,#page-pension .tarif-card,#page-pension .review-card,#page-pension .contact-item,#page-pension .contact-map,
#page-pension .hsw-company-card,#page-pension .about-point,#page-pension .stat-card,#page-pension .story-quote,#page-pension .cat-points li{
  border:none!important;box-shadow:var(--soft)!important;background:var(--card)!important;}
#page-pension .service-card,#page-pension .tarif-card{border-radius:26px!important;}
#page-pension .service-card:hover,#page-pension .tarif-card:hover{transform:translateY(-4px)!important;box-shadow:0 20px 44px rgba(120,78,48,.17)!important;}

/* Services */
#page-pension .svc-photo{border-bottom:none!important;position:relative;}
#page-pension .svc-photo::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 22' preserveAspectRatio='none'%3E%3Cpath d='M0 10 C 90 26, 160 0, 250 10 S 360 18, 400 6 L400 22 L0 22Z' fill='%23FFFAF3'/%3E%3C/svg%3E") no-repeat bottom/100% 100%;}
#page-pension .service-emoji{background:var(--card)!important;border:none!important;box-shadow:var(--soft-s)!important;border-radius:50%!important;z-index:2;}
#page-pension .service-card h3{color:var(--navy)!important;font-weight:700!important;}
#page-pension .service-price{border:1.5px solid var(--tc-l)!important;background:transparent!important;}
#page-pension .service-price .price-amount{color:var(--tc)!important;}
#page-pension .service-card.cat .price-amount{color:var(--tc)!important;}

/* Tarifs */
#page-pension .tarif-card{overflow:hidden!important;}
#page-pension .tarif-card-header{background:transparent!important;border:none!important;position:relative;}
#page-pension .tarif-card.popular .tarif-card-header{background:var(--tc)!important;padding:22px 24px 26px!important;border-radius:0!important;}
#page-pension .tarif-card.popular .tarif-card-header *{color:#fff!important;}
#page-pension .tarif-card.popular .tarif-card-header::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 18' preserveAspectRatio='none'%3E%3Cpath d='M0 14 C 120 0, 240 4, 400 16 L400 18 L0 18Z' fill='%23FFFAF3'/%3E%3C/svg%3E") no-repeat bottom/100% 100%;}
#page-pension .tarif-card.popular::before{background:var(--mustard-pale)!important;color:var(--navy)!important;border:none!important;box-shadow:var(--soft-s)!important;transform:none!important;top:12px!important;right:auto!important;left:50%;margin-left:-10px;font-family:var(--body)!important;}
#page-pension .tc-head-photo{position:absolute;right:0;top:0;bottom:0;width:42%;z-index:0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 55%);mask-image:linear-gradient(90deg,transparent,#000 55%);}
#page-pension .tc-head-photo img{width:100%;height:100%;object-fit:cover;opacity:.9;}
#page-pension .tarif-card.popular .tarif-card-header > :not(.tc-head-photo){position:relative;z-index:1;}
#page-pension .tc-top{height:96px;position:relative;overflow:hidden;}
#page-pension .tc-top img{width:100%;height:100%;object-fit:cover;}
#page-pension .tc-top::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 22' preserveAspectRatio='none'%3E%3Cpath d='M0 12 C 80 26, 170 0, 260 10 S 370 20, 400 8 L400 22 L0 22Z' fill='%23FFFAF3'/%3E%3C/svg%3E") no-repeat bottom/100% 100%;}
#page-pension .tarif-card-name{color:var(--navy)!important;font-weight:700!important;}
#page-pension .tarif-card-sub{color:var(--text-mid)!important;}
#page-pension .tarif-sizes-title{color:var(--tc)!important;letter-spacing:.14em!important;font-weight:800!important;}
#page-pension .size-row{background:transparent!important;border-radius:0!important;border-bottom:1px solid var(--cream-dark);padding:7px 2px!important;}
#page-pension .size-row.highlight-row{background:transparent!important;}
#page-pension .size-name{color:var(--text)!important;}
#page-pension .size-price{color:var(--navy)!important;font-weight:800!important;}
#page-pension .tarif-features li{color:var(--text)!important;}
#page-pension .tarif-features li::before{background:var(--olive)!important;color:#fff!important;}
#page-pension .tarif-amount{color:var(--tc)!important;}
#page-pension .discount-box{background:transparent!important;border:1.5px solid var(--mustard)!important;border-style:solid!important;border-radius:20px!important;}
#page-pension .discount-box > div:first-child{color:var(--tc)!important;font-family:var(--serif)!important;}
#page-pension .discount-box > div:nth-child(2) > div{background:var(--mustard-pale)!important;box-shadow:none!important;}
#page-pension .discount-box > div:nth-child(2) > div > div:first-child{color:var(--tc)!important;font-family:var(--serif)!important;}
#page-pension .tarif-note{border:1px solid var(--tc-l)!important;background:var(--card)!important;color:var(--text-mid)!important;}
#page-pension .tarif-card:not(.popular) .tarif-card-body{position:relative;}
#page-pension .tarif-card:not(.popular)::after{content:'';position:absolute;right:10px;bottom:56px;width:70px;height:70px;opacity:.55;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'%3E%3Cpath d='M10 56 C 22 40, 32 26, 48 6' fill='none' stroke='%238C9B5E' stroke-width='2' stroke-linecap='round'/%3E%3Cg fill='%238C9B5E'%3E%3Cellipse cx='18' cy='40' rx='4' ry='9' transform='rotate(-50 18 40)'/%3E%3Cellipse cx='28' cy='42' rx='4' ry='9' transform='rotate(40 28 42)'/%3E%3Cellipse cx='27' cy='27' rx='4' ry='9' transform='rotate(-45 27 27)'/%3E%3Cellipse cx='37' cy='29' rx='4' ry='9' transform='rotate(45 37 29)'/%3E%3Cellipse cx='37' cy='15' rx='3.5' ry='8' transform='rotate(-40 37 15)'/%3E%3Cellipse cx='45' cy='16' rx='3.5' ry='8' transform='rotate(50 45 16)'/%3E%3C/g%3E%3C/svg%3E") no-repeat center/contain;}

/* Accueil (hero) */
#page-pension .hero{background:var(--cream)!important;}
#page-pension .hero::before{background:var(--mustard)!important;opacity:.28!important;}
#page-pension .hero::after{background:var(--olive)!important;opacity:.2!important;}
#page-pension .hero-title{font-weight:700!important;color:var(--navy)!important;}
#page-pension .hero-title .accent-green::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 16' preserveAspectRatio='none'%3E%3Cpath d='M3 11 C 40 3, 80 3, 110 8 S 170 14, 197 5' fill='none' stroke='%23C2643F' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/100% 100%!important;}
#page-pension .hero-sub-title{color:var(--text-mid)!important;font-size:34px!important;}
#page-pension .hero-badge{background:var(--olive-pale)!important;color:var(--olive-d)!important;border:none!important;box-shadow:none!important;transform:none!important;}
#page-pension .hsw-sticker{background:var(--card)!important;color:var(--navy)!important;border:none!important;box-shadow:var(--soft)!important;font-family:var(--body)!important;font-weight:700!important;}
#page-pension .hsw-sticker.s2{background:var(--olive)!important;color:#fff!important;}
#page-pension .hg-review{border:none!important;box-shadow:var(--soft)!important;background:var(--card)!important;}
#page-pension .hg-review-text{font-family:var(--script)!important;}
#page-pension .hg-main,#page-pension .hg-small{border-color:var(--card)!important;}

/* Avis */
#page-pension #temoignages{background:var(--cream)!important;}
#page-pension .review-card{transform:none!important;border-radius:24px!important;}
#page-pension .review-card::after{border:none!important;background:var(--card)!important;box-shadow:6px 6px 10px rgba(120,78,48,.06);}
#page-pension .review-card:nth-child(2),#page-pension .review-card:nth-child(3){background:var(--card)!important;}
#page-pension .review-card .stars{color:var(--mustard)!important;-webkit-text-stroke:0!important;}
#page-pension .review-quote{font-family:var(--serif)!important;font-style:italic;color:var(--text)!important;}
#page-pension .reviewer-av{background:var(--tc-pale)!important;color:var(--tc)!important;border:none!important;}

/* Galerie */
#page-pension .gallery-item::before{background:rgba(231,178,76,.7)!important;}
#page-pension .gallery-item:nth-child(even)::before{background:rgba(140,155,94,.6)!important;}
#page-pension .gallery-item{box-shadow:var(--soft)!important;}
#page-pension .gi-label{color:var(--navy)!important;font-size:22px!important;}

/* Espace chats / à propos */
#page-pension .cat-band{background:var(--cream)!important;}
#page-pension .cat-band .section-title .em{color:var(--tc)!important;}
#page-pension .cat-photo img{border-color:var(--card)!important;box-shadow:var(--soft)!important;}
#page-pension .cat-photo .hsw-sticker{background:var(--tc)!important;color:#fff!important;}
#page-pension .story-photo img{box-shadow:var(--soft)!important;border-color:var(--card)!important;transform:none!important;border-radius:26px!important;}
#page-pension .story-photo .hsw-sticker{background:var(--mustard-pale)!important;}
#page-pension .story-quote{background:var(--tc-pale)!important;}
#page-pension .story-quote strong{color:var(--tc-d)!important;}
#page-pension .story-quote::before{content:'♡'!important;color:var(--tc);font-size:30px!important;top:-22px!important;}
#page-pension .story-sign{color:var(--tc)!important;font-size:30px!important;}
#page-pension #about.about-v2{background:var(--mustard-pale)!important;}
#page-pension .about-v2 .stat-card{box-shadow:var(--soft-s)!important;}
#page-pension .about-v2 .stat-card:nth-child(1){background:var(--card)!important;}
#page-pension .about-v2 .stat-card:nth-child(2){background:var(--olive-pale)!important;}
#page-pension .about-v2 .stat-card:nth-child(3){background:var(--tc-pale)!important;}
#page-pension .about-v2 .stat-card:nth-child(4){background:#FFF6E3!important;}
#page-pension .about-v2 .stat-num{color:var(--tc)!important;}
#page-pension .about-v2 .about-point-icon{background:var(--cream)!important;}
#page-pension .about-v2 .av2-head .section-label{background:transparent!important;color:var(--tc)!important;}
#page-pension .hsw-company-icon{border:none!important;background:var(--olive-pale)!important;}

/* Contact */
#page-pension .contact-item:hover{box-shadow:var(--soft)!important;}
#page-pension .contact-item-icon{background:var(--tc-pale)!important;}
#page-pension .map-placeholder{background:linear-gradient(135deg,var(--olive-pale),#E3E8CF)!important;color:var(--olive-d)!important;}

/* Bloc d'appel */
#page-pension .hsw-cta-box{background:var(--tc)!important;border:none!important;box-shadow:var(--soft)!important;}
#page-pension .hsw-cta-box::before{background:var(--mustard)!important;opacity:.35!important;}
#page-pension .hsw-cta-text h2{color:#fff!important;}
#page-pension .hsw-cta-text p{color:rgba(255,255,255,.9)!important;}
#page-pension .hsw-cta-text h2 .hand{color:var(--mustard-pale)!important;}
#page-pension .hsw-btn-light{background:var(--card)!important;color:var(--tc-d)!important;}
#page-pension .hsw-btn-ghost{border-color:#fff!important;color:#fff!important;}

/* Footer */
#page-pension footer{background:#3E2F27!important;}
#page-pension footer a{color:#F0C58A!important;}
#page-pension .tva-badge{border-color:rgba(255,255,255,.2)!important;}

/* Réservation (pop-up) */
#page-pension .resa-header{background:var(--tc)!important;}
#page-pension .resa-tab.active,#page-pension .resa-tabs button.active{background:var(--tc)!important;color:#fff!important;}

@media (max-width:900px){
  #page-pension .hsw-page-head{padding:24px 20px 12px!important;}
  #page-pension .tc-top{height:120px;}
}
#page-pension .tarif-card.popular::before{left:auto!important;right:16px!important;margin:0!important;top:14px!important;z-index:3;}
#page-pension .cat-tarif .tarif-card-header,#page-pension .cat-tarif .size-row.highlight-row{background:transparent!important;}
#page-pension .tarif-card.cat-tarif::after{display:none;}

/* ═══ Découpes en vagues nettes (plus de fondus) ═══ */
/* Tarifs : une seule vague continue qui traverse toutes les photos */
#page-pension .tc-top::after,#page-pension .tarif-card.popular .tarif-card-header::after{display:none!important;}
#page-pension .tc-top,#page-pension .tarif-card.popular .tarif-card-header{
  height:128px!important;min-height:128px;box-sizing:border-box;
  -webkit-mask-image:var(--wave-mask);mask-image:var(--wave-mask);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:var(--wm-w,100%) 100%;mask-size:var(--wm-w,100%) 100%;
  -webkit-mask-position:var(--wm-x,0) 0;mask-position:var(--wm-x,0) 0;}
#page-pension .tarifs-grid{--wave-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 128' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H1600 V96 C1480 74 1380 70 1260 92 C1130 116 1010 120 880 98 C760 78 650 64 520 86 C390 108 260 118 130 100 C80 93 40 88 0 92 Z'/%3E%3C/svg%3E");}
#page-pension .tarif-card.popular .tarif-card-header{display:grid!important;grid-template-columns:auto 1fr;column-gap:12px;align-content:start;align-items:center;padding:26px 24px 0!important;}
#page-pension .tarif-card.popular .tarif-emoji{grid-row:span 2;}
#page-pension .tarif-card.popular .tarif-card-name,#page-pension .tarif-card.popular .tarif-card-sub{grid-column:2;}
#page-pension .tc-head-photo{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M30 0 C18 22 34 40 20 58 C8 74 22 90 16 100 H100 V0 Z'/%3E%3C/svg%3E")!important;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M30 0 C18 22 34 40 20 58 C8 74 22 90 16 100 H100 V0 Z'/%3E%3C/svg%3E")!important;-webkit-mask-size:100% 100%!important;mask-size:100% 100%!important;width:46%!important;}
#page-pension .tc-head-photo img{opacity:1!important;}
/* En-tête des pages : photo découpée en vague, sans fondu */
#page-pension .hph-photo{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H96 C88 14 99 26 90 40 C81 54 92 66 80 78 C70 88 50 84 34 92 C20 99 10 92 0 96 Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H96 C88 14 99 26 90 40 C81 54 92 66 80 78 C70 88 50 84 34 92 C20 99 10 92 0 96 Z'/%3E%3C/svg%3E")!important;
  -webkit-mask-size:100% 100%!important;mask-size:100% 100%!important;width:min(26vw,440px)!important;height:290px!important;}
/* Services : vague nette par masque (plus de bandeau superposé) */
#page-pension .svc-photo::after{display:none!important;}
#page-pension .svc-photo{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H400 V82 C340 70 290 96 220 88 C150 80 110 66 60 76 C35 81 15 88 0 86 Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H400 V82 C340 70 290 96 220 88 C150 80 110 66 60 76 C35 81 15 88 0 86 Z'/%3E%3C/svg%3E");-webkit-mask-size:100% 100%;mask-size:100% 100%;}
@media (max-width:1200px){#page-pension .tc-top,#page-pension .tarif-card.popular .tarif-card-header{--wm-w:100%!important;--wm-x:0!important;}}

/* ═══ Photo d'en-tête : grande diagonale ondulée qui passe derrière les cartes ═══ */
#page-pension .hph-photo{width:40vw!important;max-width:780px;height:390px!important;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H100 C93 14 86 28 82 44 C78 60 70 70 54 76 C40 81 24 84 12 91 C6 95 3 98 0 100 Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H100 C93 14 86 28 82 44 C78 60 70 70 54 76 C40 81 24 84 12 91 C6 95 3 98 0 100 Z'/%3E%3C/svg%3E")!important;}
#page-pension .hph-photo img{object-position:30% 45%!important;}
#page-pension .hsw-page-head ~ section{background:transparent!important;}
#page-pension .hsw-page-head ~ section .deco .blob{display:none;}
/* Tarifs : bloc non castrés */
#page-pension .nc-sizes{margin-top:-2px;}
#page-pension .nc-sizes .tarif-sizes-title{color:var(--olive-d)!important;}
#page-pension .hsw-page-head ~ #tarifs .tarif-card.popular .tarif-features li:nth-child(n+5){display:none;}
#page-pension .hph-photo{width:35vw!important;}
#page-pension .hsw-page-head ~ #tarifs .tc-top,#page-pension .hsw-page-head ~ #tarifs .tarif-card.popular .tarif-card-header{height:108px!important;min-height:108px;}
#page-pension .hsw-page-head ~ #tarifs .tarif-card.popular .tarif-features li:nth-child(n+4){display:none;}
#page-pension .hsw-page-head ~ #tarifs .size-row{padding:5px 2px!important;}
#page-pension .hsw-page-head ~ #tarifs .tarif-sizes{margin-bottom:6px!important;}
#page-pension .hsw-page-head ~ #tarifs .discount-box{padding:6px 10px!important;margin-top:auto!important;}
#page-pension .hsw-page-head ~ #tarifs .tarif-card-body{padding-top:8px!important;}
#page-pension .hsw-page-head ~ #tarifs .tarif-card:not(.popular) .tarif-card-header{padding-top:6px!important;padding-bottom:6px!important;}

/* ═══ Header ondulé ═══ */
#page-pension nav{box-shadow:none!important;border-bottom:none!important;filter:drop-shadow(0 6px 10px rgba(120,78,48,.08));}
#page-pension nav::after{content:'';position:absolute;left:0;right:0;top:calc(100% - 1px);height:22px;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 22' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H1440 V8 C1300 22 1160 22 1010 12 C860 2 720 4 580 14 C440 24 300 20 160 10 C100 6 50 6 0 10 Z' fill='%23FBF4EA' fill-opacity='.96'/%3E%3C/svg%3E") no-repeat top/100% 100%;}
#page-pension nav.scrolled{box-shadow:none!important;}

/* ═══ TARIFS : maquette de Laurie ═══ */
#page-pension .mk{position:relative;isolation:isolate;overflow:hidden;background:#FBF4EA!important;padding:22px clamp(16px,2.2vw,40px) 36px!important;min-height:calc(100vh - 72px);}
#page-pension .mk *{box-sizing:border-box;}
.mk-blob{position:absolute;z-index:-1;border-radius:58% 42% 52% 48% / 52% 46% 54% 48%;}
.mk-blob.b-olive{width:230px;height:170px;right:-50px;top:-20px;background:#B7C29A;opacity:.55;}
.mk-blob.b-mustard{width:300px;height:200px;right:-60px;top:190px;background:#EDC36E;opacity:.75;border-radius:60% 40% 0 0 / 70% 60% 0 0;}
.mk-blob.b-peach{width:340px;height:280px;left:-140px;bottom:-120px;background:#E2A27F;opacity:.6;}
.mk-blob.b-mustard2{width:260px;height:160px;left:180px;bottom:-110px;background:#EFCB7E;opacity:.55;}
.mk-lines{position:absolute;right:30px;top:-10px;width:300px;height:220px;z-index:-1;fill:none;stroke:#E2AE52;stroke-width:1.6;opacity:.85;}
.mk-hero{position:absolute;left:0;top:0;width:min(34vw,620px);height:clamp(250px,26vw,380px);z-index:-1;
  -webkit-mask-image:linear-gradient(90deg,#000 62%,transparent 98%),linear-gradient(180deg,#000 70%,transparent);mask-image:radial-gradient(ellipse 95% 95% at 20% 25%,#000 55%,transparent 82%);}
.mk-hero img{width:100%;height:100%;object-fit:cover;object-position:30% 40%;}
.mk-hero-heart{position:absolute;left:58%;top:12%;width:42px;color:#7A4A2E;opacity:.8;}
.mk-head{text-align:center;position:relative;z-index:1;padding-top:6px;}
.mk-crumbs{font-size:15px;color:#2B2A33;margin-bottom:4px;font-family:'Nunito',sans-serif;}
.mk-crumbs a{color:#C2643F;text-decoration:none;}
.mk-crumbs span{margin:0 12px;color:#C2643F;}
.mk-head h1{font-family:'Lora',Georgia,serif!important;font-weight:700;font-size:clamp(40px,4.2vw,72px);line-height:1.05;color:#16253F;margin:0;letter-spacing:-.01em;}
.mk-head h1 span{color:#C2643F;position:relative;display:inline-block;}
.mk-head h1 span::after{content:'';position:absolute;left:4%;width:30%;bottom:-10px;height:10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath d='M2 8 C 30 1, 70 1, 98 6' fill='none' stroke='%23C2643F' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/100% 100%;}
.mk-script{font-family:'Dancing Script',cursive!important;font-size:clamp(26px,2.3vw,40px);color:#5A3F2E;margin:10px 0 0;}
.mk-script .mk-h{display:inline-block;width:34px;color:#E2AE52;vertical-align:-6px;}
.mk-aside{position:absolute;right:clamp(90px,8vw,170px);top:42px;font-family:'Dancing Script',cursive;font-size:clamp(24px,2.2vw,38px);line-height:1.05;color:#5A3F2E;transform:rotate(-14deg);display:flex;flex-direction:column;z-index:1;}
.mk-aside span:nth-child(2){margin-left:10px;} .mk-aside span:nth-child(3){margin-left:14px;}
.mk-aside i{width:30px;color:#C2643F;margin:2px 0 0 120px;display:block;}
.mk-paw{position:absolute;right:clamp(260px,20vw,380px);top:clamp(190px,17vw,260px);width:42px;color:#C77D45;transform:rotate(-15deg);}
.mk-leaf{position:absolute;display:block;pointer-events:none;}
.mk-leaf svg{width:100%;height:100%;}
.mk-leaf.l-top{right:6px;top:170px;width:110px;height:110px;transform:scaleX(-1) rotate(-10deg);z-index:1;}
.mk-i{display:inline-flex;}

/* Grille */
.mk-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.45fr 0.95fr 0.97fr 1.1fr;gap:14px;max-width:1500px;margin:26px auto 0;align-items:stretch;}
.mk-card{position:relative;background:#FCF5EB;border-radius:24px;box-shadow:0 10px 30px rgba(120,78,48,.12),0 1px 0 rgba(255,255,255,.7) inset;display:flex;flex-direction:column;overflow:visible;font-family:'Nunito',sans-serif;}
.mk-card h2{font-family:'Lora',Georgia,serif!important;font-weight:700;color:#16253F;font-size:clamp(22px,1.8vw,30px);line-height:1.1;margin:0;}
.mk-card p{margin:0;}
.mk-body{position:relative;padding:12px 22px 18px;flex:1;display:flex;flex-direction:column;}
.mk-kicker{font-family:'Nunito',sans-serif!important;font-weight:800;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:#C2643F;margin:10px 0 6px;}
.mk-kicker.olive{color:#6F7E45;margin-top:8px;}
.mk-rows{list-style:none;margin:0 0 8px;padding:0;}
.mk-rows li{display:grid;grid-template-columns:30px 1fr auto;align-items:center;padding:6px 0;border-bottom:1px solid #EBDDCB;font-size:clamp(14px,1vw,17px);color:#2B2A33;}
.mk-rows li:last-child{border-bottom:none;}
.mk-rows small{font-size:.82em;}
.mk-ri{width:22px;height:22px;display:inline-flex;} .mk-ri svg{width:100%;height:100%;}
.mk-rows.dogs .mk-ri{width:26px;height:22px;}
.mk-rows b{font-weight:800;color:#16253F;}
.mk-checks{list-style:none;margin:6px 0 10px;padding:0;display:flex;flex-direction:column;gap:7px;}
.mk-checks li{display:flex;align-items:center;gap:14px;font-size:clamp(13.5px,.95vw,16px);color:#2B2A33;}
.mk-checks li svg{width:24px;height:24px;flex-shrink:0;}
.mk-checks.sm li{font-size:clamp(12.5px,.88vw,14.5px);gap:12px;}
.mk-checks.sm li svg{width:22px;height:22px;}

/* Carte 1 */
.c1 .mk-badge{position:absolute;top:-16px;left:44%;z-index:4;display:inline-flex;align-items:center;gap:8px;background:#F2C14E;color:#2B2219;font-family:'Lora',serif;font-weight:600;font-size:16px;padding:7px 20px;border-radius:30px;box-shadow:0 6px 14px rgba(120,78,48,.15);}
.c1 .mk-badge svg{width:20px;height:20px;}
.mk-c1-head{position:relative;display:flex;align-items:center;gap:16px;background:#BC6544;color:#fff;border-radius:24px 24px 0 0;padding:26px 24px 34px;overflow:hidden;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 120' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H400 V104 C330 116 270 96 200 104 C130 112 60 112 0 92 Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 120' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H400 V104 C330 116 270 96 200 104 C130 112 60 112 0 92 Z'/%3E%3C/svg%3E");-webkit-mask-size:100% 100%;mask-size:100% 100%;}
.mk-house{width:52px;height:52px;flex-shrink:0;color:#fff;position:relative;z-index:1;} .mk-house svg{width:100%;height:100%;}
.mk-c1-head > div{position:relative;z-index:1;}
.mk-c1-head h2{color:#fff!important;font-size:clamp(26px,2.3vw,38px);}
.mk-c1-head p{color:#FBE9DD;font-size:clamp(14px,1.1vw,18px);font-family:'Lora',serif;margin-top:4px;}
.mk-c1-dog{position:absolute;right:0;bottom:0;height:100%;width:34%;object-fit:cover;object-position:60% 40%;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 40%);mask-image:linear-gradient(90deg,transparent,#000 40%);}
.mk-multi{position:relative;margin-top:auto;border:1.6px solid #E9B35A;border-radius:22px;padding:12px 18px 12px;background:transparent;}
.mk-multi h4{display:flex;align-items:center;gap:10px;font-family:'Lora',serif!important;font-weight:700;color:#BC6544;font-size:clamp(17px,1.4vw,22px);margin:0 0 8px;}
.mk-multi h4 svg{width:22px;height:22px;color:#BC6544;}
.mk-pill{display:flex;align-items:baseline;gap:14px;background:#F6E9D6;border-radius:30px;padding:4px 22px;margin:5px 0;width:78%;font-size:14px;color:#2B2A33;}
.mk-pill b{font-family:'Lora',serif;font-size:clamp(20px,1.6vw,26px);color:#BC6544;font-weight:700;min-width:58px;}
.mk-multi-heart{position:absolute;right:46px;top:20px;width:34px;color:#BC6544;}
.mk-leaf.l-c1{right:-14px;bottom:30px;width:70px;height:80px;transform:scaleX(-1);}

/* Carte 2 */
.mk-c2-top{position:relative;height:118px;border-radius:24px 24px 0 0;overflow:hidden;background:#F7EEE1;}
.mk-c2-top img{position:absolute;left:0;bottom:0;width:72%;height:100%;object-fit:cover;-webkit-mask-image:radial-gradient(ellipse 80% 90% at 40% 60%,#000 60%,transparent 92%);mask-image:radial-gradient(ellipse 80% 90% at 40% 60%,#000 60%,transparent 92%);}
.mk-leaf.l-c2{right:40px;top:-6px;width:96px;height:80px;transform:rotate(18deg);}
.mk-c2-heart{position:absolute;right:30px;top:60px;width:34px;color:#BC6544;}
.mk-title{display:flex;align-items:center;gap:12px;margin:4px 0 2px;}
.mk-ti{width:42px;height:42px;flex-shrink:0;display:inline-flex;} .mk-ti svg{width:100%;height:100%;}
.mk-title p{font-size:clamp(12.5px,.9vw,15px);color:#3F3A40;margin-top:3px;}
.mk-catdisc{font-size:13px;color:#6B5A4B;display:flex;align-items:center;gap:8px;margin-top:auto!important;}
.mk-catdisc svg{width:16px;height:16px;color:#BC6544;}
.mk-catdisc b{color:#BC6544;}
.mk-c2-photo{height:150px;border-radius:0 0 24px 24px;overflow:hidden;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 160' preserveAspectRatio='none'%3E%3Cpath d='M0 28 C 60 6, 130 36, 200 18 C 250 6, 280 4, 300 14 V160 H0 Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 160' preserveAspectRatio='none'%3E%3Cpath d='M0 28 C 60 6, 130 36, 200 18 C 250 6, 280 4, 300 14 V160 H0 Z'/%3E%3C/svg%3E");-webkit-mask-size:100% 100%;mask-size:100% 100%;}
.mk-c2-photo img{width:100%;height:100%;object-fit:cover;}

/* Carte 3 */
.mk-c3-top{height:122px;border-radius:24px 24px 0 0;overflow:hidden;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 130' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H300 V118 C 250 128, 200 108, 140 104 C 90 101, 40 108, 0 100 Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 130' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H300 V118 C 250 128, 200 108, 140 104 C 90 101, 40 108, 0 100 Z'/%3E%3C/svg%3E");-webkit-mask-size:100% 100%;mask-size:100% 100%;}
.mk-c3-top img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;}
.mk-price{display:flex;align-items:baseline;gap:8px;font-size:clamp(16px,1.2vw,20px);color:#2B2A33;margin:12px 0 10px;}
.mk-price b{font-family:'Lora',serif;font-weight:600;font-size:clamp(40px,3.4vw,56px);color:#BC6544;line-height:1;}
.mk-c3-deco{position:relative;height:130px;overflow:hidden;border-radius:0 0 24px 24px;}
.mk-c3-deco img{position:absolute;right:16px;bottom:8px;height:118px;mix-blend-mode:multiply;-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 55%,#000 60%,transparent 90%);mask-image:radial-gradient(ellipse 70% 70% at 50% 55%,#000 60%,transparent 90%);}
.mk-blob-in{position:absolute;left:30%;bottom:-40px;width:150px;height:90px;border-radius:50%;background:#F2CF84;opacity:.6;}
.mk-leaf.l-c3a{left:6px;bottom:0;width:70px;height:110px;}
.mk-leaf.l-c3b{left:70px;bottom:-6px;width:60px;height:80px;filter:hue-rotate(-40deg) saturate(1.3);transform:rotate(14deg);}

/* Carte 4 */
.mk-c4-top{position:relative;height:120px;border-radius:24px 24px 0 0;overflow:hidden;}
.mk-c4-top img{position:absolute;right:0;top:0;width:58%;height:100%;object-fit:cover;object-position:50% 30%;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 130' preserveAspectRatio='none'%3E%3Cpath d='M30 0 H200 V112 C 160 126, 110 116, 70 120 C 40 122, 20 112, 0 100 C 14 70, 6 30, 30 0 Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 130' preserveAspectRatio='none'%3E%3Cpath d='M30 0 H200 V112 C 160 126, 110 116, 70 120 C 40 122, 20 112, 0 100 C 14 70, 6 30, 30 0 Z'/%3E%3C/svg%3E");-webkit-mask-size:100% 100%;mask-size:100% 100%;}
.mk-leaf.l-c4{left:10px;top:10px;width:60px;height:96px;transform:rotate(-12deg);}
.mk-c4-paw{position:absolute;left:66px;top:30px;width:34px;color:#E7B24C;transform:rotate(18deg);}
.mk-note{font-size:clamp(12.5px,.9vw,15px);color:#3F3A40;margin:10px 0 0!important;line-height:1.45;}
.mk-c4-deco{position:relative;height:120px;border-radius:0 0 24px 24px;overflow:hidden;}
.mk-c4-deco img{position:absolute;right:8px;bottom:6px;height:110px;-webkit-mask-image:radial-gradient(ellipse 72% 76% at 55% 55%,#000 62%,transparent 92%);mask-image:radial-gradient(ellipse 72% 76% at 55% 55%,#000 62%,transparent 92%);}
.mk-leaf.l-c4b{left:20px;bottom:0;width:70px;height:100px;}

.mk-legal{position:relative;z-index:2;text-align:center;font-size:13px;color:#6B5A4B;margin:20px auto 0!important;}
.mk-legal a{color:#BC6544;font-weight:700;}

/* Adaptation hauteur d'écran */
@media (max-height:900px) and (min-width:1101px){
  .mk-head h1{font-size:clamp(36px,3.4vw,58px);}
  .mk-script{font-size:28px;margin-top:4px;}
  .mk-grid{margin-top:16px;}
  .mk-rows li{padding:4px 0;font-size:14px;}
  .mk-checks{gap:5px;}
  .mk-checks li{font-size:13.5px;}
  .mk-c2-top,.mk-c3-top,.mk-c4-top{height:96px;}
  .mk-c2-photo{height:110px;} .mk-c3-deco,.mk-c4-deco{height:96px;}
  .mk-c3-deco img,.mk-c4-deco img{height:88px;}
  .mk-c1-head{padding:18px 22px 28px;}
}
@media (max-width:1300px){.mk-grid{grid-template-columns:1fr 1fr;} .mk-aside,.mk-lines{display:none;}}
@media (max-width:760px){
  .mk-grid{grid-template-columns:1fr;gap:26px;}
  .mk-hero{position:relative;width:calc(100% + 32px);margin:-22px -16px 0;height:220px;}
  .mk-paw,.mk-leaf.l-top,.mk-blob.b-mustard,.mk-blob.b-olive{display:none;}
  .c1 .mk-badge{left:auto;right:16px;}
  .mk-pill{width:100%;}
}
#page-pension .mk-head h1{color:#16253F!important;font-family:'Lora',Georgia,serif!important;}
#page-pension .mk-head h1 span{color:#C2643F!important;}
#page-pension .mk .mk-kicker{font-family:'Nunito',sans-serif!important;color:#C2643F!important;}
#page-pension .mk .mk-kicker.olive{color:#6F7E45!important;}
#page-pension .mk .mk-catdisc{display:block!important;}
#page-pension .mk .mk-catdisc svg{display:inline;vertical-align:-3px;margin-right:4px;}
#page-pension .mk .mk-title h2{font-size:clamp(20px,1.6vw,28px);}
@media (min-width:1301px){
  #page-pension .mk-head h1{font-size:clamp(40px,3.6vw,62px)!important;}
  .mk-script{font-size:clamp(24px,2vw,34px);margin-top:6px;}
  .mk-grid{margin-top:18px;max-width:1460px;}
  .mk-hero{width:min(32vw,560px);height:clamp(240px,22vw,340px);}
  .mk-aside{font-size:clamp(22px,1.9vw,32px);}
}

/* ═══ Cartes identiques + tout dans l'écran ═══ */
.mk-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.c1 .mk-badge{left:50%;transform:translateX(-50%);white-space:nowrap;}
.mk-c1-head h2{font-size:clamp(22px,1.8vw,30px)!important;}
.mk-c1-head{padding:22px 20px 30px;}
.mk-house{width:42px;height:42px;}
.mk-pill{width:100%;padding:3px 16px;}
.mk-multi{padding:10px 14px;}
.mk-multi-heart{right:16px;top:12px;width:28px;}
#page-pension .mk .mk-checks li{gap:10px;}
@media (max-height:960px) and (min-width:1301px){
  #page-pension .mk-head h1{font-size:clamp(36px,3vw,52px)!important;}
  .mk-script{font-size:26px!important;margin-top:2px!important;}
  .mk-crumbs{font-size:13px;margin-bottom:0;}
  .mk-grid{margin-top:12px!important;}
  #page-pension .mk{padding-top:12px!important;}
}

/* ═══ En-têtes photo identiques sur les 4 cartes ═══ */
.mk-hd{min-height:118px;}
.mk-hd.hd-cat{background:#8C9B5E;}
.mk-hd.hd-edu{background:#D79A3E;}
.mk-hd.hd-toil{background:#C9806A;}
.mk-hd .mk-hico{width:42px;height:42px;background:rgba(255,255,255,.92);border-radius:50%;padding:6px;}
.mk-hd .mk-hico svg *{stroke-opacity:1;}
.mk-hd h2{color:#fff!important;font-size:clamp(20px,1.6vw,28px)!important;}
.mk-hd p{color:#FFF3E6!important;font-size:clamp(12.5px,.95vw,15px)!important;}
.mk-hd .mk-c1-dog{width:42%;}
.mk-c1-head:not(.mk-hd){min-height:118px;}
.mk-c2-deco img{height:104px!important;}
.c2 .mk-body .mk-multi{margin-top:auto;}
.c2 .mk-checks{margin-bottom:12px;}
.mk-hd .mk-c1-dog,.mk-c1-head .mk-c1-dog{width:34%;} .mk-hd h2{font-size:clamp(19px,1.45vw,26px)!important;} .mk-hd > div{max-width:64%;}
.mk-hd > div{max-width:70%;} .mk-hd h2,.mk-hd p{white-space:nowrap;} .mk-hd h2{font-size:clamp(17px,1.35vw,25px)!important;}
.c2 .mk-body{padding-bottom:18px;} .c2 .mk-multi{margin-top:auto!important;}

/* ═══ UNIVERS MAQUETTE : en-têtes de pages + décor généreux ═══ */
#page-pension .mk-aside,#page-pension .mk-aside span,#page-pension .mk-script{font-family:'Dancing Script',cursive!important;}
#page-pension .mk-aside{font-weight:600;}
.mkh{position:relative;isolation:isolate;overflow:hidden;background:#FBF4EA;padding:20px clamp(16px,2.2vw,40px) 22px;min-height:clamp(220px,20vw,290px);}
.mkh .mk-hero{width:min(28vw,500px);height:clamp(210px,19vw,290px);}
.mkh .mk-head h1{font-family:'Lora',Georgia,serif!important;font-weight:700;font-size:clamp(36px,3.4vw,60px);line-height:1.05;color:#16253F!important;margin:0;}
.mkh .mk-head h1 span,.mkh .mk-head h1 .em{color:#C2643F!important;position:relative;display:inline-block;}
.mkh .mk-head h1 span::after{content:'';position:absolute;left:10%;width:40%;bottom:-8px;height:9px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath d='M2 8 C 30 1, 70 1, 98 6' fill='none' stroke='%23C2643F' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/100% 100%;}
.mk-blob.b-sun{width:170px;height:170px;border-radius:50%;right:clamp(16px,2vw,40px);bottom:-30px;background:#EDC36E;opacity:.7;}
.mkh .mk-blob.b-sun{bottom:auto;top:150px;right:24px;width:120px;height:120px;}
.mk-blob.b-peach-s{width:120px;height:120px;border-radius:50%;left:36%;top:-70px;background:#E9B9A0;opacity:.35;}
.mk-hrt{position:absolute;display:block;width:30px;color:#C2643F;opacity:.7;}
.mk-hrt.h1{left:34%;top:68%;transform:rotate(-12deg);}
.mkh .mk-paw{top:auto;bottom:16px;right:clamp(200px,16vw,320px);}
.mkh .mk-leaf.l-top{top:120px;}
@media (max-width:1000px){.mkh .mk-hero{position:relative;width:calc(100% + 32px);margin:-20px -16px 10px;height:200px;}.mkh .mk-aside,.mkh .mk-lines,.mkh .mk-paw,.mkh .mk-hrt{display:none;}}

/* Tarifs : la grande tache moutarde devient un disque entier */
.mk .mk-blob.b-mustard{width:200px;height:200px;border-radius:50%;right:24px;top:150px;opacity:.7;}

/* Décor dense, formes entières */
#page-pension .deco{overflow:hidden!important;}
#page-pension .dc.blob{animation:none;}
#page-pension .dc.line svg{fill:none;stroke:currentColor;stroke-width:1.6;}
#page-pension .dc.illu{width:clamp(110px,9vw,160px);height:auto;animation:none;opacity:.95;}
#page-pension .dc.illu img{width:100%;display:block;mix-blend-mode:multiply;-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,#000 60%,transparent 92%);mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,#000 60%,transparent 92%);}
@media (max-width:760px){#page-pension .dc.illu{display:none;}#page-pension .dc.blob{transform:scale(.6);}}
#page-pension header.mkh.hsw-page-head{background:transparent!important;overflow:hidden!important;padding:14px clamp(16px,2.2vw,40px) 10px!important;min-height:0!important;text-align:center;}
#page-pension header.mkh .mk-head{padding-bottom:10px;}
#page-pension header.mkh .mk-hero{z-index:-1;}
#page-pension header.mkh ~ section{padding-top:20px!important;}
.mkh .mk-paw{right:clamp(330px,24vw,460px)!important;bottom:6px!important;}

/* ═══ ACCUEIL GARDE À DOMICILE : maquette de Laurie ═══ */
#page-pension .hh{--o:#E06A1B;--g:#4F6B3A;position:relative;isolation:isolate;overflow:hidden;background:#FBF4EA!important;padding:0!important;min-height:calc(100vh - 72px);display:grid;grid-template-columns:44% 56%;grid-template-rows:auto auto auto;}
#page-pension .hh *{box-sizing:border-box;}
.hh-left{position:relative;padding:clamp(28px,4vh,60px) 0 20px clamp(40px,8vw,140px);z-index:2;}
.hh h1{font-family:'Grandstander','Fredoka',sans-serif!important;font-weight:800;font-size:clamp(40px,4.2vw,74px);line-height:1.02;color:#2F3B22!important;margin:0 0 18px;transform:rotate(-2deg);letter-spacing:-.01em;}
.hh h1 span{color:var(--o);position:relative;display:inline-block;}
.hh h1 span::after{content:'';position:absolute;left:-2%;right:4%;bottom:-10px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 14' preserveAspectRatio='none'%3E%3Cpath d='M3 10 C 60 2, 140 2, 197 6' fill='none' stroke='%23E06A1B' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/100% 100%;}
.hh-heart{position:absolute;left:clamp(8px,4vw,72px);top:clamp(30px,5vh,70px);width:44px;color:var(--o);}
.hh-spark{position:absolute;width:38px;color:var(--o);}
.hh-spark.s1{left:clamp(4px,3.5vw,60px);top:clamp(100px,13vh,150px);}
.hh-spark.s2{left:clamp(330px,30vw,560px);top:clamp(60px,9vh,110px);transform:scaleX(-1);}
.hh-txt{font-family:'Nunito',sans-serif;font-size:clamp(15px,1.1vw,19px);line-height:1.6;color:#2B2A33;margin:0 0 22px;}
.hh-btn{display:inline-flex;align-items:center;gap:14px;background:var(--o);color:#fff!important;text-decoration:none;font-family:'Nunito',sans-serif;font-weight:800;font-size:clamp(15px,1.1vw,19px);padding:16px 32px;border-radius:40px;box-shadow:0 10px 22px rgba(224,106,27,.28);transition:transform .2s,background .2s;}
.hh-btn:hover{background:#C9590F;transform:translateY(-2px);}
.hh-btn svg{width:22px;height:22px;}
.hh-feats{list-style:none;display:flex;gap:clamp(16px,2vw,36px);margin:26px 0 0;padding:0;}
.hh-feats li{display:flex;align-items:center;gap:12px;font-family:'Nunito',sans-serif;font-size:clamp(12.5px,.9vw,15px);color:#2B2A33;line-height:1.35;}
.hh-feats li > span{width:58px;height:58px;border-radius:50%;background:#F3E2CB;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.hh-feats li > span svg{width:30px;height:30px;}
.hh-feats li > span.paw svg{fill:#4F6B3A;}
.hh-leaf{position:absolute;display:block;pointer-events:none;}
.hh-leaf svg{width:100%;height:100%;}
.hh-leaf.l1{left:-14px;top:42%;width:90px;height:150px;transform:rotate(-10deg);}
.hh-bigpaw{position:absolute;left:10px;bottom:-30px;width:90px;color:#E9C9A6;transform:rotate(-20deg);opacity:.8;}
.hh-photo-main{position:relative;grid-column:2;grid-row:1;margin-top:8px;height:clamp(360px,58vh,560px);
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M4 0 H100 V100 C 88 96, 78 90, 62 92 C 50 94, 40 98, 30 94 C 22 90, 26 76, 18 68 C 10 60, 2 52, 6 40 C 10 28, 0 18, 4 0 Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M4 0 H100 V100 C 88 96, 78 90, 62 92 C 50 94, 40 98, 30 94 C 22 90, 26 76, 18 68 C 10 60, 2 52, 6 40 C 10 28, 0 18, 4 0 Z'/%3E%3C/svg%3E");-webkit-mask-size:100% 100%;mask-size:100% 100%;}
.hh-photo-main img{width:100%;height:100%;object-fit:cover;object-position:50% 55%;}
.hh-leaf.l2{left:41%;top:clamp(260px,40vh,400px);width:150px;height:110px;transform:rotate(60deg);z-index:3;}
.hh-copains{position:absolute;right:clamp(40px,6vw,110px);top:clamp(50px,9vh,100px);z-index:3;font-family:'Dancing Script',cursive;font-weight:700;font-size:clamp(26px,2.2vw,38px);line-height:1.1;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.35);transform:rotate(-8deg);}
.hh-copains .hh-h{position:absolute;right:-6px;top:-30px;width:28px;color:#fff;}
.hh-copains .hh-pw{position:absolute;right:-70px;top:-6px;width:56px;color:#fff;}
.hh-photos-tag{position:absolute;left:58%;top:clamp(300px,46vh,440px);z-index:3;display:flex;align-items:center;gap:12px;background:var(--g);color:#fff;padding:14px 26px;border-radius:40px;font-family:'Nunito',sans-serif;font-weight:700;font-size:clamp(14px,1.05vw,18px);line-height:1.2;transform:rotate(-6deg);box-shadow:0 10px 22px rgba(47,59,34,.25);}
.hh-photos-tag svg{width:30px;height:30px;}
.hh-svcs{grid-column:1/-1;grid-row:2;position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,3vw,60px);padding:14px clamp(40px,7vw,130px) 50px;z-index:2;}
.hh-svc{position:relative;display:flex;flex-direction:column;align-items:center;text-decoration:none;}
.hh-ring{position:absolute;top:-6px;width:min(15vw,230px);aspect-ratio:1;border-radius:58% 42% 52% 48% / 52% 46% 54% 48%;background:var(--c);opacity:.85;transform:rotate(-12deg) translateX(-6%);}
.hh-photo{position:relative;width:min(14vw,210px);aspect-ratio:1;border-radius:50%;overflow:hidden;border:6px solid #FBF4EA;}
.hh-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s;}
.hh-svc:hover .hh-photo img{transform:scale(1.07);}
.hh-pawb{position:absolute;top:calc(min(14vw,210px) - 50px);right:calc(50% - min(7vw,105px) - 14px);width:52px;height:52px;border-radius:50%;background:var(--c);display:flex;align-items:center;justify-content:center;border:3px solid #FBF4EA;}
.hh-pawb svg{width:28px;height:28px;color:#fff;}
.hh-label{position:relative;margin-top:-26px;background:#FFFAF3;border-radius:40px;padding:12px 26px;box-shadow:0 8px 20px rgba(120,78,48,.13);font-family:'Fredoka','Nunito',sans-serif;font-weight:600;font-size:clamp(16px,1.25vw,21px);color:#2F3B22;display:inline-flex;align-items:center;gap:10px;white-space:nowrap;}
.hh-label svg{width:18px;height:18px;color:var(--o);}
.hh-fp{position:absolute;width:42px;color:#B7C29A;opacity:.8;}
.hh-fp.p1{left:27%;top:30px;} .hh-fp.p2{left:46%;top:20px;color:#E9B9A0;transform:rotate(20deg);} .hh-fp.p3{left:72%;top:30px;}
.hh-fp.p4{right:2%;top:80px;color:#E9C9A6;width:56px;} .hh-fp.p5{left:3%;top:90px;color:#B7C29A;width:34px;}
.hh-band{grid-column:1/-1;grid-row:3;position:relative;background:var(--g);color:#fff;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;padding:30px clamp(40px,8vw,160px) 30px;margin-top:-20px;}
.hh-band::before{content:'';position:absolute;left:0;right:0;top:-44px;height:46px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 46' preserveAspectRatio='none'%3E%3Cpath d='M0 26 C 200 4, 420 40, 720 28 C 1000 16, 1220 0, 1440 18 V46 H0 Z' fill='%234F6B3A'/%3E%3C/svg%3E") no-repeat bottom/100% 100%;}
.hh-band > div{display:flex;align-items:center;gap:18px;font-family:'Nunito',sans-serif;font-size:clamp(14px,1.05vw,18px);line-height:1.3;}
.hh-band > div:last-of-type{justify-content:flex-end;}
.hh-band > div > svg{width:36px;height:36px;color:#F3E2CB;}
.hh-band .ph{width:46px;height:46px;border-radius:50%;background:#F3E2CB;display:flex;align-items:center;justify-content:center;}
.hh-band .ph svg{width:24px;height:24px;color:var(--o);}
.hh-band .mid{padding:0 36px;border-left:1px solid rgba(255,255,255,.3);border-right:1px solid rgba(255,255,255,.3);}
.hh-band .mid b{font-family:'Dancing Script',cursive;font-weight:700;font-size:clamp(26px,2.2vw,38px);}
.hh-band .bh{width:44px;color:#F3E2CB;display:inline-flex;} .hh-band .bp{width:30px;color:#F3E2CB;display:inline-flex;}
.hh-leaf.l3{left:8px;bottom:6px;width:80px;height:110px;opacity:.55;filter:brightness(1.8) saturate(.4);}
.hh-leaf.l4{right:10px;bottom:4px;width:90px;height:90px;transform:scaleX(-1);opacity:.55;filter:brightness(1.8) saturate(.4);}
#page-pension .hh .deco{display:none;}
/* le footer/avis enchaînent sans vague crème doublée */
#page-pension .hh + .auto-wave{display:none;}
@media (max-width:1000px){
  #page-pension .hh{grid-template-columns:1fr;}
  .hh-left{padding:30px 22px 10px;} .hh h1{font-size:44px;}
  .hh-photo-main{grid-column:1;grid-row:2;height:320px;margin:0;-webkit-mask-image:none;mask-image:none;border-radius:0 0 40px 40px;}
  .hh-svcs{grid-row:3;grid-template-columns:1fr 1fr;padding:30px 16px 50px;row-gap:34px;}
  .hh-ring{width:42vw;} .hh-photo{width:38vw;} .hh-pawb{top:calc(38vw - 46px);right:calc(50% - 19vw - 8px);width:44px;height:44px;}
  .hh-label{font-size:15px;padding:10px 16px;}
  .hh-band{grid-row:4;grid-template-columns:1fr;text-align:center;gap:16px;padding:26px 20px;}
  .hh-band > div,.hh-band > div:last-of-type{justify-content:center;}
  .hh-band .mid{border:none;padding:0;}
  .hh-feats{flex-direction:column;gap:12px;}
  .hh-copains,.hh-leaf.l2,.hh-spark.s2{display:none;}
  .hh-photos-tag{left:auto;right:16px;top:auto;bottom:auto;position:relative;grid-row:2;justify-self:end;align-self:end;margin:0 16px 16px 0;}
  .hh-txt br{display:none;}
}
#page-pension .hh-label{color:#2F3B22!important;}
#page-pension .hh-fp svg,#page-pension .hh-bigpaw svg{fill:currentColor;}
#page-pension .hh-fp{color:#B7C29A!important;} #page-pension .hh-fp.p2{color:#E9B9A0!important;} #page-pension .hh-fp.p4{color:#E9C9A6!important;} #page-pension .hh-bigpaw{color:#E9C9A6!important;}
#page-pension .hh-feats{flex-wrap:nowrap;gap:clamp(12px,1.4vw,26px);}
#page-pension .hh-feats li{white-space:nowrap;}
#page-pension .hh-pawb{z-index:2;}
#page-pension .hh-left{padding-right:10px;}
@media (min-width:1001px){
  #page-pension .hh-photo-main{height:min(58vh,560px);}
  #page-pension .hh h1{font-size:min(4.2vw,7.2vh);}
  #page-pension .hh-left{padding-top:min(4vh,50px);}
  #page-pension .hh-ring{width:min(15vw,24vh);} #page-pension .hh-photo{width:min(14vw,22vh);}
  #page-pension .hh-pawb{top:calc(min(14vw,22vh) - 50px);right:calc(50% - min(7vw,11vh) - 14px);}
  #page-pension .hh-svcs{padding-bottom:34px;}
  #page-pension .hh-band{padding-top:22px;padding-bottom:22px;}
  #page-pension .hh-txt{margin-bottom:16px;} #page-pension .hh-feats{margin-top:18px;}
}
@media (min-width:1001px) and (max-height:960px){
  #page-pension .hh-photo-main{height:52vh;}
  #page-pension .hh h1{font-size:6.4vh;margin-bottom:10px;}
  #page-pension .hh-txt{font-size:15px;line-height:1.5;}
  #page-pension .hh-btn{padding:12px 26px;}
  #page-pension .hh-feats li > span{width:48px;height:48px;}
  #page-pension .hh-ring{width:20vh;} #page-pension .hh-photo{width:18.5vh;}
  #page-pension .hh-pawb{top:calc(18.5vh - 46px);right:calc(50% - 9.25vh - 14px);width:44px;height:44px;}
  #page-pension .hh-svcs{padding-top:6px;padding-bottom:26px;}
  #page-pension .hh-label{padding:9px 20px;font-size:17px;}
  #page-pension .hh-band{padding-top:16px;padding-bottom:16px;}
}
#page-pension .hh h1{margin-bottom:24px!important;}
#page-pension .hh-pawb{transform:translateY(-14px);}
@media (max-width:1000px){
  #page-pension .hh-ring{width:36vw!important;} #page-pension .hh-photo{width:33vw!important;}
  #page-pension .hh-pawb{top:calc(33vw - 44px)!important;right:calc(50% - 16.5vw - 8px)!important;}
  #page-pension .hh-svcs{gap:14px!important;padding:24px 12px 50px!important;}
  #page-pension .hh-label{font-size:13.5px!important;padding:8px 12px!important;}
  #page-pension .hh h1{transform:none;font-size:38px!important;}
  #page-pension .hh-heart,#page-pension .hh-spark{display:none;}
}

/* ═══ Services en polaroïds (comme la galerie) ═══ */
#page-pension .hh-svcs{align-items:start;padding-top:18px!important;}
.hh-pol{position:relative;display:block;background:#fff;padding:12px 12px 58px;border-radius:8px;box-shadow:0 14px 30px rgba(120,78,48,.16);text-decoration:none;transition:transform .35s cubic-bezier(.34,1.56,.64,1);max-width:300px;justify-self:center;width:100%;}
.hh-pol:nth-child(1){transform:rotate(-4deg);} .hh-pol:nth-child(2){transform:rotate(3deg) translateY(14px);}
.hh-pol:nth-child(3){transform:rotate(-2deg);} .hh-pol:nth-child(4){transform:rotate(4deg) translateY(10px);}
.hh-pol:hover{transform:rotate(0) scale(1.05)!important;z-index:3;}
.hh-pol::before{content:'';position:absolute;top:-12px;left:50%;width:96px;height:26px;transform:translateX(-50%) rotate(-3deg);background:rgba(231,178,76,.75);border-radius:3px;z-index:2;}
.hh-pol:nth-child(even)::before{background:rgba(140,155,94,.6);transform:translateX(-50%) rotate(4deg);}
.hh-pol-img{display:block;aspect-ratio:1;overflow:hidden;border-radius:4px;}
.hh-pol-img img{width:100%;height:100%;object-fit:cover;}
.hh-pol-cap{position:absolute;left:0;right:0;bottom:12px;text-align:center;font-family:'Dancing Script',cursive;font-weight:700;font-size:clamp(22px,1.7vw,28px);color:#2F3B22;display:flex;align-items:center;justify-content:center;gap:6px;}
.hh-pol-cap svg{width:18px;height:18px;color:#E06A1B;}
@media (min-width:1001px) and (max-height:960px){.hh-pol{max-width:min(250px,30vh);padding-bottom:50px;}}
@media (max-width:1000px){.hh-pol{padding:8px 8px 44px;} .hh-pol-cap{font-size:18px;bottom:8px;} .hh-pol::before{width:64px;height:20px;top:-9px;}}
#page-pension .hh-pol-cap{color:#2F3B22!important;white-space:nowrap;font-size:clamp(19px,1.45vw,25px)!important;}
#page-pension .hh-pol{max-width:min(250px,28vh)!important;}
#page-pension .hh-photos-tag{top:auto!important;bottom:auto;}
@media (min-width:1001px){#page-pension .hh-photos-tag{top:calc(min(58vh,560px) - 110px)!important;left:auto!important;right:clamp(40px,8vw,160px);}}
@media (min-width:1001px) and (max-height:960px){#page-pension .hh-photos-tag{top:calc(52vh - 100px)!important;}}
#page-pension .hh-pol:nth-child(4) .hh-pol-cap{font-size:clamp(17px,1.25vw,22px)!important;}
#page-pension .hh-pol-cap,#page-pension .hh-pol-cap *{font-family:'Dancing Script',cursive!important;font-weight:700!important;}
#page-pension .hh-pol-cap{font-size:clamp(22px,1.7vw,30px)!important;}
#page-pension .hh-pol:nth-child(4) .hh-pol-cap{font-size:clamp(20px,1.5vw,27px)!important;}
/* bandeau : vague aussi en dessous */
#page-pension .hh{overflow:visible!important;}
#page-pension .hh-band{z-index:5;}
#page-pension .hh-band::after{content:'';position:absolute;left:0;right:0;bottom:-44px;height:46px;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 46' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H1440 V22 C 1240 44, 1000 34, 760 18 C 520 4, 260 30, 0 16 Z' fill='%234F6B3A'/%3E%3C/svg%3E") no-repeat top/100% 100%;}
#page-pension .hh + .auto-wave,#page-pension .hh ~ .auto-wave:first-of-type{display:none!important;}
#page-pension .hh + section,#page-pension .hh ~ #temoignages{padding-top:90px!important;}
#page-pension .hh{z-index:4!important;}

/* ═══ Vagues entre sections ═══ */
.auto-wave{position:relative;height:0;z-index:6;pointer-events:none;}
.auto-wave svg{position:absolute;left:0;width:100%;height:clamp(34px,4.4vw,64px);display:block;}
.auto-wave.up svg{bottom:-1px;}
.auto-wave.down svg{top:-1px;}
.auto-wave.lux svg{height:clamp(24px,2.8vw,42px);}
