:root {
  --red: #dd3448;
  --blue: #2333a0;
  --white: #fff;
  --gray: #bdbdbd;
}

/* Global Reset / Base */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  font-family: Arial, sans-serif;
  color: var(--white);
  line-height: 1.4;
  text-shadow: rgba(0, 0, 0, 0.5) 1px 1px 3px; /* optional text shadow */
}

/* Utility Classes */
.container {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

/* Top Bar */
.top-bar {
  background-color: var(--red); /* Using the global red */
  padding: 0.3rem 0; /* Vertical spacing top/bottom */
}

.top-bar-inner {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-around;
  align-items: center;
}

/* Style the phone number text */
.top-bar-inner span {
  color: var(--white);
  text-transform: uppercase;
  font-family: "Calistoga", serif;
  font-weight: 400;
  font-style: normal;
}

/* Optional: style the phone icon */
.top-bar-inner i.fa-solid.fa-phone {
  color: var(--blue); /* Blue icon, for example */
  margin-right: 0.3rem;
}

/* Header */
.main-header {
  background-color: var(--blue);
  padding: 1rem 0;
  text-align: center;
  color: var(--white);
}

.header-container {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

/* Title and Logo Row */
.title-and-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap; /* allows wrapping on smaller screens */
  margin-bottom: 0.5rem; /* spacing before the tagline */
}

.title-and-logo h1 {
  font-family: "Calistoga", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 4rem;
  margin: 0; /* remove default margin */
}

.logo {
  margin: 0 1rem; /* space around the logo */
  max-width: 135px; /* adjust size as needed */
  filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.5)); /* optional shadow */
}

.tagline {
  font-family: "Calistoga", serif;
  font-weight: 400;
  font-style: normal;
  color: var(--white);
  letter-spacing: 1px;
  margin: 0;
  text-transform: uppercase; /* matches the screenshot style */
  font-size: 1rem; /* adjust as desired */
}

/* Hero Section */
.hero-section {
  position: relative;
  background: url("./images/sqwee_plump_bagels_optimized.webp") top/cover
    no-repeat;
  /* Replace the URL above with your actual background image for the hero area */
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--blue);
}
.hero-section .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    0deg,
    rgba(255, 255, 255, 1) 0%,
    rgba(255, 255, 255, 0.8) 35%,
    rgba(255, 255, 255, 0.6) 100%
  );
}
.hero-section .welcome-text {
  position: relative; /* so it's above the overlay */
  max-width: 800px;
  text-align: center;
  font-family: "Averia Sans Libre", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: large;
}
.hero-section h2 {
  font-family: "Calistoga", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2rem;
  margin-bottom: 1rem;
}
.hero-section p {
  margin-bottom: 1rem;
}
.hero-section h3 {
  font-family: "Calistoga", serif;
  font-weight: 400;
  font-style: normal;
  margin-top: 2rem;
  font-size: 1.5rem;
}

/* Locations Section */
.locations-section {
  /* Create a flex container that wraps */
  display: flex;
  flex-wrap: wrap;
  justify-content: center; /* center them horizontally */
  gap: 2rem; /* spacing between cards */
  margin: 0.5rem auto; /* spacing above/below the section */
  max-width: 90vw;
}

.location-card {
  /* Round corners and drop shadow */
  border-radius: 1rem;
  border: var(--blue) 2px solid;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  overflow: hidden; /* ensures rounded corners apply to child elements */
  background-color: var(--white);
  margin: 1rem 0; /* spacing between cards */
  flex: 1 1 calc(50% - 2rem);
  max-width: 500px;
}

/* The blue header at the top */
.location-header {
  background-color: var(--blue); /* your brand blue */
  text-align: center;
}

.location-header h2 {
  color: var(--white);
  font-size: 4rem;
  margin: 0;
  font-family: "Calistoga", serif;
  font-weight: 400;
  font-style: normal;
}

/* The map container */
.map-container {
  /* You can add padding or a border if desired */
  margin: 0 auto;
  border-bottom: var(--blue) 2px solid;
}

.map-container iframe {
  width: 100%;
  height: 100%;
  min-height: 250px;
  border: none; /* remove default border */
}

/* The section that holds phone/address/hours */
.location-info {
  padding: 1rem;
  text-align: center; /* center all text; optional */
}

/* Each info block (Phone, Address, Hours) */
.info-block {
  margin: 1rem 0;
  font-family: "Averia Sans Libre", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: var(--blue);
}

/* The horizontal lines with the icon in the middle */
.icon-and-hr {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.5rem;
}

.icon-and-hr hr {
  flex: 1; /* allows the line to stretch */
  border: none; /* remove default 3D look */
  border-top: 1px solid var(--gray);
  margin: 0 0.5rem; /* space around icon */
}

.icon-and-hr i {
  color: var(--red); /* a contrasting red for the icon */
  font-size: 1.2rem; /* adjust as you like */
}

/* Headings (Phone, Address, Hours) */
.info-block h4 {
  color: var(--blue);
  font-size: 1rem;
  margin-bottom: 0.25rem;
}

/* Paragraph text for details (number, address, etc.) */
.info-block p {
  margin: 0;
  font-size: 0.95rem;
  color: var(--blue);
}

/* Note Section */
.note-section {
  display: flex;
  align-items: center;
  justify-content: center; /* horizontally center everything */
  padding: 0.5rem;
  gap: 0.5rem; /* space between icon and text */
  font-size: 1rem;
  color: var(--blue); /* the blue color for the text */
  font-family: "Averia Sans Libre", sans-serif;
  font-weight: 400;
}

/* The red exclamation icon */
.note-section i.fa-circle-exclamation {
  color: var(--red);
  font-size: 1.2rem;
  margin: 0;
}

/* The red exclamation icon */
.note-section i.fa-circle-exclamation {
  color: var(--red);
  font-size: 1.4rem;
}

/* In the top bar */
.phone-numbers span i {
  margin-right: 0.25rem;
  color: var(--white);
}

/* Footer */
.site-footer {
  /* no specific background so each sub-section can have its own color */
  width: 100%;
}

/* Top white area with centered logo */
.footer-top {
  background-color: var(--white); /* white background */
  text-align: center;
  padding-top: 1rem 0; /* vertical spacing around the logo */
}

/* Adjust logo size as needed */
.footer-logo {
  width: 100px; /* or your desired width */
  filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.5)); /* optional shadow */
}

/* Middle blue bar */
.footer-blue-bar {
  background-color: var(--blue);
  text-align: center;
  padding: 0.8rem 0;
}

/* Make the text white and bold or uppercase if you like */
.footer-blue-bar p {
  font-family: "Calistoga", serif;
  color: var(--white);
  margin: 0;
}

/* Thin red bar at bottom */
.footer-red-bar {
  background-color: var(--red);
  height: 0.5rem; /* adjust thickness as needed */
  width: 100%;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  .locations-section {
    flex-direction: column;
  }
  .location-card {
    flex: 1 1 100%;
    margin: 0.5rem 0;
  }
}

@media (max-width: 480px) {
  .title-and-logo h1 {
    font-size: 5rem; /* slightly larger titles on extra-small screens */
  }

  .tagline {
    font-size: 0.9rem;
  }

  .hero-section {
    padding: 1rem; /* add extra padding so text doesn't touch the edges */
  }

  .top-bar-inner span {
    font-size: 0.7rem; /* reduce top bar text size */
    text-decoration: none;
  }

  .location-info h4 {
    font-size: 0.9rem;
  }

  .location-info p {
    font-size: 0.85rem;
  }
}

/* Google Fonts */
/* Calistoga */
.calistoga-regular {
  font-family: "Calistoga", serif;
  font-weight: 400;
  font-style: normal;
}

/* Averia */
.averia-sans-libre-light {
  font-family: "Averia Sans Libre", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.averia-sans-libre-regular {
  font-family: "Averia Sans Libre", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.averia-sans-libre-bold {
  font-family: "Averia Sans Libre", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.averia-sans-libre-light-italic {
  font-family: "Averia Sans Libre", sans-serif;
  font-weight: 300;
  font-style: italic;
}

.averia-sans-libre-regular-italic {
  font-family: "Averia Sans Libre", sans-serif;
  font-weight: 400;
  font-style: italic;
}

.averia-sans-libre-bold-italic {
  font-family: "Averia Sans Libre", sans-serif;
  font-weight: 700;
  font-style: italic;
}
