/* 2026-10-24 Law 25 consent box + click-to-load embeds (see dist/js/consent.js). */
#amb-consent {
  position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%); z-index: 9999;
  width: min(680px, calc(100% - 32px)); box-sizing: border-box;
  display: flex; align-items: center; gap: 18px; padding: 16px 20px;
  background: #fbf8f3; color: #2a211d; border: 1px solid #e6dccd; border-top: 3px solid #cc9b56;
  border-radius: 4px; box-shadow: 0 18px 40px -18px rgba(42,33,29,.45);
  font-family: "Montserrat", sans-serif; font-size: 14px; line-height: 1.5;
}
#amb-consent[hidden] { display: none; }
#amb-consent p { margin: 0; flex: 1; }
.amb-consent-btns { display: flex; gap: 8px; flex-shrink: 0; }
.amb-consent-btns button {
  font: 600 13px/1 "Montserrat", sans-serif; letter-spacing: .04em; text-transform: uppercase;
  padding: 11px 16px; border-radius: 2px; cursor: pointer;
  background: transparent; color: #770f00; border: 1px solid #770f00;
}
.amb-consent-btns button.amb-yes { background: #770f00; color: #fff; }
.amb-consent-btns button:hover { opacity: .88; }
@media (max-width: 600px) {
  #amb-consent { flex-direction: column; align-items: stretch; gap: 12px; bottom: 12px; }
  .amb-consent-btns button { flex: 1; padding: 13px 10px; }
}

.amb-embed {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px;
  min-height: 300px; height: 100%; padding: 28px 22px; box-sizing: border-box; text-align: center;
  background: #f3ece2; color: #2a211d; font-family: "Montserrat", sans-serif; font-size: 14px; line-height: 1.55;
}
.amb-embed p { margin: 0; max-width: 420px; }
.amb-embed button {
  font: 600 13px/1 "Montserrat", sans-serif; letter-spacing: .04em; text-transform: uppercase;
  padding: 13px 20px; border: 0; border-radius: 2px; background: #770f00; color: #fff; cursor: pointer;
}
.amb-embed a { color: #770f00; text-decoration: underline; }
.contact-page .cx-map .amb-embed { min-height: 380px; }
.instagram_holder .amb-embed { min-height: 220px; }
.footer-btm .amb-legal a { color: inherit; text-decoration: underline; }

/* Privacy policy pages (politique-de-confidentialite.php, en/privacy-policy.php) */
.amb-policy { background: #fbf8f3; padding: 135px 16px 90px; }
.amb-policy em { font-style: normal; color: inherit; } /* the site's Montserrat italic face is a thin weight */
.amb-policy-inner { max-width: 780px; margin: 0 auto; color: #2a211d; font-family: "Montserrat", sans-serif; font-size: 16px; line-height: 1.7; }
.amb-policy h1 { font-family: "Montserrat", sans-serif; font-weight: 700; font-size: 2.3rem; line-height: 1.2; color: #770f00; margin: 0 0 6px; text-transform: none; }
.amb-policy-date { color: #8a7b6c; font-size: 14px; margin: 0 0 34px; padding-bottom: 22px; border-bottom: 1px solid #e6dccd; }
.amb-policy h2 { font-family: "Montserrat", sans-serif; font-weight: 700; font-size: 1.25rem; color: #770f00; margin: 38px 0 12px; text-transform: none; letter-spacing: 0; }
.amb-policy p, .amb-policy li { color: #2a211d; }
.amb-policy ul { padding-left: 1.2em; margin: 0 0 14px; }
.amb-policy li { margin-bottom: 8px; }
.amb-policy a { color: #770f00; text-decoration: underline; }
@media (max-width: 767px) { .amb-policy { padding-top: 100px; } .amb-policy h1 { font-size: 1.8rem; } }
#amb-consent p a { color: #770f00; text-decoration: underline; white-space: nowrap; }

/* Notice at collection above the contact form's submit button */
.amb-form-notice { font-family: "Montserrat", sans-serif; font-size: 13px; line-height: 1.55; color: #5c4f45; margin: 4px 0 18px; text-align: left; }
.amb-form-notice a { color: #770f00; text-decoration: underline; }

/* Phones (2026-10-24 mobile pass): bigger tap targets in the footer and no text under 12px. */
@media (max-width: 767px) {
  .footer-wrap .fservices li a,
  .footer-wrap .address a { display: inline-block; padding: 11px 0; }
  .footer-wrap .footer-logo a { display: inline-block; padding: 6px 0; }
  .footer-btm p, .footer-btm a { font-size: 13px; line-height: 1.6; }
  .footer-btm .amb-legal { display: block; margin-top: 6px; }
  .footer-btm .amb-legal a, .footer-btm .websiteby a { display: inline-block; padding: 12px 4px; }
  .journal-page .j-date, .journal-page .j-more { font-size: 12.5px; }
  body.contact-page p.cx-hours-label, body.contact-page a.cx-btn-outline, body.contact-page .form-group small { font-size: 12.5px; }
}
/* Phone/tablet menu: the whole dropdown row is tappable (links were 20px tall inside spaced rows). */
@media (max-width: 991px) {
  .navbar .dropdown-menu li { margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; }
  .navbar .dropdown-menu .dropdown-item { display: block; padding-top: 11px; padding-bottom: 11px; }
}
/* Short phones: the open menu scrolls inside the screen (was a fixed 530px, cut off on 568px-tall phones). */
@media (max-width: 991px) {
  #navbarSupportedContent { max-height: calc(100vh - 50px) !important; max-height: calc(100dvh - 50px) !important; }
}
