/* Shared content contract: existing theme tokens, no page-specific decoration. */
:where(.omedica-content, .omedica-content-section, .is-style-omedica-content-section, .is-style-omedica-content-notice) {
 min-width: 0; max-width: 100%; overflow-wrap: anywhere;
}
.omedica-content { padding-block: var(--wp--preset--spacing--space-xl); }
/* An embedded editorial wrapper does not own a second page entrance. */
.omedica-direction-editorial > .omedica-content {padding-block:0;}
:where(.omedica-content-section, .is-style-omedica-content-section, .is-style-omedica-content-notice) {
 margin-block: var(--wp--custom--spacing--block); color: var(--wp--preset--color--text);
}
:where(.omedica-content-section, .is-style-omedica-content-section, .is-style-omedica-content-notice) > :first-child { margin-block-start: 0; }
:where(.omedica-content-section, .is-style-omedica-content-section, .is-style-omedica-content-notice) > :last-child { margin-block-end: 0; }
:where(.omedica-content, .omedica-content-section, .is-style-omedica-content-section) :is(p,ul,ol) {
 max-width: var(--wp--style--global--content-size); line-height: var(--wp--custom--content--line-height); text-align: start;
}
:where(.omedica-content, .omedica-content-section) :is(h2,h3,h4) { text-wrap: balance; max-width: var(--wp--style--global--content-size); }
:where(.omedica-content, .omedica-content-section) h2 { font-size: var(--wp--preset--font-size--large); }
:where(.omedica-content, .omedica-content-section) h3 { font-size: var(--wp--preset--font-size--medium); }
:where(.omedica-content, .omedica-content-section) :is(ul,ol) { padding-inline-start: var(--wp--preset--spacing--space-lg); }
:where(.omedica-content, .omedica-content-section) li + li { margin-block-start: var(--wp--preset--spacing--space-xs); }
.omedica-content-section.omedica-domain-surface { padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
:where(.omedica-content-notice, .is-style-omedica-content-notice) {
 padding: var(--wp--custom--card-padding); background: var(--wp--preset--color--surface);
 border-radius: var(--wp--custom--radius--md); border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
}
.omedica-content-columns { gap: var(--wp--custom--spacing--block); align-items: flex-start; }
.omedica-content-columns > .wp-block-column { min-width: 0; }
:where(.omedica-content, .omedica-content-section) :is(img,video) { max-width: 100%; height: auto; border-radius: var(--wp--custom--radius--md); }
:where(.omedica-content, .omedica-content-section) .wp-block-image img { object-fit: contain; }
.wp-block-table {
 display: block; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain;
 border: var(--wp--custom--border--width) solid var(--wp--preset--color--border); border-radius: var(--wp--custom--radius--md);
}
.wp-block-table table { width: 100%; border-collapse: collapse; margin:0; }
.wp-block-table :is(thead,tfoot) { border:0; }
.wp-block-table :is(th,td) {
 padding: var(--wp--preset--spacing--space-sm); border:var(--wp--custom--border--width) solid var(--wp--preset--color--border); text-align: start; vertical-align: top; overflow-wrap: anywhere;
}
.wp-block-table th { background: var(--wp--preset--color--surface); }
.wp-block-table tr:first-child > :is(th,td) { border-top:0; }
.wp-block-table tr > :first-child { border-left:0; }
.wp-block-table tr > :last-child { border-right:0; }
.wp-block-table :is(tbody,tfoot):last-child tr:last-child > :is(th,td) { border-bottom:0; }
.omedica-reading-body .wp-block-table table { margin:0; }
:where(.omedica-content, .omedica-content-section) .wp-block-details { border-block-end: var(--wp--custom--border--width) solid var(--wp--preset--color--border); padding-block: var(--wp--preset--spacing--space-sm); }
:where(.omedica-content, .omedica-content-section) summary { cursor: pointer; min-height: var(--wp--custom--interaction--touch-target); font-weight: 600; }
:where(.omedica-content, .omedica-content-section) :is(a,summary,figure):focus-visible { outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--action); outline-offset: var(--wp--custom--focus--offset); }
:where(.omedica-content, .omedica-content-section) .wp-block-buttons { flex-wrap: wrap; }
:where(.omedica-content, .omedica-content-section) .wp-block-button__link { min-height: var(--wp--custom--interaction--touch-target); box-sizing: border-box; }
@media (max-width: 781px) {
 .omedica-content-columns { flex-wrap: wrap !important; }
 .omedica-content-columns > .wp-block-column { flex-basis: 100% !important; }
 .wp-block-table table { min-width: var(--wp--custom--content--table-min-width); }
}
/* Motion is feedback only: no entrances, no scroll listeners, no layout animation. */
.omedica-content-motion main :is(.wp-block-button__link,.omedica-service-card__details,.omedica-article-card__link) {
 transition: transform var(--wp--custom--motion--fast) var(--wp--custom--motion--standard), background-color var(--wp--custom--motion--normal) var(--wp--custom--motion--standard), border-color var(--wp--custom--motion--normal) var(--wp--custom--motion--standard), color var(--wp--custom--motion--fast) var(--wp--custom--motion--standard);
}
.omedica-content-motion main :is(.wp-block-button__link):active { transform: scale(var(--wp--custom--motion--press-scale)); }
.omedica-content-motion main :is(.omedica-service-card__details,.omedica-article-card__link):active { opacity: .8; }
.omedica-content .wp-block-details > summary { display: flex; align-items: center; justify-content: space-between; gap: var(--wp--preset--spacing--space-sm); list-style: none; }
.omedica-content .wp-block-details > summary::-webkit-details-marker { display: none; }
.omedica-content .wp-block-details > summary::after { content: ''; width: .5em; height: .5em; flex: 0 0 .5em; border-inline-end: 2px solid currentColor; border-block-end: 2px solid currentColor; transform: rotate(45deg); transition: transform var(--wp--custom--motion--normal) var(--wp--custom--motion--standard); }
.omedica-content .wp-block-details[open] > summary::after { transform: rotate(225deg); }
@media (hover: hover) {
 .omedica-content-motion main :is(.omedica-service-card__details,.omedica-article-card__link):hover { color: var(--wp--preset--color--action); }
}
@media (prefers-reduced-motion: reduce) {
 .omedica-content-motion main :is(.wp-block-button__link,.omedica-service-card__details,.omedica-article-card__link), .omedica-content .wp-block-details > summary::after { transition: none; }
 .omedica-content-motion main :is(.wp-block-button__link):active { transform: none; }
 .omedica-content { scroll-behavior: auto; }
}
/* Press Center reuses the established news lead/grid and Article Card. */
.omedica-news-featured { display: grid; gap: var(--wp--custom--spacing--block); margin-block: var(--wp--custom--spacing--block); }
.omedica-news-featured:not(.has-media) > :first-child { display: none; }
.omedica-news-featured.has-media { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: center; }
.omedica-news-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--wp--custom--spacing--block); }
.omedica-news-card { min-width: 0; display: flex; flex-direction: column; }
.omedica-news-card > :last-child { margin-block-start: auto; padding-top: var(--wp--preset--spacing--space-sm); }
.omedica-news-card h2 { font-size: var(--wp--preset--font-size--medium); }
.omedica-news-image { width: 100%; height: auto; border-radius: var(--wp--custom--radius--md); }
.omedica-single-news, .omedica-single-article { max-width: var(--wp--style--global--content-size); margin-inline: auto; }
.omedica-single-news .omedica-content, .omedica-single-article .omedica-content { padding-block: 0; }
.omedica-context-booking { gap: var(--wp--custom--spacing--block); }
.omedica-context-booking h2 { min-width: 0; overflow-wrap: anywhere; }
.omedica-context-booking > a { flex-shrink: 0; }
.omedica-primary-navigation .omedica-nav-secondary { display: flex; }
.omedica-content-motion main :is(.omedica-context-booking > a,.omedica-news-link,.omedica-article-card__link) { transition: color var(--wp--custom--motion--fast) var(--wp--custom--motion--standard), transform var(--wp--custom--motion--fast) var(--wp--custom--motion--standard); }
.omedica-content-motion main .omedica-context-booking > a:active { transform: scale(var(--wp--custom--motion--press-scale)); }
@media(max-width:1023px) { .omedica-news-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) { .omedica-news-grid,.omedica-news-featured.has-media { grid-template-columns: minmax(0,1fr); } .omedica-context-booking { flex-wrap: wrap; } }
@media(prefers-reduced-motion:reduce) { .omedica-content-motion main :is(.omedica-context-booking > a,.omedica-news-link,.omedica-article-card__link) { transition:none; } .omedica-content-motion main .omedica-context-booking > a:active { transform:none; } }

.omedica-content :is(.omedica-news-link,.omedica-article-card__link) { display:inline-flex; align-items:center; min-height:var(--wp--custom--interaction--touch-target); }

/* Optional promotion media and text share one stretching grid. */
/* Media exists only for filled image fields; no placeholder or reserved text-card media. */
.omedica-promotions-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--wp--custom--spacing--block);align-items:stretch;}
.omedica-promo-card {display:flex;flex-direction:column;min-width:0;overflow:hidden;border:var(--wp--custom--border--width) solid var(--wp--preset--color--border);border-radius:var(--wp--custom--radius--md);background:var(--wp--preset--color--background);}
.omedica-promo-card__heading {display:flex;align-items:flex-start;gap:var(--wp--preset--spacing--space-sm);}
.omedica-promo-card__heading h2 {flex:1;min-width:0;margin:0;}
.omedica-promo-card__media {display:block;flex:none;aspect-ratio:2/1;overflow:hidden;}
.omedica-promo-card .omedica-promo-card__image {display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:0;}
.omedica-promo-card__body {display:flex;flex:1;flex-direction:column;gap:var(--wp--preset--spacing--space-sm);padding:var(--wp--custom--card-padding);}
.omedica-promo-card__body > * {margin:0;}
.omedica-promo-card h2 {font-size:var(--wp--preset--font-size--medium);line-height:1.3;}
.omedica-promo-card h2 a {color:inherit;text-decoration:none;}
.omedica-promo-card h2 a:hover {color:var(--wp--preset--color--action);}
.omedica-promo-card .omedica-promo-card__link {align-self:flex-start;margin-block-start:auto;padding-block-start:var(--wp--preset--spacing--space-sm);min-height:var(--wp--custom--interaction--touch-target);box-sizing:border-box;color:var(--wp--preset--color--action);font-weight:600;text-decoration:none;}
.omedica-promo-card__link:hover {text-decoration:underline;}
.omedica-promo-card__dates {color:var(--wp--preset--color--text-muted);font-size:var(--wp--preset--font-size--small);}
.omedica-promo-card a:focus-visible {outline:var(--wp--custom--focus--width) solid var(--wp--preset--color--action);outline-offset:calc(-1 * var(--wp--custom--focus--offset));}
.omedica-single-promotion {max-width:var(--wp--style--global--content-size);margin-inline:auto;}
@media(max-width:1199px) {.omedica-promotions-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px) {.omedica-promotions-grid {grid-template-columns:minmax(0,1fr);}.omedica-context-booking {gap:var(--wp--preset--spacing--space-md);}.omedica-context-booking h2 {flex:1 1 100%;}}
/* Embedded reviews: one scrollable row, the same bounded review card. */
.omedica-embedded-reviews {min-width:0;}
.omedica-embedded-reviews > header {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-block-end:var(--space-md);}
.omedica-embedded-reviews > header h2 {margin:0;}
.omedica-embedded-reviews .omedica-review-track {display:flex;gap:var(--space-md);overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;padding:var(--wp--custom--focus--offset);min-width:0;}
.omedica-review-track > .omedica-review-card {display:flex;flex-direction:column;flex:0 0 calc((100% - 2 * var(--space-md)) / 3);min-width:0;scroll-snap-align:start;gap:var(--space-sm);height:auto;}
.omedica-review-track .omedica-review-footer {margin-block-start:auto;}
.omedica-review-carousel-controls {display:flex;justify-content:flex-end;gap:var(--space-sm);margin-block-start:var(--space-sm);}
.omedica-review-carousel-controls[hidden] {display:none;}

.omedica-review-carousel-controls button:disabled {opacity:.45;cursor:default;}
.omedica-review-carousel-controls button:focus-visible,.omedica-review-track:focus-visible {outline:var(--wp--custom--focus--width) solid var(--wp--preset--color--action);outline-offset:var(--wp--custom--focus--offset);}
.omedica-promo-card__preview {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;}
@media(max-width:1199px) {.omedica-review-track > .omedica-review-card {flex-basis:calc((100% - var(--space-md)) / 2);}}
@media(max-width:767px) {.omedica-review-track > .omedica-review-card {flex-basis:100%;}.omedica-review-track .omedica-review-identity {min-height:0;}}

/* Related program sets use the shared card, with balanced count-aware rows. */
@media(min-width:768px){
 .omedica-complex-grid.is-related[data-count="1"] {grid-template-columns:minmax(0,1fr);}
 .omedica-complex-grid.is-related:is([data-count="2"],[data-count="4"]) {grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* Promotion variants share the same data/action contract. */
.omedica-promotions-grid .omedica-promo-card--expanded {grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr);margin-block-start:var(--content-gap);}
.omedica-promotions-grid .omedica-promo-card--expanded.has-media {grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
.omedica-promo-card--expanded .omedica-promo-card__media {aspect-ratio:3/2;align-self:center;}
.omedica-promo-card--expanded .omedica-promo-card__image {object-fit:contain;background:var(--wp--preset--color--surface);}
.omedica-promo-card--expanded .omedica-promo-card__body {justify-content:center;padding:var(--content-gap);}
.omedica-promo-card--expanded h2 {font-size:clamp(1.4rem,2.2vw,2rem);}
.omedica-promo-card--expanded .omedica-promo-card__preview {display:block;overflow:visible;max-width:48ch;}
.omedica-promo-card--expanded .omedica-promo-card__link {margin-block-start:var(--space-sm);}
@media(max-width:767px){.omedica-promotions-grid .omedica-promo-card--expanded.has-media {grid-template-columns:minmax(0,1fr);}}
