/* Additions for WordPress (admin bar, mobile menu, generic pages, form notices). */

/* Headline font: classic serif (Playfair Display) instead of Fraunces. */
:root, :host { --font-display: "Playfair Display", Georgia, "Times New Roman", serif; }
.font-display { font-family: var(--font-display); font-optical-sizing: auto; }
.font-display.tracking-tight, .font-display .tracking-tight { letter-spacing: -0.01em; }
.font-display.font-light, .font-display .font-light, h1 .font-light { font-weight: 400; }
.uec-prose h2, .uec-prose h3, .uec-prose h4 { font-family: var(--font-display); letter-spacing: -0.01em; }

/* Never show the old "WP Responsive Menu" plugin; this theme has its own menu. */
.wprm-wrapper, #wprmenu_bar, #mg-wprm-wrap, .wprm-overlay, .wprmenu_bar, .cbp-spmenu { display: none !important; }
html { margin-top: 0 !important; }
html body.cbp-spmenu-push { left: 0 !important; padding-top: 0 !important; }

/* Keep the decorative eye-chart letters fully inside the page. */
section > div[aria-hidden="true"].pointer-events-none.absolute { right: 2rem !important; }
section > div[aria-hidden="true"].pointer-events-none.absolute > div { margin-right: -0.12em; }
body.admin-bar header.sticky { top: 32px; }
@media (max-width: 782px) { body.admin-bar header.sticky { top: 46px; } }
@media (max-width: 600px) { body.admin-bar header.sticky { top: 0; } }

.uec-notice { grid-column: 1 / -1; border-radius: 1rem; padding: 1rem 1.25rem; font-size: .95rem; line-height: 1.5; }
.uec-notice--ok { background: #dbe6f6; color: #123873; }
.uec-notice--err { background: #fbe4e1; color: #7a1f14; }

/* Utilities used by the Myopia Management page that the design stylesheet lacks */
.bg-line { background-color: #ddd4c4; }
.divide-paper\/10 > :not(:last-child) { border-bottom: 1px solid rgba(247, 243, 236, .1); }
@media (min-width: 48rem) { .md\:p-16 { padding: 4rem; } }

/* Booking calendar (Simply Schedule Appointments) */
.min-w-0 { min-width: 0; }
.uec-booking iframe { width: 100% !important; min-height: 640px; border: 0; border-radius: 1rem; }

/* Generic pages (pages that were not part of the redesign) */
.uec-prose { color: #3b4556; font-size: 1.125rem; line-height: 1.75; }
.uec-prose > * + * { margin-top: 1.25rem; }
.uec-prose h2, .uec-prose h3, .uec-prose h4 { font-family: var(--font-display); color: #121a26; line-height: 1.2; margin-top: 2.5rem; }
.uec-prose h2 { font-size: 2rem; }
.uec-prose h3 { font-size: 1.5rem; }
.uec-prose a { color: #1b4f9c; text-decoration: underline; text-underline-offset: 3px; }
.uec-prose ul { list-style: disc; padding-left: 1.5rem; }
.uec-prose ol { list-style: decimal; padding-left: 1.5rem; }
.uec-prose img { border-radius: 1.5rem; height: auto; }
.uec-prose .abt_img, .uec-prose .alignleft { float: left; margin: .25rem 1.5rem 1rem 0; max-width: 45%; }
.uec-prose .alignright { float: right; margin: .25rem 0 1rem 1.5rem; max-width: 45%; }
.uec-prose::after { content: ""; display: table; clear: both; }
.uec-prose .gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 1rem; }
.uec-prose .gallery br { display: none; }
.uec-prose input:not([type=submit]):not([type=checkbox]):not([type=radio]), .uec-prose textarea, .uec-prose select { width: 100%; border: 1px solid #ddd4c4; border-radius: .75rem; background: #fff; padding: .7rem .9rem; }
.uec-prose input[type=submit] { border-radius: 999px; background: #1b4f9c; color: #f7f3ec; padding: .8rem 1.75rem; font-weight: 600; cursor: pointer; }
