/* Bayview Village Pharmacy design. Colours come from the logo. Sizes are in px because the
   theme sets the root font size to 10px. Everything is scoped so it switches off cleanly. */
body.bvp-design.custom-background { background: #fff; }
body.bvp-design {
  --navy: #004070; --navy-dark: #002f54; --navy-tint: #e9f0f6;
  --ink: #1c2730; --muted: #55636f; --line: #d8e0e6; --wash: #f5f7f9;
  --ok: #17693c; --ok-bg: #e4f3ea;
  --font: "Inter var", Inter, "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
  background: #fff;
  color: var(--ink);
  font: 400 18px/1.6 var(--font);
  letter-spacing: normal;
}

/* The theme's own header, menu and footer give way to ours. */
.bvp-design #site-header, .bvp-design .menu-modal, .bvp-design .search-modal,
.bvp-design #site-footer, .bvp-design .footer-nav-widgets-wrapper { display: none; }

.bvp-design .bvp-wrap { width: min(1120px, 100% - 40px); margin-inline: auto; }
.bvp-design h1, .bvp-design h2, .bvp-design h3, .bvp-design h4 {
  font-family: var(--font); color: var(--navy-dark); font-weight: 700;
  line-height: 1.2; letter-spacing: -0.01em; margin: 0;
}
.bvp-design .entry-content, .bvp-design .entry-content p, .bvp-design .entry-content li,
.bvp-design .entry-content label, .bvp-design .entry-content input, .bvp-design .entry-content select,
.bvp-design .entry-content textarea, .bvp-design .entry-content button {
  font-family: var(--font); letter-spacing: normal;
}
.bvp-design .entry-content { font-size: 18px; line-height: 1.6; color: var(--ink); }
.bvp-design a { color: var(--navy); }
.bvp-design a:focus-visible, .bvp-design button:focus-visible { outline: 3px solid #f0a500; outline-offset: 2px; }

/* Buttons */
.bvp-design a.bvp-btn, .bvp-design .wp-block-button__link, .bvp-design .pbSubmit {
  display: inline-block; min-height: 48px; padding: 11px 22px; border-radius: 6px;
  background: var(--navy); border: 2px solid var(--navy); color: #fff;
  font: 600 17px/1.4 var(--font); letter-spacing: normal; text-transform: none; text-align: center; text-decoration: none; cursor: pointer;
}
.bvp-design a.bvp-btn:hover, .bvp-design .wp-block-button__link:hover, .bvp-design .pbSubmit:hover { background: var(--navy-dark); border-color: var(--navy-dark); color: #fff; }
.bvp-design a.bvp-btn.bvp-ghost, .bvp-design .is-style-outline .wp-block-button__link { background: transparent; color: var(--navy); border-color: var(--navy); }
.bvp-design a.bvp-btn.bvp-ghost:hover, .bvp-design .is-style-outline .wp-block-button__link:hover { background: var(--navy-tint); color: var(--navy-dark); }

/* Header */
.bvp-top { border-bottom: 1px solid var(--line); background: #fff; }
.bvp-design .bvp-top .bvp-wrap { display: flex; align-items: center; justify-content: space-between; gap: 12px 24px; padding: 12px 0; flex-wrap: wrap; }
.bvp-top .bvp-logo { display: block; width: 180px; height: auto; }
.bvp-top nav { display: flex; gap: 6px 20px; align-items: center; flex-wrap: wrap; font-size: 17px; }
.bvp-top nav a:not(.bvp-btn) { color: var(--ink); text-decoration: none; padding: 9px 2px; }
.bvp-top nav a:not(.bvp-btn):hover { color: var(--navy); text-decoration: underline; }

/* Homepage */
.bvp-design.home .entry-header, .bvp-design.home .featured-media { display: none; }
.bvp-design.home .post-inner { padding: 0; }
.bvp-design.home main#site-content, .bvp-design.home article.hentry { margin: 0; padding: 0; }
/* !important: the theme limits every child of .entry-content to 580px with a long selector. */
.bvp-design .entry-content > .bvp-home { width: 100% !important; max-width: none !important; margin: 0 !important; }
.bvp-home section { padding: clamp(44px, 7vw, 76px) 0; }
.bvp-home img { display: block; width: 100%; height: auto; margin: 0; max-width: none; }
.bvp-home h1 { font-size: clamp(32px, 4.5vw, 50px); margin-bottom: 16px; }
.bvp-home h2 { font-size: clamp(25px, 3vw, 34px); }
.bvp-home h3 { font-size: 21px; }
.bvp-home p { margin: 0 0 1em; font-size: 18px; }
.bvp-home p:last-child { margin-bottom: 0; }
.bvp-home .bvp-wash { background: var(--wash); }
.bvp-home p.bvp-lede { font-size: 20px; color: var(--muted); max-width: 62ch; }
.bvp-home .bvp-hero .bvp-wrap { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(28px, 5vw, 60px); align-items: center; }
.bvp-home .bvp-hero img { border-radius: 10px; aspect-ratio: 4 / 3; object-fit: cover; }
.bvp-home p.bvp-tag { font-size: clamp(26px, 3.2vw, 36px); line-height: 1.2; font-weight: 700; letter-spacing: -0.01em; color: var(--navy); margin-bottom: 14px; }
.bvp-home .bvp-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 22px; }
.bvp-home .bvp-facts { background: var(--navy); color: #fff; padding: 20px 0; }
.bvp-home .bvp-facts .bvp-wrap { display: grid; grid-template-columns: 1fr 1.5fr 1fr; gap: 16px 32px; font-size: 17px; }
.bvp-home .bvp-facts strong { display: block; font-size: 14px; letter-spacing: 0.04em; text-transform: uppercase; opacity: 0.85; font-weight: 600; }
.bvp-home .bvp-facts a { color: #fff; }
.bvp-home .bvp-head { margin-bottom: 28px; }
.bvp-home .bvp-head p { margin-top: 10px; }
.bvp-home .bvp-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.bvp-home .bvp-card { background: #fff; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; display: flex; flex-direction: column; }
.bvp-home .bvp-card img { aspect-ratio: 4 / 3; object-fit: cover; }
.bvp-home .bvp-body { padding: 22px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.bvp-home .bvp-body p { color: var(--muted); margin: 0; }
.bvp-home .bvp-push { margin-top: auto; }
.bvp-home .bvp-status { align-self: flex-start; font-size: 15px; font-weight: 600; padding: 3px 10px; border-radius: 999px; background: var(--ok-bg); color: var(--ok); }
.bvp-home .bvp-quote { text-align: center; }
.bvp-home blockquote { margin: 0 auto; padding: 0; border: 0; max-width: 30ch; font-size: clamp(23px, 3vw, 32px); line-height: 1.3; font-weight: 700; color: var(--navy-dark); font-style: normal; }
.bvp-home .bvp-quote p { max-width: 62ch; margin: 24px auto 0; color: var(--muted); text-align: left; }
.bvp-home .bvp-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 60px); align-items: center; }
.bvp-home .bvp-split img { border-radius: 10px; aspect-ratio: 4 / 3; object-fit: cover; }
.bvp-home .bvp-split h2 { margin-bottom: 14px; }
.bvp-home .bvp-quote .bvp-about { margin-top: 36px; text-align: left; }
.bvp-home .bvp-quote .bvp-about p { margin: 0 0 1em; max-width: none; }
.bvp-home .bvp-quote .bvp-about p:last-child { margin-bottom: 0; }

/* Other pages */
.bvp-design:not(.home) .entry-header { background: var(--wash); padding: 40px 20px; margin: 0; border: 0; }
.bvp-design:not(.home) .entry-header h1, .bvp-design:not(.home) .entry-title { font-size: clamp(28px, 4vw, 42px); }
.bvp-design:not(.home) .post-inner { padding-top: 36px; }
.bvp-design:not(.home) .entry-content { max-width: 760px; margin-inline: auto; padding-inline: 20px; }
.bvp-design:not(.home) .entry-content > * { max-width: 100% !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
.bvp-design .entry-content h2 { font-size: 28px; margin: 1.4em 0 0.5em; }
.bvp-design .entry-content h3 { font-size: 22px; margin: 1.3em 0 0.5em; }
.bvp-design:not(.home) .entry-content p { margin: 0 0 1em; }

.bvp-design .entry-content blockquote, .bvp-design .wp-block-quote { border-color: var(--navy) !important; }
.bvp-design .entry-content hr { border-color: var(--line); }

/* Booking and contact forms */
.bvp-design .cpp_form .fform h1 { display: none; }
.bvp-design .cpp_form .fform > span { display: none; }
.bvp-design .cpp_form label { font-size: 17px; font-weight: 600; color: var(--ink); }
.bvp-design .cpp_form input[type=text], .bvp-design .cpp_form input[type=email], .bvp-design .cpp_form input[type=tel],
.bvp-design .cpp_form textarea, .bvp-design .cpp_form select,
.bvp-design .wpcf7 input:not([type=submit]):not([type=checkbox]), .bvp-design .wpcf7 textarea {
  min-height: 46px; padding: 9px 12px; border: 1px solid #9aa8b3; border-radius: 6px; background: #fff; font-size: 17px; color: var(--ink);
}
.bvp-design .cpp_form select { width: 100%; max-width: 100%; }
.bvp-design .cpp_form .cff-phone-field .dfield { display: flex; gap: 8px; flex-wrap: nowrap; }
.bvp-design .wpcf7 input[type=submit] { background: var(--navy); color: #fff; border: 0; border-radius: 6px; min-height: 48px; padding: 11px 22px; font: 600 17px var(--font); text-transform: none; letter-spacing: normal; cursor: pointer; }
.bvp-design .wpcf7 input[type=submit]:hover { background: var(--navy-dark); }
.bvp-design .cpp_form a { color: var(--navy); }
/* !important: the booking plugin's stylesheet is loaded inside the form and sets these firmly. */
.bvp-design .cpp_form input[type=text], .bvp-design .cpp_form input[type=email], .bvp-design .cpp_form input[type=tel],
.bvp-design .cpp_form textarea { padding: 9px 14px !important; font-size: 17px !important; box-sizing: border-box; }
.bvp-design .cpp_form .cff-phone-field .uh_phone { margin: 0 !important; }
.bvp-design .cpp_form .pbSubmit { background: var(--navy) !important; border-color: var(--navy) !important; color: #fff !important; }
.bvp-design .cpp_form .pbSubmit:hover { background: var(--navy-dark) !important; border-color: var(--navy-dark) !important; }
.bvp-design .ui-datepicker .ui-datepicker-header { background: var(--navy-tint) !important; color: var(--navy-dark) !important; }
.bvp-design .ui-datepicker td.ui-datepicker-current-day a,
.bvp-design .ui-datepicker .ui-state-active { background: var(--navy) !important; color: #fff !important; }

/* Footer */
.bvp-foot { background: var(--navy-dark); color: #fff; padding: 48px 0 26px; font-size: 17px; }
.bvp-design .bvp-foot h2 { color: #fff; font-size: 19px; margin: 0 0 10px; }
.bvp-design .bvp-foot a { color: #fff; }
.bvp-foot p { margin: 0 0 1em; }
.bvp-foot p.bvp-motto { font-size: 19px; font-weight: 600; margin-bottom: 12px; }
.bvp-foot .bvp-foot-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 28px 44px; }
.bvp-foot dl { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 3px 16px; }
.bvp-foot dt { font-weight: 600; margin: 0; }
.bvp-foot dd { margin: 0; }
.bvp-foot .bvp-social { list-style: none; margin: 8px 0 0; padding: 0; display: flex; gap: 8px 20px; flex-wrap: wrap; }
.bvp-foot .bvp-social li { margin: 0; }
.bvp-foot .bvp-social a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; text-decoration: none; }
.bvp-foot .bvp-social a:hover { text-decoration: underline; }
.bvp-foot .bvp-foot-base { margin: 30px 0 0; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, 0.25); font-size: 15px; }

@media (max-width: 860px) {
  .bvp-home .bvp-hero .bvp-wrap, .bvp-home .bvp-split { grid-template-columns: 1fr; }
  .bvp-home .bvp-hero img { order: -1; }
  .bvp-home .bvp-cards { grid-template-columns: 1fr; }
  .bvp-home .bvp-facts .bvp-wrap { grid-template-columns: 1fr; }
  .bvp-foot .bvp-foot-grid { grid-template-columns: 1fr; }
  .bvp-design .bvp-top .bvp-wrap { justify-content: center; padding: 8px 0 12px; }
  .bvp-top .bvp-logo { width: 112px; }
  .bvp-top nav { justify-content: center; gap: 0 14px; font-size: 16px; }
  .bvp-design .bvp-top a.bvp-btn { width: 100%; }
  .bvp-design:not(.home) .entry-header { padding: 26px 20px; }
}
