/*
 * Bay Carpets & Flooring: brand layer on top of Elementor.
 * Colours, fonts and button styles are in Elementor → Site Settings. This file adds the curved lines,
 * card and chip styles, the header menu and the blog layout. Anything you change in the Elementor panel wins over it.
 */

:root {
	--bcs-navy: #10283f;
	--bcs-navy-2: #16395a;
	--bcs-teal: #34b3b8;
	--bcs-teal-d: #1b7e83;
	--bcs-light: #eef2f4;
	--bcs-muted: #4a5a68;
	--bcs-line: #c3ccd3;
	--bcs-ink: #0b1e30;
	--bcs-radius: 22px;
	--bcs-font: "Plus Jakarta Sans", "Helvetica Neue", Arial, sans-serif;
}

body.bcs-site {
	font-family: var(--bcs-font);
	color: var(--bcs-muted);
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

body.bcs-site :where(h1, h2, h3, h4, h5, h6) { font-family: var(--bcs-font); color: var(--bcs-navy); }
body.bcs-site img { max-width: 100%; height: auto; }
body.bcs-site .bcs-teal { color: var(--bcs-teal); }
body.bcs-site .bcs-center,
body.bcs-site .bcs-center .elementor-widget-container { text-align: center; }
body.bcs-site .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* ---------- Type helpers (widget classes) ---------- */
body.bcs-site .bcs-eyebrow .elementor-heading-title,
body.bcs-site .elementor-widget.bcs-eyebrow .elementor-heading-title {
	font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--bcs-teal-d); line-height: 1.3;
}
body.bcs-site .bcs-h2 .elementor-heading-title { text-wrap: balance; }
body.bcs-site .bcs-intro,
body.bcs-site .bcs-lead { font-size: 17px; }
body.bcs-site .bcs-lead { font-size: 19px; line-height: 1.6; }
body.bcs-site .bcs-intro p:last-child,
body.bcs-site .bcs-lead p:last-child,
body.bcs-site .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
body.bcs-site .bcs-small-title .elementor-heading-title { font-size: 14px; font-weight: 700; color: var(--bcs-navy); }
body.bcs-site .bcs-head { max-width: 760px; }
body.bcs-site .bcs-head--center { margin-left: auto; margin-right: auto; text-align: center; }
body.bcs-site .bcs-head--center .elementor-heading-title { text-align: center; }
body.bcs-site .bcs-head__side { max-width: 400px; }
body.bcs-site .bcs-narrow { max-width: 820px; margin-left: auto; margin-right: auto; }

/* ---------- Navy sections ---------- */
body.bcs-site .bcs-navy,
body.bcs-site .bcs-hero,
body.bcs-site .bcs-header,
body.bcs-site .bcs-footer { color: rgba(255, 255, 255, .8); }
body.bcs-site .bcs-navy .elementor-widget-heading .elementor-heading-title,
body.bcs-site .bcs-hero .elementor-widget-heading .elementor-heading-title,
body.bcs-site .bcs-footer .elementor-widget-heading .elementor-heading-title { color: #fff; }
body.bcs-site .bcs-navy .bcs-eyebrow .elementor-heading-title,
body.bcs-site .bcs-hero .bcs-eyebrow .elementor-heading-title { color: var(--bcs-teal); }
body.bcs-site .bcs-navy .elementor-widget-text-editor,
body.bcs-site .bcs-hero .elementor-widget-text-editor { color: rgba(255, 255, 255, .82); }
body.bcs-site .bcs-navy a:not(.elementor-button),
body.bcs-site .bcs-hero a:not(.elementor-button) { color: #fff; }

/* ---------- Buttons ---------- */
body.bcs-site .bcs-btn .elementor-button { border-radius: 999px; font-weight: 700; line-height: 1.2; transition: background-color .2s, color .2s, border-color .2s, transform .2s; }
body.bcs-site .bcs-btn .elementor-button:hover { transform: translateY(-1px); }
body.bcs-site .bcs-btn--primary .elementor-button { background-color: var(--bcs-teal-d); color: #fff; }
body.bcs-site .bcs-btn--primary .elementor-button:hover { background-color: var(--bcs-navy); color: #fff; }
body.bcs-site .bcs-btn--teal .elementor-button { background-color: var(--bcs-teal); color: var(--bcs-ink); }
body.bcs-site .bcs-btn--teal .elementor-button:hover { background-color: #fff; color: var(--bcs-navy); }
body.bcs-site .bcs-btn--navy .elementor-button { background-color: var(--bcs-navy); color: #fff; }
body.bcs-site .bcs-btn--navy .elementor-button:hover { background-color: var(--bcs-teal-d); }
body.bcs-site .bcs-btn--ghost .elementor-button { background: transparent; color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .45); }
body.bcs-site .bcs-btn--ghost .elementor-button:hover { background: rgba(255, 255, 255, .1); color: #fff; box-shadow: inset 0 0 0 1px #fff; }
body.bcs-site .bcs-btn--outline .elementor-button { background: transparent; color: var(--bcs-navy); box-shadow: inset 0 0 0 1px var(--bcs-line); }
body.bcs-site .bcs-btn--outline .elementor-button:hover { background: var(--bcs-navy); color: #fff; box-shadow: inset 0 0 0 1px var(--bcs-navy); }
body.bcs-site .bcs-btn--link .elementor-button { background: transparent; color: var(--bcs-teal-d); padding: 0; font-size: 15px; box-shadow: none; }
body.bcs-site .bcs-btn--link .elementor-button:hover { background: transparent; color: var(--bcs-navy); transform: none; text-decoration: underline; }
body.bcs-site .bcs-navy .bcs-btn--link .elementor-button { color: var(--bcs-teal); }
body.bcs-site .bcs-btn--phone .elementor-button { background: transparent; color: #fff; padding: 8px 0; font-size: 15px; }
body.bcs-site .bcs-btn--phone .elementor-button:hover { background: transparent; color: var(--bcs-teal); transform: none; }
body.bcs-site .bcs-btn--phone .elementor-button-icon { color: var(--bcs-teal); }
body.bcs-site .bcs-btn--phone .elementor-button-icon svg { fill: var(--bcs-teal); width: 1em; }
body.bcs-site .bcs-btns { --gap: 14px; }
body.bcs-site .bcs-btns > .elementor-widget,
body.bcs-site .bcs-btns > .e-con-inner > .elementor-widget { width: auto; --container-widget-width: auto; }

/* ---------- Hero ---------- */
body.bcs-site .bcs-hero { position: relative; overflow: hidden; isolation: isolate; }
body.bcs-site .bcs-hero::before {
	content: ""; position: absolute; left: auto; right: -120px; top: 0; width: 760px; height: 860px; z-index: -1; opacity: 1; border: 0;
	background: url(curves/hero-sweep.svg) no-repeat top right / contain; pointer-events: none;
}
body.bcs-site .bcs-curve-bottom::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 130px; pointer-events: none;
	background: url(curves/hero-bottom-white.svg) no-repeat bottom / 100% 100%; z-index: 1;
}
body.bcs-site .bcs-curve-to-light::after { background-image: url(curves/hero-bottom-light.svg); }
body.bcs-site .bcs-hero__title .elementor-heading-title { font-size: clamp(38px, 5vw, 56px); line-height: 1.04; letter-spacing: -.03em; font-weight: 800; color: #fff; }
body.bcs-site .bcs-hero__title--xl .elementor-heading-title { font-size: clamp(40px, 5.6vw, 66px); line-height: 1.02; }
body.bcs-site .bcs-hero--page:not(.bcs-hero--text) .bcs-hero__grid { min-height: 380px; }
body.bcs-site .bcs-hero__intro { max-width: 560px; }
body.bcs-site .bcs-hero--page .bcs-hero__text:only-child { max-width: 780px; }
body.bcs-site .bcs-badge .elementor-heading-title {
	display: inline-flex; align-items: center; gap: 10px; border: 1px solid rgba(255, 255, 255, .22); border-radius: 999px;
	padding: 8px 16px; font-size: 13px !important; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #fff;
}
body.bcs-site .bcs-badge .elementor-heading-title::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--bcs-teal); flex: none; }
body.bcs-site .bcs-trust { display: flex; flex-wrap: wrap; gap: 12px 22px; align-items: center; font-size: 14px; color: rgba(255, 255, 255, .86); padding-top: 6px; }
body.bcs-site .bcs-trust strong { color: #fff; }
body.bcs-site .bcs-trust__sep { width: 1px; height: 20px; background: rgba(255, 255, 255, .25); }
body.bcs-site .bcs-stars { color: #f5b83d; letter-spacing: 2px; font-size: 18px; line-height: 1; }
body.bcs-site .bcs-stars--lg { font-size: 26px; }

/* ---------- Photos and the curved edges ---------- */
body.bcs-site .bcs-photo { position: relative; overflow: hidden; }
body.bcs-site .bcs-photo img { display: block; width: 100%; object-fit: cover; }
body.bcs-site .bcs-photo a,
body.bcs-site .bcs-card-box__img a { display: block; }
body.bcs-site .bcs-round img { border-radius: 28px; }
body.bcs-site .bcs-hero__photo img { height: clamp(340px, 42vw, 600px); border-radius: 0 28px 28px 0; }
body.bcs-site .bcs-hero--page .bcs-hero__photo img { height: clamp(300px, 34vw, 460px); }
body.bcs-site .bcs-split__photo img { height: clamp(300px, 38vw, 520px); }
body.bcs-site .bcs-showroom__photo img { height: clamp(300px, 36vw, 480px); }
body.bcs-site .bcs-steps__photo img { height: clamp(320px, 40vw, 520px); border-radius: 28px 0 0 28px; }
body.bcs-site .bcs-edge-left::after,
body.bcs-site .bcs-edge-right::after {
	content: ""; position: absolute; top: 0; bottom: 0; width: 26%; max-width: 160px; pointer-events: none;
	background-repeat: no-repeat; background-size: 100% 100%;
}
body.bcs-site .bcs-edge-left::after { left: -1px; background-image: url(curves/edge-left-navy.svg); }
body.bcs-site .bcs-edge-right::after { right: -1px; background-image: url(curves/edge-right-navy.svg); }
body.bcs-site .bcs-bg-white .bcs-split__photo.bcs-edge-left::after { background-image: url(curves/edge-left-white.svg); }
body.bcs-site .bcs-split__photo.bcs-edge-left img { border-radius: 0 28px 28px 0; }
body.bcs-site .bcs-split__photo.bcs-edge-right img { border-radius: 28px 0 0 28px; }

/* ---------- Cards ---------- */
body.bcs-site .bcs-card-box { overflow: hidden; height: 100%; }
body.bcs-site .bcs-card-box__img img { display: block; max-width: 100%; width: 100%; height: 250px; object-fit: cover; border-radius: 0; transition: transform .5s; }
body.bcs-site .bcs-card-box:hover .bcs-card-box__img img { transform: scale(1.03); }
body.bcs-site .bcs-card-box__img { overflow: hidden; }
body.bcs-site .bcs-card-box__body { flex-grow: 1; }
body.bcs-site .bcs-card-box__title .elementor-heading-title { font-size: 22px; font-weight: 800; line-height: 1.25; }
body.bcs-site .bcs-card-box .elementor-widget-text-editor { font-size: 15px; }
body.bcs-site .bcs-card-box .bcs-btn--link { margin-top: auto; }
body.bcs-site .bcs-panel { height: 100%; }
body.bcs-site .bcs-panel .elementor-widget-text-editor { font-size: 15px; }
body.bcs-site .bcs-panel.bcs-center .bcs-logo img { max-height: 70px; }

/* ---------- Tiles with a chip ---------- */
body.bcs-site .bcs-tile { position: relative; overflow: hidden; text-decoration: none; transition: transform .3s, box-shadow .3s; }
body.bcs-site .bcs-tile::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(16, 40, 63, 0) 55%, rgba(16, 40, 63, .35)); pointer-events: none; }
body.bcs-site .bcs-tile:hover { transform: translateY(-4px); box-shadow: 0 24px 40px -24px rgba(16, 40, 63, .5); }
body.bcs-site .bcs-chip { position: relative; }
body.bcs-site .bcs-chip .elementor-heading-title {
	display: inline-block; background: var(--bcs-teal-d); color: #fff; font-weight: 700; font-size: 16px; line-height: 1.3;
	padding: 11px 18px; border-radius: 12px; border: 2px solid #fff;
}
body.bcs-site .bcs-tile:hover .bcs-chip .elementor-heading-title { background: var(--bcs-navy); }

/* ---------- Corner sweep on light sections ---------- */
body.bcs-site .bcs-corner-sweep { position: relative; overflow: hidden; }
body.bcs-site .bcs-corner-sweep::before {
	content: ""; position: absolute; left: auto; right: 0; top: 0; width: min(520px, 45vw); height: min(300px, 26vw); opacity: 1; border: 0;
	background: url(curves/corner-sweep.svg) no-repeat top right / contain; pointer-events: none;
}
body.bcs-site .bcs-corner-sweep > .e-con-inner { position: relative; }

/* ---------- Steps (how it works) ---------- */
body.bcs-site .bcs-step { border-top: 2px solid var(--bcs-teal); padding-top: 18px !important; }
body.bcs-site .bcs-step__num .elementor-heading-title { font-size: 14px; font-weight: 800; color: var(--bcs-teal) !important; }
body.bcs-site .bcs-panel .bcs-step__num .elementor-heading-title { color: var(--bcs-teal-d) !important; }
body.bcs-site .bcs-step__title .elementor-heading-title { font-size: 20px; font-weight: 700; }
body.bcs-site .bcs-step .elementor-widget-text-editor { font-size: 15px; }

/* ---------- Value cards (icon boxes) ---------- */
body.bcs-site .bcs-value { background: var(--bcs-light); border-radius: var(--bcs-radius); padding: 28px; height: 100%; }
body.bcs-site .bcs-bg-light .bcs-value { background: #fff; }
body.bcs-site .bcs-value .elementor-icon-box-wrapper { text-align: left; display: flex; flex-direction: column; gap: 14px; }
body.bcs-site .bcs-value .elementor-icon-box-icon { margin: 0 !important; }
body.bcs-site .bcs-value .elementor-icon { font-size: 30px; color: var(--bcs-teal-d); fill: var(--bcs-teal-d); }
body.bcs-site .bcs-value .elementor-icon svg { width: 1em; height: 1em; }
body.bcs-site .bcs-value .elementor-icon-box-title { font-size: 19px; font-weight: 800; color: var(--bcs-navy); margin: 0 0 8px; }
body.bcs-site .bcs-value .elementor-icon-box-title a { color: inherit; }
body.bcs-site .bcs-value .elementor-icon-box-description { font-size: 15px; line-height: 1.6; color: var(--bcs-muted); margin: 0; }
body.bcs-site .bcs-value .elementor-icon-box-description a { color: var(--bcs-teal-d); font-weight: 700; }

/* ---------- Reviews panel ---------- */
body.bcs-site .bcs-reviews-panel { color: #fff; }
body.bcs-site .bcs-reviews-panel__side { flex: 0 0 220px; }
body.bcs-site .bcs-reviews-panel__main { flex: 1 1 auto; min-width: 0; }
body.bcs-site .bcs-reviews-panel__title .elementor-heading-title { color: #fff; font-size: 34px; line-height: 1.1; }
body.bcs-site .bcs-reviews-panel .elementor-widget-text-editor { color: rgba(255, 255, 255, .85); }
body.bcs-site .bcs-reviews-panel__score { font-size: 18px; letter-spacing: .06em; color: #fff; margin: 8px 0 4px; }
body.bcs-site .bcs-reviews-panel .bcs-stars--lg { margin: 0 0 6px; }
body.bcs-site .bcs-reviews__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
body.bcs-site .bcs-review { margin: 0; background: #fff; color: #1d2733; border-radius: 16px; padding: 22px; display: flex; flex-direction: column; gap: 12px; }
body.bcs-site .bcs-review blockquote { margin: 0; font-size: 15px; line-height: 1.55; border: 0; padding: 0; font-style: normal; color: #1d2733; }
body.bcs-site .bcs-review figcaption { font-size: 13px; color: #6b7682; font-weight: 600; }
body.bcs-site .bcs-review .bcs-review__stars { color: #f5b83d; letter-spacing: 2px; }
body.bcs-site .bcs-reviews--live { background: transparent; }

/* ---------- Logos ---------- */
body.bcs-site .bcs-logos > .elementor-widget,
body.bcs-site .bcs-logos > .e-con-inner > .elementor-widget { width: auto; --container-widget-width: auto; }
body.bcs-site .bcs-logo { background: #fff; border-radius: 14px; padding: 12px 18px; box-shadow: 0 0 0 1px rgba(16, 40, 63, .06); }
body.bcs-site .bcs-logo img { height: 64px !important; width: 150px !important; object-fit: contain; display: block; }

/* ---------- Chips and check lists ---------- */
body.bcs-site .bcs-chips .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
body.bcs-site .bcs-chips .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
body.bcs-site .bcs-chips .elementor-icon-list-item::after { display: none !important; }
body.bcs-site .bcs-chips .elementor-icon-list-item > a,
body.bcs-site .bcs-chips .elementor-icon-list-item > .elementor-icon-list-text,
body.bcs-site .bcs-chips--static .elementor-icon-list-item {
	display: inline-block; font-size: 14px; font-weight: 600; color: var(--bcs-navy); background: var(--bcs-light); padding: 9px 16px; border-radius: 999px; text-decoration: none;
}
body.bcs-site .bcs-chips .elementor-icon-list-item > a:hover { background: var(--bcs-navy); }
body.bcs-site .bcs-chips .elementor-icon-list-item > a:hover .elementor-icon-list-text { color: #fff; }
body.bcs-site .bcs-chips .elementor-icon-list-icon { display: none; }
body.bcs-site .bcs-bg-light .bcs-chips--static .elementor-icon-list-item { background: #fff; }
body.bcs-site .bcs-checks .elementor-icon-list-item { align-items: flex-start !important; padding-bottom: 8px !important; }
body.bcs-site .bcs-checks .elementor-icon-list-icon { color: var(--bcs-teal-d); margin-top: 5px; }
body.bcs-site .bcs-checks .elementor-icon-list-icon i,
body.bcs-site .bcs-checks .elementor-icon-list-icon svg { color: var(--bcs-teal-d); fill: var(--bcs-teal-d); font-size: 14px; width: 14px; }
body.bcs-site .bcs-checks .elementor-icon-list-text { color: var(--bcs-navy); font-weight: 500; }
body.bcs-site .bcs-checks--cols .elementor-icon-list-items { columns: 2; column-gap: 32px; }
body.bcs-site .bcs-contact-list .elementor-icon-list-icon i,
body.bcs-site .bcs-contact-list .elementor-icon-list-icon svg { color: var(--bcs-teal-d); fill: var(--bcs-teal-d); }
body.bcs-site .bcs-contact-list .elementor-icon-list-text { color: var(--bcs-navy); font-weight: 600; }
body.bcs-site .bcs-contact-list .elementor-icon-list-item { padding-bottom: 8px !important; }

/* ---------- Quotes, notes, FAQs ---------- */
body.bcs-site .bcs-quote { margin: 0; padding: 8px 0 8px 28px; border-left: 4px solid var(--bcs-teal); }
body.bcs-site .bcs-quote p { font-size: 22px; line-height: 1.5; color: var(--bcs-navy); font-weight: 600; margin: 0 0 12px; }
body.bcs-site .bcs-quote cite { font-style: normal; font-size: 15px; color: var(--bcs-muted); font-weight: 600; }
body.bcs-site .bcs-quote--small p { font-size: 18px; }
body.bcs-site .bcs-quote cite:empty { display: none; }
body.bcs-site .bcs-quote p:last-of-type:has(+ cite:empty), body.bcs-site .bcs-quote p:last-child { margin-bottom: 0; }
body.bcs-site .bcs-note { border-left: 6px solid var(--bcs-teal); }
body.bcs-site .bcs-note__title .elementor-heading-title { font-size: 20px; }
body.bcs-site .bcs-faq__q .elementor-heading-title { font-size: 18px; line-height: 1.35; }
body.bcs-site .bcs-faq__item { border-top: 1px solid var(--bcs-line); padding-top: 18px !important; }

/* ---------- Gallery ---------- */
body.bcs-site .bcs-gallery__img img { height: 260px; }
@media (max-width: 767px) { body.bcs-site .bcs-gallery__img img { height: 160px; } }

/* ---------- Booking CTA ---------- */
body.bcs-site .bcs-book__card { background: #fff; border-radius: var(--bcs-radius); box-shadow: 0 24px 48px -28px rgba(16, 40, 63, .35); padding: 8px !important; }
body.bcs-site .bcs-book-page { max-width: 880px; margin: 0 auto; }

/* ---------- Navy CTA band ---------- */
body.bcs-site .bcs-cta-band__inner { max-width: 760px; margin: 0 auto; }
body.bcs-site .bcs-cta-band .bcs-btns { justify-content: center; }

/* ---------- Enquiry forms ---------- */
body.bcs-site .bcs-form-card { box-shadow: 0 24px 48px -30px rgba(16, 40, 63, .35); }
body.bcs-site .bcs-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; }
body.bcs-site .bcs-form__field { display: flex; flex-direction: column; gap: 6px; }
body.bcs-site .bcs-form__field--wide { grid-column: 1 / -1; }
body.bcs-site .bcs-form__field label { font-size: 14px; font-weight: 700; color: var(--bcs-navy); }
body.bcs-site .bcs-form__field label span { color: var(--bcs-teal-d); }
body.bcs-site .bcs-form input[type="text"],
body.bcs-site .bcs-form input[type="email"],
body.bcs-site .bcs-form input[type="tel"],
body.bcs-site .bcs-form select,
body.bcs-site .bcs-form textarea {
	width: 100%; font: inherit; font-size: 16px; color: var(--bcs-navy); background: #fff; border: 1px solid var(--bcs-line); border-radius: 12px; padding: 12px 14px; box-sizing: border-box;
}
body.bcs-site .bcs-form input:focus,
body.bcs-site .bcs-form select:focus,
body.bcs-site .bcs-form textarea:focus { outline: 2px solid var(--bcs-teal); outline-offset: 1px; border-color: var(--bcs-teal-d); }
body.bcs-site .bcs-form input[type="file"] { font-size: 14px; }
body.bcs-site .bcs-form__small { font-size: 13px; margin: 16px 0; }
body.bcs-site .bcs-form__submit.elementor-button { background: var(--bcs-teal-d); color: #fff; border: 0; border-radius: 999px; padding: 15px 28px; font: inherit; font-weight: 700; cursor: pointer; }
body.bcs-site .bcs-form__submit.elementor-button:hover { background: var(--bcs-navy); }
body.bcs-site .bcs-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
body.bcs-site .bcs-form__done { background: #e3f4f4; border-radius: 16px; padding: 22px; color: var(--bcs-navy); }
body.bcs-site .bcs-form__done p { margin: 6px 0 0; }
body.bcs-site .bcs-form__error { background: #fdecec; color: #8a1f1f; border-radius: 12px; padding: 12px 16px; margin-bottom: 16px; font-weight: 600; }
@media (max-width: 600px) { body.bcs-site .bcs-form__grid { grid-template-columns: 1fr; } }

/* ---------- Map ---------- */
body.bcs-site .bcs-map iframe { display: block; filter: saturate(.85); }

/* ---------- Header ---------- */
body.bcs-site .elementor-location-header { position: sticky; top: 0; z-index: 900; }
body.bcs-site.admin-bar .elementor-location-header { top: 32px; }
@media (max-width: 782px) { body.bcs-site.admin-bar .elementor-location-header { top: 0; } }
body.bcs-site .bcs-header { transition: box-shadow .25s; }
body.bcs-site.bcs-scrolled .bcs-header { box-shadow: 0 10px 30px -12px rgba(0, 0, 0, .45); }
body.bcs-site .bcs-header__row > .elementor-widget-bcs_menu,
body.bcs-site .bcs-header__row > .e-con-inner > .elementor-widget-bcs_menu { flex-grow: 1; --container-widget-flex-grow: 1; }
body.bcs-site .bcs-header__row > .elementor-widget,
body.bcs-site .bcs-header__row > .e-con-inner > .elementor-widget { width: auto; --container-widget-width: auto; }
body.bcs-site .bcs-header__logo img { display: block; }
body.bcs-site .bcs-header__cta .elementor-button { padding: 14px 22px; font-size: 15px; }

body.bcs-site .bcs-nav { --bcs-nav-link: #fff; --bcs-nav-hover: var(--bcs-teal); --bcs-nav-gap: 22px; font-family: var(--bcs-font); }
body.bcs-site .bcs-nav ul { list-style: none; margin: 0; padding: 0; }
body.bcs-site .bcs-nav a { text-decoration: none; }
body.bcs-site .bcs-nav--header .bcs-nav__list { display: flex; justify-content: center; align-items: center; gap: var(--bcs-nav-gap); }
body.bcs-site .bcs-nav--header .bcs-nav__list > li { position: relative; }
body.bcs-site .bcs-nav--header .bcs-nav__list > li > a { display: inline-flex; align-items: center; gap: 6px; padding: 12px 0; color: var(--bcs-nav-link); font-size: 15px; font-weight: 600; white-space: nowrap; }
body.bcs-site .bcs-nav--header .bcs-nav__list > li > a:hover,
body.bcs-site .bcs-nav--header .bcs-nav__list > li.current-menu-item > a,
body.bcs-site .bcs-nav--header .bcs-nav__list > li.current-menu-ancestor > a { color: var(--bcs-nav-hover); }
body.bcs-site .bcs-nav--header .menu-item-has-children > a::after {
	content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-3px); opacity: .8;
}
body.bcs-site .bcs-nav--header .sub-menu {
	position: absolute; left: -18px; top: 100%; min-width: 250px; background: #fff; border-radius: 16px; padding: 10px;
	box-shadow: 0 24px 48px -16px rgba(16, 40, 63, .35); opacity: 0; visibility: hidden; transform: translateY(8px); transition: .18s; z-index: 20;
}
body.bcs-site .bcs-nav--header li:hover > .sub-menu,
body.bcs-site .bcs-nav--header li:focus-within > .sub-menu,
body.bcs-site .bcs-nav--header li.bcs-open > .sub-menu { opacity: 1; visibility: visible; transform: none; }
body.bcs-site .bcs-nav--header .sub-menu a { display: block; padding: 10px 14px; border-radius: 10px; color: var(--bcs-navy); font-size: 15px; font-weight: 600; }
body.bcs-site .bcs-nav--header .sub-menu a:hover,
body.bcs-site .bcs-nav--header .sub-menu .current-menu-item > a { background: var(--bcs-light); color: var(--bcs-teal-d); }
body.bcs-site .bcs-nav__toggle { display: none; }
body.bcs-site .bcs-nav__extra { display: none; }

@media (max-width: 1180px) {
	body.bcs-site .bcs-nav--header { display: flex; justify-content: flex-end; }
	body.bcs-site .bcs-nav__toggle {
		display: inline-flex; align-items: center; gap: 10px; background: transparent; border: 1px solid rgba(255, 255, 255, .35); color: #fff;
		border-radius: 999px; padding: 10px 16px; font: 700 15px var(--bcs-font); cursor: pointer;
	}
	body.bcs-site .bcs-nav__bars { display: inline-flex; flex-direction: column; gap: 4px; }
	body.bcs-site .bcs-nav__bars span { display: block; width: 18px; height: 2px; background: currentColor; border-radius: 2px; transition: .2s; }
	body.bcs-site .bcs-nav__toggle[aria-expanded="true"] .bcs-nav__bars span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
	body.bcs-site .bcs-nav__toggle[aria-expanded="true"] .bcs-nav__bars span:nth-child(2) { opacity: 0; }
	body.bcs-site .bcs-nav__toggle[aria-expanded="true"] .bcs-nav__bars span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
	body.bcs-site .bcs-nav__panel {
		display: none; position: fixed; left: 0; right: 0; top: var(--bcs-header-h, 76px); bottom: 0; overflow-y: auto;
		background: var(--bcs-navy); padding: 12px 20px 40px; border-top: 1px solid rgba(255, 255, 255, .12); z-index: 950;
	}
	body.bcs-site .bcs-nav--open .bcs-nav__panel { display: block; }
	body.bcs-site .bcs-nav--header .bcs-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
	body.bcs-site .bcs-nav--header .bcs-nav__list > li { border-bottom: 1px solid rgba(255, 255, 255, .1); }
	body.bcs-site .bcs-nav--header .bcs-nav__list > li > a { display: flex; justify-content: space-between; padding: 16px 0; font-size: 18px; }
	body.bcs-site .bcs-nav--header .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; background: transparent; padding: 0 0 12px 12px; display: none; min-width: 0; }
	body.bcs-site .bcs-nav--header li.bcs-open > .sub-menu { display: block; }
	body.bcs-site .bcs-nav--header li:hover > .sub-menu { opacity: 1; }
	body.bcs-site .bcs-nav--header .sub-menu a { color: rgba(255, 255, 255, .85); padding: 10px 0; }
	body.bcs-site .bcs-nav--header .sub-menu a:hover { background: transparent; color: var(--bcs-teal); }
	body.bcs-site .bcs-nav--header .menu-item-has-children > a::after { transition: transform .2s; }
	body.bcs-site .bcs-nav--header li.bcs-open > a::after { transform: rotate(-135deg); }
	body.bcs-site .bcs-nav__extra { display: flex; flex-direction: column; gap: 12px; padding-top: 24px; }
	body.bcs-site .bcs-nav__extra p { margin: 0; display: flex; flex-direction: column; gap: 12px; }
	body.bcs-site .bcs-nav__extra a { display: block; text-align: center; border-radius: 999px; padding: 15px 20px; font-weight: 700; color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .4); }
	body.bcs-site .bcs-nav__extra a.bcs-nav__book { background: var(--bcs-teal); color: var(--bcs-ink); box-shadow: none; }
	body.bcs-menu-open { overflow: hidden; }
}

/* ---------- Footer ---------- */
body.bcs-site .bcs-footer { position: relative; margin-top: -96px; z-index: 2; background-color: transparent !important; }
body.bcs-site .bcs-footer::before {
	content: ""; position: absolute; left: 0; right: 0; top: 0; width: 100%; height: 130px; pointer-events: none; opacity: 1; border: 0;
	background: url(curves/footer-top.svg) no-repeat top / 100% 100%;
}
body.bcs-site .bcs-footer::after { content: ""; position: absolute; left: 0; right: 0; top: 128px; bottom: 0; background: var(--bcs-navy); z-index: -1; }
body.bcs-site .bcs-footer > .e-con-inner { position: relative; }
body.bcs-site .bcs-footer a { color: #fff; text-decoration: none; }
body.bcs-site .bcs-footer a:hover { color: var(--bcs-teal); }
body.bcs-site .bcs-footer__title .elementor-heading-title { font-size: 13px !important; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--bcs-teal) !important; }
body.bcs-site .bcs-footer .elementor-widget-text-editor { color: rgba(255, 255, 255, .78); font-size: 15px; }
body.bcs-site .bcs-footer__phone { font-weight: 800; font-size: 18px; }
body.bcs-site .bcs-nav--list .bcs-nav__list { display: flex; flex-direction: column; gap: 12px; }
body.bcs-site .bcs-nav--list a { color: #fff; font-size: 15px; }
body.bcs-site .bcs-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .16); padding-top: 22px !important; }
body.bcs-site .bcs-footer__legal,
body.bcs-site .bcs-footer__fp { font-size: 14px; }
body.bcs-site .bcs-footer__fp strong { color: var(--bcs-teal); }
body.bcs-site .bcs-social .elementor-social-icon { background: transparent !important; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3); }
body.bcs-site .bcs-social .elementor-social-icon i,
body.bcs-site .bcs-social .elementor-social-icon svg { color: #fff; fill: #fff; }
body.bcs-site .bcs-social .elementor-social-icon:hover { box-shadow: inset 0 0 0 1px var(--bcs-teal); }

/* ---------- Blog (single posts and category pages) ---------- */
body.bcs-site .bcs-wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
body.bcs-site .bcs-pagehead { position: relative; background: var(--bcs-navy); color: rgba(255, 255, 255, .82); padding: 56px 0 150px; overflow: hidden; isolation: isolate; }
body.bcs-site .bcs-pagehead::before { content: ""; position: absolute; right: -120px; top: 0; width: 760px; height: 860px; z-index: -1; background: url(curves/hero-sweep.svg) no-repeat; background-size: contain; }
body.bcs-site .bcs-pagehead--short { padding-bottom: 140px; }
body.bcs-site .bcs-pagehead__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; align-items: center; }
body.bcs-site .bcs-pagehead__title { color: #fff; font-size: clamp(32px, 4.4vw, 50px); line-height: 1.08; letter-spacing: -.02em; font-weight: 800; margin: 12px 0 14px; text-wrap: balance; }
body.bcs-site .bcs-pagehead__meta { margin: 0; font-size: 15px; }
body.bcs-site .bcs-pagehead__intro { max-width: 680px; font-size: 18px; }
body.bcs-site .bcs-pagehead__media { border-radius: 0 28px 28px 0; }
body.bcs-site .bcs-pagehead__media img { display: block; width: 100%; height: 340px; object-fit: cover; border-radius: 0 28px 28px 0; }
body.bcs-site .bcs-crumbs { font-size: 14px; font-weight: 600; }
body.bcs-site .bcs-crumbs a { color: var(--bcs-teal); text-decoration: none; }
body.bcs-site .bcs-crumbs span { opacity: .5; margin: 0 6px; }

body.bcs-site .bcs-single__body { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 64px; padding-top: 32px; padding-bottom: 80px; }
body.bcs-site .bcs-prose { font-size: 17px; line-height: 1.75; color: #33434f; max-width: 760px; }
body.bcs-site .bcs-prose h2 { font-size: 28px; line-height: 1.2; margin: 1.8em 0 .5em; letter-spacing: -.01em; }
body.bcs-site .bcs-prose h3 { font-size: 21px; margin: 1.6em 0 .4em; }
body.bcs-site .bcs-prose p { margin: 0 0 1.1em; }
body.bcs-site .bcs-prose a { color: var(--bcs-teal-d); font-weight: 600; }
body.bcs-site .bcs-prose ul,
body.bcs-site .bcs-prose ol { padding-left: 1.3em; margin: 0 0 1.2em; }
body.bcs-site .bcs-prose li { margin-bottom: .4em; }
body.bcs-site .bcs-prose figure { margin: 1.8em 0; }
body.bcs-site .bcs-prose img { display: block; border-radius: 18px; width: 100%; height: auto; }
body.bcs-site .bcs-prose-block h2 { font-size: 24px; margin: 1.6em 0 .4em; }
body.bcs-site .bcs-prose-block h2:first-child { margin-top: 0; }
body.bcs-site .bcs-single__aside { position: relative; }
body.bcs-site .bcs-aside-card { position: sticky; top: 110px; background: var(--bcs-light); border-radius: var(--bcs-radius); padding: 28px; }
body.bcs-site .bcs-aside-card h2 { font-size: 22px; margin: 0 0 10px; }
body.bcs-site .bcs-aside-card p { font-size: 15px; }
body.bcs-site .bcs-aside-card__call { margin-top: 16px; }
body.bcs-site .bcs-aside-card__call a { color: var(--bcs-navy); font-weight: 800; }
body.bcs-site a.bcs-btn { display: inline-block; background: var(--bcs-teal-d); color: #fff; font-weight: 700; padding: 14px 22px; border-radius: 999px; text-decoration: none; font-size: 15px; }
body.bcs-site a.bcs-btn:hover { background: var(--bcs-navy); color: #fff; }
body.bcs-site .bcs-related { background: var(--bcs-light); padding: 72px 0 150px; }
body.bcs-site .bcs-related h2 { font-size: 32px; margin: 0 0 28px; }
body.bcs-site .bcs-archive__body { padding-bottom: 150px; }

/* Post cards */
body.bcs-site .bcs-posts__grid { display: grid; grid-template-columns: repeat(var(--bcs-cols, 3), minmax(0, 1fr)); gap: 28px; }
body.bcs-site .bcs-card { background: #fff; border-radius: var(--bcs-radius); overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 0 0 1px rgba(16, 40, 63, .08); transition: transform .25s, box-shadow .25s; }
body.bcs-site .bcs-card:hover { transform: translateY(-3px); box-shadow: 0 24px 40px -26px rgba(16, 40, 63, .45); }
body.bcs-site .bcs-card__media { display: block; aspect-ratio: 16 / 10; background: var(--bcs-light); overflow: hidden; }
body.bcs-site .bcs-card__img,
body.bcs-site .bcs-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.bcs-site .bcs-card__ph { display: block; width: 100%; height: 100%; background: var(--bcs-navy) url(curves/corner-sweep.svg) no-repeat right top / 60%; }
body.bcs-site .bcs-card__body { padding: 22px 24px 24px; display: flex; flex-direction: column; gap: 10px; flex-grow: 1; }
body.bcs-site .bcs-card__meta { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--bcs-muted); flex-wrap: wrap; }
body.bcs-site .bcs-chip { font-size: 12px; font-weight: 700; color: var(--bcs-teal-d); }
body.bcs-site span.bcs-chip { background: #e3f4f4; padding: 4px 10px; border-radius: 999px; }
body.bcs-site .bcs-card__title { font-size: 19px; line-height: 1.3; margin: 0; font-weight: 800; }
body.bcs-site .bcs-card__title a { color: var(--bcs-navy); text-decoration: none; }
body.bcs-site .bcs-card__title a:hover { color: var(--bcs-teal-d); }
body.bcs-site .bcs-card__excerpt { font-size: 15px; margin: 0; color: var(--bcs-muted); line-height: 1.55; }
body.bcs-site .bcs-card__link { margin-top: auto; font-weight: 700; font-size: 15px; color: var(--bcs-teal-d); text-decoration: none; }
body.bcs-site .bcs-bg-light .bcs-card { box-shadow: none; }
body.bcs-site .bcs-filters { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 28px; }
body.bcs-site .bcs-filters a { font-size: 14px; font-weight: 600; color: var(--bcs-navy); background: var(--bcs-light); padding: 9px 16px; border-radius: 999px; text-decoration: none; }
body.bcs-site .bcs-filters a[aria-current],
body.bcs-site .bcs-filters a:hover { background: var(--bcs-navy); color: #fff; }
body.bcs-site .bcs-pager { display: flex; gap: 8px; justify-content: center; margin-top: 36px; }
body.bcs-site .bcs-pager a,
body.bcs-site .bcs-pager span { min-width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; font-weight: 700; text-decoration: none; color: var(--bcs-navy); background: var(--bcs-light); }
body.bcs-site .bcs-pager span { background: var(--bcs-navy); color: #fff; }

/* Pager: arrows, and the next set slides in without reloading the page (site.js). */
body.bcs-site .bcs-pager .bcs-pager__step { background: transparent; border: 1.5px solid var(--bcs-line); color: var(--bcs-navy); }
body.bcs-site .bcs-pager span.bcs-pager__step.is-off { opacity: .35; background: transparent; color: var(--bcs-navy); }
body.bcs-site .bcs-pager a:hover { background: var(--bcs-teal, #2bb3a8); color: #fff; }
body.bcs-site .bcs-posts.is-loading .bcs-posts__grid { opacity: .45; transition: opacity .2s; }
body.bcs-site .bcs-posts__grid.bcs-slide-next { animation: bcsSlideNext .45s cubic-bezier(.2,.7,.2,1); }
body.bcs-site .bcs-posts__grid.bcs-slide-prev { animation: bcsSlidePrev .45s cubic-bezier(.2,.7,.2,1); }
@keyframes bcsSlideNext { from { opacity: 0; transform: translateX(48px); } to { opacity: 1; transform: none; } }
@keyframes bcsSlidePrev { from { opacity: 0; transform: translateX(-48px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { body.bcs-site .bcs-posts__grid.bcs-slide-next, body.bcs-site .bcs-posts__grid.bcs-slide-prev { animation: none; } }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	body.bcs-site .bcs-reviews__grid { grid-template-columns: 1fr; }
	body.bcs-site .bcs-reviews-panel { flex-direction: column !important; }
	body.bcs-site .bcs-reviews-panel__side { flex: none; }
	body.bcs-site .bcs-posts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.bcs-site .bcs-single__body { grid-template-columns: 1fr; gap: 32px; }
	body.bcs-site .bcs-pagehead__grid { grid-template-columns: 1fr; gap: 32px; }
	body.bcs-site .bcs-hero__photo img { border-radius: 28px; }
	body.bcs-site .bcs-hero .bcs-edge-left::after { display: none; }
	body.bcs-site .bcs-steps__photo img { border-radius: 28px; }
	body.bcs-site .bcs-steps .bcs-edge-right::after { display: none; }
	body.bcs-site .bcs-head-row { flex-direction: column !important; align-items: flex-start !important; }
}
@media (max-width: 767px) {
	body.bcs-site .bcs-lead { font-size: 17px; }
	body.bcs-site .bcs-hero::before,
body.bcs-site .bcs-pagehead::before { width: 420px; height: 480px; right: -160px; }
	body.bcs-site .bcs-curve-bottom::after { height: 70px; }
	body.bcs-site .bcs-hero__photo img,
body.bcs-site .bcs-hero--page .bcs-hero__photo img { height: 280px; }
	body.bcs-site .bcs-split__photo img,
body.bcs-site .bcs-showroom__photo img,
body.bcs-site .bcs-steps__photo img { height: 280px; }
	body.bcs-site .bcs-card-box__img img { height: 210px; }
	body.bcs-site .bcs-tile { min-height: 260px !important; }
	body.bcs-site .bcs-posts__grid { grid-template-columns: 1fr; }
	body.bcs-site .bcs-checks--cols .elementor-icon-list-items { columns: 1; }
	body.bcs-site .bcs-quote p { font-size: 19px; }
	body.bcs-site .bcs-logo img { height: 48px !important; width: 112px !important; }
	body.bcs-site .bcs-trust__sep { display: none; }
	body.bcs-site .bcs-footer { margin-top: -48px; }
	body.bcs-site .bcs-footer::before { height: 60px; }
	body.bcs-site .bcs-footer::after { top: 58px; }
	body.bcs-site .bcs-pagehead { padding: 40px 0 100px; }
	body.bcs-site .bcs-pagehead__media img { height: 240px; border-radius: 22px; }
	body.bcs-site .bcs-corner-sweep::before { opacity: .5; }
}
@media (prefers-reduced-motion: reduce) {
	body.bcs-site * { transition: none !important; }
}

/* Header fit */
body.bcs-site .bcs-header__logo { flex-shrink: 0; }
body.bcs-site .bcs-btn--phone .elementor-button-text { white-space: nowrap; }
@media (max-width: 1560px) { body.bcs-site .bcs-btn--phone { display: none; } }
body.bcs-site .bcs-corner-sweep > .e-con-inner { z-index: 1; }

/* Top bar above the menu */
body.bcs-site .bcs-topbar { border-bottom: 1px solid rgba(255, 255, 255, .12); padding: 9px 0 !important; font-size: 13px; }
body.bcs-site .bcs-topbar .elementor-widget-text-editor { color: rgba(255, 255, 255, .75); font-size: 13px; }
body.bcs-site .bcs-topbar p { margin: 0; }
body.bcs-site .bcs-topbar a { color: #fff; text-decoration: none; font-weight: 600; }
body.bcs-site .bcs-topbar a:hover { color: var(--bcs-teal); }
body.bcs-site .bcs-topbar strong { color: #fff; }
body.bcs-site .bcs-topbar .bcs-stars { font-size: 12px; letter-spacing: 1px; }
body.bcs-site .bcs-topbar__phone { font-weight: 800 !important; }
body.bcs-site .bcs-topbar__sep { display: inline-block; width: 1px; height: 12px; background: rgba(255, 255, 255, .25); margin: 0 10px; vertical-align: -1px; }
body.bcs-site .bcs-header__cta .elementor-button { white-space: nowrap; }
body.bcs-site .bcs-header__cta .elementor-button-text { white-space: nowrap; }
body.bcs-site .bcs-nav--header .bcs-nav__list { justify-content: flex-end; }
@media (max-width: 1180px) { body.bcs-site .bcs-header { padding-top: 12px !important; } }

/* Logo strips: one line on desktop */
@media (min-width: 1025px) {
	body.bcs-site .bcs-logos, body.bcs-site .bcs-logos > .e-con-inner { flex-wrap: nowrap !important; }
	body.bcs-site .bcs-logos .bcs-logo { flex: 1 1 0; min-width: 0; max-width: 200px !important; padding: 10px 12px; }
	body.bcs-site .bcs-logos .bcs-logo img { width: 100% !important; max-width: 150px; height: 56px !important; margin: 0 auto; }
}

/* Area pages: lighter "local" hero */
body.bcs-site .bcs-local-hero { position: relative; overflow: hidden; }
body.bcs-site .bcs-local-hero.e-con::before {
	content: ""; position: absolute; left: auto; right: 0; top: 0; width: min(520px, 45vw); height: min(300px, 26vw); opacity: .9; border: 0;
	background: url(curves/corner-sweep.svg) no-repeat top right / contain; pointer-events: none;
}
body.bcs-site .bcs-local-hero > .e-con-inner { position: relative; z-index: 1; }
body.bcs-site .bcs-local-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: linear-gradient(90deg, var(--bcs-navy) 0 40%, var(--bcs-teal) 40% 100%); }
body.bcs-site .bcs-local-crumb { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--bcs-teal-d); }
body.bcs-site .bcs-local-crumb a { color: var(--bcs-muted); text-decoration: none; }
body.bcs-site .bcs-local-crumb a:hover { color: var(--bcs-navy); }
body.bcs-site .bcs-local-crumb span { margin: 0 6px; opacity: .5; }
body.bcs-site .bcs-local-hero__title .elementor-heading-title { font-size: clamp(34px, 4.4vw, 52px); line-height: 1.06; letter-spacing: -.025em; color: var(--bcs-navy); }
body.bcs-site .bcs-local-hero__intro { color: var(--bcs-muted); max-width: 560px; }
body.bcs-site .bcs-trust--dark { color: var(--bcs-muted); }
body.bcs-site .bcs-trust--dark strong { color: var(--bcs-navy); }
body.bcs-site .bcs-trust--dark .bcs-trust__sep { background: var(--bcs-line); }
body.bcs-site .bcs-local-hero__photo img { height: clamp(300px, 34vw, 440px); }
body.bcs-site .bcs-local-card { margin: -90px 0 0 -32px; position: relative; z-index: 2; max-width: 88%; box-shadow: 0 24px 48px -26px rgba(16, 40, 63, .45); }
body.bcs-site .bcs-local-card__title .elementor-heading-title { font-size: 16px; font-weight: 800; color: var(--bcs-navy); }
body.bcs-site .bcs-local-card__meta { font-size: 13px; }
body.bcs-site .bcs-chips--small .elementor-icon-list-items { gap: 6px; }
body.bcs-site .bcs-chips--small .elementor-icon-list-item { font-size: 13px !important; padding: 6px 12px !important; }
@media (max-width: 1024px) { body.bcs-site .bcs-local-card { margin: -60px 16px 0; max-width: none; } }

/* Area pages: compact product rows and tick list */
body.bcs-site .bcs-product-row { border-top: 1px solid var(--bcs-line); padding-top: 24px !important; }
body.bcs-site .bcs-product-row__img { flex: 0 0 150px; width: 150px; }
body.bcs-site .bcs-product-row__img img { height: 150px; border-radius: 18px; }
body.bcs-site .bcs-product-row__title .elementor-heading-title { font-size: 20px; }
body.bcs-site .bcs-product-row .elementor-widget-text-editor { font-size: 15px; }
@media (max-width: 600px) { body.bcs-site .bcs-product-row__img { flex-basis: 96px; width: 96px; } body.bcs-site .bcs-product-row__img img { height: 96px; } }
body.bcs-site .bcs-ticks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 18px 28px; }
body.bcs-site .bcs-ticks li { position: relative; padding-left: 32px; font-size: 15px; line-height: 1.5; }
body.bcs-site .bcs-ticks li::before { content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px; border-radius: 50%; background: var(--bcs-teal-d) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") no-repeat center / 13px; }
body.bcs-site .bcs-ticks strong { display: block; color: var(--bcs-navy); }
@media (max-width: 600px) { body.bcs-site .bcs-ticks { grid-template-columns: 1fr; } }

/* Homepage hero: sized to the screen so the curved line shows as soon as the page opens */
@media (min-width: 1025px) {
	body.bcs-site .bcs-hero--home .bcs-hero__photo img { height: clamp(360px, calc(100vh - 370px), 560px); }
	body.bcs-site .bcs-hero--home .bcs-hero__title--xl .elementor-heading-title { font-size: clamp(44px, min(4.6vw, 7.2vh), 62px); }
	body.bcs-site .bcs-hero--home .bcs-hero__text { --gap: 20px; --row-gap: 20px; }
	body.bcs-site .bcs-hero--home .bcs-lead { font-size: 18px; }
}
@media (min-width: 1025px) and (max-height: 820px) {
	body.bcs-site .bcs-hero--home .bcs-badge { display: none; }
}

/* Phones: header is just the logo and Menu button (booking is inside the menu) */
@media (max-width: 767px) {
	body.bcs-site .bcs-header__cta { display: none !important; }
	body.bcs-site .bcs-header__row, body.bcs-site .bcs-header__row > .e-con-inner { flex-wrap: nowrap !important; }
}

/* Homepage hero: the photo runs down behind the curve at the bottom, with the teal edge line following it */
@media (min-width: 1025px) {
	body.bcs-site .bcs-hero--home .bcs-hero__grid { --align-items: stretch; align-items: stretch; }
	body.bcs-site .bcs-hero--home .bcs-hero__media { position: relative; align-self: stretch; margin-bottom: -140px; min-height: 480px; }
	body.bcs-site .bcs-hero--home .bcs-hero__photo { position: absolute; inset: 0 0 0 0; margin: 0; }
	body.bcs-site .bcs-hero--home .bcs-hero__photo .elementor-widget-container { height: 100%; }
	body.bcs-site .bcs-hero--home .bcs-hero__photo img { height: 100% !important; border-radius: 0 28px 0 0; }
}

/* ---------- 1.2.0: trust bar ---------- */
body.bcs-site .bcs-tb { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 0; border: 1px solid var(--bcs-line); border-radius: var(--bcs-radius); background: #fff; overflow: hidden; }
body.bcs-site .bcs-tb__item { display: flex; flex-direction: column; gap: 4px; padding: 22px 24px; border-left: 1px solid var(--bcs-line); }
body.bcs-site .bcs-tb__item:first-child { border-left: 0; }
body.bcs-site .bcs-tb__item strong { font-size: 30px; line-height: 1.1; font-weight: 800; color: var(--bcs-navy); letter-spacing: -.5px; }
body.bcs-site .bcs-tb__item span { font-size: 14.5px; line-height: 1.4; color: var(--bcs-muted); font-weight: 600; }
body.bcs-site .bcs-tb__star { color: #f5b301; font-size: .8em; margin-left: 4px; }
body.bcs-site .bcs-tb__item--ph { background: repeating-linear-gradient(135deg, #fff8e1 0 10px, #fff3cc 10px 20px); }
body.bcs-site .bcs-tb__item--ph strong { font-size: 18px; color: #8a5a00; }
body.bcs-site .bcs-tb__item--ph em { font-size: 12px; color: #8a5a00; font-style: normal; }
body.bcs-site .bcs-bg-light .bcs-tb { border-color: transparent; }
@media (max-width: 767px) {
	body.bcs-site .bcs-tb { grid-template-columns: 1fr 1fr; }
	body.bcs-site .bcs-tb__item { padding: 16px 18px; border-left: 0; border-top: 1px solid var(--bcs-line); }
	body.bcs-site .bcs-tb__item:nth-child(even) { border-left: 1px solid var(--bcs-line); }
	body.bcs-site .bcs-tb__item:nth-child(-n+2) { border-top: 0; }
	body.bcs-site .bcs-tb__item strong { font-size: 24px; }
}

/* ---------- Placeholders (only visible when logged in, or when switched on in Settings → Bay Carpets) ---------- */
body.bcs-site .bcs-ph, body.bcs-site .bcs-ph-sec { display: none; }
body.bcs-site.bcs-show-ph .bcs-ph { display: block; }
body.bcs-site.bcs-show-ph .bcs-ph-sec { display: flex; }
body.bcs-site .bcs-ph-box { position: relative; border: 2px dashed #e0a100; background: #fffaeb; border-radius: 16px; padding: 18px 20px 16px; color: #5c4300; font-size: 15px; line-height: 1.55; }
body.bcs-site .bcs-ph-box p { margin: 0 0 8px; }
body.bcs-site .bcs-ph-box p:last-child, body.bcs-site .bcs-ph-box ul:last-child { margin-bottom: 0; }
body.bcs-site .bcs-ph-box ul { margin: 0 0 8px 18px; padding: 0; }
body.bcs-site .bcs-ph-box a { color: #8a5a00; font-weight: 700; }
body.bcs-site .bcs-ph-tag { display: inline-block; background: #e0a100; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; border-radius: 999px; padding: 4px 10px; margin-bottom: 10px; }
body.bcs-site .bcs-ph-box--inline { margin-bottom: 24px; }
body.bcs-site .bcs-ph-sec .bcs-ph-box { margin-bottom: 32px; }

/* ---------- Local jobs ---------- */
body.bcs-site:not(.bcs-show-ph) .bcs-jobs-sec:has(.bcs-jobs-empty) { display: none; }
body.bcs-site .bcs-ph-only, body.bcs-site .bcs-tb__item--ph { display: none; }
body.bcs-site.bcs-show-ph .bcs-ph-only { display: block; }
body.bcs-site.bcs-show-ph .bcs-tb__item--ph { display: flex; }
body.bcs-site .bcs-jobs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
body.bcs-site .bcs-job { display: flex; flex-direction: column; background: #fff; border-radius: var(--bcs-radius); overflow: hidden; box-shadow: 0 20px 44px -30px rgba(16, 40, 63, .45); }
body.bcs-site .bcs-bg-white .bcs-job { background: var(--bcs-light); box-shadow: none; }
body.bcs-site .bcs-job__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--bcs-light); }
body.bcs-site .bcs-job__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
body.bcs-site .bcs-job:hover .bcs-job__media img { transform: scale(1.03); }
body.bcs-site .bcs-job__body { display: flex; flex-direction: column; gap: 10px; padding: 24px 26px 26px; flex: 1; }
body.bcs-site .bcs-job__meta { margin: 0; font-size: 12.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--bcs-teal-d); }
body.bcs-site .bcs-job__title { margin: 0; font-size: 20px; line-height: 1.3; font-weight: 800; }
body.bcs-site .bcs-job__title a { color: var(--bcs-navy); text-decoration: none; }
body.bcs-site .bcs-job__text { margin: 0; font-size: 15px; line-height: 1.6; }
body.bcs-site .bcs-job__facts { margin: 4px 0 0; display: grid; gap: 6px; font-size: 14px; }
body.bcs-site .bcs-job__facts div { display: flex; gap: 10px; border-top: 1px solid var(--bcs-line); padding-top: 6px; }
body.bcs-site .bcs-job__facts dt { min-width: 72px; font-weight: 700; color: var(--bcs-navy); }
body.bcs-site .bcs-job__facts dd { margin: 0; }
body.bcs-site .bcs-job__quote { margin: auto 0 0; padding: 14px 0 0; border-top: 3px solid var(--bcs-teal); }
body.bcs-site .bcs-job__quote p { margin: 0 0 6px; font-size: 15.5px; font-weight: 600; color: var(--bcs-navy); line-height: 1.5; }
body.bcs-site .bcs-job__quote cite { font-style: normal; font-size: 13.5px; font-weight: 700; color: var(--bcs-muted); }
body.bcs-site .bcs-job--ph { border: 2px dashed #e0a100; box-shadow: none; background: #fffdf5 !important; }
body.bcs-site .bcs-job--ph .bcs-job__media { display: flex; align-items: center; justify-content: center; background: repeating-linear-gradient(135deg, #fff8e1 0 12px, #fff1c2 12px 24px); }
body.bcs-site .bcs-job--ph .bcs-job__media span { display: flex; flex-direction: column; align-items: center; gap: 4px; font-weight: 800; color: #8a5a00; text-align: center; padding: 16px; }
body.bcs-site .bcs-job--ph .bcs-job__media small { font-weight: 600; font-size: 12.5px; }
body.bcs-site .bcs-job--ph .bcs-job__text, body.bcs-site .bcs-job--ph .bcs-job__quote p, body.bcs-site .bcs-job--ph dd { color: #8a6a1a; font-style: italic; }
@media (max-width: 1024px) { body.bcs-site .bcs-jobs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { body.bcs-site .bcs-jobs { grid-template-columns: 1fr; } }

/* Single job page */
.bcs-job-single .bcs-job__facts--lg { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin: 0 0 28px; font-size: 15px; }
.bcs-job-single .bcs-job__facts--lg div { flex-direction: column; gap: 2px; background: #eef2f4; border: 0; border-radius: 14px; padding: 12px 16px; }
.bcs-job-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; margin: 28px 0; }
.bcs-job-gallery figure { margin: 0; position: relative; }
.bcs-job-gallery img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; }
.bcs-job-gallery figcaption { position: absolute; left: 10px; top: 10px; background: #10283f; color: #fff; font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 999px; }
.bcs-job-single__cta { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; margin-top: 28px; }
.bcs-job-single__btn { background: #1b7e83; color: #fff !important; padding: 14px 26px; border-radius: 999px; font-weight: 700; text-decoration: none; }

/* ---------- Area pages: at a glance, other areas ---------- */
body.bcs-site .bcs-glance-card { box-shadow: 0 24px 48px -30px rgba(16, 40, 63, .45); border: 1px solid var(--bcs-line); position: sticky; top: 24px; }
body.bcs-site .bcs-glance { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
body.bcs-site .bcs-glance li { display: flex; flex-direction: column; gap: 2px; border-top: 1px solid var(--bcs-line); padding-top: 12px; font-size: 15px; }
body.bcs-site .bcs-glance li:first-child { border-top: 0; padding-top: 0; }
body.bcs-site .bcs-glance span { font-size: 12.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--bcs-teal-d); }
body.bcs-site .bcs-glance strong { color: var(--bcs-navy); font-weight: 700; line-height: 1.45; }
body.bcs-site .bcs-h3-sm .elementor-heading-title { font-size: 22px; }

/* ---------- Price guide ---------- */
body.bcs-site .bcs-price-table { width: 100%; border-collapse: collapse; font-size: 16px; background: var(--bcs-light); border-radius: var(--bcs-radius); overflow: hidden; }
body.bcs-site .bcs-price-table th, body.bcs-site .bcs-price-table td { padding: 16px 22px; border-top: 1px solid #dde3e7; text-align: left; vertical-align: top; }
body.bcs-site .bcs-price-table tr:first-child th, body.bcs-site .bcs-price-table tr:first-child td { border-top: 0; }
body.bcs-site .bcs-price-table th { color: var(--bcs-navy); font-weight: 700; }
body.bcs-site .bcs-price-table td { color: var(--bcs-teal-d); font-weight: 700; white-space: nowrap; text-align: right; }
@media (max-width: 640px) { body.bcs-site .bcs-price-table td { white-space: normal; } }
body.single-bcs_job .site-main { max-width: 960px; margin: 56px auto 110px; padding: 0 24px; }
body.single-bcs_job .site-main .page-header { margin-bottom: 20px; }
body.single-bcs_job .site-main .entry-title { font-size: clamp(30px, 4vw, 44px); line-height: 1.1; letter-spacing: -1px; font-weight: 800; }
body.single-bcs_job .site-main .page-content { font-size: 17px; line-height: 1.7; }
.bcs-job-single__hero { margin: 0 0 24px; }
.bcs-job-single__hero img { width: 100%; max-height: 560px; object-fit: cover; border-radius: 22px; display: block; }
@media (max-width: 640px) { body.single-bcs_job .site-main { margin: 32px auto 80px; padding: 0 20px; } }

/* ---------- Project pages and cards ---------- */
body.bcs-site .bcs-job__media { aspect-ratio: 16 / 10; }
.bcs-single--job .bcs-single__aside { position: sticky; top: 110px; align-self: start; display: flex; flex-direction: column; gap: 18px; }
.bcs-single--job .bcs-aside-card { position: static; }
.bcs-aside-card--facts { background: #fff !important; border: 1px solid var(--bcs-line); }
.bcs-aside-card--facts .bcs-job__facts { margin: 0; font-size: 15px; }
.bcs-aside-card--facts .bcs-job__facts div:first-child { border-top: 0; padding-top: 0; }
.bcs-single--job .bcs-job-gallery { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.bcs-single--job .bcs-quote { margin-top: 28px; }
@media (max-width: 1024px) { .bcs-single--job .bcs-single__aside { position: static; } }

/* ---------- Interior designers: Premium finishes by Bay ---------- */
body.bcs-site .bcs-finishes .bcs-head__side,
body.bcs-site .bcs-finishes .bcs-head__side p { color: rgba(255, 255, 255, .78); }
body.bcs-site .bcs-finish { background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .12); border-radius: 22px; overflow: hidden; height: 100%; }
body.bcs-site .bcs-finish__img img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0; transition: transform .6s ease; }
body.bcs-site .bcs-finish__img { overflow: hidden; }
body.bcs-site .bcs-finish:hover .bcs-finish__img img { transform: scale(1.04); }
body.bcs-site .bcs-finish__body { padding: 22px 24px 26px; }
body.bcs-site .bcs-finishes .bcs-finish__title .elementor-heading-title { color: #fff; font-size: 19px; }
body.bcs-site .bcs-finishes .bcs-finish__text,
body.bcs-site .bcs-finishes .bcs-finish__text p { color: rgba(255, 255, 255, .75); font-size: 15px; line-height: 1.6; margin: 0; }
body.bcs-site .bcs-finish__title .elementor-heading-title::before { content: ""; display: block; width: 28px; height: 3px; border-radius: 2px; background: var(--bcs-teal); margin-bottom: 14px; }
/* Brand cards: white on the light band, with a soft lift */
body.bcs-site .bcs-brand-card { border: 1px solid var(--bcs-line); box-shadow: 0 24px 48px -36px rgba(16, 40, 63, .45); height: 100%; }
body.bcs-site .bcs-brand-card .bcs-card-box__img img { aspect-ratio: 16 / 10; object-fit: cover; }
