/* Modular composition; spacing roles are owned by SPACING.md. */
.omedica-contacts-system {display:grid;gap:var(--section-gap);--contact-card-inline-padding:var(--card-padding);}
/* The heading belongs to this section: Gutenberg flow margin must not add to its grid gap. */
html body .omedica-contacts-system > .omedica-contact-grid {margin-block:0;}
.omedica-contacts-system {row-gap:var(--content-gap);}
.omedica-contacts-system > * {margin-block:0;min-width:0;}
.omedica-contact-grid,.omedica-contact-action-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--stack-gap);}
.omedica-contact-grid > *,.omedica-contact-action-grid > * {min-width:0;margin:0;}
.omedica-contact-cell {padding:var(--card-padding-spacious);border:var(--wp--custom--border--width) solid var(--wp--preset--color--border);border-radius:var(--wp--custom--radius--md);box-sizing:border-box;overflow-wrap:anywhere;}
.omedica-contact-info,.omedica-contact-location,.omedica-contact-gallery {grid-column:span 2;}
.omedica-contact-info {display:flex;flex-direction:column;gap:var(--stack-gap);min-block-size:clamp(20rem,30vw,28rem);}
.omedica-contact-info > *,.omedica-contact-info p {margin:0;}
.omedica-contact-info a:not(.wp-element-button) {text-decoration:none;}
.omedica-contact-primary-phone {font-size:clamp(2rem,3.3vw,3.5rem);font-weight:600;line-height:1.2;}
.omedica-contact-info__bottom {display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--stack-gap);margin-block-start:auto;padding-block-start:var(--content-gap);}
.omedica-contact-info__bottom > * {margin:0;}
.omedica-contact-location {padding:0;overflow:hidden;}
.omedica-contact-location .omedica-map-frame {display:block;width:100%;height:100%;min-height:20rem;border:0;aspect-ratio:5/3;}
.omedica-contact-direction {display:flex;flex-direction:column;gap:var(--stack-gap);}
.omedica-contact-direction > * {margin:0;}
.omedica-contact-direction h3 {font-size:var(--wp--preset--font-size--medium);line-height:1.3;}
.omedica-contact-action-grid {grid-template-columns:repeat(5,minmax(0,1fr));}
.omedica-contact-booking-cell {grid-column:span 2;display:flex;}
.omedica-contact-booking-cell .wp-block-button__link,.omedica-feedback-action {display:flex;align-items:center;justify-content:center;text-align:center;gap:var(--control-gap);width:100%;padding:var(--card-padding-spacious);box-sizing:border-box;border-radius:var(--wp--custom--radius--md);min-height:var(--wp--custom--interaction--touch-target);font-size:var(--wp--preset--font-size--medium);text-decoration:none;}
.omedica-feedback-action {border:var(--wp--custom--border--width) solid var(--wp--preset--color--border);}
html:not(.special) .omedica-feedback-action:hover,html:not(.special) .omedica-contact-info a:hover {color:var(--wp--preset--color--action);}
.omedica-contact-route {display:grid;gap:var(--content-gap);}
.omedica-contact-route > * {margin:0;}
.omedica-contact-route .omedica-contacts-map {width:100%;}
.omedica-facade-strip {display:grid;gap:var(--control-gap);}
.omedica-photo-track {display:grid;grid-auto-flow:column;grid-auto-columns:88%;gap:var(--control-gap);overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;min-width:0;max-width:100%;}
.omedica-photo-tile {margin:0;min-width:0;scroll-snap-align:start;}
:where(.omedica-photo-tile) .omedica-photo-viewport {display:block;aspect-ratio:3/2;}
.omedica-feedback-dialog {width:calc(100% - 2 * var(--page-gutter));max-width:var(--wp--style--global--content-size);max-height:calc(100dvh - 2 * var(--stack-gap));padding:var(--card-padding-spacious);border:var(--wp--custom--border--width) solid var(--wp--preset--color--border);border-radius:var(--wp--custom--radius--md);color:var(--wp--preset--color--text);background:var(--wp--preset--color--background);box-sizing:border-box;overscroll-behavior:contain;}
.omedica-feedback-dialog::backdrop {background:color-mix(in srgb,var(--wp--preset--color--text) 65%,transparent);}
.omedica-feedback-dialog[open] {display:flex;flex-direction:column;gap:var(--stack-gap);}
.omedica-dialog-close {align-self:end;padding:0;cursor:pointer;}
.omedica-feedback-panels {display:grid;gap:var(--section-gap);}
.omedica-feedback-panels:has(> dialog):not(:has(> section)) {gap:0;}
.omedica-feedback-panel > h2 {margin:0 0 var(--stack-gap);}
.omedica-feedback-dialog .omedica-contact-method {border:0;padding:0;background:transparent;}
.omedica-feedback-dialog .omedica-contact-method > summary {display:none;}
.omedica-feedback-dialog .omedica-contact-form {border:0;padding:0;margin:0;}
:is(.omedica-contact-grid,.omedica-contact-action-grid,.omedica-photo-lightbox,.omedica-feedback-dialog) :is(a,button,[tabindex]):focus-visible {outline:var(--wp--custom--focus--width) solid var(--wp--preset--color--action);outline-offset:var(--wp--custom--focus--offset);}
@media(max-width:1199px){
 .omedica-contact-grid,.omedica-contact-action-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .omedica-contact-info,.omedica-contact-location {grid-column:span 1;}
 .omedica-contact-gallery {grid-column:span 2;}
 .omedica-contact-primary-phone {font-size:clamp(1.5rem,3.8vw,2.75rem);}
}
@media(max-width:767px){
 .omedica-contact-grid,.omedica-contact-action-grid {grid-template-columns:minmax(0,1fr);}
 .omedica-contact-grid > *,.omedica-contact-action-grid > * {grid-column:auto;}
 .omedica-contact-info {min-block-size:0;}
 .omedica-contact-location .omedica-map-frame {min-height:0;height:auto;aspect-ratio:4/3;}
 .omedica-photo-track {grid-auto-columns:88%;}
}
.omedica-contact-grid:not(:has(.omedica-facade-strip)) .omedica-contact-direction {grid-column:span 2;}
html:not(.special) .omedica-contact-action-group .dashicons-phone::before {content:none;}
html.special .omedica-contact-action-group .omedica-utility-phone-line {display:none;}
/* WP social SVG is a filled silhouette, not a stroked route icon. Explicitly
   reset its inherited black color; never filter or outline its filled path. */
html:not(.special) .omedica-contact-action-group__secondary :is(svg,svg path,.dashicons) {color:var(--wp--preset--color--action);}
html:not(.special) .omedica-contact-action-group .wp-social-link svg {fill:currentColor;stroke:none;width:20px;height:20px;}
html:not(.special) .omedica-contact-action-group .wp-social-link svg path {fill:currentColor;}
.omedica-contact-action-group__secondary :is(.omedica-icon-button,.wp-social-link > a) {display:inline-flex;align-items:center;justify-content:center;}
@media(max-width:767px){.omedica-contact-grid:not(:has(.omedica-facade-strip)) .omedica-contact-direction {grid-column:auto;}}
.omedica-feedback-dialog .omedica-contact-method {overflow:visible;}

/* Contact polish: media fills the existing cell; no new composition. */
.omedica-contact-primary-phone p,.omedica-contact-primary-phone a {font:inherit;white-space:nowrap;overflow-wrap:normal;}
.omedica-contact-info {container-type:inline-size;}
.omedica-contact-primary-phone {font-size:clamp(1.5rem,7.7cqi,3.5rem);}
.omedica-contact-gallery {padding:var(--card-padding-compact);align-self:start;}
.omedica-facade-strip {position:relative;gap:0;}
html:not(.special) .omedica-contact-action-group .omedica-neutral-social .wp-social-link {background:transparent!important;color:var(--wp--preset--color--action)!important;}
html:not(.special) .omedica-contact-action-group .omedica-neutral-social .wp-social-link:hover {background:transparent!important;}
.omedica-contact-primary-phone {font-size:clamp(1.5rem,9.4cqi,4.25rem);letter-spacing:-.025em;}
@media(max-width:1199px){.omedica-contact-primary-phone {font-size:clamp(1.5rem,8.6cqi,3rem);}}
/* Outrank the shared close's position:relative without changing its cross/focus. */
/* In-flow thumbnails: percentage tracks resolve against their own grid column. */
.omedica-contact-gallery {align-self:start;min-width:0;}
.omedica-contact-gallery .omedica-photo-track {width:100%;box-sizing:border-box;grid-auto-columns:calc((100% - 2 * var(--control-gap)) / 2.25);align-items:start;justify-content:start;direction:ltr;scroll-padding-inline:0;}
@media(max-width:767px){.omedica-contact-gallery .omedica-photo-track {grid-auto-columns:82%;}}

/* Desktop row height comes from the transport content, never intrinsic images. */
@media(min-width:1200px){
 .omedica-contact-gallery {align-self:stretch;contain:size;display:grid;grid-template-rows:minmax(0,1fr);min-height:0;}
 .omedica-contact-gallery .omedica-facade-strip {min-height:0;display:grid;grid-template-rows:minmax(0,1fr);}
 .omedica-contact-gallery .omedica-photo-track {min-height:0;height:100%;align-items:stretch;}
 .omedica-contact-gallery .omedica-photo-tile {min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;}
 .omedica-contact-gallery .omedica-photo-viewport {min-height:0;height:100%;aspect-ratio:auto;}
 .omedica-contact-gallery .omedica-photo-viewport img {height:100%;object-fit:cover!important;}
}

/* Shared form composition; foundations remain theme.json + spacing tokens. */
.omedica-modal-header,.omedica-booking-dialog__header {display:flex;align-items:center;justify-content:space-between;gap:var(--control-gap);}
.omedica-modal-header {margin-block-end:var(--stack-gap);}
.omedica-modal-header > h2,.omedica-booking-dialog__header > h2 {margin:0;min-width:0;overflow-wrap:anywhere;}
.omedica-feedback-dialog {max-width:var(--wp--style--global--content-size);}
.omedica-contact-form {width:100%;max-width:var(--wp--style--global--content-size);box-sizing:border-box;}
:is(.omedica-contact-form,.omedica-booking-ui,.omedica-program-request) .omedica-form-control {
 box-sizing:border-box;min-width:0;max-width:100%;min-height:var(--wp--custom--interaction--touch-target);
 border-radius:var(--wp--custom--radius--sm);border:var(--wp--custom--border--width) solid var(--wp--preset--color--border);
 padding:var(--space-xs) var(--space-sm);font:inherit;line-height:1.5;
}
:is(.omedica-contact-form,.omedica-booking-ui,.omedica-program-request) textarea.omedica-form-control {min-height:calc(4 * var(--wp--custom--interaction--touch-target));resize:vertical;}
:is(.omedica-contact-form,.omedica-booking-ui,.omedica-program-request) .omedica-form-control:focus-visible {outline:var(--wp--custom--focus--width) solid var(--wp--preset--color--action);outline-offset:var(--wp--custom--focus--offset);}
.omedica-contact-form > .wp-element-button,.omedica-booking-patient-form > .wp-element-button {border-radius:var(--wp--custom--radius--pill);width:auto;justify-self:start;}
.omedica-contact-form .omedica-review-relations {grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--stack-gap);}
.omedica-contact-form .omedica-form-field {margin:0;}
.omedica-contact-method--review {background:var(--wp--preset--color--background);}
@media(max-width:767px){.omedica-contact-form .omedica-review-relations {grid-template-columns:minmax(0,1fr);}}
/* Select enhancement reads the same geometry contract as ordinary form inputs. */
:is(.omedica-contact-form,.omedica-booking-ui,.omedica-program-request) {--omedica-control-height:var(--wp--custom--interaction--touch-target);--omedica-control-radius:var(--wp--custom--radius--sm);}
html body.omedica-public-polish :is(.omedica-contact-form,.omedica-booking-ui,.omedica-program-request) .omedica-form-control {border-radius:var(--wp--custom--radius--sm);padding:var(--space-xs) var(--space-sm);}
html body.omedica-public-polish :is(.omedica-contact-form,.omedica-booking-ui,.omedica-program-request) textarea.omedica-form-control {min-height:calc(4 * var(--wp--custom--interaction--touch-target));}

/* All public forms share the same control geometry, including enhanced selects. */
.omedica-contact-form .omedica-form-control {width:100%;background:var(--wp--preset--color--background);color:var(--wp--preset--color--text);}
.omedica-contact-form .omedica-form-control::placeholder {color:var(--wp--preset--color--text-muted);opacity:1;}
.omedica-contact-form .omedica-form-control:hover:not(:disabled) {border-color:var(--wp--preset--color--action);}
.omedica-contact-form .omedica-form-control:disabled {opacity:.65;cursor:not-allowed;}
.omedica-contact-form :is(.omedica-form-field,.omedica-consent,.omedica-form-state) {overflow-wrap:anywhere;}
@media(max-width:767px){.omedica-contact-form .omedica-form-grid {grid-template-columns:minmax(0,1fr);}}

@media(min-width:768px){.omedica-contact-form .omedica-form-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}

/* Preserve the existing map slot; no third-party request before permission. */
.omedica-cookie-notice input[type=checkbox] {width:1.25rem;height:1.25rem;flex-shrink:0;}
.omedica-cookie-notice label {display:flex;gap:var(--control-gap);align-items:start;}

.omedica-contact-method:has(> .omedica-contact-form) {max-width:var(--wp--style--global--content-size);width:100%;box-sizing:border-box;}
.omedica-footer-legal-links [data-cookie-settings] {font:inherit;color:inherit;background:transparent;border:0;padding:var(--space-xs) 0;min-height:var(--wp--custom--interaction--touch-target);text-align:start;text-decoration:underline;cursor:pointer;}
/* Canonical contact card: full-width phone, hours beside address + contacts. */
.omedica-contacts-system .omedica-contact-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:var(--stack-gap);}
.omedica-contacts-system .omedica-contact-grid>:is(.omedica-contact-info,.omedica-contact-location,.omedica-contact-gallery) {grid-column:span 2;}
.omedica-contacts-system .omedica-contact-info {display:flex;flex-direction:column;gap:0;padding:0;container-type:inline-size;min-block-size:0;}
.omedica-contacts-system .omedica-contact-primary-phone {padding:var(--card-padding-spacious);font-size:clamp(1.625rem,7.7cqi,3.25rem);line-height:1.15;letter-spacing:-.025em;}
.omedica-contact-info__body {display:grid;grid-template-columns:minmax(8.5rem,.32fr) minmax(0,.68fr);border-top:1px solid var(--wp--preset--color--border);}
.omedica-contact-module {padding:var(--card-padding-compact);min-width:0;display:flex;flex-direction:column;gap:var(--space-sm);}
.omedica-contact-module>* {margin:0;}
.omedica-contact-module h2 {font-size:var(--wp--preset--font-size--small);line-height:1.4;font-weight:600;color:var(--wp--preset--color--muted);}
.omedica-contact-hours {grid-row:span 2;}
.omedica-contact-address,.omedica-contact-details {border-inline-start:1px solid var(--wp--preset--color--border);}
.omedica-contact-details {border-block-start:1px solid var(--wp--preset--color--border);}
.omedica-contact-hours .omedica-clinic-hours-grid {display:grid;gap:.5rem;margin:0;font-size:.875rem;}
.omedica-contact-hours .omedica-clinic-hours-grid>div {display:grid;grid-template-columns:3.25rem minmax(0,1fr);gap:.5rem;align-items:baseline;}
.omedica-contact-hours .omedica-clinic-hours-grid dt,.omedica-contact-hours .omedica-clinic-hours-grid dd {margin:0;white-space:nowrap;font-weight:400;}
.omedica-contact-navigators {display:grid;gap:.5rem;}
.omedica-contact-navigators p {font-size:.8125rem;margin:0;color:var(--wp--preset--color--muted);}
.omedica-contact-navigators>div {display:flex;flex-wrap:wrap;gap:.5rem;}
.omedica-contact-action-group--direct {display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding-block-start:.5rem;}
.omedica-contact-action-group--direct .wp-block-social-links {margin:0;padding:0;display:flex;}
.omedica-contact-action-group--direct :is(.omedica-icon-button,.wp-social-link>a) {display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;border:1px solid var(--wp--preset--color--border);border-radius:50%;background:transparent;box-sizing:border-box;}
.omedica-contact-action-group--direct .dashicons {width:20px;height:20px;font-size:20px;}
.omedica-contact-details {overflow-wrap:anywhere;}
.omedica-contact-location .omedica-map-frame[data-local-map] {width:100%;height:100%;aspect-ratio:auto;min-height:24rem;max-width:none;}
.omedica-contact-location .omedica-map-frame[data-local-map] .omedica-local-map-canvas {height:24rem;min-height:24rem;}
.omedica-contacts-system .omedica-contact-directions {display:grid;gap:var(--content-gap);}
.omedica-contact-directions>* {margin:0;}
.omedica-contact-directions-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--stack-gap);}
.omedica-contact-directions-grid>.omedica-contact-direction {grid-column:auto;}
.omedica-contacts-system>.omedica-contact-gallery {width:100%;box-sizing:border-box;}
@container(max-width:350px){.omedica-contact-info__body {grid-template-columns:minmax(0,1fr);}.omedica-contact-hours {grid-row:auto;}.omedica-contact-address,.omedica-contact-details {border-inline-start:0;border-block-start:1px solid var(--wp--preset--color--border);}}
@media(max-width:767px){.omedica-contacts-system .omedica-contact-grid,.omedica-contact-directions-grid {grid-template-columns:minmax(0,1fr);}.omedica-contacts-system .omedica-contact-info {min-block-size:0;}.omedica-contact-location .omedica-map-frame[data-local-map],.omedica-contact-location .omedica-map-frame[data-local-map] .omedica-local-map-canvas {height:25rem;min-height:25rem;}.omedica-contact-primary-phone {white-space:nowrap;}}

.omedica-contact-info__body>.omedica-contact-module {margin:0;}
.omedica-contact-hours .omedica-clinic-hours-grid {grid-template-columns:minmax(0,1fr);}
.omedica-contact-action-group--direct>a {color:var(--wp--preset--color--action);}
.omedica-contact-action-group--direct>a svg {display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;}
.omedica-contact-directions-grid>* {margin:0;}

@media(max-width:767px){.omedica-contacts-system .omedica-contact-grid>.omedica-contact-cell {grid-column:auto;}}

/* Shared circle actions; neutral route SVGs are site-owned, not brand marks. */
.omedica-contact-navigators .omedica-route-chip,.omedica-contact-action-group--direct :is(.omedica-icon-button,.wp-social-link>a) {display:inline-flex;align-items:center;justify-content:center;inline-size:var(--wp--custom--interaction--touch-target,44px);block-size:var(--wp--custom--interaction--touch-target,44px);min-width:44px;padding:0;box-sizing:border-box;border:1px solid var(--wp--preset--color--border);border-radius:50%;color:var(--wp--preset--color--action);background:transparent;text-decoration:none;transition:color var(--motion-duration-fast,150ms),border-color var(--motion-duration-fast,150ms);}
.omedica-contact-navigators .omedica-route-chip svg {display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
:is(.omedica-contact-navigators,.omedica-contact-action-group--direct) a:is(:hover,:focus-visible) {border-color:var(--wp--preset--color--action);color:var(--wp--preset--color--action);}

/* Contact pairs stretch within their own grid row; text determines useful height. */
.omedica-contacts-system .omedica-contact-info,.omedica-contacts-system .omedica-contact-direction {align-self:stretch;}
@media(min-width:768px){.omedica-contacts-system .omedica-contact-info {min-block-size:calc(22rem + 2 * var(--card-padding));}}
.omedica-contact-info__body {flex:1;}
.omedica-contact-copy {display:grid;align-content:center;gap:var(--space-xs);min-width:0;}
.omedica-contact-copy>* {margin:0;}
.omedica-contact-module:is(.omedica-contact-address,.omedica-contact-details) {display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:var(--space-sm);align-items:center;}
.omedica-contact-navigators>div,.omedica-contact-details .omedica-contact-action-group--direct {display:flex;flex-direction:column;gap:var(--space-xs);padding:0;margin:0;}
.omedica-contact-module {padding:var(--space-sm) var(--contact-card-inline-padding);}
.omedica-contact-location {position:relative;min-height:26rem;align-self:stretch;}
@media(min-width:768px){
 .omedica-contact-location .omedica-map-frame[data-local-map] {position:absolute;inset:0;min-height:0;}
 .omedica-contact-location .omedica-map-frame[data-local-map] .omedica-local-map-canvas {height:100%;min-height:0;}
}

.omedica-route-name {font-family:var(--wp--preset--font-family--body);font-size:10px;font-weight:600;letter-spacing:-.03em;color:var(--wp--preset--color--action);}
.omedica-route-chip:active {background:var(--wp--preset--color--surface);}
@container(min-width:550px){
 .omedica-contact-module:is(.omedica-contact-address,.omedica-contact-details) {grid-template-columns:minmax(0,1fr) 96px;}
 .omedica-contact-navigators>div,.omedica-contact-details .omedica-contact-action-group--direct {flex-direction:row;}
}

/* MapLibre contact row: content determines the shared desktop height. */
.omedica-contacts-system .omedica-contact-primary-phone{font-size:clamp(1.5rem,8.6cqi,3.75rem);line-height:1.12;padding:var(--card-padding-spacious) var(--contact-card-inline-padding);font-weight:650}
.omedica-contacts-system .omedica-contact-info__body{grid-template-columns:minmax(9.5rem,.36fr) minmax(0,.64fr);flex:1}
.omedica-contacts-system .omedica-contact-hours{justify-content:center;grid-row:span 2}
.omedica-contact-hours .omedica-clinic-hours-grid>div{grid-template-columns:1.4rem minmax(0,1fr);column-gap:.75rem}
.omedica-contact-hours .omedica-clinic-hours-grid{row-gap:.4rem;line-height:1.5}
.omedica-contacts-system .omedica-contact-details{border-block-start:0}
.omedica-contacts-system .omedica-contact-address{border-block-start:1px solid var(--wp--preset--color--border)}
.omedica-contacts-system .omedica-contact-location{min-height:0;position:relative}
.omedica-contact-location .omedica-map-frame[data-omedica-map]{position:absolute;inset:0;min-height:0;height:100%;aspect-ratio:auto;border:0;border-radius:0;box-sizing:border-box}
.omedica-contact-module:is(.omedica-contact-address,.omedica-contact-details){padding:var(--space-sm) var(--contact-card-inline-padding);align-content:center}
.omedica-route-name{font-size:9px;line-height:1.1;text-align:center;white-space:normal;max-width:36px}
@container(max-width:430px){.omedica-contacts-system .omedica-contact-info__body{grid-template-columns:minmax(0,1fr)}.omedica-contacts-system .omedica-contact-hours{grid-row:auto}.omedica-contacts-system .omedica-contact-details,.omedica-contacts-system .omedica-contact-address{border-inline-start:0;border-block-start:1px solid var(--wp--preset--color--border)}}
@media(max-width:767px){.omedica-contact-location .omedica-map-frame[data-omedica-map]{position:relative;min-height:22rem;height:auto;aspect-ratio:4/5}.omedica-contacts-system .omedica-contact-location{height:auto}}

/* All four actions use the live accent contract, including text route fallbacks. */
html:not(.special) body .omedica-contacts-system :is(.omedica-contact-navigators .omedica-route-chip,.omedica-contact-action-group--direct .omedica-icon-button,.omedica-contact-action-group--direct .wp-social-link>a) {border-color:var(--wp--preset--color--border);color:var(--wp--preset--color--action);background:transparent;border-radius:50%;}
html:not(.special) body .omedica-contacts-system :is(.omedica-contact-navigators .omedica-route-chip,.omedica-contact-action-group--direct .omedica-icon-button,.omedica-contact-action-group--direct .wp-social-link>a):is(:hover,:focus-visible) {border-color:var(--wp--preset--color--action);background:color-mix(in srgb,var(--wp--preset--color--action) 10%,transparent);}
html:not(.special) body .omedica-contacts-system :is(.omedica-contact-navigators .omedica-route-chip,.omedica-contact-action-group--direct .omedica-icon-button,.omedica-contact-action-group--direct .wp-social-link>a):active {background:color-mix(in srgb,var(--wp--preset--color--action) 20%,transparent);}

html:not(.special) body .omedica-contacts-system .wp-social-link:hover {transform:none;}

/* Desktop review composition: reduce gaps, retain native control and text sizes. */
@media(min-width:768px) {
 html body .omedica-reviews-form-section {padding-block:var(--space-md);}
 html body .omedica-review-form-column > .omedica-contact-method--review {margin-block-start:var(--space-sm);height:auto;}
 html body .omedica-reviews-form-section .omedica-contact-form {padding-block:var(--space-sm);gap:var(--space-sm);}
 html body .omedica-reviews-form-section .omedica-contact-form > :is(p,fieldset,.omedica-form-grid) {margin-block:0;}
 html body .omedica-reviews-form-section .omedica-form-grid {gap:var(--space-sm);}
 html body .omedica-reviews-form-section .omedica-form-field {gap:var(--space-xs);margin:0;}
 html body.omedica-public-polish .omedica-reviews-form-section .omedica-contact-form textarea.omedica-form-control {min-height:calc(3 * var(--wp--custom--interaction--touch-target));}
 html body .omedica-reviews-form-section .omedica-form-state:empty {display:none;}
}

/* Shared contact copy reflows under font scaling and increased text spacing. */
.omedica-contact-copy :is(p,a) {min-width:0;overflow-wrap:anywhere;white-space:normal;}

/* Preserve content when contact cells become narrow under text enlargement. */
.omedica-contacts-system .omedica-contact-cell{overflow-wrap:anywhere;}
.omedica-contacts-system .omedica-contact-primary-phone :is(p,a){white-space:normal;overflow-wrap:anywhere;}
.omedica-contacts-system .omedica-clinic-hours-grid :is(dt,dd){white-space:nowrap;overflow-wrap:normal;word-break:normal;min-width:max-content;}
.omedica-contacts-system .omedica-clinic-hours-grid>div{grid-template-columns:max-content max-content;justify-content:space-between;}
.omedica-contacts-system .omedica-contact-direction > *{min-width:0;max-width:100%;overflow-wrap:anywhere;white-space:normal;}

/* Exceptions are independent of the seven-day contact grid. */
.omedica-hours-notice{padding:var(--space-md);margin-block:var(--space-md);background:var(--wp--preset--color--surface);border:1px solid var(--wp--preset--color--action);border-radius:var(--wp--custom--radius--card,1rem);color:var(--wp--preset--color--text);}
.omedica-hours-notice h2{font-size:var(--wp--preset--font-size--medium);margin:0 0 var(--space-sm);}
.omedica-hours-notice ul{margin:0;padding-inline-start:1.25em;}
.omedica-hours-notice li{overflow-wrap:anywhere;}
.omedica-hours-notice__time{white-space:nowrap;}
.omedica-clinic-hours__special{border-block-start:1px solid var(--wp--preset--color--border);margin-block-start:var(--space-sm);padding-block-start:var(--space-sm);}
.omedica-clinic-hours__special h3{font-size:.8125rem;font-weight:500;color:var(--wp--preset--color--text-muted);margin:0 0 .5rem;}
.omedica-clinic-hours__panel .omedica-clinic-hours__special dt{white-space:normal;overflow-wrap:anywhere;min-width:0;}
.omedica-clinic-hours__special-note{display:block;font-size:.8125rem;color:var(--wp--preset--color--text-muted);}
.omedica-clinic-hours__special dl>div{grid-template-columns:minmax(0,1fr) max-content;}

/* One shared, wrapping contact list. Keep usable targets at every placement. */
.omedica-clinic-social-links{display:flex;flex-wrap:wrap;gap:var(--wp--preset--spacing--space-sm);list-style:none;padding:0;max-width:100%;min-width:0;}
.omedica-clinic-social-links .wp-social-link{flex:0 0 44px;width:44px;height:44px;margin:0;}
.omedica-clinic-social-links .wp-social-link a{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;height:44px;padding:10px;border-radius:50%;}
.omedica-clinic-social-links .wp-social-link :is(svg,img){width:24px;height:24px;object-fit:contain;flex-shrink:0;}
.omedica-clinic-social-links a:focus-visible{outline:2px solid var(--wp--preset--color--action);outline-offset:3px;}

.omedica-contact-action-group--direct{flex-wrap:wrap;}

/* Contact card only: size the layout from this module, not the viewport. */
.omedica-contacts-system .omedica-contact-details{
 container:contact-details / inline-size;
 display:flex;flex-direction:row;
 align-items:center;
 gap:var(--space-xs);
}
.omedica-contact-details .omedica-contact-copy{flex:1;min-inline-size:0;}
.omedica-contact-details .omedica-contact-copy a{word-break:normal;overflow-wrap:anywhere;}
.omedica-contact-details .omedica-contact-copy a[href^="tel:"]{white-space:normal;}
/* The phone action is separate; only the canonical social list owns its grid. */
.omedica-contacts-system .omedica-contact-details .omedica-contact-action-group--direct{
 display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--space-xs);flex:0 0 auto;inline-size:max-content;
 padding:0;margin:0;margin-inline-start:auto;align-items:center;
}
.omedica-contact-details .omedica-contact-action-group--direct .omedica-clinic-social-links{
 display:grid;grid-template-columns:repeat(2,44px);grid-auto-flow:row;
 gap:var(--space-xs);inline-size:max-content;max-inline-size:none;margin:0;padding:0;
}
.omedica-contact-details .omedica-contact-action-group--direct .omedica-clinic-social-links:has(>li:only-child){grid-template-columns:44px;}
.omedica-contact-details .omedica-contact-action-group--direct .omedica-clinic-social-links:has(>li:nth-child(3):last-child){grid-template-columns:repeat(3,44px);}
.omedica-contact-details .omedica-contact-action-group--direct .omedica-clinic-social-links > li {margin:0;grid-area:auto;justify-self:stretch;}
.omedica-contacts-system .omedica-contact-details{flex-wrap:wrap;}
.omedica-contact-details .omedica-contact-copy{flex:1 1 10rem;}
.omedica-phone-selector__surface a{flex-direction:column;gap:var(--space-xs);}
.omedica-phone-selector__label{font-size:var(--wp--preset--font-size--small);font-weight:400;color:var(--wp--preset--color--text-muted);}
.omedica-phone-selector__surface{max-block-size:calc(100dvh - 2rem);overflow:auto;box-sizing:border-box;}
.omedica-hours-notice ul{list-style:none;padding:0;display:grid;gap:var(--space-sm);}
.omedica-hours-notice li>time{font-weight:600;}
.omedica-hours-notice__message,.omedica-hours-notice__note{margin:var(--space-xs) 0 0;}
.omedica-hours-notice__note{color:var(--wp--preset--color--text-muted);}

/* Keep an already opened shared dialog visible when switching header breakpoints. */
.omedica-header-phone-selector:has(>dialog[open]){display:block!important;position:fixed;inset:0;inline-size:0;block-size:0;}
.omedica-header-phone-selector:has(>dialog[open])>[data-phone-selector-trigger]{display:none!important;}

.omedica-article-meta {display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-sm);color:var(--wp--preset--color--text-muted);}

.omedica-contact-details .omedica-contact-action-group--direct > .omedica-icon-button {flex:0 0 44px;inline-size:44px;block-size:44px;min-inline-size:44px;}

@media(max-width:767px){
 html:not(.special) body .omedica-clinic-hours-grid,
 html:not(.special) body .omedica-about-editorial .omedica-about-hours .omedica-clinic-hours-grid {display:grid;grid-template-columns:minmax(0,1fr);row-gap:0;max-width:100%;width:100%;font-variant-numeric:tabular-nums;}
 html:not(.special) body .omedica-clinic-hours-grid > div {display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:var(--space-sm);justify-content:stretch;padding-block:var(--space-xs);border-block-end:var(--wp--custom--border--width) solid var(--wp--preset--color--border);}
 html:not(.special) body .omedica-clinic-hours-grid :is(dt,dd) {margin:0;min-width:0;white-space:normal;overflow-wrap:break-word;}
 html:not(.special) body .omedica-clinic-hours-grid dd {text-align:end;}
 /* The contact block below owns the boundary after the expanded weekly schedule. */
 html:not(.special) body .omedica-contacts-system .omedica-mobile-disclosure .omedica-contact-hours .omedica-clinic-hours-grid > div:last-child {border-block-end:0;}
}
