/*
 * FTD Demo2 Theme — styles on top of the parent's (loaded after theme.css, front-page.css, woocommerce.css).
 * Raise the Version in style.css after a change, it versions this file.
 *
 * A modern izakaya: sumi ink, vermilion and warm paper text, Mincho headings, a seigaiha wave pattern, where
 * the parent is a gold fine-dining room. The front page is the child's own (front-page.php, .demo2-*).
 */

:root {
  --primary-color: #e0412f;
  --primary-hover: #f05a47;
  --primary-active: #b8301f;
  --primary-light: #fbe9e6;
  --bs-primary-rgb: 224, 65, 47 !important;
  --demo2-ink: #121110;
  --demo2-ink-2: #1a1816;
  --demo2-ink-3: #24211e;
  --demo2-paper: #f4ede1;
  --demo2-muted: #a49b8f;
  --demo2-line: rgba(244, 237, 225, 0.12);
  --demo2-gold: #c9a45c;
  --demo2-cream: #fbf8f2;
  --demo2-sand: #f1e9dc;
  --demo2-serif: 'Shippori Mincho', 'Noto Serif JP', Georgia, serif;
  /* What a section's content is drawn with: dark sections by default, .demo2-light sections below. */
  --d2-bg: var(--demo2-ink);
  --d2-text: var(--demo2-paper);
  --d2-muted: var(--demo2-muted);
  --d2-line: var(--demo2-line);
  --d2-card: var(--demo2-ink-3);
  --d2-field: var(--demo2-ink);
  --d2-gold: var(--demo2-gold);
  --demo2-wave: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='80' height='40' viewBox='0 0 80 40'%3e%3cg fill='none' stroke='%23f4ede1' stroke-opacity='.06' stroke-width='1.5'%3e%3cpath d='M0 40a40 40 0 0 1 80 0M10 40a30 30 0 0 1 60 0M20 40a20 20 0 0 1 40 0M30 40a10 10 0 0 1 20 0'/%3e%3cpath d='M-40 20a40 40 0 0 1 80 0M-30 20a30 30 0 0 1 60 0M-20 20a20 20 0 0 1 40 0M-10 20a10 10 0 0 1 20 0M40 20a40 40 0 0 1 80 0M50 20a30 30 0 0 1 60 0M60 20a20 20 0 0 1 40 0M70 20a10 10 0 0 1 20 0'/%3e%3c/g%3e%3c/svg%3e");
  --demo2-wave-ink: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='80' height='40' viewBox='0 0 80 40'%3e%3cg fill='none' stroke='%23121110' stroke-opacity='.045' stroke-width='1.5'%3e%3cpath d='M0 40a40 40 0 0 1 80 0M10 40a30 30 0 0 1 60 0M20 40a20 20 0 0 1 40 0M30 40a10 10 0 0 1 20 0'/%3e%3cpath d='M-40 20a40 40 0 0 1 80 0M-30 20a30 30 0 0 1 60 0M-20 20a20 20 0 0 1 40 0M-10 20a10 10 0 0 1 20 0M40 20a40 40 0 0 1 80 0M50 20a30 30 0 0 1 60 0M60 20a20 20 0 0 1 40 0M70 20a10 10 0 0 1 20 0'/%3e%3c/g%3e%3c/svg%3e");
}

body {
  font-family: 'Zen Kaku Gothic New', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* ---------- Header ---------- */
.site-header {
  background: rgba(18, 17, 16, 0.92);
  backdrop-filter: blur(10px);
  box-shadow: 0 1px 0 var(--demo2-line);
}

.site-header-top {
  background: var(--demo2-ink);
  border-bottom: 1px solid var(--demo2-line);
}

.site-header-nav {
  padding: 0.85rem 0;
}

.site-header-nav .nav-link {
  color: var(--d2-text);
  font-family: var(--demo2-serif);
  font-weight: 600;
  letter-spacing: 0.06em;
  border-radius: 0;
  position: relative;
}

.site-header-nav .nav-link:not(.btn)::after {
  content: "";
  position: absolute;
  left: 0.6rem;
  right: 0.6rem;
  bottom: 0.1rem;
  height: 2px;
  background: var(--primary-color);
  transform: scaleX(0);
  transition: transform 0.25s ease;
}

.site-header-nav .nav-link:hover {
  color: #fff;
  background: transparent;
}

.site-header-nav .nav-link:not(.btn):hover::after {
  transform: scaleX(1);
}

.site-header-nav .nav-link.btn-outline-light {
  color: #fff;
  background: var(--primary-color);
  border-color: var(--primary-color);
  border-radius: 0 !important;
  padding: 0.55rem 1.4rem !important;
  font-family: inherit;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.8rem;
}

.site-header-nav .nav-link.btn-outline-light:hover {
  background: var(--primary-hover);
  border-color: var(--primary-hover);
}

/* ---------- Shared pieces ---------- */
body.home {
  background: var(--demo2-ink);
  color: var(--d2-text);
}

body.home a {
  color: var(--primary-color);
}

body.home a:hover {
  color: var(--primary-hover);
}

body.home section {
  padding: 110px 0;
}

.demo2-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  color: var(--primary-color);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.35em;
  text-transform: uppercase;
}

.demo2-eyebrow::before {
  content: "";
  width: 36px;
  height: 2px;
  background: currentColor;
}

.demo2-heading {
  margin: 0 0 24px;
  font-family: var(--demo2-serif);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 700;
  line-height: 1.2;
  color: var(--d2-text);
}

.demo2-title {
  text-align: center;
  margin-bottom: 56px;
}

.demo2-title .demo2-eyebrow::after {
  content: "";
  width: 36px;
  height: 2px;
  background: currentColor;
}

.demo2-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 32px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  border: 2px solid var(--primary-color);
  transition: 0.25s ease;
}

body.home .demo2-btn--solid {
  background: var(--primary-color);
  color: #fff;
}

body.home .demo2-btn--solid:hover {
  background: var(--primary-hover);
  border-color: var(--primary-hover);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(224, 65, 47, 0.35);
}

body.home .demo2-btn--ghost {
  border-color: rgba(244, 237, 225, 0.35);
  color: var(--d2-text);
}

body.home .demo2-btn--ghost:hover {
  border-color: var(--d2-text);
  color: #fff;
}

/* Light sections: most of the page, the dark ones (hero, specials, footer) set it off. */
.demo2-light {
  --d2-bg: var(--demo2-cream);
  --d2-text: var(--demo2-ink);
  --d2-muted: #6f675d;
  --d2-line: rgba(18, 17, 16, 0.12);
  --d2-card: #fff;
  --d2-field: var(--demo2-cream);
  --d2-gold: #9c7a36;
  color: var(--d2-text);
}

.demo2-light--sand {
  --d2-bg: var(--demo2-sand);
}

body.home section.demo2-light {
  background: var(--d2-bg) var(--demo2-wave-ink);
}

body.home .demo2-light .demo2-btn--ghost {
  border-color: rgba(18, 17, 16, 0.3);
}

/* ---------- Hero ---------- */
#hero.demo2-hero {
  position: relative;
  height: auto;
  min-height: calc(100vh - 110px);
  padding: 80px 0;
  background: radial-gradient(ellipse at 75% 40%, #2a1714 0%, var(--demo2-ink) 60%) , var(--demo2-ink);
  overflow: hidden;
}

#hero.demo2-hero::before {
  background: var(--demo2-wave);
  z-index: 0;
}

.demo2-hero .container {
  position: relative;
  z-index: 2;
}

.demo2-hero__kanji {
  position: absolute;
  left: -2vw;
  bottom: -6vw;
  z-index: 1;
  font-family: var(--demo2-serif);
  font-size: 30vw;
  font-weight: 800;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px rgba(244, 237, 225, 0.07);
  pointer-events: none;
  user-select: none;
}

#hero.demo2-hero h1 {
  font-family: var(--demo2-serif);
  font-size: clamp(44px, 6vw, 84px);
  font-weight: 800;
  line-height: 1.05;
  color: var(--d2-text);
}

#hero.demo2-hero h1 span {
  display: block;
  color: var(--primary-color);
}

.demo2-hero__lead {
  max-width: 520px;
  margin: 28px 0 40px;
  font-size: 17px;
  line-height: 1.8;
  color: var(--d2-muted);
}

.demo2-hero__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.demo2-hero__art {
  position: relative;
  width: min(100%, 540px);
  aspect-ratio: 1;
  margin-left: auto;
}

.demo2-hero__sun {
  position: absolute;
  inset: 4% 0 0 8%;
  border-radius: 50%;
  background: var(--primary-color);
}

.demo2-hero__ring {
  position: absolute;
  inset: -2% 4% 6% 2%;
  border-radius: 50%;
  border: 1px dashed rgba(244, 237, 225, 0.35);
  animation: demo2-spin 60s linear infinite;
}

.demo2-hero__photo {
  position: absolute;
  inset: 10% 10% 14% 6%;
  width: 84%;
  height: 76%;
  object-fit: cover;
  border-radius: 50%;
  border: 10px solid var(--demo2-ink);
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.5);
}

.demo2-hero__dish {
  position: absolute;
  right: -2%;
  bottom: 4%;
  width: 32%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 50%;
  border: 6px solid var(--demo2-paper);
  box-shadow: 0 18px 30px rgba(0, 0, 0, 0.5);
  animation: demo2-float 6s ease-in-out infinite;
}

.demo2-hero__stamp {
  position: absolute;
  left: 0;
  bottom: 10%;
  width: 118px;
  height: 118px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--demo2-paper);
  color: var(--demo2-ink);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.4);
}

.demo2-hero__stamp span {
  font-family: var(--demo2-serif);
  font-size: 40px;
  line-height: 1;
  letter-spacing: 0;
  color: var(--primary-color);
}

@keyframes demo2-spin {
  to { transform: rotate(360deg); }
}

@keyframes demo2-float {
  50% { transform: translateY(-14px) rotate(4deg); }
}

@media (max-width: 991.98px) {
  #hero.demo2-hero { min-height: 0; padding: 60px 0 80px; }
  .demo2-hero__art { margin: 0 auto; width: min(100%, 420px); }
  .demo2-hero__kanji { font-size: 60vw; }
}

/* ---------- Category band ---------- */
/* The band is tilted and a little wider than the page: its wrapper keeps that from scrolling the page sideways. */
.demo2-band-wrap {
  position: relative;
  z-index: 3;
  overflow: hidden;
  padding: 14px 0;
  margin: -14px 0;
}

.demo2-band {
  overflow: hidden;
  background: var(--primary-color);
  padding: 18px 0;
  transform: rotate(-1.2deg) scale(1.02);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}

.demo2-band__track {
  display: flex;
  align-items: center;
  gap: 28px;
  width: max-content;
  animation: demo2-marquee 50s linear infinite;
  white-space: nowrap;
}

.demo2-band span {
  font-family: var(--demo2-serif);
  font-size: 26px;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.demo2-band i {
  font-style: normal;
  color: var(--demo2-ink);
  font-size: 18px;
}

@keyframes demo2-marquee {
  to { transform: translateX(-50%); }
}

/* ---------- About ---------- */

.demo2-about p {
  color: var(--d2-muted);
  font-size: 16px;
  line-height: 1.8;
}

.demo2-about__photos {
  position: relative;
  padding: 0 18% 22% 0;
}

.demo2-about__main {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.demo2-about__side {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 52%;
  aspect-ratio: 1;
  object-fit: cover;
  border: 10px solid var(--d2-bg);
}

.demo2-about__photos::before {
  content: "";
  position: absolute;
  left: -22px;
  top: -22px;
  width: 45%;
  height: 55%;
  border: 2px solid var(--primary-color);
  z-index: -1;
}

.demo2-about__vertical {
  position: absolute;
  left: -64px;
  top: 30%;
  writing-mode: vertical-rl;
  font-family: var(--demo2-serif);
  font-size: 22px;
  letter-spacing: 0.5em;
  color: var(--primary-active);
}

.demo2-about__sign {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 32px;
  padding-left: 20px;
  border-left: 3px solid var(--primary-color);
}

.demo2-about__sign span {
  color: var(--d2-muted);
  font-size: 14px;
}

.demo2-about__sign strong {
  font-family: var(--demo2-serif);
  font-size: 24px;
  color: var(--d2-text);
}

@media (max-width: 1399.98px) {
  .demo2-about__vertical { display: none; }
}

/* ---------- Why us ---------- */
body.home .demo2-why {
  padding: 80px 0;
}

.demo2-why__item {
  position: relative;
  height: 100%;
  padding: 44px 36px;
  background: var(--d2-card);
  border: 1px solid var(--d2-line);
  overflow: hidden;
  transition: 0.3s ease;
}

.demo2-why__item::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  width: 100%;
  background: var(--primary-color);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s ease;
}

.demo2-why__item:hover {
  transform: translateY(-6px);
  border-color: rgba(224, 65, 47, 0.5);
  box-shadow: 0 20px 40px rgba(18, 17, 16, 0.08);
}

.demo2-why__item:hover::after {
  transform: scaleX(1);
}

.demo2-why__icon {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(224, 65, 47, 0.12);
  color: var(--primary-color);
  font-size: 28px;
}

.demo2-why__num {
  position: absolute;
  right: 24px;
  top: 12px;
  font-family: var(--demo2-serif);
  font-size: 72px;
  font-weight: 800;
  color: transparent;
  -webkit-text-stroke: 1px var(--d2-line);
}

.demo2-why__item h4 {
  margin: 28px 0 12px;
  font-family: var(--demo2-serif);
  font-size: 24px;
  font-weight: 700;
  color: var(--d2-text);
}

.demo2-why__item p {
  margin: 0;
  color: var(--d2-muted);
  line-height: 1.7;
}

/* ---------- Menu ---------- */

.demo2-menu__tabs {
  justify-content: center;
  gap: 8px;
  margin-bottom: 40px;
  border: 0;
}

.demo2-menu__tabs .nav-link {
  padding: 12px 22px;
  border: 1px solid rgba(18, 17, 16, 0.15);
  border-radius: 0;
  background: transparent;
  color: var(--demo2-ink);
  font-family: var(--demo2-serif);
  font-weight: 700;
  letter-spacing: 0.04em;
  transition: 0.2s ease;
}

.demo2-menu__tabs .nav-link:hover {
  border-color: var(--demo2-ink);
}

.demo2-menu__tabs .nav-link.active {
  background: var(--demo2-ink);
  border-color: var(--demo2-ink);
  color: #fff;
}

.demo2-menu__list {
  column-gap: 0;
}

body.home a.demo2-menu__item {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 18px 24px;
  color: var(--demo2-ink);
  text-decoration: none;
  border-bottom: 1px dashed rgba(18, 17, 16, 0.18);
  transition: background 0.2s ease;
}

body.home a.demo2-menu__item:hover {
  background: #fff;
  color: var(--demo2-ink);
}

.demo2-menu__thumb img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 50%;
  border: 3px solid #fff;
  box-shadow: 0 6px 14px rgba(18, 17, 16, 0.15);
}

.demo2-menu__body {
  flex: 1;
  min-width: 0;
}

.demo2-menu__row {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.demo2-menu__name {
  font-family: var(--demo2-serif);
  font-size: 19px;
  font-weight: 700;
}

.demo2-menu__dots {
  flex: 1;
  border-bottom: 2px dotted rgba(18, 17, 16, 0.3);
  transform: translateY(-4px);
}

.demo2-menu__price {
  font-family: var(--demo2-serif);
  font-size: 19px;
  font-weight: 800;
  color: var(--primary-active);
  white-space: nowrap;
}

.demo2-menu__desc {
  display: block;
  margin-top: 4px;
  font-size: 14px;
  color: #6f675d;
}

/* ---------- Specials ---------- */
.demo2-specials {
  background: var(--demo2-ink-2);
}

.demo2-special {
  position: relative;
  height: 460px;
  overflow: hidden;
}

.demo2-special img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.demo2-special::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(18, 17, 16, 0) 35%, rgba(18, 17, 16, 0.92) 100%);
}

.demo2-special:hover img {
  transform: scale(1.08);
}

.demo2-special__body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  padding: 32px;
}

.demo2-special__num {
  display: inline-block;
  margin-bottom: 14px;
  padding: 4px 12px;
  background: var(--primary-color);
  color: #fff;
  font-family: var(--demo2-serif);
  font-weight: 700;
}

.demo2-special h3 {
  margin: 0 0 10px;
  font-family: var(--demo2-serif);
  font-size: 26px;
  font-weight: 700;
  color: #fff;
}

.demo2-special p {
  margin: 0;
  color: rgba(244, 237, 225, 0.75);
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}

.demo2-special:hover p {
  max-height: 120px;
}

@media (hover: none) {
  .demo2-special p { max-height: none; }
}

/* ---------- Testimonials ---------- */
/* Warm ink with gold and a touch of vermilion: the classic lacquerware pairing, quieter than a red field. */

.demo2-testimonials .demo2-eyebrow {
  color: var(--d2-gold);
}

.demo2-quote {
  height: 100%;
  margin: 0;
  padding: 40px 36px;
  background: var(--d2-card);
  border: 1px solid rgba(201, 164, 92, 0.35);
  position: relative;
  transition: border-color 0.3s ease;
}

.demo2-quote:hover {
  border-color: rgba(201, 164, 92, 0.6);
  box-shadow: 0 20px 40px rgba(18, 17, 16, 0.08);
}

.demo2-quote::before {
  content: "\201C";
  position: absolute;
  right: 28px;
  top: -6px;
  font-family: var(--demo2-serif);
  font-size: 120px;
  line-height: 1;
  color: var(--primary-color);
  opacity: 0.35;
}

.demo2-quote__stars {
  color: var(--d2-gold);
  letter-spacing: 4px;
  margin-bottom: 18px;
}

.demo2-quote blockquote {
  margin: 0 0 24px;
  font-family: var(--demo2-serif);
  font-size: 20px;
  line-height: 1.6;
  color: var(--d2-text);
}

.demo2-quote figcaption {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--d2-gold);
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-size: 13px;
}

.demo2-quote figcaption::before {
  content: "";
  width: 24px;
  height: 1px;
  background: currentColor;
}

.demo2-testimonials .testimonials-slider {
  padding-bottom: 50px;
}

.demo2-testimonials .swiper-slide {
  height: auto;
}

.demo2-testimonials .swiper-pagination-bullet {
  background: var(--d2-text);
  opacity: 0.3;
}

.demo2-testimonials .swiper-pagination-bullet-active {
  background: var(--d2-gold);
  opacity: 1;
}

/* ---------- Gallery ---------- */

.demo2-gallery__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 220px;
  gap: 12px;
}

.demo2-gallery__item {
  position: relative;
  overflow: hidden;
}

.demo2-gallery__item:nth-child(1) { grid-column: span 2; grid-row: span 2; }
.demo2-gallery__item:nth-child(6),
.demo2-gallery__item:nth-child(7) { grid-column: span 2; }

.demo2-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease, filter 0.5s ease;
  filter: saturate(0.85);
}

.demo2-gallery__item::after {
  content: "\F52A";
  font-family: 'bootstrap-icons';
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 32px;
  color: #fff;
  background: rgba(224, 65, 47, 0.55);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.demo2-gallery__item:hover img {
  transform: scale(1.08);
  filter: none;
}

.demo2-gallery__item:hover::after {
  opacity: 1;
}

@media (max-width: 767.98px) {
  .demo2-gallery__grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 150px; }
  .demo2-gallery__item:nth-child(6) { grid-column: span 1; }
  .demo2-gallery__item:nth-child(7) { grid-column: span 2; }
}

/* ---------- Contact ---------- */
body.home .demo2-contact {
  padding-bottom: 0;
}

.demo2-contact__card {
  height: 100%;
  padding: 40px 32px;
  background: var(--d2-card);
  border-top: 3px solid var(--primary-color);
}

.demo2-contact__line {
  display: flex;
  gap: 18px;
}

.demo2-contact__line + .demo2-contact__line {
  margin-top: 28px;
}

.demo2-contact__line i {
  flex: 0 0 48px;
  height: 48px;
  display: grid;
  place-items: center;
  background: rgba(224, 65, 47, 0.12);
  color: var(--primary-color);
  font-size: 20px;
}

.demo2-contact__line h4 {
  margin: 0 0 6px;
  font-family: var(--demo2-serif);
  font-size: 18px;
  font-weight: 700;
  color: var(--d2-text);
}

.demo2-contact__line p {
  margin: 0;
  color: var(--d2-muted);
  font-size: 14px;
  line-height: 1.7;
}

.demo2-contact__form {
  height: 100%;
  padding: 40px;
  background: var(--d2-card);
}

.contact .wpcf7-form input,
.contact .wpcf7-form textarea {
  background: var(--d2-field);
  border: 1px solid var(--d2-line);
  color: var(--d2-text);
}

.contact .wpcf7-form input:focus,
.contact .wpcf7-form textarea:focus {
  border-color: var(--primary-color);
}

.contact .wpcf7-form button[type=submit],
.contact .wpcf7-form input[type=submit] {
  border-radius: 0;
  padding: 14px 40px !important;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 13px;
}

.demo2-contact__map {
  margin-top: 80px;
  filter: grayscale(0.6) sepia(0.15);
}

/* ---------- Footer ---------- */
#footer {
  background: var(--demo2-ink) var(--demo2-wave);
  border-top: 4px solid var(--primary-color);
}

#footer h4 {
  font-family: var(--demo2-serif);
  letter-spacing: 0.08em;
}

#footer .footer-links a:hover {
  color: var(--primary-color) !important;
}

#footer .copyright {
  border-top: 1px solid var(--demo2-line);
  padding-top: 1rem;
}

.cookie-consent-banner {
  background: rgba(18, 17, 16, 0.97);
  border-top: 2px solid var(--primary-color);
}
