/* Informationssidor: Boka online, För patienter, Klagomål.
   Bygger på tokens/layout/pages.css; bara det som är nytt. Ingen text i CSS. */

/* Bokningsplatshållare (lumo/booking-embed) */
.booking { padding: var(--space-8) 0; background: var(--white); scroll-margin-top: 120px; }
.booking .inner { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 32px clamp(32px, 5vw, 72px); align-items: start; }
.booking-slot {
  min-height: 360px; display: flex; align-items: center; justify-content: center; text-align: center;
  padding: 32px 24px; background: var(--blush-50); border: 1px dashed var(--blush-300); border-radius: var(--radius-lg);
  color: var(--blush-700); font-size: var(--fs-lead); font-weight: 500;
}
.booking-side { display: grid; gap: 28px; }
.booking-side h2 { font-size: var(--fs-h3); line-height: 1.3; font-weight: 600; letter-spacing: -0.01em; margin-bottom: 8px; }
.booking-side .phone { display: inline-flex; align-items: center; min-height: 44px; font-size: clamp(28px, 3vw, 36px); font-weight: 600; letter-spacing: -0.02em; color: var(--blush-700); }
.booking-side .urgent { text-wrap: pretty; }
.booking-side .hours { display: grid; gap: 4px; }
.booking-side .hours li { display: flex; justify-content: space-between; gap: 16px; padding: 6px 0; border-bottom: 1px solid var(--border); }
.booking-side .hours b { font-weight: 600; color: var(--fg-strong); }

/* Råd i listform (lumo/advice-list) */
.advice { padding: var(--space-8) 0; background: var(--white); }
.advice.tone-paper { background: var(--paper); }
.advice .inner { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 24px clamp(32px, 5vw, 64px); align-items: start; }
.advice h2 { font-size: var(--fs-h2); line-height: 1.15; letter-spacing: -0.02em; margin-bottom: 16px; text-wrap: balance; }
.advice .lead { font-size: var(--fs-body); line-height: 1.6; max-width: 30em; }
.advice .items { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--border); counter-reset: adv; }
.advice .items li { position: relative; padding: 14px 0 14px 40px; border-bottom: 1px solid var(--border); line-height: 1.55; counter-increment: adv; }
.advice .items li::before {
  content: counter(adv); position: absolute; left: 0; top: 14px; width: 24px; text-align: left;
  font-weight: 600; color: var(--blush-700); font-variant-numeric: tabular-nums;
}
.advice .items a, .advice .lead a { color: var(--blush-700); font-weight: 500; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }

/* Kontakta oss-panelen på För patienter */
.intro-panel.no-mark .panel .phone-line { margin-top: 12px; }
.intro-panel.no-mark .panel .phone-line a { display: inline-flex; align-items: center; min-height: 44px; color: var(--blush-700); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 900px) {
  .booking, .advice { padding: 40px 0; }
  .booking .inner, .advice .inner { grid-template-columns: minmax(0, 1fr); }
  .booking-slot { min-height: 360px; }
}
/* Låg skärm på desktop: tätare listor så att varje sektion ryms */
@media (min-width: 901px) and (max-height: 820px) {
  .advice { padding: 40px 0; }
  .advice .items li { padding-top: 10px; padding-bottom: 10px; }
  .advice .items li::before { top: 10px; }
}

/* Klagomål: formuläret ryms på låg desktopskärm */
@media (min-width: 901px) and (max-height: 760px) {
  .contact-panel.with-form.form-only { padding-top: 16px; padding-bottom: 16px; }
  .contact-panel.with-form.form-only .panel { padding-top: 20px; padding-bottom: 20px; }
}
