@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500&family=Source+Serif+Pro:wght@400;600&family=Lato:wght@400;700&display=swap');

/* Font Display Optimization */
@font-face {
  font-family: 'Playfair Display';
  font-display: swap;
}

@font-face {
  font-family: 'Source Serif Pro';
  font-display: swap;
}

@font-face {
  font-family: 'Lato';
  font-display: swap;
}

:root {
  --color-background: #f7f5f2;
  --color-surface: #f1ede6;
  --color-surface-alt: #ebe5dd;
  --color-text-primary: #42382f;
  --color-text-headings: #6d4f3b;
  --color-cta-primary: #5a665c;
  --color-cta-primary-hover: #6b776f;
  --color-cta-primary-active: #4a554c;
  --color-accent-secondary: #63857e;
  --color-border: rgba(109, 79, 59, 0.2);
  --color-border-strong: rgba(109, 79, 59, 0.35);
  --color-shadow-soft: 0 20px 50px rgba(66, 56, 47, 0.08);
  --color-shadow-hover: 0 24px 60px rgba(47, 39, 33, 0.12);

  /* General */
  --border-radius: 8px;
  --gutter-x: 0.5rem;
  --gutter-y: 1rem;
  --link-text-color: var(--color-accent-secondary);
  --shadow-color: rgba(66, 56, 47, 0.1);
  --whitespace-color: #fff;

  --site-background-color: var(--color-background);
  --sidebar-width: 300px;

  /* Important Notice */
  --important-notice-background-color: rgba(90, 102, 92, 0.95);
  --important-notice-text-color: var(--color-background);

  --header-background-color: transparent;
  --header-text-color: var(--color-text-headings);

  /* Cookie Notice */
  --cookie-notice-background-color: rgba(66, 56, 47, 0.9);
  --cookie-notice-text-color: var(--color-background);

  /* Navigation */
  --navigation-background-color: rgba(236, 230, 221, 0.85);
  --navigation-background-color-hover: rgba(99, 133, 126, 0.14);
  --navigation-background-color-active: rgba(106, 119, 107, 0.22);
  --navigation-text-color: var(--color-text-headings);
  --navigation-text-color-hover: var(--navigation-text-color);
  --navigation-text-color-active: var(--navigation-text-color);

  /* Navigation */
  --offcanvas-background-color: var(--navigation-background-color);
  --offcanvas-text-color: var(--navigation-text-color);

  /* Defaults */
  --default-background-color: var(--color-surface);
  --default-border-color: var(--color-border);
  --default-line-height: 1.7;
  --default-text-font: 'Source Serif Pro', 'Georgia', serif;
  --default-text-color: var(--color-text-primary);
  --default-text-size: 18px;

  /* Buttons */
  --default-button-background-color: transparent;
  --default-button-background-color-hover: rgba(109, 79, 59, 0.05);
  --default-button-background-color-active: rgba(109, 79, 59, 0.1);
  --default-button-border-color: var(--color-border);
  --default-button-text-color: var(--color-text-headings);

  --primary-button-background-color: var(--color-cta-primary);
  --primary-button-background-color-hover: var(--color-cta-primary-hover);
  --primary-button-background-color-active: var(--color-cta-primary-active);
  --primary-button-border-color: rgba(53, 63, 55, 0.12);
  --primary-button-text-color: var(--color-background);

  --success-button-background-color: var(--color-cta-primary);
  --success-button-background-color-hover: var(--color-cta-primary-hover);
  --success-button-background-color-active: var(--color-cta-primary-active);
  --success-button-border-color: rgba(53, 63, 55, 0.12);
  --success-button-text-color: var(--color-background);

  --warning-button-background-color: #b67a2f;
  --warning-button-background-color-hover: #c7883c;
  --warning-button-background-color-active: #996324;
  --warning-button-border-color: rgba(109, 79, 59, 0.25);
  --warning-button-text-color: var(--color-background);

  --danger-button-background-color: #8b3f35;
  --danger-button-background-color-hover: #a14f44;
  --danger-button-background-color-active: #723329;
  --danger-button-border-color: rgba(109, 79, 59, 0.4);
  --danger-button-text-color: var(--color-background);

  /* Notices */
  --default-notice-background-color: rgba(255, 255, 255, 0.7);
  --default-notice-text-color: var(--color-text-primary);
  --default-notice-border-color: var(--color-border);

  --primary-notice-background-color: rgba(99, 133, 126, 0.14);
  --primary-notice-text-color: var(--color-text-headings);
  --primary-notice-border-color: rgba(99, 133, 126, 0.32);

  --success-notice-background-color: rgba(90, 102, 92, 0.18);
  --success-notice-text-color: var(--color-text-primary);
  --success-notice-border-color: rgba(90, 102, 92, 0.35);

  --warning-notice-background-color: rgba(182, 122, 47, 0.18);
  --warning-notice-text-color: #6d4f3b;
  --warning-notice-border-color: rgba(182, 122, 47, 0.28);

  --danger-notice-background-color: rgba(139, 63, 53, 0.16);
  --danger-notice-text-color: #5c1f16;
  --danger-notice-border-color: rgba(139, 63, 53, 0.28);

  /* Breadcrumbs */
  --breadcrumbs-background-color: rgba(236, 230, 221, 0.6);
  --breadcrumbs-text-color: var(--color-text-primary);
  --breadcrumbs-border-color: rgba(109, 79, 59, 0.12);

  /* Cards */
  --card-background-color: rgba(255, 255, 255, 0.82);
  --card-text-color: var(--default-text-color);
  --card-border-color: var(--color-border);
  --card-header-background-color: rgba(235, 229, 221, 0.75);
  --card-header-text-color: var(--card-text-color);
  --card-body-background-color: transparent;
  --card-footer-background-color: rgba(247, 245, 242, 0.9);

  /* Input */
  --input-background-color: rgba(255, 255, 255, 0.65);
  --input-padding-x: 1.25em;
  --input-padding-y: 0.75em;
  --input-text-color: var(--color-text-primary);
  --input-border-radius: 4px;

  /* Pills */
  --pills-background-color: transparent;
  --pills-background-color-active: rgba(99, 133, 126, 0.2);
  --pills-background-color-hover: rgba(99, 133, 126, 0.12);
  --pills-text-color: var(--default-text-color);
  --pills-text-color-active: var(--color-text-headings);

  /* Tabs */
  --tabs-pane-background-color: rgba(255, 255, 255, 0.78);
  --tabs-pane-border-color: var(--tabs-pane-background-color);
  --tabs-background-color: rgba(231, 224, 214, 0.6);
  --tabs-background-color-active: rgba(247, 245, 242, 0.92);
  --tabs-text-color: var(--color-text-headings);
  --tabs-text-color-active: var(--tabs-text-color);
  --tabs-border-color: var(--tabs-background-color);
  --tabs-border-color-active: var(--tabs-background-color-active);
  --tabs-content-background-color: #fff;

  /* Dropdowns */
  --dropdown-menu-background-color: rgba(253, 251, 248, 0.96);
  --dropdown-menu-item-background-color: var(--dropdown-menu-background-color);
  --dropdown-menu-item-text-color: var(--default-text-color);

  /* Tables */
  --table-striped-row-background-odd: rgba(236, 230, 221, 0.4);
  --table-striped-row-background-even: rgba(255, 255, 255, 0.7);
  --table-row-hover-background: rgba(99, 133, 126, 0.12);

  /* Pagination */
  --pagination-background-color: rgba(255, 255, 255, 0.65);
  --pagination-background-color-active: rgba(99, 133, 126, 0.18);
  --pagination-background-color-hover: rgba(99, 133, 126, 0.12);
  --pagination-text-color: var(--default-text-color);
  --pagination-text-color-active: var(--default-text-color);
  --pagination-text-color-hover: var(--default-text-color);
  --pagination-border-color: rgba(109, 79, 59, 0.22);

  /* Footer */
  --footer-background-color: rgba(232, 226, 217, 0.92);
  --footer-title-color: var(--default-text-color);
  --footer-text-color: var(--default-text-color);

  /* Copyright */
  --copyright-background-color: rgba(220, 212, 201, 0.95);
  --copyright-text-color: var(--default-text-color);
}

@media (min-width: 576px) {
  :root {
    --gutter-x: 1rem;
    --gutter-y: 1rem;
  }
}

@media (min-width: 768px) {
  :root {
    --gutter-x: 1.5rem;
    --gutter-y: 1.5rem;
  }
}

@media (min-width: 992px) {
  :root {
    --gutter-x: 2rem;
    --gutter-y: 2rem;
  }
}
