/* Côte Fleurie only: compact editorial layout awaiting owner validation. */
.location-area-coast .area-hero { padding-top: 124px; }
.location-area-coast .area-breadcrumbs { margin-bottom: 32px; }
.location-area-coast .area-hero-grid { gap: clamp(32px, 5vw, 72px); }
.location-area-coast .area-hero h1 { font-size: clamp(2.35rem, 3.5vw, 3.45rem); }
.location-area-coast .area-image-frame img { height: clamp(300px, 27vw, 365px); }
.location-area-coast .area-lead { margin-block: 24px; }
.location-area-coast .area-presence { margin-top: 32px; padding-block: 20px; }
.location-area-coast :is(#services, #modalites) { scroll-margin-top: 112px; }

.location-area-coast :is(.coast-services, .coast-faq) { color: var(--ap-ink); }
.location-area-coast .coast-services { padding-block: clamp(52px, 5vw, 76px); }
.location-area-coast .coast-section-heading { max-width: 780px; margin-bottom: 32px; }
.location-area-coast .coast-section-heading .area-kicker { margin-bottom: 16px; }
.location-area-coast .coast-section-heading .area-context-copy { margin-top: 18px; }
.location-area-coast .coast-services-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 0 48px; }
.location-area-coast .coast-service { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 14px 18px; padding-block: 28px; border-top: 1px solid var(--area-line); }
.location-area-coast .coast-service-icon { display: flex; align-items: center; height: 34px; color: var(--ap-cobalt); font-size: 1.85rem; }
.location-area-coast .coast-service h3 { align-self: center; font-size: 1.35rem; }
.location-area-coast .coast-service > p { grid-column: 2; margin: 0; color: var(--area-muted); font-size: .94rem; }
.location-area-coast .coast-service > .area-text-link { grid-column: 2; align-self: end; margin-top: 4px; }
.location-area-coast .coast-service-featured { grid-row: span 2; display: flex; flex-direction: column; gap: 0; padding: clamp(26px, 3vw, 40px); border: 1px solid #dce6ef; background: #edf4f8; }
.location-area-coast .coast-service-featured h3 { align-self: stretch; margin-top: 22px; font-size: 1.6rem; }
.location-area-coast .coast-service-featured > p { margin-top: 16px; }
.location-area-coast .coast-service-featured > .area-text-link { align-self: stretch; margin-top: auto; padding-top: 28px; }
.location-area-coast .coast-repair-advice { margin-top: 26px; padding-top: 22px; border-top: 1px solid #ccdce8; }
.location-area-coast .coast-repair-advice h4 { margin: 0; color: var(--ap-ink); font-size: 1rem; font-weight: 750; line-height: 1.5; }
.location-area-coast .coast-repair-advice p { margin: 8px 0 0; color: var(--area-muted); font-size: .9rem; }

.location-area-coast .coast-faq { padding-block: clamp(40px, 4vw, 60px); border-top: 1px solid var(--area-line); background: var(--ap-paper); }
.location-area-coast .coast-faq-inner { max-width: 900px; margin-inline: auto; }
.location-area-coast .coast-faq-heading { margin-bottom: 24px; }
.location-area-coast .coast-faq-heading .area-kicker { margin-bottom: 14px; }
.location-area-coast .coast-faq h2 { font-size: clamp(1.8rem, 2.5vw, 2.3rem); }
.location-area-coast .area-faq-list summary { padding-block: 20px; }
.location-area-coast .area-faq-list summary::after { top: 20px; }

.location-area-coast .coast-contact { padding-block: clamp(48px, 5vw, 76px); }
.location-area-coast .coast-contact-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 44px; align-items: center; padding: clamp(28px, 3.3vw, 48px); }
.location-area-coast .coast-contact-grid::after { width: 350px; right: -80px; bottom: -85px; opacity: .07; }
.location-area-coast .coast-contact h2 { max-width: 20ch; }
.location-area-coast .area-final-intro { max-width: 44ch; }
.location-area-coast .area-final-actions { gap: 18px 24px; }
.location-area-coast .coast-contact-shop { padding: 0 0 0 36px; border: 0; border-left: 1px solid #cddce7; background: none; }
.location-area-coast .coast-shop-icon { display: block; margin-bottom: 14px; color: var(--ap-cobalt); font-size: 1.6rem; }
.location-area-coast .coast-contact-shop h3 { font-size: 1.22rem; line-height: 1.4; }
.location-area-coast .coast-contact-shop address { margin: 14px 0; color: var(--ap-ink); font-size: .9rem; font-style: normal; line-height: 1.7; }
.location-area-coast .coast-contact-shop .coast-opening { margin: 14px 0; font-size: .83rem; }
.location-area-coast .coast-contact-shop .area-text-link { padding-top: 6px; }

@media (max-width: 1000px) {
  .location-area-coast .coast-services-grid { gap: 0 28px; }
  .location-area-coast .coast-contact-grid { gap: 28px; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
  .location-area-coast .coast-contact-shop { padding-left: 24px; }
}

@media (max-width: 800px) {
  .location-area-coast .area-hero { padding-top: 120px; }
  .location-area-coast .area-image-frame img { height: clamp(240px, 55vw, 360px); }
  .location-area-coast .coast-services-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .location-area-coast .coast-service-featured { grid-row: auto; }
  .location-area-coast .coast-service:not(.coast-service-featured) { padding-block: 24px 0; }
  .location-area-coast .coast-service > p,
  .location-area-coast .coast-service > .area-text-link { grid-column: 1 / -1; }
  .location-area-coast .coast-contact-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .location-area-coast .coast-contact-shop { padding: 28px 0 0; border-left: 0; border-top: 1px solid #cddce7; }
  .location-area-coast .coast-contact-grid::after { width: 270px; right: -100px; bottom: -80px; opacity: .05; }
}
