/* Accommodation page (post 8). Generated layout lives in build/accommodation.py;
   this file holds only what Elementor cannot express. Prefix: bw-acc- */

/* --- Services strip: 8 across with hairline dividers ---------------------- */
.bw-acc-svc > .e-con.bw-acc-svc__item { flex: 1 1 auto; width: auto; min-width: 0; padding: 0 10px; }
.bw-acc-svc > .bw-acc-svc__item + .bw-acc-svc__item { border-left: 1px solid var(--bw-hairline); }
@media (min-width: 768px) { .bw-acc-svc__item .elementor-heading-title { white-space: nowrap; } }

@media (max-width: 1024px) {
	.bw-acc-svc { row-gap: 28px; }
	.bw-acc-svc > .e-con.bw-acc-svc__item { flex: 0 0 25%; width: 25%; }
	.bw-acc-svc > .bw-acc-svc__item:nth-child(4n+1) { border-left: 0; }
}
@media (max-width: 767px) {
	.bw-acc-svc > .e-con.bw-acc-svc__item { flex: 0 0 50%; width: 50%; }
	.bw-acc-svc > .bw-acc-svc__item:nth-child(odd) { border-left: 0; }
	.bw-acc-svc > .bw-acc-svc__item:nth-child(even) { border-left: 1px solid var(--bw-hairline); }
}

/* --- Item strips (commitment / not provided / partnership) ---------------- */
.bw-acc-commit > .e-con, .bw-acc-not > .e-con, .bw-acc-part > .e-con { flex: 1 1 0; min-width: 0; }
/* Elementor caps widgets at max-width:100% with a (0,4,0) selector; these
   measures need to out-rank it. */
.elementor .e-con.e-con > .elementor-widget.bw-acc-desc { max-width: 165px; margin-inline: auto; }
.elementor .bw-acc-not .e-con > .elementor-widget.bw-acc-desc { max-width: 128px; }
.elementor .bw-acc-part .e-con > .elementor-widget.bw-acc-desc { max-width: 172px; }

/* White disc behind the commitment icons, with a soft halo as in the design. */
.bw-acc-circle.e-con { flex: 0 0 auto !important; height: 100px; box-shadow: 0 0 0 7px rgba(255,255,255,.55), 0 6px 18px rgba(11,31,79,.07); }

/* Partnership: dividers between items; navy line icons turned white. */
.bw-acc-part > .bw-acc-part__item { padding: 0 14px; }
.bw-acc-part > .bw-acc-part__item + .bw-acc-part__item { border-left: 1px solid rgba(255,255,255,.28); }
.bw-acc-white img { filter: brightness(0) invert(1); }

/* --- Types of accommodation cards ----------------------------------------- */
.bw-acc-type.e-con { overflow: hidden; }
.bw-acc-type__photo.e-con { position: relative; }
.bw-acc-type__icon { position: absolute !important; top: -14px; left: -12px; width: 98px !important;
	height: 98px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; padding: 14px 0 0 12px; }
.bw-acc-type__icon .elementor-widget-container { display: flex; }

/* Intro copy measures — break where the design breaks. */
.elementor .e-con.bw-acc-intro > .elementor-widget.bw-acc-lead { max-width: 290px; }
.elementor .e-con.bw-acc-intro--wide > .elementor-widget.bw-acc-lead { max-width: 300px; }
.elementor .e-con.bw-acc-intro--narrow > .elementor-widget.bw-acc-lead { max-width: 276px; }

@media (max-width: 1024px) {
	.elementor .e-con.bw-acc-intro > .elementor-widget.bw-acc-lead { max-width: 560px; }
	.bw-acc-commit, .bw-acc-not, .bw-acc-part { row-gap: 32px !important; justify-content: center !important; }
	.bw-acc-commit > .e-con { flex: 0 0 30%; }
	.bw-acc-types__grid { row-gap: 23px; }
}
@media (max-width: 767px) {
	.bw-acc-commit > .e-con, .bw-acc-not > .e-con, .bw-acc-part > .e-con { flex: 0 0 calc(50% - 10px); }
	.bw-acc-part > .bw-acc-part__item + .bw-acc-part__item { border-left: 0; }
	.bw-acc-part { column-gap: 20px !important; }
}

/* Keep the commitment discs round at every width (Elementor otherwise lets
   an inner container stretch to the flex line on phones). */
.elementor .e-con.bw-acc-circle { width: 100px !important; max-width: 100px; align-self: center; }

@media (max-width: 767px) {
	/* The hero subtitle's design break makes ragged lines on a phone. */
	.bw-hero__sub br { display: none; }
	.bw-acc-part > .bw-acc-part__item { padding: 0; }
	.elementor .bw-acc-part .e-con > .elementor-widget.bw-acc-desc,
	.elementor .bw-acc-not .e-con > .elementor-widget.bw-acc-desc,
	.elementor .e-con.e-con > .elementor-widget.bw-acc-desc { max-width: 100%; }
}

/* 1025–1199: type-card titles are ~144px wide; keep words whole. */
@media (min-width: 1025px) and (max-width: 1199px) {
	.bw-acc-type .elementor-widget-heading .elementor-heading-title { font-size: 16px; overflow-wrap: normal; }
}
