/* =========================================================
   CECIL Official v1.0.114 — final copy / PC-SP typography pass
   ---------------------------------------------------------
   This layer does not redesign the site. It only stabilizes the newly
   refined copy at desktop and smartphone widths after the brand-positioning
   update in v1.0.113.
========================================================= */

/* Long CTA labels should break as intentional units instead of leaving a
   single short fragment on the next line. */
main :where(.btn,.cecil-hero-detail-actions a,.service-menu-final-actions a,.price-final-actions a,.couple-final-actions a) > span {
  text-wrap:balance;
}

/* Copy edited in v1.0.114 is allowed to use its available measure naturally. */
main :where(
  .service-menu-page,
  .price-page,
  .reasons-page,
  .salon-page,
  .couple-page,
  .dispatch-home-page,
  .dispatch-hotel-page,
  .flow-v2-page,
  .faq-page,
  .voice-page,
  .media-page
) :where(h1,h2,h3,p,small,strong) {
  min-width:0;
  max-width:100%;
}

/* Keep compact labels from stretching cards vertically on wide desktops. */
@media (min-width:1200px) {
  .price-hero-tags span,
  .cecil-hero-detail-features > span {
    text-wrap:balance;
  }
}

/* Smartphone final composition. Existing route CSS still owns the visual
   design; these rules only prevent awkward short orphan rows in key copy. */
@media (max-width:760px) {
  main :where(
    .service-menu-catch,
    .price-hero-catch,
    .couple-hero-catch,
    .cecil-hero-detail-catch,
    .service-menu-final-inner h2,
    .reasons-page h2,
    .salon-page h2,
    .dispatch-hotel-page h2,
    .voice-page h2
  ) {
    text-wrap:pretty!important;
  }

  main :where(.btn,.cecil-hero-detail-actions a) > span {
    min-width:0;
    max-width:100%;
    line-height:1.35;
  }

  .service-menu-speech p,
  .reservation-treatment-note p,
  .couple-page p,
  .dispatch-hotel-page p,
  .dispatch-home-page p {
    text-wrap:pretty;
  }
}

@media (max-width:360px) {
  /* Long booking-request labels remain readable on the narrowest supported
     width without forcing horizontal scrolling. */
  main :where(.cecil-hero-detail-actions,.service-menu-final-actions,.price-final-actions,.couple-final-actions) .btn {
    overflow-wrap:break-word!important;
  }
}
