/*
Theme Name: Laurag Theme
Theme URI: https://example.com/laurag-theme
Author: slap.design studio | Sara Alba
Author URI: https://slap.design
Description: A versatile Full Site Editing WordPress theme with custom styles, block editor support, and core templates.
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 7.4
Version: 1.10.15
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: laurag_theme
Tags: full-site-editing, block-patterns, custom-logo, custom-colors, blog, one-column, two-columns
*/

@import url('https://fonts.googleapis.com/css2?family=Libre+Caslon+Text:ital,wght@0,400;0,700;1,400&family=Lato:ital,wght@0,300;0,400;0,700;1,300;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,300,0,0');

/*
Theme Variable Quick Reference (from theme.json)
Use in CSS as: var(--token-name)

Colors:
--wp--preset--color--white
--wp--preset--color--rosa-base
--wp--preset--color--rosa-100
--wp--preset--color--rosa-200
--wp--preset--color--rosa-300
--wp--preset--color--rosa-400
--wp--preset--color--rosa-500
--wp--preset--color--rosa-600
--wp--preset--color--rosa-700
--wp--preset--color--moos-base
--wp--preset--color--moos-100
--wp--preset--color--moos-200
--wp--preset--color--moos-300
--wp--preset--color--moos-400
--wp--preset--color--moos-500
--wp--preset--color--moos-600
--wp--preset--color--moos-700
--wp--preset--color--beige-base
--wp--preset--color--beige-100
--wp--preset--color--beige-200
--wp--preset--color--beige-300
--wp--preset--color--beige-400
--wp--preset--color--beige-500
--wp--preset--color--beige-600
--wp--preset--color--beige-700

Font families:
--wp--preset--font-family--body-lato
--wp--preset--font-family--heading-binter

Font sizes:
--wp--preset--font-size--title-hero
--wp--preset--font-size--title-page
--wp--preset--font-size--subtitle
--wp--preset--font-size--heading
--wp--preset--font-size--subheading
--wp--preset--font-size--body-base
--wp--preset--font-size--body-small
--wp--preset--font-size--x-small
--wp--preset--font-size--small
--wp--preset--font-size--medium
--wp--preset--font-size--large
--wp--preset--font-size--x-large

Spacing sizes:
--wp--preset--spacing--20
--wp--preset--spacing--30
--wp--preset--spacing--40
--wp--preset--spacing--60
--wp--preset--spacing--90
*/

:root {
  /* Simple aliases for faster custom CSS authoring */
  --white: var(--wp--preset--color--white);

  --rosa-base: var(--wp--preset--color--rosa-base);
  --rosa-100: var(--wp--preset--color--rosa-100);
  --rosa-200: var(--wp--preset--color--rosa-200);
  --rosa-300: var(--wp--preset--color--rosa-300);
  --rosa-400: var(--wp--preset--color--rosa-400);
  --rosa-500: var(--wp--preset--color--rosa-500);
  --rosa-600: var(--wp--preset--color--rosa-600);
  --rosa-700: var(--wp--preset--color--rosa-700);

  --moos-base: var(--wp--preset--color--moos-base);
  --moos-100: var(--wp--preset--color--moos-100);
  --moos-200: var(--wp--preset--color--moos-200);
  --moos-300: var(--wp--preset--color--moos-300);
  --moos-400: var(--wp--preset--color--moos-400);
  --moos-500: var(--wp--preset--color--moos-500);
  --moos-600: var(--wp--preset--color--moos-600);
  --moos-700: var(--wp--preset--color--moos-700);

  --beige-base: var(--wp--preset--color--beige-base);
  --beige-100: var(--wp--preset--color--beige-100);
  --beige-200: var(--wp--preset--color--beige-200);
  --beige-300: var(--wp--preset--color--beige-300);
  --beige-400: var(--wp--preset--color--beige-400);
  --beige-500: var(--wp--preset--color--beige-500);
  --beige-600: var(--wp--preset--color--beige-600);
  --beige-700: var(--wp--preset--color--beige-700);

  --font-body: var(--wp--preset--font-family--body-lato);
  --font-heading: var(--wp--preset--font-family--heading-binter);

  --fs-title-hero: var(--wp--preset--font-size--title-hero);
  --fs-title-page: var(--wp--preset--font-size--title-page);
  --fs-subtitle: var(--wp--preset--font-size--subtitle);
  --fs-heading: var(--wp--preset--font-size--heading);
  --fs-subheading: var(--wp--preset--font-size--subheading);
  --fs-body: var(--wp--preset--font-size--body-base);
  --fs-body-small: var(--wp--preset--font-size--body-small);

  /* Header responsive controls */
  --lg-header-logo-max-desktop: min(280px, 40vw);
  --lg-header-logo-max-tablet: 220px;
  --lg-header-logo-max-mobile: 160px;
  --lg-header-cta-min-width-mobile: 180px;
}

body {
  margin: 0;
  font-family: "Lato", "Helvetica Neue", Arial, sans-serif;
  font-size: 18px;
  line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6,
.wp-block-heading {
  font-family: "Libre Caslon Text", "Times New Roman", serif;
  line-height: 1;
}

h1 {
  font-size: clamp(42px, 7vw, 72px);
}
h2 {
  font-size: clamp(34px, 5vw, 48px);
}
h3 {
  font-size: clamp(28px, 3.8vw, 32px);
}
h4 {
  font-size: clamp(22px, 3vw, 24px);
}
h5 {
  font-size: clamp(18px, 2.4vw, 20px);
}
h6 {
  font-size: clamp(16px, 2.1vw, 18px);
}

p,
li,
.wp-block-paragraph {
  font-size: 18px;
  line-height: 1.5;
}

small,
.has-small-font-size {
  font-size: 14px;
  line-height: 1.4;
}

strong,
b {
  font-weight: 700;
}

em,
i {
  font-style: italic;
}

a {
  text-decoration: underline;
}

code,
kbd,
pre,
.wp-block-code {
  font-size: 16px;
  line-height: 1.3;
}

.wp-block-navigation .wp-block-navigation-item__content {
  text-underline-offset: 0.25em;
}

.wp-block-post-excerpt__more-link {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-size: 14px;
  line-height: 1.4;
}

.wp-block-paragraph.is-style-body-light {
  font-weight: 300;
}

.wp-block-group.is-style-width-100,
.wp-block-columns.is-style-width-100 {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

.wp-block-group.is-style-max-1600,
.wp-block-columns.is-style-max-1600 {
  width: 100%;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
}

.wp-block-group.is-style-max-1300,
.wp-block-columns.is-style-max-1300 {
  width: 100%;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
}

.wp-block-image.is-style-width-100 {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

.wp-block-image.is-style-width-100 img {
  width: 100%;
  height: auto;
}

.wp-block-image.is-style-max-1600 {
  width: 100%;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
}

.wp-block-image.is-style-max-1600 img {
  width: 100%;
  height: auto;
}

.wp-block-image.is-style-max-1300 {
  width: 100%;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
}

.wp-block-image.is-style-max-1300 img {
  width: 100%;
  height: auto;
}

.u-pos-static { position: static !important; }
.u-pos-relative { position: relative !important; }
.u-pos-absolute { position: absolute !important; }
.u-pos-fixed { position: fixed !important; }
.u-pos-sticky { position: sticky !important; }

.u-top-0 { top: 0 !important; }
.u-right-0 { right: 0 !important; }
.u-bottom-0 { bottom: 0 !important; }
.u-left-0 { left: 0 !important; }

.u-top-16 { top: 16px !important; }
.u-right-16 { right: 16px !important; }
.u-bottom-16 { bottom: 16px !important; }
.u-left-16 { left: 16px !important; }

.u-top-24 { top: 24px !important; }
.u-right-24 { right: 24px !important; }
.u-bottom-24 { bottom: 24px !important; }
.u-left-24 { left: 24px !important; }

.u-top-32 { top: 32px !important; }
.u-right-32 { right: 32px !important; }
.u-bottom-32 { bottom: 32px !important; }
.u-left-32 { left: 32px !important; }

.u-z-1 { z-index: 1 !important; }
.u-z-10 { z-index: 10 !important; }
.u-z-50 { z-index: 50 !important; }

.u-overlap-parent {
  position: relative !important;
  overflow: visible !important;
}

.u-overlay-card {
  position: absolute !important;
  left: 32px !important;
  right: 32px !important;
  bottom: -72px !important;
  z-index: 10 !important;
}

@media (max-width: 767.98px) {
  .u-overlay-card {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    margin-top: 16px !important;
  }
}

.footer-home-image {
  margin-bottom: 0;
}

.footer-home-image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.site-footer-main {
  margin-top: 0;
}

.site-footer-main .wp-block-navigation .wp-block-navigation-item__content {
  color: #e5eeeb;
  text-decoration: none;
}

.site-footer-main .sprechzeiten-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-footer-main .sprechzeiten-list li {
  border-bottom: 1px solid rgba(229, 238, 235, 0.55);
  margin: 0;
  padding: 12px 0;
  font-size: 16px;
  line-height: 1.3;
}

.site-footer-main .sprechzeiten-list li strong {
  display: inline-block;
  min-width: 44px;
}

.header-logo {
  margin: 0;
  flex-shrink: 0;
}

.header-logo img {
  width: auto;
  max-width: var(--lg-header-logo-max-desktop);
  height: auto;
  display: block;
}

.footer-logo {
  margin: 0 0 18px;
}

.footer-logo img {
  width: auto;
  max-width: min(300px, 70vw);
  height: auto;
  display: block;
}

.site-header-row {
  gap: 18px;
}

.site-header-actions {
  gap: 14px;
}

/* Responsive visibility utilities (Bootstrap breakpoints) */
.u-hide-mobile {
  display: inherit;
}
@media (max-width: 767.98px) {
  .u-hide-mobile {
    display: none !important;
  }
}

.u-hide-tablet {
  display: inherit;
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .u-hide-tablet {
    display: none !important;
  }
}

.u-hide-desktop {
  display: inherit;
}
@media (min-width: 992px) {
  .u-hide-desktop {
    display: none !important;
  }
}

.u-show-mobile-only,
.u-show-tablet-only,
.u-show-desktop-only {
  display: none !important;
}
@media (max-width: 767.98px) {
  .u-show-mobile-only {
    display: block !important;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .u-show-tablet-only {
    display: block !important;
  }
}
@media (min-width: 992px) {
  .u-show-desktop-only {
    display: block !important;
  }
}

/* Block responsive width controls (Group/Columns inspector) */
.lg-responsive-width {
  width: var(--lg-rw-desktop, auto);
  max-width: 100%;
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .lg-responsive-width {
    width: var(--lg-rw-tablet, var(--lg-rw-desktop, auto));
  }
}
@media (max-width: 767.98px) {
  .lg-responsive-width {
    width: var(--lg-rw-mobile, var(--lg-rw-tablet, var(--lg-rw-desktop, auto)));
  }
}

/* Block responsive spacing controls (Group/Columns inspector) */
.lg-responsive-spacing {
  padding-top: var(--lg-rsp-pad-desktop-top) !important;
  padding-right: var(--lg-rsp-pad-desktop-right) !important;
  padding-bottom: var(--lg-rsp-pad-desktop-bottom) !important;
  padding-left: var(--lg-rsp-pad-desktop-left) !important;
  margin-top: var(--lg-rsp-mar-desktop-top) !important;
  margin-right: var(--lg-rsp-mar-desktop-right) !important;
  margin-bottom: var(--lg-rsp-mar-desktop-bottom) !important;
  margin-left: var(--lg-rsp-mar-desktop-left) !important;
}
/* Block responsive spacing controls (Group/Columns inspector) */
@media (min-width: 768px) and (max-width: 991.98px) {
  .lg-responsive-spacing {
    padding-top: var(--lg-rsp-pad-tablet-top, var(--lg-rsp-pad-desktop-top)) !important;
    padding-right: var(--lg-rsp-pad-tablet-right, var(--lg-rsp-pad-desktop-right)) !important;
    padding-bottom: var(--lg-rsp-pad-tablet-bottom, var(--lg-rsp-pad-desktop-bottom)) !important;
    padding-left: var(--lg-rsp-pad-tablet-left, var(--lg-rsp-pad-desktop-left)) !important;
    margin-top: var(--lg-rsp-mar-tablet-top, var(--lg-rsp-mar-desktop-top)) !important;
    margin-right: var(--lg-rsp-mar-tablet-right, var(--lg-rsp-mar-desktop-right)) !important;
    margin-bottom: var(--lg-rsp-mar-tablet-bottom, var(--lg-rsp-mar-desktop-bottom)) !important;
    margin-left: var(--lg-rsp-mar-tablet-left, var(--lg-rsp-mar-desktop-left)) !important;
  }
}
@media (max-width: 767.98px) {
  .lg-responsive-spacing {
    padding-top: var(--lg-rsp-pad-mobile-top, var(--lg-rsp-pad-tablet-top, var(--lg-rsp-pad-desktop-top))) !important;
    padding-right: var(--lg-rsp-pad-mobile-right, var(--lg-rsp-pad-tablet-right, var(--lg-rsp-pad-desktop-right))) !important;
    padding-bottom: var(--lg-rsp-pad-mobile-bottom, var(--lg-rsp-pad-tablet-bottom, var(--lg-rsp-pad-desktop-bottom))) !important;
    padding-left: var(--lg-rsp-pad-mobile-left, var(--lg-rsp-pad-tablet-left, var(--lg-rsp-pad-desktop-left))) !important;
    margin-top: var(--lg-rsp-mar-mobile-top, var(--lg-rsp-mar-tablet-top, var(--lg-rsp-mar-desktop-top))) !important;
    margin-right: var(--lg-rsp-mar-mobile-right, var(--lg-rsp-mar-tablet-right, var(--lg-rsp-mar-desktop-right))) !important;
    margin-bottom: var(--lg-rsp-mar-mobile-bottom, var(--lg-rsp-mar-tablet-bottom, var(--lg-rsp-mar-desktop-bottom))) !important;
    margin-left: var(--lg-rsp-mar-mobile-left, var(--lg-rsp-mar-tablet-left, var(--lg-rsp-mar-desktop-left))) !important;
  }
}

/* Block responsive typography controls */
.lg-responsive-typography {
  font-size: var(--lg-typo-size-desktop, inherit) !important;
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .lg-responsive-typography {
    font-size: var(--lg-typo-size-tablet, var(--lg-typo-size-desktop, inherit)) !important;
  }
}
@media (max-width: 767.98px) {
  .lg-responsive-typography {
    font-size: var(--lg-typo-size-mobile, var(--lg-typo-size-tablet, var(--lg-typo-size-desktop, inherit))) !important;
  }
}

/* Header logo responsive presets (assign classes on Site Logo block) */
.header-logo.logo-d-120 img { max-width: 120px; }
.header-logo.logo-d-140 img { max-width: 140px; }
.header-logo.logo-d-160 img { max-width: 160px; }
.header-logo.logo-d-180 img { max-width: 180px; }
.header-logo.logo-d-200 img { max-width: 200px; }
.header-logo.logo-d-220 img { max-width: 220px; }
.header-logo.logo-d-240 img { max-width: 240px; }
.header-logo.logo-d-260 img { max-width: 260px; }
.header-logo.logo-d-280 img { max-width: 280px; }
.header-logo.logo-d-300 img { max-width: 300px; }
.header-logo.logo-d-320 img { max-width: 320px; }

/* Header nav switch breakpoint (Bootstrap lg-down) */
@media (max-width: 991.98px) {
  .header-logo.logo-t-120 img { max-width: 120px; }
  .header-logo.logo-t-140 img { max-width: 140px; }
  .header-logo.logo-t-160 img { max-width: 160px; }
  .header-logo.logo-t-180 img { max-width: 180px; }
  .header-logo.logo-t-200 img { max-width: 200px; }
  .header-logo.logo-t-220 img { max-width: 220px; }
  .header-logo.logo-t-240 img { max-width: 240px; }
  .header-logo.logo-t-260 img { max-width: 260px; }
  .header-logo.logo-t-280 img { max-width: 280px; }
  .header-logo.logo-t-300 img { max-width: 300px; }
  .header-logo.logo-t-320 img { max-width: 320px; }

  .header-logo img {
    max-width: var(--lg-header-logo-max-tablet);
  }

  .site-header-row {
    flex-wrap: wrap !important;
    justify-content: center !important;
  }

  .site-header-actions {
    flex-wrap: wrap !important;
    justify-content: center !important;
    width: 100%;
  }

  .site-header-actions .wp-block-navigation {
    width: 100%;
    justify-content: center;
  }

  .site-header-actions .wp-block-navigation__responsive-container-open,
  .site-header-actions .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex !important;
    align-items: center;
    justify-content: center;
  }

  .site-header-actions .wp-block-navigation__container {
    display: none !important;
  }

  .site-header-actions .wp-block-navigation__responsive-container:not(.is-menu-open):not(.hidden-by-default) {
    display: none !important;
  }

  .site-header-actions .wp-block-navigation__responsive-container.is-menu-open {
    display: block !important;
  }
}

@media (min-width: 992px) {
  .site-header-actions .wp-block-navigation__responsive-container-open,
  .site-header-actions .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: none !important;
  }

  .site-header-actions .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: block !important;
    position: static !important;
    width: auto !important;
  }

  .site-header-actions .wp-block-navigation__responsive-container-content {
    display: block !important;
  }

  .site-header-actions .wp-block-navigation__container {
    display: flex !important;
  }
}

@media (max-width: 767.98px) {
  .header-logo.logo-m-100 img { max-width: 100px; }
  .header-logo.logo-m-120 img { max-width: 120px; }
  .header-logo.logo-m-140 img { max-width: 140px; }
  .header-logo.logo-m-160 img { max-width: 160px; }
  .header-logo.logo-m-180 img { max-width: 180px; }
  .header-logo.logo-m-200 img { max-width: 200px; }
  .header-logo.logo-m-220 img { max-width: 220px; }
  .header-logo.logo-m-240 img { max-width: 240px; }

  .header-logo img {
    max-width: var(--lg-header-logo-max-mobile);
  }

  .site-header-actions .wp-block-button .wp-block-button__link {
    min-width: 0;
    padding-left: 24px;
    padding-right: 24px;
  }
}

.material-symbols-outlined {
  font-family: "Material Symbols Outlined";
  font-weight: 300;
  font-style: normal;
  font-size: 30px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  font-variation-settings: "FILL" 0, "wght" 300, "GRAD" 0, "opsz" 24;
}

.tile-icon-badge {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  border-radius: 12px;
  min-width: 40px;
  width: 40px;
  height: 40px;
  padding: 0;
}

.tile-icon-badge .material-symbols-outlined {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-size: 22px;
}

.tile-icon-badge__svg {
  display: block;
  width: 70%;
  height: 70%;
  max-width: 100%;
  max-height: 100%;
}

.tile-icon-badge--size-small {
  min-width: 28px;
  width: 28px;
  height: 28px;
  border-radius: 8px;
}

.tile-icon-badge--size-medium {
  min-width: 40px;
  width: 40px;
  height: 40px;
  border-radius: 10px;
}

.tile-icon-badge--size-large {
  min-width: 60px;
  width: 60px;
  height: 60px;
  border-radius: 12px;
}

.tile-icon-badge--size-small .material-symbols-outlined { font-size: 16px; }
.tile-icon-badge--size-medium .material-symbols-outlined { font-size: 22px; }
.tile-icon-badge--size-large .material-symbols-outlined { font-size: 32px; }
.tile-icon-badge--size-small .tile-icon-badge__svg { width: 16px; height: 16px; }
.tile-icon-badge--size-medium .tile-icon-badge__svg { width: 22px; height: 22px; }
.tile-icon-badge--size-large .tile-icon-badge__svg { width: 32px; height: 32px; }

.tile-icon-badge--primary {
  background: #dba9ac;
  color: #451c20;
}

.tile-icon-badge--secondary {
  background: #b2cdc4;
  color: #40514b;
}

.tile-icon-badge--tertiary {
  background: #ffffff;
  color: #526d64;
}

.tile-icon-badge--default {
  background: transparent;
  border-radius: 0;
  min-width: 0;
  width: auto;
  height: auto;
}

.tile-icon-badge--default.tile-icon-badge--size-small .material-symbols-outlined { font-size: 28px; }
.tile-icon-badge--default.tile-icon-badge--size-medium .material-symbols-outlined { font-size: 40px; }
.tile-icon-badge--default.tile-icon-badge--size-large .material-symbols-outlined { font-size: 60px; }
.tile-icon-badge--default.tile-icon-badge--size-small .tile-icon-badge__svg { width: 28px; height: 28px; }
.tile-icon-badge--default.tile-icon-badge--size-medium .tile-icon-badge__svg { width: 40px; height: 40px; }
.tile-icon-badge--default.tile-icon-badge--size-large .tile-icon-badge__svg { width: 60px; height: 60px; }

.tile-accordion-item {
  background: var(--white);
  border: 1px solid var(--rosa-200);
  border-radius: 8px;
  margin: 0 0 8px;
  width: 100%;
}

.tile-accordion-item summary {
  list-style: none;
  cursor: pointer;
  position: relative;
  padding: 18px 56px 18px 20px;
  font-size: var(--wp--preset--font-size--subheading);
  font-weight: 400;
  line-height: 1.2;
  color: var(--rosa-700);
}

.tile-accordion-item summary::marker,
.tile-accordion-item summary::-webkit-details-marker {
  display: none;
}

.tile-accordion-item summary::after {
  content: "↓";
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 30px;
  line-height: 1;
  color: var(--rosa-700);
}

.tile-accordion-item[open] summary::after {
  content: "↑";
}

.tile-accordion-item > p,
.tile-accordion-item > .wp-block-paragraph,
.tile-accordion-item .wp-block-details__content {
  margin: 0;
  padding: 0 20px 18px;
  color: var(--rosa-700);
}

.tile-accordion-item .wp-block-details__content > * {
  color: inherit;
}

.tile-accordion-item .wp-block-details__content .wp-block-list {
  padding-left: 1.4em;
}

.tile-accordion-item .wp-block-details__content .wp-block-buttons {
  margin-top: 14px;
}

.wp-block-laurag-icon-badge {
  width: fit-content;
}

.lg-fade-slider__dots{
	display:none
}

.wp-block-navigation__responsive-close{
padding: 32px;}

.opening-time{
	position:relative;
	z-index:999;
}