/* Places single template 6977: only behavior missing from native widget controls. */
body.single-places .elementor-6977 { --sd-place-focus: var(--e-global-color-accent, #2F8F83); }
body.single-places .elementor-6977 :is(.sd-place-copy,.sd-place-left,.sd-place-sidebar,.sd-place-details,.elementor-widget) { min-width: 0; }
body.single-places .elementor-6977 :is(.sd-place-title,.sd-place-short,.sd-place-body,.sd-place-reviews) { overflow-wrap: anywhere; word-break: normal; }
body.single-places .elementor-6977 .sd-place-body p:last-child { margin-bottom: 0; }
/* An empty native column is not rendered; the remaining column uses the available width. */
body.single-places .elementor-6977 .sd-place-main > .e-con-inner:has(> .e-con:only-child) { grid-template-columns: minmax(0,1fr); }
/* The work-hours widget exposes typography/padding, but no label or value track sizing. */
body.single-places .elementor-6977 .sd-place-hours .ts-work-hours-list li { display: grid; grid-template-columns: max-content minmax(0,1fr); gap: 12px; align-items: start; }
body.single-places .elementor-6977 .sd-place-hours :is(.ts-day,.ts-timezone) { white-space: nowrap; width: auto; }
body.single-places .elementor-6977 .sd-place-hours .ts-work-hours-list small { min-width: 0; text-align: right; overflow-wrap: normal; }
body.single-places .elementor-6977 .sd-place-hours .ts-hours-today { flex-wrap: wrap; }
body.single-places .elementor-6977 .sd-place-hours .ts-current-period { flex: 1 1 100px; min-width: 0; }
body.single-places .elementor-6977 .sd-place-hours .ts-expand-hours { flex: 0 0 44px; width: 44px; height: 44px; }
/* Responsive term list tracks and wrapping are not exposed by Elementor Icon List. */
body.single-places .elementor-6977 .sd-place-amenities-list .elementor-icon-list-items { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,130px),1fr)); gap: 10px 14px; }
body.single-places .elementor-6977 .sd-place-amenities-list .elementor-icon-list-item { margin: 0; padding: 0; align-items: flex-start; }
body.single-places .elementor-6977 .sd-place-details .elementor-icon-list-text { min-width: 0; overflow-wrap: anywhere; }
body.single-places .elementor-6977 .sd-place-details .elementor-icon-list-icon { flex-shrink: 0; }
body.single-places .elementor-6977 .sd-place-details .elementor-icon-list-item a { min-height: 44px; }
body.single-places .elementor-6977 .sd-place-timeline .ts-no-posts { min-height: 0; max-width: none; width: 100%; margin: 0; padding: 8px 0; gap: 8px; align-items: flex-start; justify-content: flex-start; }
body.single-places .elementor-6977 .sd-place-timeline .ts-no-posts > :is(svg,i) { display: none; }
body.single-places .elementor-6977 .sd-place-timeline .ts-no-posts p { width: auto; margin: 0; text-align: left; color: var(--e-global-color-128002b1,#6F7A80); }
body.single-places .elementor-6977 :is(a,button,input,textarea):focus-visible { outline: 3px solid var(--sd-place-focus); outline-offset: 3px; }
body.single-places .elementor-6977 .sd-review-auth-link { text-decoration: underline; text-underline-offset: 3px; }
/* Keep one- and two-image galleries fitted when responsive column controls override native auto-fit. */
body.single-places .elementor-6977 .sd-place-gallery-widget .ts-gallery-grid:has(> .ts-empty-item) { grid-template-columns: repeat(auto-fit,minmax(0,1fr)); }
