/* Lovable-source Contact and My Booking page parity. */
.lamilka-contact-source {
  background: #fff;
  box-sizing: border-box;
  color: #0a192f;
  font-family: var(--lm-font-primary);
  min-width: 0;
}
.lamilka-contact-source * { box-sizing: border-box; }
.lamilka-contact-source h1,
.lamilka-contact-source h2,
.lamilka-contact-source h3,
.lamilka-contact-source p { margin-top: 0; }
.lamilka-contact-source a { text-decoration: none; }
.lamilka-contact-source__hero { height: 600px; overflow: hidden; position: relative; }
.lamilka-contact-source__hero picture,
.lamilka-contact-source__hero img { display: block; height: 100%; width: 100%; }
.lamilka-contact-source__hero img { object-fit: cover; }
.lamilka-contact-source__hero > div { color: #fff; left: 50%; max-width: 720px; position: absolute; text-align: center; top: calc(50% - 96px); transform: translate(-50%,-50%); width: calc(100% - 48px); }
.lamilka-contact-source__hero h1 { color: #fff; font-size: 60px; font-weight: 600; letter-spacing: -.035em; line-height: 1.05; margin: 0; text-shadow: 0 2px 14px rgba(0,0,0,.55); }
.lamilka-contact-source__hero p { color: rgba(255,255,255,.95); font-size: 21.6px; line-height: 1.7; margin: 20px 0 0; text-shadow: 0 1px 10px rgba(0,0,0,.50); }
.lamilka-contact-source__options { background: #fff; padding: 24px 24px 40px; }
.lamilka-contact-source__options > div { margin: 0 auto; max-width: 1184px; }
.lamilka-contact-source__options h2 { font-size: 44.8px; font-weight: 600; letter-spacing: -.03em; line-height: 1.15; margin: 0; text-align: center; }
.lamilka-contact-source__option-grid { display: grid; gap: 24px; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 24px; }
.lamilka-contact-source__option {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(10,25,47,.12);
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(10,25,47,.03);
  color: #0a192f;
  display: flex;
  flex-direction: column;
  min-height: 312px;
  padding: 32px;
  text-align: center;
  transition: border-color .3s, box-shadow .3s, transform .3s;
}
.lamilka-contact-source__option:hover { border-color: rgba(10,25,47,.20); box-shadow: 0 18px 38px -22px rgba(10,25,47,.22); color: #0a192f; transform: translateY(-2px); }
.lamilka-contact-source__option-icon { align-items: center; background: rgba(10,25,47,.05); border: 1px solid rgba(10,25,47,.10); border-radius: 16px; color: #0a192f; display: flex; flex: 0 0 64px; height: 64px; justify-content: center; width: 64px; }
.lamilka-contact-source__option--whatsapp .lamilka-contact-source__option-icon { background: rgba(37,211,102,.07); border-color: rgba(37,211,102,.15); color: #25d366; }
.lamilka-contact-source__option--phone .lamilka-contact-source__option-icon { background: rgba(0,180,216,.07); border-color: rgba(0,180,216,.15); color: #00b4d8; }
.lamilka-contact-source__option--form .lamilka-contact-source__option-icon { background: rgba(10,25,47,.05); border-color: rgba(10,25,47,.10); color: #0a192f; }
.lamilka-contact-source__option-icon svg { fill: none; height: 32px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.75; width: 32px; }
.lamilka-contact-source__option > div { align-items: center; display: flex; flex: 1; flex-direction: column; justify-content: center; padding-bottom: 36px; }
.lamilka-contact-source__option h3 { font-size: 34.4px; font-weight: 600; letter-spacing: -.025em; line-height: 1.2; margin: 16px 0 0; }
.lamilka-contact-source__option p { color: rgba(10,25,47,.65); font-size: 15px; line-height: 1.35; margin: 6px 0 0; }
.lamilka-contact-source__option b { align-items: center; background: #00b4d8; border-radius: 12px; color: #fff; display: inline-flex; font-size: 14px; font-weight: 600; justify-content: center; line-height: 1.2; margin-top: auto; min-height: 44px; padding: 6px 16px; width: 100%; }
.lamilka-contact-source__option--whatsapp b { background: #25d366; }
.lamilka-contact-source__option--form b { background: #0a192f; }
.lamilka-contact-source__form { background: #fff; padding: 64px 24px 80px; }
.lamilka-contact-source__form > div { margin: 0 auto; max-width: 768px; }
.lamilka-contact-source__form > div > h2 { font-size: 60px; font-weight: 600; letter-spacing: -.035em; line-height: 1.05; margin: 0; text-align: center; }
.lamilka-contact-source__form > div > p { color: rgba(10,25,47,.70); font-size: 20px; line-height: 1.7; margin: 12px auto 0; max-width: 576px; text-align: center; }
.lamilka-contact-source .lamilka-contact__tabs { background: #f8fafc; border: 1px solid rgba(10,25,47,.14); border-radius: 12px; display: grid; gap: 8px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 24px; padding: 4px; }
.lamilka-contact-source .lamilka-contact__tabs button { appearance: none; background: transparent; border: 0; border-radius: 8px; color: rgba(10,25,47,.70); font-family: inherit; font-size: 15px; font-weight: 600; height: 48px; padding: 0 12px; }
.lamilka-contact-source .lamilka-contact__tabs button.is-active { background: #0a192f; box-shadow: 0 1px 2px rgba(10,25,47,.08); color: #fff; }
.lamilka-contact-source__form form { background: #fff; border: 1px solid rgba(10,25,47,.14); border-radius: 16px; box-shadow: 0 1px 2px rgba(10,25,47,.04); margin-top: 20px; padding: 32px; }
.lamilka-contact-source .lamilka-contact__new { display: grid; gap: 20px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.lamilka-contact-source .lamilka-contact__new[hidden],
.lamilka-contact-source .lamilka-contact__booked[hidden] { display: none !important; }
.lamilka-contact-source .lamilka-contact__new > label:nth-child(n+3) { grid-column: 1 / -1; }
.lamilka-contact-source .lamilka-contact__booked { display: grid; gap: 20px; grid-template-columns: 1fr; }
.lamilka-contact-source__form label { color: rgba(10,25,47,.80); display: block; font-size: 16px; font-weight: 500; min-width: 0; text-align: left; }
.lamilka-contact-source__form input,
.lamilka-contact-source__form textarea { background: #fff; border: 1px solid rgba(10,25,47,.14); border-radius: 8px; box-shadow: none; color: #0a192f; display: block; font-family: inherit; font-size: 14px; margin-top: 6px; min-height: 44px; padding: 8px 12px; width: 100%; }
.lamilka-contact-source__form textarea { min-height: 96px; resize: vertical; }
.lamilka-contact-source__form label small { color: rgba(10,25,47,.60); display: block; font-size: 12px; font-weight: 400; line-height: 1.5; margin-top: 4px; }
.lamilka-contact-source__form form > button[type=submit] { align-items: center; background: #00b4d8; border: 0; border-radius: 12px; color: #fff; display: flex; font-family: inherit; font-size: 14px; font-weight: 600; justify-content: center; margin: 28px auto 0; min-height: 44px; padding: 12px 32px; }
.lamilka-contact-source__form form > button[disabled] { background: rgba(10,25,47,.20); cursor: not-allowed; }
.lamilka-contact-source .lamilka-contact__form-footer { margin-top: 12px; text-align: center; }
.lamilka-contact-source .lamilka-contact__form-footer p { color: rgba(10,25,47,.60); font-size: 12px; line-height: 1.5; margin: 0; }
.lamilka-contact-source__why { background: #f8fafc; border-bottom: 1px solid rgba(10,25,47,.10); border-top: 1px solid rgba(10,25,47,.10); padding: 32px 24px 56px; }
.lamilka-contact-source__why > div { margin: 0 auto; max-width: 1280px; }
.lamilka-contact-source__why h2 { font-size: 64px; font-weight: 600; letter-spacing: -.035em; line-height: 1.05; margin: 0; text-align: center; }
.lamilka-contact-source__why > div > p { color: rgba(10,25,47,.65); font-size: 18px; line-height: 1.7; margin: 12px auto 0; max-width: 576px; text-align: center; }
.lamilka-contact-source__why > div > div { display: grid; gap: 16px; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 32px; }
.lamilka-contact-source__why article { align-items: center; background: #fff; border: 1px solid rgba(10,25,47,.10); border-radius: 16px; box-shadow: 0 1px 2px rgba(10,25,47,.03); display: flex; flex-direction: column; justify-content: center; min-height: 170px; padding: 24px; text-align: center; }
.lamilka-contact-source__why article h3 { font-size: 27.2px; font-weight: 600; letter-spacing: -.025em; line-height: 1.2; margin: 0; }
.lamilka-contact-source__why article p { color: rgba(10,25,47,.65); font-size: 14px; line-height: 1.35; margin: 12px 0 0; }
.lamilka-contact-source__hands { background: #fff; padding: 32px 24px 40px; text-align: center; }
.lamilka-contact-source__hands > div { margin: 0 auto; max-width: 768px; }
.lamilka-contact-source__hands h2 { font-size: 60px; font-weight: 600; letter-spacing: -.035em; line-height: 1.05; margin: 0; }
.lamilka-contact-source__hands strong { color: rgba(10,25,47,.90); display: block; font-size: 20px; font-weight: 700; letter-spacing: .025em; line-height: 1.5; margin-top: 20px; }
.lamilka-contact-source__hands p { color: rgba(10,25,47,.65); font-size: 18.4px; line-height: 1.7; margin: 28px 0 0; }
.lamilka-contact-source__hands p + p { margin-top: 8px; }
.lamilka-contact-source__info { background: #f8fafc; border-bottom: 1px solid rgba(10,25,47,.10); border-top: 1px solid rgba(10,25,47,.10); padding: 32px 24px 56px; }
.lamilka-contact-source__info > div { margin: 0 auto; max-width: 1024px; }
.lamilka-contact-source__info h2 { font-size: 60px; font-weight: 600; letter-spacing: -.035em; line-height: 1.05; margin: 0; text-align: center; }
.lamilka-contact-source__info-grid { display: grid; gap: 20px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 40px; }
.lamilka-contact-source__info-card { align-items: center; background: #fff; border: 1px solid rgba(10,25,47,.10); border-radius: 12px; box-shadow: 0 1px 2px rgba(10,25,47,.04); color: #0a192f; display: flex; gap: 16px; min-height: 92px; padding: 20px; }
.lamilka-contact-source__info-card > span { align-items: center; background: rgba(10,25,47,.08); border-radius: 50%; color: #0a192f; display: flex; flex: 0 0 48px; height: 48px; justify-content: center; width: 48px; }
.lamilka-contact-source__info-card > span svg { fill: none; height: 20px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 20px; }
.lamilka-contact-source__info-card > div { min-width: 0; }
.lamilka-contact-source__info-card small { color: rgba(10,25,47,.55); display: block; font-size: 13px; font-weight: 500; letter-spacing: .05em; line-height: 1.4; text-transform: uppercase; }
.lamilka-contact-source__info-card p { color: #0a192f; font-size: 18px; font-weight: 600; line-height: 1.45; margin: 2px 0 0; overflow-wrap: anywhere; }
.lamilka-contact-source__info-card p.lamilka-contact-source__address { white-space: normal; }
.lamilka-contact-source__region { align-items: center; color: rgba(10,25,47,.60); display: flex; font-size: 16px; gap: 8px; justify-content: center; margin: 32px 0 0; text-align: center; }
.lamilka-contact-source__region svg { fill: none; height: 16px; stroke: currentColor; stroke-width: 1.8; width: 16px; }

/* v0.2.9: keep the Lovable location note visually attached to the section, not the address card. */
.lamilka-contact-source__info > div > .lamilka-contact-source__info-grid { margin-bottom: 0 !important; }
.lamilka-contact-source__info > div > .lamilka-contact-source__region {
  clear: both;
  line-height: 1.5;
  margin: 32px 0 0 !important;
  padding: 0 !important;
  position: static;
}
.lamilka-contact-source__info .lamilka-contact-source__info-card,
.lamilka-contact-source__info .lamilka-contact-source__info-card * { box-sizing: border-box; }
.lamilka-contact-source__info .lamilka-contact-source__info-card p.lamilka-contact-source__address {
  font-size: 18px !important;
  line-height: 1.45 !important;
  margin: 2px 0 0 !important;
  overflow-wrap: normal;
  white-space: normal !important;
  word-break: normal;
}
.lamilka-contact-source__faq { background: #f8fafc; border-top: 1px solid rgba(10,25,47,.10); padding: 48px 24px 96px; }
.lamilka-contact-source__faq > div { margin: 0 auto; max-width: 768px; }
.lamilka-contact-source__faq h2 { font-size: 60px; font-weight: 600; letter-spacing: -.035em; line-height: 1.05; margin: 0; text-align: center; }
.lamilka-contact-source__faq > div > div { background: #fff; border: 1px solid rgba(10,25,47,.14); border-radius: 16px; margin-top: 40px; overflow: hidden; }
.lamilka-contact-source__faq details + details { border-top: 1px solid rgba(10,25,47,.14); }
.lamilka-contact-source__faq summary { color: #0a192f; cursor: pointer; font-size: 21.6px; font-weight: 500; list-style: none; padding: 20px 52px 20px 24px; position: relative; }
.lamilka-contact-source__faq summary::-webkit-details-marker { display: none; }
.lamilka-contact-source__faq summary::after { color: rgba(10,25,47,.50); content: '⌄'; font-size: 20px; position: absolute; right: 24px; top: 50%; transform: translateY(-50%); }
.lamilka-contact-source__faq details[open] summary::after { transform: translateY(-50%) rotate(180deg); }
.lamilka-contact-source__faq details p { color: rgba(10,25,47,.75); font-size: 18.4px; line-height: 1.7; margin: 0; padding: 0 24px 20px; }
.lamilka-contact-source__licensed { background: var(--lm-service-cream,#f7f2ea); border-top: 1px solid rgba(10,25,47,.10); padding: 96px 24px; text-align: center; }
.lamilka-contact-source__licensed > div { margin: 0 auto; max-width: 1152px; }
.lamilka-contact-source__licensed picture { display: block; }
.lamilka-contact-source__licensed img { border-radius: 8px; display: block; height: auto; margin: 0 auto; max-width: 1000px; width: 100%; }
.lamilka-contact-source__licensed h2 { font-size: 36px; font-weight: 600; letter-spacing: -.025em; line-height: 1.2; margin: 64px 0 0; }
.lamilka-contact-source__licensed p { color: rgba(10,25,47,.70); font-size: 18px; line-height: 1.7; margin: 28px auto 0; max-width: 672px; }
.lamilka-contact-source__licensed strong { color: rgba(10,25,47,.55); display: block; font-size: 14px; font-weight: 500; letter-spacing: .18em; line-height: 1.6; margin-top: 28px; text-transform: uppercase; }
.lamilka-contact-source__mobile-wa { display: none; }

@media (max-width: 767px) {
  .lamilka-contact-source { padding-bottom: 0; }
  .lamilka-contact-source__hero { aspect-ratio: 4 / 5; height: auto; }
  .lamilka-contact-source__hero > div { max-width: 420px; top: 8%; transform: translateX(-50%); }
  .lamilka-contact-source__hero h1 { font-size: 40px; }
  .lamilka-contact-source__hero p { font-size: 15.2px; line-height: 1.7; margin-top: 16px; }
  .lamilka-contact-source__options { padding: 12px 12px 24px; }
  .lamilka-contact-source__options h2 { font-size: 22.4px; }
  .lamilka-contact-source__option-grid { gap: 8px; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 16px; }
  .lamilka-contact-source__option { border-radius: 16px; min-height: 206px; padding: 12px; }
  .lamilka-contact-source__option-icon { border-radius: 16px; flex-basis: 44px; height: 44px; width: 44px; }
  .lamilka-contact-source__option-icon svg { height: 20px; width: 20px; }
  .lamilka-contact-source__option > div { padding-bottom: 12px; }
  .lamilka-contact-source__option h3 { font-size: 15px; margin-top: 8px; }
  .lamilka-contact-source__option p { font-size: 11px; line-height: 1.35; margin-top: 4px; }
  .lamilka-contact-source__option b { font-size: 11px; min-height: 36px; padding: 4px 8px; }
  .lamilka-contact-source__form { padding: 56px 20px 48px; }
  .lamilka-contact-source__form > div > h2 { font-size: 32px; }
  .lamilka-contact-source__form > div > p { font-size: 14px; margin-top: 8px; }
  .lamilka-contact-source .lamilka-contact__tabs { gap: 6px; margin-top: 24px; }
  .lamilka-contact-source .lamilka-contact__tabs button { font-size: 13px; height: 44px; }
  .lamilka-contact-source__form form { margin-top: 16px; padding: 16px; }
  .lamilka-contact-source .lamilka-contact__new { gap: 12px; grid-template-columns: 1fr; }
  .lamilka-contact-source .lamilka-contact__new > label:nth-child(n+3) { grid-column: auto; }
  .lamilka-contact-source .lamilka-contact__booked { gap: 12px; }
  .lamilka-contact-source__form label { font-size: 13px; }
  .lamilka-contact-source__form form > button[type=submit] { margin-top: 24px; width: 100%; }
  .lamilka-contact-source__why { padding: 24px 20px 40px; }
  .lamilka-contact-source__why h2 { font-size: 24px; }
  .lamilka-contact-source__why > div > p { font-size: 14px; margin-top: 8px; }
  .lamilka-contact-source__why > div > div { gap: 12px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 20px; }
  .lamilka-contact-source__why article { min-height: 140px; padding: 20px; }
  .lamilka-contact-source__why article h3 { font-size: 16px; }
  .lamilka-contact-source__why article p { font-size: 12.5px; margin-top: 8px; }
  .lamilka-contact-source__hands { padding: 24px 20px 32px; }
  .lamilka-contact-source__hands h2 { font-size: 24px; }
  .lamilka-contact-source__hands strong { font-size: 13px; margin-top: 12px; }
  .lamilka-contact-source__hands p { font-size: 13px; margin-top: 20px; }
  .lamilka-contact-source__info { padding: 24px 20px 40px; }
  .lamilka-contact-source__info h2 { font-size: 24px; }
  .lamilka-contact-source__info-grid { gap: 12px; grid-template-columns: 1fr; margin-top: 24px; }
  .lamilka-contact-source__info-card { gap: 16px; min-height: 80px; padding: 16px; }
  .lamilka-contact-source__info-card > span { flex-basis: 40px; height: 40px; width: 40px; }
  .lamilka-contact-source__info-card p { font-size: 15px; }
  .lamilka-contact-source__info-card small { font-size: 12px; }
  .lamilka-contact-source__region { font-size: 13px; margin-top: 24px; }
  .lamilka-contact-source__info > div > .lamilka-contact-source__region { margin-top: 24px !important; }
  .lamilka-contact-source__info .lamilka-contact-source__info-card p.lamilka-contact-source__address { font-size: 15px !important; }
  .lamilka-contact-source__faq { padding: 32px 20px 64px; }
  .lamilka-contact-source__faq h2 { font-size: 24px; }
  .lamilka-contact-source__faq > div > div { margin-top: 20px; }
  .lamilka-contact-source__faq summary { font-size: 15px; padding: 16px 48px 16px 20px; }
  .lamilka-contact-source__faq details p { font-size: 14px; padding: 0 20px 16px; }
  .lamilka-contact-source__licensed { padding: 48px 16px 64px; }
  .lamilka-contact-source__licensed img { max-width: 420px; }
  .lamilka-contact-source__licensed h2 { font-size: 24px; margin-top: 48px; }
  .lamilka-contact-source__licensed p { font-size: 15px; margin-top: 20px; }
  .lamilka-contact-source__licensed strong { font-size: 12px; letter-spacing: 0; line-height: 1.7; margin-top: 20px; text-transform: none; }
  .lamilka-contact-source__mobile-wa { align-items: center; background: #25d366; border-radius: 50%; bottom: calc(env(safe-area-inset-bottom) + 16px); box-shadow: 0 10px 30px rgba(37,211,102,.45); color: #fff; display: flex; font-size: 0; height: 56px; justify-content: center; position: fixed; right: 16px; width: 56px; z-index: 40; }
  .lamilka-contact-source__mobile-wa::before { content: 'W'; font-size: 20px; font-weight: 700; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .lamilka-contact-source__hero { height: 560px; }
  .lamilka-contact-source__option { padding: 24px; }
  .lamilka-contact-source__option h3 { font-size: 28px; }
  .lamilka-contact-source__why h2 { font-size: 48px; }
  .lamilka-contact-source__why article h3 { font-size: 22px; }
}

.lamilka-contact-source__option--email .lamilka-contact-source__option-icon { background: rgba(0,180,216,.07); border-color: rgba(0,180,216,.15); color: #00b4d8; }
