/* ============================================
   Biondi Diamond Jewelers — Custom Widget CSS
   Version 3.1 — updated to new brand palette
   Primary #0F3D34 | Accent #D4BE8A
   ============================================ */

:root {
  --bdj-bg: #FFFFFF;        /* page intro background */
  --bdj-primary: #0F3D34;   /* deep green — buttons, headings, borders */
  --bdj-accent: #D4BE8A;    /* champagne gold — dividers, hovers */
  --bdj-text: #2B322F;      /* body copy */
  --bdj-surface: #FFFFFF;   /* chips / cards */
  --bdj-light: #FFFFFF;     /* text on dark fills */
}

/* =========================================================
   Appointment embed
   ========================================================= */
.biondi-appointment-embed {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}

.biondi-appointment-embed iframe {
  display: block;
  width: 100%;
  height: 1200px;
  border: 0;
}

@media (max-width: 991.98px) {
  .biondi-appointment-embed iframe {
    height: 1300px;
  }
}

@media (max-width: 575.98px) {
  .biondi-appointment-embed iframe {
    height: 1450px;
  }
}

/* =========================================================
   Page intro widget
   ========================================================= */
.bdj-page-intro {
  background-color: var(--bdj-bg);
  padding: 40px 0;
  text-align: left;
  width: 100%;
}

.bdj-page-intro__divider {
  width: 48px;
  height: 1px;
  background-color: var(--bdj-accent);
  margin: 0 0 20px 0;
}

.bdj-page-intro__body {
  font-size: 0.975rem;
  line-height: 1.85;
  color: var(--bdj-text);
  font-weight: 400;
  margin-bottom: 28px;
}

.bdj-page-intro__body strong {
  color: var(--bdj-primary);
  font-weight: 600;
}

/* Highlights row */
.bdj-page-intro__highlights {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 28px;
}

.bdj-page-intro__highlight {
  display: inline-block;
  background-color: var(--bdj-surface);
  border: 1px solid var(--bdj-accent);
  color: var(--bdj-primary);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 8px 16px;
  font-weight: 500;
}

/* CTA buttons row */
.bdj-page-intro__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.bdj-page-intro__btn {
  display: inline-block;
  padding: 12px 28px;
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 500;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.bdj-page-intro__btn--primary {
  background-color: var(--bdj-primary);
  color: var(--bdj-light);
  border: 1px solid var(--bdj-primary);
}

.bdj-page-intro__btn--primary:hover,
.bdj-page-intro__btn--primary:focus {
  background-color: var(--bdj-accent);
  border-color: var(--bdj-accent);
  color: var(--bdj-primary);
}

.bdj-page-intro__btn--secondary {
  background-color: transparent;
  color: var(--bdj-primary);
  border: 1px solid var(--bdj-primary);
}

.bdj-page-intro__btn--secondary:hover,
.bdj-page-intro__btn--secondary:focus {
  background-color: var(--bdj-primary);
  border-color: var(--bdj-primary);
  color: var(--bdj-light);
}

@media (max-width: 768px) {
  .bdj-page-intro {
    padding: 32px 0;
  }

  .bdj-page-intro__body {
    font-size: 0.925rem;
  }

  .bdj-page-intro__btn {
    width: 100%;
    text-align: center;
  }
}

/* =========================================================
   Store Information map embed (About / Contact, right column)
   Wrapper: .biondi-store-map
   ========================================================= */
.biondi-store-map {
  width: 100%;
  height: 100%;
}

.biondi-store-map .ratio > iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 768px) {
  .biondi-store-map {
    margin-top: 1.5rem;
  }
}
