@charset "UTF-8";
/*!
 * Theme Name:        La Riobé
 * Theme URI:         https://lariobe.fr
 * Description:       Theme created for La Riobé association
 * Version:           1.0.0-alpha.1
 * Author:            Jérôme CHENAIE
 * Author URI:        https://github.com/JeromeChenaie
 * Tags:              Archeology, Culture, blog
 * Text Domain:       la-riobe
 * Domain Path:       /assets/lang
 * Tested up to:      6.9.1
 * Requires at least: 6.2
 * Requires PHP:      8.3
 * License:           GNU General Public License v2.0 or later
 * License URI:       https://www.gnu.org/licenses/gpl-2.0.html
 */
@layer base, components, utilities;
@layer base {
  /*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */
  /*
     Document
     ========
     */
  /**
     Use a better box model (opinionated).
     */
  /**,*/
  /*::before,*/
  /*::after {*/
  /*	box-sizing: border-box;*/
  /*}*/
  html {
    /* Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) */
    font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
    line-height: 1.15; /* 1. Correct the line height in all browsers. */
    -webkit-text-size-adjust: 100%; /* 2. Prevent adjustments of font size after orientation changes in iOS. */
    tab-size: 4; /* 3. Use a more readable tab size (opinionated). */
  }
  /*
     Sections
     ========
     */
  body {
    margin: 0; /* Remove the margin in all browsers. */
  }
  /*
     Text-level semantics
     ====================
     */
  /**
     Add the correct font weight in Chrome and Safari.
     */
  b,
  strong {
    font-weight: bolder;
  }
  /**
     1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
     2. Correct the odd 'em' font sizing in all browsers.
     */
  code,
  kbd,
  samp,
  pre {
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace; /* 1 */
    font-size: 1em; /* 2 */
  }
  /**
     Add the correct font size in all browsers.
     */
  small {
    font-size: 80%;
  }
  /**
     Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
     */
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  /*
     Tabular data
     ============
     */
  /**
     Correct table border color inheritance in Chrome and Safari. (https://issues.chromium.org/issues/40615503, https://bugs.webkit.org/show_bug.cgi?id=195016)
     */
  table {
    border-color: currentcolor;
  }
  /*
     Forms
     =====
     */
  /**
     1. Change the font styles in all browsers.
     2. Remove the margin in Firefox and Safari.
     */
  button,
  input,
  optgroup,
  select,
  textarea {
    font-family: inherit; /* 1 */
    font-size: 100%; /* 1 */
    line-height: 1.15; /* 1 */
    margin: 0; /* 2 */
  }
  /**
     Correct the inability to style clickable types in iOS and Safari.
     */
  button,
  [type=button],
  [type=reset],
  [type=submit] {
    -webkit-appearance: button;
  }
  /**
     Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
     */
  legend {
    padding: 0;
  }
  /**
     Add the correct vertical alignment in Chrome and Firefox.
     */
  progress {
    vertical-align: baseline;
  }
  /**
     Correct the cursor style of increment and decrement buttons in Safari.
     */
  ::-webkit-inner-spin-button,
  ::-webkit-outer-spin-button {
    height: auto;
  }
  /**
     1. Correct the odd appearance in Chrome and Safari.
     2. Correct the outline style in Safari.
     */
  [type=search] {
    -webkit-appearance: textfield; /* 1 */
    outline-offset: -2px; /* 2 */
  }
  /**
     Remove the inner padding in Chrome and Safari on macOS.
     */
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  /**
     1. Correct the inability to style clickable types in iOS and Safari.
     2. Change font properties to 'inherit' in Safari.
     */
  ::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
  }
  /*
     Interactive
     ===========
     */
  /*
     Add the correct display in Chrome and Safari.
     */
  summary {
    display: list-item;
  }
}
@layer base {
  :root {
    /* === BACKGROUNDS === */
    --main-background-color: #FFFFFF;
    --secondary-background-color: #F9F9F9;
    --agenda-background-color: #E7D8C8;
    --footer-background-color: #E7D8C8;
    /* === TEXT === */
    --text-color: #24160F;
    --text-secondary: #3F302B;
    --text-muted: #6E5A54;
    --text-subtle: #7F6C67;
    /* === LINKS === */
    --link-color: #8F3A16;
    --link-hover-color: #B14A1B;
    /* === BUTTONS === */
    --button-background-color: #7A2A0E;
    --button-hover-background-color: #9A3712;
    --button-text-color: #FFFFFF;
    /* === ACCENT === */
    --color-accent: #C9832E;
    /* === FEEDBACK STATES === */
    --color-success-bg: #EAF4EC;
    --color-success-text: #1F5A34;
    --color-success-border: #8FC3A3;
    --color-error-bg: #FDE8E6;
    --color-error-text: #9E1E12;
    --color-error-border: #E07A72;
    /* === UTILITY === */
    --color-white: #FFFFFF;
  }
  html {
    scroll-behavior: smooth;
  }
  a {
    text-decoration: none;
    color: var(--link-color);
  }
  a:hover {
    text-decoration: underline;
  }
  body {
    background-color: var(--main-background-color);
    color: var(--text-color);
  }
  .container {
    min-height: 80vh;
  }
  .container--flex {
    display: flex;
    flex-direction: column;
  }
  @media (width >= 768px) {
    .container--flex {
      flex-direction: row;
      justify-content: space-between;
      align-items: flex-start;
      gap: 12rem;
    }
  }
  .container {
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  @media (width >= 576px) {
    .container {
      padding-left: 2rem;
      padding-right: 2rem;
    }
  }
  @media (width >= 768px) {
    .container {
      padding-left: 4rem;
      padding-right: 4rem;
    }
  }
  @media (width >= 992px) {
    .container {
      padding-left: 6rem;
      padding-right: 6rem;
    }
  }
  @media (width >= 1200px) {
    .container {
      padding-left: 8rem;
      padding-right: 8rem;
    }
  }
  @media (width >= 1400px) {
    .container {
      padding-left: 12rem;
      padding-right: 12rem;
    }
  }
  @media (width >= 1800px) {
    .container {
      padding-left: 20rem;
      padding-right: 20rem;
    }
  }
  /*'sm': 576px,
  'md': 768px,
  'lg': 992px,
  'xl': 1200px,
  'xxl': 1400px*/
  /*.container {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-right: 15px;
    padding-left: 15px;

    @media (min-width: 576px) {
      max-width: 540px;
    }

    @media (min-width: 768px) {
      max-width: 720px;
    }

    @media (min-width: 992px) {
      max-width: 960px;
    }

    @media (min-width: 1200px) {
      max-width: 1140px;
    }

    @media (min-width: 1400px) {
      max-width: 1320px;
    }
  }*/
  .section {
    min-height: 100vh;
  }
  .section--secondary {
    background-color: var(--secondary-background-color);
  }
  section h1 {
    font-size: 2rem;
  }
  @media (width >= 768px) {
    section h1 {
      font-size: 3.25rem;
    }
  }
  a:hover {
    color: var(--link-hover-color);
  }
}
@layer components {
  .navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: var(--main-background-color);
    padding: 1rem;
    position: relative;
    box-shadow: 0 0.25rem 0.25rem 0 rgba(0, 0, 0, 0.25);
    margin-bottom: 2rem;
  }
  .navbar img {
    width: 130px;
    height: auto;
  }
  .navbar__button {
    border: none;
    padding: 0;
    background-color: transparent;
    font-size: inherit;
    font-family: inherit;
    cursor: pointer;
    display: inline-block;
  }
  .navbar__button svg {
    width: 1.5rem;
    margin-right: 1.25rem;
  }
  .navbar__menu {
    display: none;
    flex-direction: column;
    position: absolute;
    top: 100%;
    right: 0;
    background-color: var(--main-background-color);
    width: 100%;
    box-shadow: 0 0.25rem 0.25rem 0 rgba(0, 0, 0, 0.25);
    transition: all 1s ease;
  }
  .navbar__menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .navbar__menu a {
    text-decoration: none;
    color: inherit;
    color: var(--link-color);
    padding: 1rem;
    display: block;
  }
  .navbar__menu a:hover, .navbar__menu a:active {
    color: var(--link-hover-color);
  }
  .navbar.is-open .navbar__menu {
    display: flex;
  }
  @media (min-width: 768px) {
    body.home .current_page_item a::after {
      background-color: rgba(255, 255, 255, 0.8);
    }
    body.home .navbar {
      position: absolute;
      box-shadow: none;
      background-color: transparent;
      margin-bottom: 0;
      box-sizing: border-box;
    }
    body.home .navbar img {
      filter: invert(100%) brightness(1000%);
    }
    body.home .navbar__menu {
      --text-color: #FFFFFF;
    }
    body.home .navbar__menu a::after {
      background-color: rgba(255, 255, 255, 0.8);
    }
    .navbar {
      flex-wrap: nowrap;
      width: 100vw;
      z-index: 2;
      box-sizing: border-box;
    }
    .navbar img {
      width: 200px;
    }
    .navbar__button {
      display: none;
    }
    .navbar__menu ul {
      display: flex;
      flex-direction: row;
    }
    .navbar__menu {
      display: flex;
      position: static;
      background: none;
      color: var(--text-color);
      width: auto;
      box-shadow: none;
    }
    .navbar__menu a {
      position: relative;
      display: inline-block;
      padding: 0 1rem 0.25rem;
      text-decoration: none;
      color: inherit;
    }
    .navbar__menu a:hover {
      color: inherit;
    }
    .navbar__menu a::after {
      content: "";
      position: absolute;
      left: 1rem;
      bottom: 0;
      height: 0.125rem;
      width: calc(100% - 2rem);
      background-color: rgba(0, 0, 0, 0.8);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform 0.25s ease-out;
    }
    .navbar__menu a:hover::after, .navbar__menu a:focus::after, .navbar__menu a:active::after {
      transform: scaleX(1);
    }
    .navbar .current_page_item a::after {
      content: "";
      position: absolute;
      left: 1rem;
      bottom: 0;
      height: 0.125rem;
      width: calc(100% - 2rem);
      background-color: rgba(0, 0, 0, 0.8);
      transform: scaleX(1);
      transform-origin: left;
    }
  }
}
@layer components {
  .hero {
    display: none;
  }
  @media (width >= 768px) {
    .hero {
      display: block;
      position: relative;
      background-image: url("assets/images/hero.webp");
      background-size: cover;
      background-position: center;
      height: 100vh;
    }
  }
  .hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1;
  }
  .hero__content {
    position: absolute;
    z-index: 10;
    color: #FFFFFF;
    text-align: center;
    top: 35%;
    left: 50%;
    transform: translate(-50%);
  }
  .hero__content h1 {
    font-size: 3.25rem;
  }
  .hero__content p {
    font-size: 2rem;
    font-style: italic;
  }
  .hero__scroll {
    z-index: 10;
    position: absolute;
    left: 50%;
    top: 85%;
    transform: translate(-50%, -50%);
    animation: bounce 2s infinite;
  }
  .hero__scroll svg {
    width: 6rem;
    color: #FFFFFF;
  }
  .hero__scroll svg:hover {
    color: var(--link-hover);
  }
  @keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
      transform: translate(-50%, -50%) translateY(0);
    }
    40% {
      transform: translate(-50%, -50%) translateY(-1rem);
    }
    60% {
      transform: translate(-50%, -50%) translateY(-0.5rem);
    }
  }
}
@layer components {
  .association div {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
  @media (width >= 768px) {
    .association div {
      flex-direction: row;
      align-items: center;
      gap: 3.75rem;
    }
  }
  .association div p {
    flex: 1;
    min-width: 0;
    text-align: justify;
  }
  @media (width >= 768px) {
    .association div p {
      line-height: 1.5rem;
    }
  }
  .association div img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    order: -1;
  }
  @media (width >= 768px) {
    .association div img {
      order: 0;
      width: 40%;
      flex-shrink: 0;
      height: 400px;
    }
  }
  .association a {
    margin-left: auto;
    margin-right: auto;
  }
  .section__title {
    padding-top: 1rem;
  }
}
@layer components {
  .home-news {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  @media (width >= 768px) {
    .home-news {
      margin-bottom: 60px;
    }
  }
  .home-news article {
    overflow: hidden;
    width: 100%;
    max-width: 420px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .home-news article img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
  }
  .home-news h2 {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--text-secondary);
    line-height: 1.2;
    min-height: 2.286em;
  }
  .home-news h2 a {
    color: inherit;
    text-decoration: none;
  }
  .home-news h2 a:hover {
    color: var(--link-hover-color);
    text-decoration: none;
  }
  .home-news__excerpt {
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.6;
  }
  .home-news__footer {
    color: var(--text-subtle);
    margin-top: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }
  .home-news__cta.btn {
    display: block;
    width: fit-content;
    margin-left: auto;
  }
  .post-list {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    margin-top: 3rem;
  }
  .post-list-card {
    transition: transform 0.2s ease-in-out;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-bottom: 1.5rem;
  }
  .post-list-card:hover {
    transform: translateY(-2px);
  }
  .post-list-thumbnail img {
    width: 100%;
    height: 200px;
    object-fit: cover;
  }
  .post-list-content {
    padding-top: 0.5rem;
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  .post-list-title {
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 10px;
    line-height: 1.2;
    min-height: 2.286em;
  }
  .post-list-title a {
    text-decoration: none;
    color: var(--text-color);
  }
  .post-list-title a:hover {
    color: var(--link-hover-color);
  }
  .post-list-excerpt {
    font-size: 1rem;
    font-weight: 300;
    margin-bottom: 15px;
    line-height: 1.6;
  }
  .post-list-meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85em;
    color: var(--text-subtle);
    margin-top: auto;
  }
  @media (width >= 1800px) {
    .container > .post {
      padding-left: 30rem;
      padding-right: 30rem;
    }
  }
  .post-title {
    font-size: 3rem;
    text-align: center;
  }
  .post-thumbnail img {
    width: 100%;
    height: 400px;
    object-fit: cover;
  }
  .post-meta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding-bottom: 1rem;
  }
  .post-author {
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }
  .post-author img {
    border-radius: 50%;
  }
  .post-content {
    margin-top: 4rem;
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
    font-size: 1rem;
    line-height: 1.8;
    color: var(--text-secondary);
  }
  @media (width >= 992px) {
    .post-content {
      padding: 0 2rem;
    }
  }
  .post-content p,
  .post-content .wp-block-paragraph,
  .post-content .wp-block-list {
    text-align: justify;
  }
  .post-content p:empty {
    min-height: 1em;
  }
  .post-content h2,
  .post-content h3,
  .post-content h4 {
    margin-top: 2rem;
    margin-bottom: 1rem;
    line-height: 1.3;
  }
  .post-content figure.wp-block-image.aligncenter {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .post-content figure.wp-block-image.alignleft {
    float: left;
    margin: 0 1.5rem 1.5rem 0;
  }
  .post-content figure.wp-block-image.alignright {
    float: right;
    margin: 0 0 1.5rem 1.5rem;
  }
  .post-content .wp-block-file {
    margin: 2rem auto;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .post-content .wp-block-file__embed {
    display: block;
    border: none;
    height: unset !important;
    aspect-ratio: 210/297 !important;
  }
  @media (width >= 768px) {
    .post-content .wp-block-file__embed {
      width: 70% !important;
    }
  }
  .post-content .wp-block-file a:not(.wp-block-file__button) {
    display: none;
  }
  .post-content .wp-block-file__button {
    margin-top: 0.75rem;
    background-color: var(--button-background-color) !important;
  }
  .post-content .wp-block-file__button:hover {
    background-color: var(--button-hover-background-color) !important;
  }
  .post-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-width: 920px;
    margin: 2rem auto 0;
    padding: 0 2rem;
  }
  .post-tag {
    display: inline-block;
    padding: 0.3rem 0.85rem;
    border-radius: 2rem;
    background-color: var(--secondary-background-color);
    color: var(--text-muted);
    font-size: 0.85rem;
    text-decoration: none;
    border: 1px solid var(--footer-background-color);
    transition: background-color 0.2s ease, color 0.2s ease;
  }
  .post-tag:hover {
    background-color: var(--footer-background-color);
    color: var(--text-color);
    text-decoration: none;
  }
  .has-text-align-left {
    text-align: justify !important;
  }
  .alignleft {
    float: left;
    margin: 0 1.5rem 1.5rem 0;
    max-width: 100%;
  }
  .alignright {
    float: right;
    margin: 0 0 1.5rem 1.5rem;
    max-width: 100%;
  }
  .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}
@layer components {
  .btn {
    border: none;
    padding: 0;
    background-color: transparent;
    font-size: inherit;
    font-family: inherit;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    display: inline-block;
    padding: 1rem;
    background-color: var(--button-background-color);
    color: #fff;
    border-radius: 0.625rem;
  }
  .btn:hover {
    background-color: var(--button-hover-background-color);
  }
  .wp-block-button__link {
    background-color: var(--button-background-color) !important;
  }
  .wp-block-button__link:hover {
    background-color: var(--button-hover-background-color) !important;
    color: #fff !important;
  }
  .wp-block-file__button {
    border: none;
    padding: 0;
    background-color: transparent;
    font-size: inherit;
    font-family: inherit;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    display: inline-block !important;
    background-color: var(--button-background-color) !important;
    color: #fff !important;
    border-radius: 0.625rem !important;
  }
  .wp-block-file__button:hover {
    background-color: var(--button-hover-background-color) !important;
  }
}
@layer components {
  .agenda {
    flex: 1;
    min-width: 0;
    min-height: auto;
    display: flex;
    flex-direction: column;
  }
  .agenda ul {
    flex: 1;
    padding-left: 0;
    margin: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-content: flex-start;
  }
  .agenda li {
    display: flex;
    flex-direction: row;
    border-radius: 0.5rem;
    overflow: hidden;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
  }
  .agenda li:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  }
  .agenda__date {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 160px;
    min-width: 160px;
    flex-shrink: 0;
  }
  .agenda__day {
    font-size: 2.75rem;
    font-weight: 700;
    line-height: 1;
  }
  .agenda__month {
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-top: 0.3rem;
  }
  .agenda__date--multimonth {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0.4rem;
  }
  .agenda__date--range .agenda__day {
    font-size: 2rem;
  }
  @media (width >= 992px) {
    .agenda__date--range .agenda__day {
      font-size: 2.5rem;
    }
  }
  .agenda__day-group {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.4rem;
  }
  .agenda__day-sep {
    font-size: 1.25rem;
    font-weight: 400;
    opacity: 0.5;
  }
  .agenda__range-item {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .agenda__range-item .agenda__day {
    font-size: 2rem;
  }
  @media (width >= 992px) {
    .agenda__range-item .agenda__day {
      font-size: 2.5rem;
    }
  }
  .agenda__range-sep {
    font-size: 1.25rem;
    font-weight: 400;
    opacity: 0.5;
  }
  .agenda article {
    padding: 1.5rem 1.75rem;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    gap: 0.75rem;
  }
  @media (width >= 992px) {
    .agenda article {
      padding: 2rem 2rem;
    }
  }
  .agenda__title {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0;
  }
  @media (width >= 768px) {
    .agenda__title {
      font-size: 1.35rem;
    }
  }
  .agenda__content {
    margin: 0;
    font-size: 0.875rem;
    opacity: 0.75;
    line-height: 1.5;
  }
  .agenda__link {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--link-color);
    text-decoration: none;
    width: fit-content;
  }
  .agenda__link:hover {
    color: var(--link-hover-color);
    text-decoration: none;
  }
  .agenda__link:hover::after {
    transform: translateX(4px);
  }
  .agenda-full__month {
    margin-bottom: 3rem;
  }
  .agenda-full__month .agenda {
    justify-content: flex-start;
    gap: 1.5rem;
    padding-left: 0;
  }
  .agenda-full__month-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--agenda-background-color);
  }
  .agenda__more {
    justify-content: center;
    padding: 0.75rem 1.25rem;
  }
  .agenda__more .agenda__link {
    width: auto;
  }
  .agenda__more .agenda__link::after {
    content: "→";
    transition: transform 0.15s ease;
  }
  .agenda.agenda--compact {
    gap: 0;
    overflow: hidden;
  }
  .agenda.agenda--compact > li {
    position: relative;
    background-color: transparent;
    border-radius: 0;
  }
  .agenda.agenda--compact > li:not(:last-child):not(:has(+ .agenda__more))::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  }
  .agenda.agenda--compact > li:hover {
    box-shadow: none;
  }
  .agenda.agenda--compact .agenda__date {
    background-color: transparent;
  }
}
@layer components {
  #sb_instagram {
    padding-bottom: 0 !important;
  }
  #sb_instagram #sbi_images {
    padding: 0 !important;
    padding-top: 2rem !important;
  }
  .instagram {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    min-height: auto;
  }
  .instagram__footer {
    display: flex;
    justify-content: center;
    margin-top: 1.5rem;
  }
}
@layer components {
  .footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-wrap: wrap;
    flex: 1;
    background-color: var(--footer-background-color);
    padding: 2.5rem 1.5rem 2rem;
    gap: 2rem;
  }
  .footer .custom-logo {
    width: 200px;
    height: auto;
  }
  .footer section {
    display: flex;
    flex-direction: column;
    text-align: center;
  }
  .footer section:first-child, .footer section:last-child {
    align-items: center;
  }
  .footer__subtitle {
    font-size: 0.875rem;
    font-style: italic;
    margin: 0;
    opacity: 0.7;
  }
  .footer__title {
    font-size: 1.5rem;
    margin: 0 0 0.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid rgba(0, 0, 0, 0.15);
  }
  @media (width >= 768px) {
    .footer__title {
      font-size: 1.5rem;
    }
  }
  .footer nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    line-height: 2rem;
  }
  .footer nav a {
    color: var(--text-color);
    font-size: 0.95rem;
  }
  .footer nav a:hover {
    color: var(--link-color);
    text-decoration: underline;
  }
  .footer__end {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
  @media (width >= 768px) {
    .footer__end {
      flex-direction: row;
      gap: 6rem;
    }
  }
  .footer__bottom {
    flex-basis: 100%;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    margin-top: 0.5rem;
    padding-top: 1.25rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    text-align: center;
  }
  @media (width >= 768px) {
    .footer__bottom {
      flex-direction: row;
      justify-content: space-between;
    }
  }
  .footer__bottom-links {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.8rem;
  }
  .footer__bottom-links a {
    color: var(--text-color);
  }
  .footer__bottom-links a:hover {
    color: var(--link-color);
    text-decoration: underline;
  }
  .footer__bottom-links span {
    opacity: 0.4;
  }
  .footer__copyright {
    font-size: 0.8rem;
    opacity: 0.6;
    margin: 0;
  }
  .footer__social-icon {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: grayscale(100%);
  }
  .footer__social-icon:hover {
    filter: grayscale(0%);
  }
  .footer__social-block {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 1.5rem;
  }
  .footer__social-block a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
  }
  @media (width >= 768px) {
    .footer {
      flex-direction: row;
      justify-content: space-between;
      padding: 3rem 6.75rem 2rem;
      gap: 3rem;
    }
    .footer .custom-logo {
      width: 260px;
    }
    .footer section {
      text-align: left;
    }
    .footer section:last-child {
      align-items: flex-start;
    }
  }
  @media (width >= 992px) {
    .footer {
      padding: 3rem 8rem 2rem;
    }
  }
}
@layer components {
  .navigation.pagination {
    display: flex;
    justify-content: center;
    margin-top: 2.5rem;
  }
  .nav-links {
    display: flex;
    align-items: center;
    gap: 0.35rem;
  }
  .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25rem;
    height: 2.25rem;
    padding: 0 0.75rem;
    border-radius: 0.375rem;
    background-color: transparent;
    color: var(--text-color);
    text-decoration: none;
    font-size: 0.9rem;
    transition: background-color 0.15s ease, color 0.15s ease;
  }
  .page-numbers:hover {
    background-color: var(--footer-background-color);
    color: var(--text-color);
    text-decoration: none;
  }
  .page-numbers.current {
    font-weight: 700;
    background-color: var(--button-background-color);
    color: var(--color-white);
    cursor: default;
    pointer-events: none;
  }
  .page-numbers.dots {
    background: none;
    pointer-events: none;
    padding: 0 0.25rem;
    min-width: unset;
  }
  .page-numbers.prev, .page-numbers.next {
    font-weight: 600;
    color: var(--link-color);
  }
  .page-numbers.prev:hover, .page-numbers.next:hover {
    color: var(--link-hover-color);
    background-color: transparent;
    text-decoration: underline;
  }
}
@layer components {
  .discover {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(7, 1fr);
    gap: 16px;
  }
  .discover .discover-card {
    min-height: 150px;
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.9)), var(--card-bg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 2rem;
    transition: transform 0.3s ease;
    border-radius: 0.5rem;
    cursor: pointer;
  }
  .discover .discover-card:hover {
    transform: scale(1.02);
    text-decoration: none;
  }
  .discover .discover-card:hover h3 {
    color: var(--link-hover-color);
  }
  .discover .discover-card h3 {
    color: var(--color-white);
    text-align: center;
    font-size: 2rem;
  }
  .discover .discover-card p {
    color: var(--color-white);
    text-align: center;
  }
  .discover .card-1 {
    grid-column: span 2/span 2;
    grid-row: span 2/span 2;
  }
  .discover .card-2 {
    grid-row: span 3/span 3;
    grid-column-start: 1;
    grid-row-start: 3;
  }
  .discover .card-3 {
    grid-row: span 2/span 2;
    grid-column-start: 2;
    grid-row-start: 3;
  }
  .discover .card-4 {
    grid-row: span 3/span 3;
    grid-column-start: 2;
    grid-row-start: 5;
  }
  .discover .card-5 {
    grid-row: span 2/span 2;
    grid-column-start: 1;
    grid-row-start: 6;
  }
  .discover .card-6 {
    grid-row: span 2/span 2;
    grid-column-start: 3;
    grid-row-start: 1;
  }
  .discover .card-7 {
    grid-row: span 5/span 5;
    grid-column-start: 3;
    grid-row-start: 3;
  }
  @media (max-width: 1024px) {
    .discover {
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: auto;
    }
    .discover .discover-card {
      grid-column: auto !important;
      grid-row: auto !important;
    }
  }
  @media (max-width: 640px) {
    .discover {
      grid-template-columns: 1fr;
    }
  }
}
@layer components {
  .faq {
    max-width: 800px;
    margin: 0 auto;
  }
  .faq__title {
    margin-bottom: 2.5rem;
  }
  .faq__list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }
  .faq__item {
    border-radius: 0.5rem;
    background-color: var(--secondary-background-color);
    overflow: hidden;
    border: none;
  }
  .faq__item[open] .faq__icon::before {
    content: "−";
  }
  .faq__question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    list-style: none;
    user-select: none;
  }
  .faq__question::-webkit-details-marker {
    display: none;
  }
  .faq__question:hover {
    background-color: var(--footer-background-color);
  }
  .faq__icon {
    flex-shrink: 0;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background-color: var(--button-background-color);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    line-height: 1;
  }
  .faq__icon::before {
    content: "+";
  }
  .faq__answer p {
    padding: 0 1.5rem 1.25rem;
    font-size: 0.95rem;
    line-height: 1.7;
  }
}
@layer components {
  .contact {
    display: flex;
    flex-direction: column;
    gap: 3rem;
  }
  @media (width >= 768px) {
    .contact {
      flex-direction: row;
      align-items: flex-start;
      gap: 4rem;
    }
  }
  .contact__title {
    font-size: 2rem;
    margin-bottom: 2.5rem;
  }
  @media (width >= 768px) {
    .contact__title {
      font-size: 2.5rem;
    }
  }
  .contact__info {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    flex-shrink: 0;
  }
  @media (width >= 768px) {
    .contact__info {
      width: 260px;
    }
  }
  .contact__info-title {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--footer-background-color);
  }
  .contact__info-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .contact__info-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    font-size: 0.95rem;
    line-height: 1.6;
  }
  .contact__info-item svg {
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
    margin-top: 0.15rem;
    color: var(--link-color);
  }
  .contact__info-item address {
    font-style: normal;
  }
  .contact__info-item a {
    color: var(--text-color);
    text-decoration: none;
  }
  .contact__info-item a:hover {
    color: var(--link-hover-color);
    text-decoration: underline;
  }
  .contact__social {
    display: flex;
    gap: 1.5rem;
  }
  .contact__social img {
    width: 1.75rem;
    height: 1.75rem;
  }
  .contact__social a:hover {
    filter: grayscale(45%);
  }
  .contact__form-wrapper {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
  }
  .contact__form {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }
  .contact__form-row {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }
  @media (width >= 576px) {
    .contact__form-row {
      flex-direction: row;
    }
  }
  .contact__form-row .contact__field {
    flex: 1;
  }
  .contact__field {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
  }
  .contact__field label {
    font-size: 0.9rem;
    font-weight: 600;
  }
  .contact__field label span {
    color: var(--link-color);
  }
  .contact__field input,
  .contact__field textarea {
    padding: 0.75rem 1rem;
    border: 1.5px solid var(--footer-background-color);
    border-radius: 0.5rem;
    background-color: var(--secondary-background-color);
    font-family: inherit;
    font-size: 1rem;
    color: var(--text-color);
    transition: border-color 0.2s ease;
  }
  .contact__field input:focus,
  .contact__field textarea:focus {
    outline: none;
    border-color: var(--link-color);
  }
  .contact__field textarea {
    resize: vertical;
    min-height: 140px;
  }
  .contact__required-note {
    font-size: 0.8rem;
    color: var(--text-subtle);
    margin: 0;
  }
  .contact__required-note span {
    color: var(--link-color);
  }
  .contact__success, .contact__error {
    padding: 1rem 1.25rem;
    border-radius: 0.5rem;
    font-size: 0.95rem;
  }
  .contact__success p, .contact__error p {
    margin: 0;
  }
  .contact__success {
    background-color: var(--color-success-bg);
    color: var(--color-success-text);
    border: 1px solid var(--color-success-border);
  }
  .contact__error {
    background-color: var(--color-error-bg);
    color: var(--color-error-text);
    border: 1px solid var(--color-error-border);
  }
}
@layer components {
  .sitemap__section {
    margin-bottom: 2.5rem;
  }
  .sitemap__section h2 {
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--footer-background-color);
  }
  .sitemap__section ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
  }
  .sitemap__section a {
    font-size: 0.95rem;
  }
  .sitemap__section a::before {
    content: "→ ";
    opacity: 0.4;
  }
  @media (width >= 768px) {
    .sitemap {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 0 4rem;
    }
  }
}
@layer components {
  .not-found {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 1rem;
    min-height: 70vh;
    padding-top: 0;
  }
  .not-found__code {
    font-size: 8rem;
    font-weight: 700;
    color: var(--text-secondary);
    line-height: 1;
    margin: 0;
  }
  .not-found__title {
    font-size: 2rem;
    color: var(--text-secondary);
    margin: 0;
  }
  @media (width >= 768px) {
    .not-found__title {
      font-size: 3rem;
    }
  }
  .not-found__message {
    font-size: 1rem;
    color: var(--text-muted);
    margin: 0;
  }
}
@layer components {
  .lightbox {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1000;
    background-color: rgba(0, 0, 0, 0.85);
    align-items: center;
    justify-content: center;
    cursor: zoom-out;
  }
  .lightbox.is-open {
    display: flex;
  }
  .lightbox__img {
    max-width: 90vw;
    max-height: 90vh;
    object-fit: contain;
    border-radius: 4px;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.6);
    cursor: default;
  }
  .lightbox__close {
    position: fixed;
    top: 1rem;
    right: 1.25rem;
    background: none;
    border: none;
    color: #fff;
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
    opacity: 0.8;
  }
  .lightbox__close:hover {
    opacity: 1;
  }
  .post-content img {
    cursor: zoom-in;
  }
}

/*# sourceMappingURL=style.css.map */
