/* Shared layout fixes: keep the existing Gravity identity at every screen size. */
html { scroll-padding-top: 120px; }
img, video { max-width: 100%; }
a[href^="mailto:"] { overflow-wrap: anywhere; }
h1, h2, h3, h4, h5 { overflow-wrap: break-word; }
.block-white h3, .block-white h3 span,
.calculator h3, .calculator h3 span { line-height: 1.2; }
.calculator::after, .skills::before, .skills::after { pointer-events: none; }
nav.navbar .logo img { display: block; height: auto; }
.gravity-section-links { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 auto 32px; }
.gravity-section-links a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 18px; border: 1px solid #cc1b6f; border-radius: 24px; color: #a61459; font-weight: 700; line-height: 1.3; }
.gravity-section-links a:hover, .gravity-section-links a:focus-visible { background: #cc1b6f; color: #fff; }
.gravity-payments { padding: 44px 0 48px; background: #f7edf3; }
.gravity-payments__eyebrow { margin: 0 0 8px; color: #9d1253; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.gravity-payments h2 { margin: 0 0 26px; font-size: 32px; line-height: 1.2; }
.gravity-payments__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; padding: 0; margin: 0; list-style: none; }
.gravity-payments__list li { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 24px 16px; border: 1px solid #ead5e1; border-radius: 18px; background: #fff; color: #23182c; text-align: center; font-size: 18px; font-weight: 700; line-height: 1.35; }
.gravity-payment-icon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: #f9e7f0; color: #cc1b6f; }
.gravity-payment-icon svg { width: 36px; height: 36px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.gravity-payments__list small { display: block; font-size: 14px; font-weight: 400; }
.gravity-callout { padding: 44px 0; background: #149ee6; }
.gravity-callout .container { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.gravity-callout__copy { flex: 1; min-width: 0; }
.gravity-callout h2 { margin: 0 0 12px; color: #fff; font-size: 34px; line-height: 1.15; }
.gravity-callout p { margin: 0; color: #23182c; font-size: 18px; line-height: 1.5; font-weight: 600; }
.gravity-callout .btn { flex: 0 1 340px; white-space: normal; line-height: 1.4; padding: 16px 26px; }
.gravity-page-info .cards { padding: 0 0 48px !important; }
.gravity-page-info .cards .row { display: flex; flex-wrap: wrap; row-gap: 24px; }
.gravity-page-info .cards .row > div { display: flex; }
.gravity-page-info .cards .item { width: 100%; height: auto !important; padding: 26px 16px; display: flex; flex-direction: column; }
.gravity-page-info .cards .item .price { margin: 12px 0 24px; }
.gravity-page-info .cards .item .btns { margin-top: auto; }
.gravity-page-info .cards table { table-layout: fixed; }
.gravity-page-info .cards .item .price .header { line-height: 1.3; }
.gravity-page-anniversaire .plans .item > .row { margin: 0; }
.gravity-page-anniversaire .plans .item .header { padding: 24px 18px; }
.gravity-page-anniversaire .plans .item .row .btn { position: static !important; transform: none !important; margin: 0 auto 28px; }

@media (max-width: 991px) {
  html { scroll-padding-top: 90px; }
  body { padding-top: 72px; }
  body.gravity-has-ticker { padding-top: 112px; }
  nav.navbar { min-height: 72px; }
  nav.navbar > .container { min-height: 72px; }
  nav.navbar .navbar-header { display: flex; align-items: center; justify-content: space-between; float: none; width: 100%; height: 72px; margin: 0; }
  nav.navbar .navbar-header::before, nav.navbar .navbar-header::after { display: none; }
  nav.navbar .logo { position: static; order: 1; margin: 0; padding: 0; max-width: calc(100% - 72px); }
  nav.navbar .logo img { width: 173px; max-height: 52px; object-fit: contain; }
  nav.navbar .navbar-toggle { order: 2; flex-shrink: 0; margin: 0; }
  nav.navbar #navbar { top: 72px; bottom: 0; margin: 0 !important; height: auto; max-height: calc(100dvh - 72px) !important; overflow-y: auto; }
  nav.navbar #navbar ul.navbar-nav { margin: 0; padding: 0 0 24px; min-height: 100%; }
  nav.navbar #navbar ul.navbar-nav > li { padding: 0 !important; }
  nav.navbar #navbar ul.navbar-nav > li > a { padding: 16px 24px; font-size: 21px; line-height: 1.35; }
  nav.navbar #navbar ul.navbar-nav > li > .btn { margin: 12px 24px; padding: 12px 20px; }
  .info-ticker { height: 40px; display: flex; align-items: center; }
  header { padding: 32px 0; margin-bottom: 28px; }
  header h1 { font-size: clamp(28px, 6vw, 36px); line-height: 1.2; }
  header .bread { display: none; }
  section h2 { font-size: 27px; line-height: 1.25; }
  section h3, .block-white h3, .plans h3, .skills h3, .clients h3 { font-size: 28px !important; line-height: 1.25; margin: 36px 0 24px; padding: 0 !important; }
  section h3 span, .block-white h3 span, .plans h3 span { font-size: inherit; line-height: 1.25; }
  .block-white h3 span { display: block; margin-top: 8px; font-size: 24px; }
  .block-white .bg { height: auto; }
  .block-white .content { padding-bottom: 12px; }
  .calculator { padding: 28px 0; }
  .calculator::after, .skills::before, .skills::after { display: none; }
  .calculator h3 { margin: 0 0 22px; font-size: 18px !important; line-height: 1.5; }
  .calculator h3 span { display: block; font-size: 28px !important; line-height: 1.2; margin-bottom: 12px; }
  .calculator .btn { margin: 0; }
  .btn, .btn.btn-lg { max-width: 100%; white-space: normal; height: auto; line-height: 1.4; padding: 12px 22px; }
  .btn.btn-lg { font-size: 17px; }
  .skills { min-height: 0; padding-bottom: 24px; }
  .skills .item { max-height: none; padding: 24px 12px; line-height: 1.4; }
  .skills .item span { font-size: 64px; }
  .plans { min-height: 0; padding-bottom: 40px; }
  .parallax { background-attachment: scroll !important; }
  .gravity-callout .container { flex-direction: column; align-items: stretch; gap: 22px; }
  .gravity-callout h2 { font-size: 28px; }
  .gravity-callout .btn { flex-basis: auto; align-self: flex-start; }
  .gravity-payments__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gravity-payments h2 { font-size: 28px; }
  .gravity-page-info .clients > .container > [class*="col-"] { padding-left: 0; padding-right: 0; }
  .gravity-page-info .clients h3 { margin-top: 12px; }
  .gravity-page-info .cards h3 { font-size: 28px !important; }
  .gravity-page-info .cards h3 > span { display: block; margin-top: 10px; }
  .gravity-page-info .cards .item { margin-bottom: 0; }
  .gravity-page-anniversaire .plans .item .header .sub { line-height: 1.25; }
  .block-bottom { padding: 36px 0 20px; }
  .block-bottom .logo { display: block; height: auto; max-width: 100%; margin: 0 0 24px; }
  .block-bottom .border-right { border-right: 0; }
  .block-bottom .address { overflow-wrap: anywhere; }
  .block-bottom .menu-footer > .row { margin: 0; }
  .block-bottom .menu-footer > .row > div { width: 100%; padding: 0; }
  .block-bottom .social { clear: both; margin: 20px 0; padding: 0; }
  footer { padding-bottom: 76px; }
  input, select, textarea { max-width: 100%; }
  input:not([type="checkbox"]):not([type="radio"]), select, textarea { font-size: 16px; }
  .gravity-page-reservation .contact-form > .row.text-page { margin-left: 0; margin-right: 0; }
  .gravity-page-reservation .calculator h3 span { font-size: 20px !important; margin-bottom: 6px; line-height: 1.35; }
}

@media (max-width: 767px) {
  .gravity-payments { padding: 32px 0; }
  .gravity-payments__list { gap: 12px; }
  .gravity-payments__list li { padding: 20px 10px; font-size: 16px; }
  .gravity-payments__list small { font-size: 13px; }
  .gravity-payment-icon { width: 56px; height: 56px; }
  .gravity-callout { padding: 30px 0; }
  .gravity-callout .btn { align-self: stretch; }
  .gravity-page-info .cards .row > div { width: 100%; }
  .gravity-page-anniversaire .plans .item .row > div { width: 100%; }
  .gallery-page > .container > .row { display: flex; flex-wrap: wrap; }
  .gallery-page > .container > .row > [class*="col-"] { width: 50%; }
  .gallery-page .item.matchHeight { height: auto !important; }
  .gallery-page .item > img.full-width { height: 210px; object-fit: contain; }
  .gallery-page .photo img { aspect-ratio: 4 / 3; object-fit: cover; }
  .gallery-page .descr { padding: 14px 10px; }
  .gallery-page .descr .header { height: auto !important; min-height: 42px; font-size: 16px; line-height: 1.3; overflow-wrap: break-word; }
  .block-bottom .block-contacts, .block-bottom .menu-footer { width: 100%; }
  .block-bottom .menu-footer { margin: 24px 0 8px; }
  .gravity-page-reservation section table { table-layout: fixed; width: 100%; }
  .gravity-page-reservation section table th, .gravity-page-reservation section table td { padding-left: 3px !important; padding-right: 3px !important; }
  .gravity-page-reservation section table h1 { font-size: 18px !important; line-height: 1.3; }
  .gravity-page-reservation section table .h4, .gravity-page-reservation section table h4 { font-size: 16px; }
  .gravity-page-reservation section table th { font-size: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  .info-ticker__track { animation: none; }
  .parallax { background-attachment: scroll !important; }
}
