@import url('/assets/styles/lovable.css');

/* Local integration: the reference stylesheet remains intact. */
[hidden] { display: none !important; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 100; padding: 12px 20px; background: var(--background); color: var(--foreground); }
.skip-link:focus { top: 12px; }
:focus-visible { outline: 2px solid var(--primary); outline-offset: 4px; }
.hero :focus-visible, .header-overlay :focus-visible { outline-color: var(--hero-foreground); }
#main { scroll-margin-top: 76px; }
#main:focus { outline: none; }
#manifesto { scroll-margin-top: 76px; }
.page-primary-title { font-size: 58px; }
.manifesto .page-primary-title { font-size: 38px; line-height: 1.3; }
.manifesto .page-primary-title em { color: var(--primary); }
.section-heading .page-primary-title { font-family: var(--font-sans); text-transform: uppercase; font-size: 20px; font-weight: 500; line-height: 1.5; }
.section-heading .page-primary-title br { display: none; }
.section-heading .page-primary-title em { font-family: inherit; font-style: normal; }
.faq-section .page-primary-title { font-size: 23px; }
.footer-bottom nav { flex-wrap: wrap; justify-content: center; }
.gallery-scroll:focus-visible { outline-offset: -4px; }
.faq-item > button { display: flex; align-items: center; cursor: pointer; }
.ritual-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 50px; margin-bottom: 50px; }
.ritual-photos img { display: block; width: 100%; height: auto; }
@media (max-width: 800px) { .ritual-photos { gap: 28px; margin-bottom: 35px; } }
@media (max-width: 520px) { .ritual-photos { grid-template-columns: 1fr; gap: 20px; } }
.newsletter-welcome { margin: 0; }
.newsletter-welcome::backdrop { background: var(--hero-shade); backdrop-filter: blur(4px); }
.newsletter-welcome:not([open]) { display: none; }
.newsletter-welcome { background-image: linear-gradient(to top, rgba(22,13,11,.45), rgba(22,13,11,0) 26%), url('/assets/images/lovable/rehab-landing-kobido.jpg'); }
.newsletter-welcome-submit { display: flex; background: var(--primary); color: var(--primary-foreground); align-items: center; cursor: pointer; }
.newsletter-welcome-later { display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.newsletter-welcome-close { display: grid; place-items: center; cursor: pointer; }
.newsletter-welcome button:disabled { opacity: .5; cursor: wait; }
body:has(.newsletter-welcome[open]) { overflow: hidden; }
@media (max-width: 600px) { .newsletter-welcome { background-image: linear-gradient(to top, rgba(22,13,11,.45), rgba(22,13,11,0) 26%), url('/assets/images/lovable/rehab-landing-kobido-mobile.jpg'); } }
@media (max-width: 520px) {
  .manifesto .page-primary-title { font-size: 29px; }
  .section-heading .page-primary-title { font-size: 17px; }
  .faq-section .page-primary-title { font-size: 23px; }
  .footer-bottom { grid-template-columns: 1fr; }
  .footer-bottom nav { justify-content: flex-start; }
}

/* Direct phone contact in the header and home hero. */
.nav-actions { display: flex; flex-direction: column; gap: 4px; }
.header-phone { font-size: 10px; line-height: 16px; letter-spacing: .5px; white-space: nowrap; }
.hero-contact { margin: 18px 0 0; font-size: 12px; letter-spacing: .5px; }
.hero-contact span { white-space: nowrap; }
.header-phone:hover, .hero-contact a:hover { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 800px) {
  .header-left { grid-area: 1 / 1; justify-self: start; }
  .nav-actions { grid-area: 1 / 3; }
}
@media (max-width: 520px) {
  .header-phone { font-size: 9px; letter-spacing: 0; }
}
