/**
 * CM Visit Us - the layout and the looks. Every colour and space is a --cm-vst-* variable: defaults from config.php
 * (build_global_css_properties), a site's own values from its site-specific.css. Sizes are the cm-fse classes. Two-selector rule.
 * The section's colour spans the page; the inner wrapper carries the width classes (the sibling blocks' width) and is the container
 * (cm-cqi-container) the grid queries: one column, then from an 808px wrapper (the zu tier: 851 x 0.95) the address column and the hours
 * box side by side with the photo across under them, then from a 950px wrapper (the zt tier: 1001 x 0.95) the three columns of the design,
 * the photo taking the columns' height. The section's own padding is on the inner wrapper, and a container cannot query itself: that rule
 * measures the torso (the page's width), so it uses 851.
 */
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us,
.wp-block-w4ya-cm-visit-us {
    box-sizing: border-box;
    display: block;
    clear: both;
    position: relative;
    background: var(--cm-vst-bg);
    color: var(--cm-vst-text);
}
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us *,
.wp-block-w4ya-cm-visit-us * { box-sizing: border-box; }

.editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__inner,
.wp-block-w4ya-cm-visit-us .cm-vst__inner { padding: var(--cm-vst-section-pad) 0; }
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__inner,
.wp-block-w4ya-cm-visit-us .cm-vst__inner,
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__inner p,
.wp-block-w4ya-cm-visit-us .cm-vst__inner p { letter-spacing: normal; } /* the z width classes set a tracking on the wrapper AND on every p inside it (.zu95 p) */

/* The grid: one column, two from 808px, three from 950px (below) */
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__grid,
.wp-block-w4ya-cm-visit-us .cm-vst__grid { display: grid; grid-template-columns: 1fr; gap: var(--cm-vst-grid-gap); align-items: stretch; }
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__grid > *,
.wp-block-w4ya-cm-visit-us .cm-vst__grid > * { min-width: 0; }
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__grid > .cm-vst__photo,
.wp-block-w4ya-cm-visit-us .cm-vst__grid > .cm-vst__photo { justify-self: stretch; } /* the photo's width is its track: with a ratio and a stretched height the width would follow the height instead and overrun the column (a page without the hours box, 851-999px; audit, 2026-10-21) */

/* The address column: the kicker, the title, the address lines, the phone, the email, the buttons, centred in its height */
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__addr,
.wp-block-w4ya-cm-visit-us .cm-vst__addr { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: var(--cm-vst-addr-gap); }
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__addr > *,
.wp-block-w4ya-cm-visit-us .cm-vst__addr > * { margin: 0; } /* the size classes carry a margin; the gap spaces them */
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us p.cm-vst__kicker,
.wp-block-w4ya-cm-visit-us p.cm-vst__kicker { letter-spacing: 0.08em; text-transform: uppercase; font-weight: 600; color: var(--cm-vst-accent); } /* p: outranks the tracking reset above */
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__title,
.wp-block-w4ya-cm-visit-us .cm-vst__title { color: var(--cm-vst-text); font-weight: 600; line-height: 1.2; text-wrap: balance; overflow-wrap: anywhere; }
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__lines,
.wp-block-w4ya-cm-visit-us .cm-vst__lines { line-height: 1.5; overflow-wrap: anywhere; }
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__phone,
.wp-block-w4ya-cm-visit-us .cm-vst__phone { color: var(--cm-vst-phone); font-weight: 700; line-height: 1.2; text-decoration: none; }
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__email,
.wp-block-w4ya-cm-visit-us .cm-vst__email { color: var(--cm-vst-accent); line-height: 1.3; text-decoration: none; overflow-wrap: anywhere; }
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__buttons,
.wp-block-w4ya-cm-visit-us .cm-vst__buttons { display: flex; flex-wrap: wrap; gap: var(--cm-vst-buttons-gap); }
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__button,
.wp-block-w4ya-cm-visit-us .cm-vst__button { display: inline-flex; align-items: center; margin: 0; padding: var(--cm-vst-button-pad); border: var(--cm-vst-button-border) solid var(--cm-vst-accent); border-radius: var(--cm-vst-radius-sm); background: var(--cm-vst-accent); color: var(--cm-vst-button-text); font-weight: 600; line-height: 1.2; text-decoration: none; }
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__button--secondary,
.wp-block-w4ya-cm-visit-us .cm-vst__button--secondary { background: transparent; color: var(--cm-vst-accent); }

/* The hours box: tinted, the open line with its dot, then the rows */
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__hours,
.wp-block-w4ya-cm-visit-us .cm-vst__hours { padding: var(--cm-vst-hours-pad); border-radius: var(--cm-vst-radius-sm); background: var(--cm-vst-hours-bg); }
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us p.cm-vst__open,
.wp-block-w4ya-cm-visit-us p.cm-vst__open { display: flex; align-items: center; gap: var(--cm-vst-open-gap); margin: 0 0 var(--cm-vst-open-margin); font-weight: 600; line-height: 1.3; }
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__open::before,
.wp-block-w4ya-cm-visit-us .cm-vst__open::before { content: ""; flex: none; width: var(--cm-vst-open-dot); height: var(--cm-vst-open-dot); border-radius: 50%; background: var(--cm-vst-accent); }
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__table,
.wp-block-w4ya-cm-visit-us .cm-vst__table { width: 100%; margin: 0; border-collapse: collapse; border: 0; }
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__days,
.wp-block-w4ya-cm-visit-us .cm-vst__days,
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__time,
.wp-block-w4ya-cm-visit-us .cm-vst__time { margin: 0; padding: var(--cm-vst-row-pad) 0; border: 0; border-bottom: 1px solid var(--cm-vst-row-border); background: transparent; color: var(--cm-vst-text); line-height: 1.4; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__time,
.wp-block-w4ya-cm-visit-us .cm-vst__time { text-align: right; white-space: nowrap; } /* the hours stay on one line; the days column takes the rest */

/* The photo: rounded with a hairline; its own ratio under the columns, the columns' height beside them (below) */
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__photo,
.wp-block-w4ya-cm-visit-us .cm-vst__photo { position: relative; aspect-ratio: var(--cm-vst-photo-ratio); overflow: hidden; border: 1px solid var(--cm-vst-border); border-radius: var(--cm-vst-radius); }
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__image,
.wp-block-w4ya-cm-visit-us .cm-vst__image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: var(--cm-vst-photo-position); }

/* The canvas stand-ins for a missing title, hours rows or photo (the page prints none of them) */
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__placeholder,
.wp-block-w4ya-cm-visit-us .cm-vst__placeholder { opacity: 0.7; border: 1px dashed var(--cm-vst-border); border-radius: var(--cm-vst-radius-sm); padding: 0.3em 0.5em; }
.editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__photo.cm-vst__placeholder,
.wp-block-w4ya-cm-visit-us .cm-vst__photo.cm-vst__placeholder { display: flex; align-items: center; justify-content: center; padding: 1em; text-align: center; }

@container (min-width: 808px) { /* measured on the inner wrapper: the address and the hours side by side, the photo across under them */
    .editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__grid,
    .wp-block-w4ya-cm-visit-us .cm-vst__grid { grid-template-columns: 1fr 1fr; }
    .editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__grid > :nth-child(3),
    .wp-block-w4ya-cm-visit-us .cm-vst__grid > :nth-child(3),
    .editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__grid > :only-child,
    .wp-block-w4ya-cm-visit-us .cm-vst__grid > :only-child { grid-column: 1 / -1; }
}
@container (min-width: 950px) { /* measured on the inner wrapper: the three columns; two when a column is missing on the page */
    .editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__grid,
    .wp-block-w4ya-cm-visit-us .cm-vst__grid { grid-template-columns: var(--cm-vst-cols-wide); }
    .editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__grid:not(:has(> :nth-child(3))),
    .wp-block-w4ya-cm-visit-us .cm-vst__grid:not(:has(> :nth-child(3))) { grid-template-columns: 1fr 1fr; }
    .editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__grid > :nth-child(3),
    .wp-block-w4ya-cm-visit-us .cm-vst__grid > :nth-child(3) { grid-column: auto; }
    .editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__grid > :nth-child(3).cm-vst__photo,
    .wp-block-w4ya-cm-visit-us .cm-vst__grid > :nth-child(3).cm-vst__photo { aspect-ratio: auto; min-height: 0; } /* beside the columns the photo takes their height */
}
@container (min-width: 851px) { /* measured on the torso, not the inner wrapper (see the head comment) */
    .editor-styles-wrapper .wp-block-w4ya-cm-visit-us .cm-vst__inner,
    .wp-block-w4ya-cm-visit-us .cm-vst__inner { padding: var(--cm-vst-section-pad-wide) 0; }
}
