/* Final V2 review: mobile composition only. Existing 850px breakpoint retained.
   No copy changes, generated testimonials, content clipping or form behavior. */
@media (max-width: 850px) {
  /* The Novias request belongs to the introduction, before the portrait. */
  .bride-hero .hero-copy > .button {
    grid-row: 4;
    margin: 0 var(--edge) 27px;
  }
  .bride-hero > picture { grid-row: 5; }

  /* Family remains charcoal. The entire process has a visibly lighter ground. */
  body[data-page="novias"] .bridal-timeline {
    padding-block: 43px 46px;
    background: #faf9f6;
    color: #171716;
  }
  body[data-page="novias"] .bridal-timeline h2 {
    max-width: 19ch;
    font-family: 'Ibarra Real Nova', Georgia, serif;
    font-size: clamp(30px, 8.5vw, 38px);
    font-weight: 400;
    letter-spacing: -.025em;
    line-height: 1.15;
    text-transform: none;
    margin-bottom: 34px;
  }
  body[data-page="novias"] .bridal-timeline ol { border-color: #c0b7ac; }
  body[data-page="novias"] .bridal-timeline li::before { background: #867567; }
  body[data-page="novias"] .bridal-timeline .timeline-phase {
    color: #6c5f53;
    font-weight: 500;
    letter-spacing: .14em;
  }
  body[data-page="novias"] .bridal-timeline h3 {
    font-size: 20px;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: -.015em;
  }
  body[data-page="novias"] .bridal-timeline li > p:last-child {
    color: #4e4a45;
    font-size: 14px;
    line-height: 1.8;
  }

  /* Readable quotes: editorial title, compact Poppins body, distinct signature.
     All three full testimonials remain present; there is no text carousel. */
  .service-reviews {
    --review-title: #f3eee7;
    --review-body: #dfd9d1;
    --review-author: #faf9f6;
    --review-role: #c6b8a9;
    --review-rule: #514b44;
    padding-block: 42px 45px;
  }
  body[data-page="novias"] .service-reviews {
    --review-title: #302d29;
    --review-body: #4e4942;
    --review-author: #171716;
    --review-role: #6c5f53;
    --review-rule: #bdb4a7;
    background: #e7e3dd;
  }
  .service-reviews > .wrap { width: calc(100% - var(--edge) * 2); max-width: 480px; }
  .service-reviews h2 { color: var(--review-role); opacity: 1; margin-bottom: 27px; }
  .service-review-grid figure,
  .service-review-grid figure:first-child,
  .service-review-grid figure:last-child {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
  }
  .service-review-grid figure + figure,
  body[data-page="novias"] .service-review-grid figure + figure {
    margin-top: 31px;
    padding-top: 31px;
    border-top: 1px solid var(--review-rule);
  }
  .service-review-grid h3,
  .service-review-grid figure:first-child h3 {
    color: var(--review-title);
    font-family: 'Ibarra Real Nova', Georgia, serif;
    font-size: clamp(29px, 8.2vw, 37px);
    line-height: 1.12;
    font-weight: 400;
    letter-spacing: -.025em;
    max-width: 21ch;
    min-height: 0;
    margin: 0 0 18px;
    opacity: 1;
    text-wrap: balance;
  }
  .service-review-grid figure:first-child h3 { font-size: clamp(33px, 9.2vw, 41px); }
  .service-review-grid blockquote,
  .service-review-grid figure:first-child blockquote {
    color: var(--review-body);
    font-family: 'Poppins', Arial, sans-serif;
    font-size: 14px;
    line-height: 1.8;
    font-weight: 400;
    letter-spacing: 0;
    max-width: none;
    margin: 0 0 23px;
    overflow: visible;
    text-overflow: clip;
  }
  .service-review-grid figcaption,
  .service-review-grid figure:first-child figcaption {
    color: var(--review-author);
    font-size: 14px;
    line-height: 1.55;
    font-weight: 600;
    margin: 0;
  }
  .service-review-grid figcaption span {
    color: var(--review-role);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .035em;
    margin-top: 3px;
    opacity: 1;
  }

  /* Desktop keeps all three photographs. Mobile keeps all service information
     but avoids three repeated full-height portrait scenes. */
  body[data-page="sociales"] .social-services {
    gap: 0;
    padding-block: 9px 33px;
    max-width: 520px;
  }
  body[data-page="sociales"] .social-services > article {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding-block: 28px 24px;
    border-top: 1px solid #bdb6ac;
  }
  body[data-page="sociales"] .social-services > article > figure { display: none; }
  body[data-page="sociales"] .social-services h3 {
    font-size: clamp(26px, 7.3vw, 32px);
    line-height: 1.2;
    margin: 0 0 19px;
    min-height: 0;
    font-weight: 400;
    letter-spacing: -.025em;
  }
  body[data-page="sociales"] .social-services .social-inclusions { margin: 0 0 14px; }
  body[data-page="sociales"] .social-services .text-link {
    justify-content: space-between;
    margin: 0;
    min-height: 48px;
  }

  /* Verified profiles: lightweight links, not embedded feeds. Stack the two
     actions at phone widths, with the same generous tap size as other UI. */
  .social-editorial {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 25px;
    max-width: 620px;
    padding-block: 38px 40px;
    border-block: 1px solid #d4d1cc;
  }
  .social-editorial-copy .label {
    color: #6c5f53;
    font-size: 10px;
    letter-spacing: .12em;
    margin-bottom: 14px;
  }
  .social-editorial-copy h2 {
    font-family: 'Ibarra Real Nova', Georgia, serif;
    font-size: clamp(32px, 8.7vw, 42px);
    line-height: 1.1;
    letter-spacing: -.025em;
    font-weight: 400;
    margin: 0 0 18px;
    text-wrap: balance;
  }
  .social-editorial-copy > p:last-child {
    color: #575149;
    font-size: 14px;
    line-height: 1.8;
    margin: 0;
  }
  .social-editorial-links {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 11px;
    width: 100%;
    max-width: 440px;
  }
  .social-editorial-links .button {
    width: 100%;
    min-width: 0;
    min-height: 50px;
    justify-content: space-between;
  }
  .contact-social-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 28px;
    margin-top: 23px;
  }
  .contact-social-links .text-link { min-height: 48px; margin: 0; }
  .footer-social-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 24px;
    margin-top: 10px;
  }
  .footer-social-links a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 44px;
    padding-block: 8px;
    font-size: 13px;
    line-height: 1.5;
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-color: #918478;
  }
  .footer-social-links .icon { width: 14px; height: 14px; }

  /* Native selective snapping. JS enables mandatory only while a fitting,
     explicitly allowed scene occupies the reading region. Long text, forms,
     open disclosures and the footer immediately return to natural scrolling.
     No fixed scroll height, forced overscroll or wheel/touch interception. */
  html.closure-mobile-snap-ready {
    scroll-padding-top: var(--closure-snap-offset, 76px);
    scroll-snap-type: none;
  }
  html.closure-mobile-snap-active { scroll-snap-type: y mandatory; }
  html.closure-mobile-snap-ready .closure-snap-point {
    scroll-snap-align: start;
    scroll-snap-stop: normal;
    scroll-margin-top: 0;
  }
  html.closure-mobile-snap-ready :is(.faq-section, .service-reviews, .review-section, .bridal-timeline, form, .site-footer) {
    scroll-snap-align: none;
    scroll-snap-stop: normal;
  }
}

@media (max-width: 850px) and (prefers-reduced-motion: reduce) {
  html.closure-mobile-snap-ready,
  html.closure-mobile-snap-active { scroll-snap-type: none; }
}
