/* Lady Sew and Sew brand layer for BeTheme (staging, 30 Oct 2026).
   Loaded by the betheme-child functions.php after BeTheme's own CSS. */

:root {
	--lss-pink: #e31583;
	--lss-pink-dark: #b5106a;
	--lss-pink-pale: #fef3f9;
	--lss-teal-pale: #c9ebea;
	--lss-ink: #2a2b39;
	--lss-maxw: 1240px;
}

/* ---------- Top bar (printed by BeTheme "hook-top") ---------- */
.lss-topbar {
	background: var(--lss-pink);
	color: #fff;
	font-size: 14px;
}
.lss-topbar-inner {
	max-width: var(--lss-maxw);
	margin: 0 auto;
	padding: 8px 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.lss-topbar a { color: #fff; text-decoration: none; }
.lss-topbar a:hover { color: var(--lss-pink-pale); }
.lss-social { display: flex; gap: 14px; }
.lss-social svg { width: 15px; height: 15px; fill: currentColor; vertical-align: middle; }
.lss-topbar .lss-contact { display: flex; gap: 28px; }

/* ---------- Header + menu ---------- */
#Top_bar #logo img.svg,
#Top_bar .logo img.svg { width: 150px !important; height: auto !important; max-height: none !important; }
#Top_bar #logo { height: auto !important; padding: 10px 0 !important; line-height: 0; }
#Header_wrapper, #Header { background-color: #fff !important; }
.header-shop #Top_bar .top_bar_right .top-bar-right-input input[type="text"],
.header-shop #Top_bar .top_bar_right input.field { background: var(--lss-pink-pale); border: 0; border-radius: 30px; }
#Top_bar .menu > li > a span:not(.description) { color: var(--lss-pink); font-weight: 500; }
#Top_bar .menu > li.current-menu-item > a span,
#Top_bar .menu > li > a:hover span { color: var(--lss-pink-dark); }
#Top_bar .menu > li > a:after { background: var(--lss-pink) !important; }
.header-shop #Top_bar .top_bar_row_second,
.header-shop #Top_bar .menu_wrapper,
.header-shop #Top_bar .row_second { background: var(--lss-pink-pale); }
#Top_bar .menu li ul li a span { color: var(--lss-ink); }
#Top_bar .menu li ul li a:hover span { color: var(--lss-pink); }
#Top_bar .top_bar_right .top-bar-right-icon svg,
#Top_bar a#header_cart, #Top_bar a#search_button, #Top_bar a.myaccount_button { color: var(--lss-pink); }
#Top_bar .header-cart-count { background: var(--lss-pink); }

/* ---------- Homepage sections ---------- */
.lss-home { max-width: var(--lss-maxw); margin: 0 auto; padding: 24px 20px 60px; }
.lss-home h2.lss-section-title {
	color: var(--lss-pink);
	font-size: 34px;
	font-weight: 700;
	margin: 50px 0 20px;
}

/* Hero slider: scroll-snap, autoplayed by a few lines of JS in hook-bottom */
.lss-slider { position: relative; max-width: 980px; margin: 0 auto; }
.lss-slides {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	border-radius: 6px;
}
.lss-slides::-webkit-scrollbar { display: none; }
.lss-slide { flex: 0 0 100%; width: 100%; scroll-snap-align: start; display: block; }
.lss-slide img { max-width: none; }
.lss-slide img { display: block; width: 100%; height: auto; }
.lss-dots { display: flex; justify-content: center; gap: 8px; margin-top: 12px; }
.lss-dots button {
	width: 10px; height: 10px; border-radius: 50%;
	border: 0; padding: 0; background: #c9c9c9; cursor: pointer;
}
.lss-dots button.is-active { background: var(--lss-pink); }

/* Ticks row */
.lss-usps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	text-align: center;
	margin: 50px auto 10px;
	max-width: 1000px;
}
.lss-usp { color: var(--lss-pink); font-weight: 600; font-size: 17px; line-height: 1.6; }
.lss-usp:before { content: "\2714"; display: block; font-size: 18px; margin-bottom: 6px; }

/* What's New products */
.lss-home ul.products li.product .woocommerce-loop-product__title,
.lss-home ul.products li.product h2,
.lss-home ul.products li.product h4 { color: var(--lss-pink); font-size: 16px; }
.lss-home ul.products li.product .price { color: var(--lss-pink); }

/* Category tiles */
.lss-tiles { display: grid; gap: 22px; margin: 22px 0; }
.lss-tiles-3 { grid-template-columns: repeat(3, 1fr); }
.lss-tiles-4 { grid-template-columns: repeat(4, 1fr); }
.lss-tile {
	position: relative;
	display: block;
	aspect-ratio: 1 / 0.96;
	background: #eee var(--bg) center / cover no-repeat;
	border-radius: 4px;
	overflow: hidden;
	text-decoration: none !important;
}
.lss-tile-band {
	position: absolute; left: 0; right: 0; bottom: 0;
	padding: 22px 12px;
	background: var(--ov);
	text-align: center;
	transition: padding .2s ease;
}
.lss-tile:hover .lss-tile-band { padding: 30px 12px; }
.lss-tile-btn {
	display: inline-block;
	color: #fff;
	border: 2px solid #fff;
	border-radius: 30px;
	padding: 8px 24px;
	font-weight: 600;
	font-size: 15px;
}

/* Photo tiles (Exhibitions / Group Visits / About) */
.lss-photo {
	position: relative;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	min-height: 320px;
	background: #999 var(--bg) center / cover no-repeat;
	border-radius: 4px;
	overflow: hidden;
	text-decoration: none !important;
	color: #fff;
}
.lss-photo:before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.28); transition: background .2s; }
.lss-photo:hover:before { background: rgba(0,0,0,.42); }
.lss-photo strong, .lss-photo span { position: relative; }
.lss-photo strong { font-size: 32px; font-weight: 700; color: #fff; }
.lss-photo span {
	margin-top: 14px;
	background: var(--lss-pink);
	color: #fff;
	padding: 9px 22px;
	border-radius: 30px;
	font-weight: 600;
}

/* Newsletter band */
.lss-news {
	background: var(--lss-teal-pale);
	margin-top: 60px;
	padding: 46px 20px;
}
.lss-news-inner {
	max-width: var(--lss-maxw); margin: 0 auto;
	display: flex; align-items: center; justify-content: space-between; gap: 30px;
}
.lss-news p { color: var(--lss-pink); font-size: 18px; font-weight: 600; margin: 0; max-width: 620px; }
.lss-news a.lss-btn {
	background: var(--lss-pink); color: #fff !important; text-decoration: none;
	padding: 12px 28px; border-radius: 30px; font-weight: 600; white-space: nowrap;
}

/* ---------- Footer (printed by BeTheme "hook-bottom") ---------- */
#Footer { display: none; } /* replaced by .lss-footer */
.lss-footer { background: #fff; border-top: 1px solid #f1d6e6; }
.lss-footer-cols {
	max-width: var(--lss-maxw); margin: 0 auto;
	padding: 50px 20px 30px;
	display: grid; grid-template-columns: 1.4fr 1fr 1.3fr 1fr; gap: 30px;
}
.lss-footer h4 { color: var(--lss-pink); font-size: 17px; letter-spacing: .5px; text-transform: uppercase; margin-bottom: 14px; }
.lss-footer ul { list-style: none; margin: 0; padding: 0; }
.lss-footer li { margin: 0 0 8px; }
.lss-footer a { color: var(--lss-ink); text-decoration: none; font-size: 14px; }
.lss-footer a:hover { color: var(--lss-pink); }
.lss-footer .lss-two-col { columns: 2; column-gap: 24px; }
.lss-footer-bar { background: var(--lss-pink); color: #fff; font-size: 13px; }
.lss-footer-bar .lss-topbar-inner { padding: 12px 20px; }
.lss-footer-bar a { color: #fff; }

/* Test-copy banner from the safety plugin sits above the footer bar */
body { padding-bottom: 38px; }

/* ---------- Small screens ---------- */
@media (max-width: 900px) {
	.lss-tiles-3, .lss-tiles-4 { grid-template-columns: repeat(2, 1fr); }
	.lss-usps { grid-template-columns: repeat(2, 1fr); }
	.lss-footer-cols { grid-template-columns: 1fr 1fr; }
	.lss-news-inner { flex-direction: column; text-align: center; }
}
@media (max-width: 560px) {
	.lss-tiles-3, .lss-tiles-4 { grid-template-columns: 1fr; }
	.lss-topbar .lss-contact { display: none; }
	.lss-footer-cols { grid-template-columns: 1fr; }
	.lss-home h2.lss-section-title { font-size: 26px; }
}

/* Header only reserves the height it actually needs (BeTheme default leaves ~100px gap) */
@media (min-width: 1240px) {
	body:not(.template-slider) #Header { min-height: 155px !important; }
}
.header-shop #Top_bar .top-bar-right-input { margin-right: 18px; }
.header-shop #Top_bar .top-bar-right-input input.field { width: 340px; background: var(--lss-pink-pale) !important; border: 0 !important; border-radius: 30px !important; }
.header-shop #Top_bar .top-bar-right-input svg .path { stroke: var(--lss-pink) !important; }
.home #Content { padding-top: 10px; }

/* Final tweaks */
.lss-usp:before { content: "\2713"; color: var(--lss-pink); font-weight: 700; font-family: Arial, sans-serif; }
.lss-home ul.products li.product .title,
.lss-home ul.products li.product .desc h4,
.lss-home ul.products li.product h4 a,
.lss-home ul.products li.product .woocommerce-loop-product__title { color: var(--lss-pink) !important; }
#Top_bar.is-sticky { background-color: #fff !important; box-shadow: 0 2px 10px rgba(0,0,0,.08); }

/* ================= Shop (categories + product pages) ================= */

/* Pink title bar with white title + breadcrumbs, like live */
#Subheader { padding: 26px 0 22px !important; }
#Subheader .title, #Subheader h1.title { color: #fff !important; font-size: 30px; font-weight: 600; margin-bottom: 4px; }
#Subheader ul.breadcrumbs li, #Subheader ul.breadcrumbs li a,
#Subheader ul.breadcrumbs li span, #Subheader .breadcrumbs a { color: #fff !important; opacity: .95; font-size: 13px; }
#Subheader ul.breadcrumbs li a:hover { opacity: 1; text-decoration: underline; }
/* Product pages: BeTheme puts "Shop" in the bar, so show breadcrumbs only */
.single-product #Subheader .title { display: none; }

/* Product grid: pink names + prices everywhere */
ul.products li.product .title,
ul.products li.product .title a,
ul.products li.product h4 a,
ul.products li.product .woocommerce-loop-product__title { color: var(--lss-pink) !important; font-size: 16px; line-height: 1.35; }
ul.products li.product .price, ul.products li.product .price ins { color: var(--lss-pink); }
ul.products li.product .price del { color: #999; }

/* Sorting / per-page toolbar */
.woocommerce .mfn-woo-filters-wrapper select,
.woocommerce-ordering select,
.mfn-woo-list-options select { border: 1px solid #f1d6e6; border-radius: 4px; background: var(--lss-pink-pale); color: var(--lss-ink); }
.mfn-woo-list-options .mfn-woo-list-active, .mfn-woo-list .active svg path { stroke: var(--lss-pink); }

/* Single product: classic left-aligned summary like live */
.single-product .product .summary,
.single-product .product .summary .price,
.single-product .product .product_meta,
.single-product .product .woocommerce-product-details__short-description { text-align: left !important; }
.single-product .product .summary .product_title,
.single-product .product .summary h1.product_title { color: var(--lss-pink); font-size: 24px; line-height: 1.3; text-align: left; }
.single-product .product .summary .price { color: var(--lss-pink); }
.single-product .product .summary form.cart { justify-content: flex-start !important; }
.single-product .woocommerce-tabs .tabs li.active a, .single-product .woocommerce-tabs .tabs li a:hover { color: var(--lss-pink); }
.single-product .woocommerce-tabs .panel { border: 1px solid var(--lss-pink); border-radius: 2px; padding: 26px 30px; }
.single-product .product_meta a, .single-product .posted_in a, .single-product .tagged_as a { color: #1e8fd6; }

/* Sale badge pink circle like live */
.onsale, span.onsale { background: var(--lss-pink) !important; color: #fff !important; }

/* BeTheme's single-product summary column is .entry-summary */
.single-product .entry-summary,
.single-product .entry-summary .mcb-column-inner,
.single-product .entry-summary .price,
.single-product .entry-summary .product_meta,
.single-product .entry-summary .woocommerce-product-details__short-description,
.single-product .entry-summary .stock { text-align: left !important; }
.single-product .entry-summary h1.product_title { color: var(--lss-pink); font-size: 26px; line-height: 1.3; font-weight: 600; }
.single-product .entry-summary form.cart,
.single-product .entry-summary .product_meta,
.single-product .entry-summary .share-simple-wrapper,
.single-product .entry-summary .mfn-product-share,
.single-product .entry-summary > .mcb-column-inner > * { justify-content: flex-start !important; margin-left: 0 !important; }
.single-product .entry-summary .price { font-size: 20px; }
.single-product .the_content_wrapper h2, .single-product .the_content_wrapper h3 { color: var(--lss-pink); }

/* ================= Category card grids (converted Fusion category boxes) ================= */
.lss-cards,
.lss-cards > p {                       /* wpautop may wrap the run in a <p> */
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 18px;
	margin: 0 0 18px;
}
.lss-cards > p { margin: 0; width: 100%; }
.lss-cards br { display: none; }
a.lss-card {
	flex: 0 0 calc(25% - 14px);
	max-width: calc(25% - 14px);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	padding: 16px 14px 18px;
	border: 1px dashed rgba(227, 21, 131, .55);
	border-radius: 8px;
	background: #fff;
	text-align: center;
	text-decoration: none !important;
	transition: box-shadow .2s ease, transform .2s ease;
}
a.lss-card:hover { box-shadow: 0 6px 18px rgba(227, 21, 131, .15); transform: translateY(-2px); }
.lss-card-title { color: var(--lss-pink); font-size: 16px; font-weight: 600; line-height: 1.35; min-height: 2.7em; display: flex; align-items: center; justify-content: center; }
a.lss-card img { width: 100%; max-width: 190px; height: 170px; object-fit: contain; margin: 0 auto; }
.lss-card-text { color: var(--lss-ink); font-size: 13px; line-height: 1.4; }
@media (max-width: 900px) { a.lss-card { flex-basis: calc(33.333% - 12px); max-width: calc(33.333% - 12px); } }
@media (max-width: 600px) { a.lss-card { flex-basis: calc(50% - 9px); max-width: calc(50% - 9px); } a.lss-card img { height: 130px; } }

/* Embedded videos from converted Fusion content */
.lss-video { max-width: 900px; margin: 20px auto; aspect-ratio: 16 / 9; }
.lss-video iframe, .lss-video video { width: 100%; height: 100%; border: 0; border-radius: 6px; background: #000; }

/* ================= Information pages (About, FAQ, Delivery, policies...) ================= */
/* Dashed pink frame round the page content, like live */
.page:not(.home):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) #Content .the_content_wrapper {
	border: 1px dashed rgba(227, 21, 131, .55);
	border-radius: 10px;
	padding: 28px 34px;
	max-width: 1040px;
	margin: 10px auto 40px;
	background: #fff;
}
.page #Content .the_content_wrapper h1,
.page #Content .the_content_wrapper h2,
.page #Content .the_content_wrapper h3,
.page #Content .the_content_wrapper h4,
.single-post #Content .the_content_wrapper h2,
.single-post #Content .the_content_wrapper h3 { color: var(--lss-pink); }
.page #Content .the_content_wrapper a:not(.lss-card):not(.button) { color: var(--lss-pink); }

/* Photos that sit one-per-paragraph flow side by side as bordered thumbnails */
.the_content_wrapper p:has(> img:only-child),
.the_content_wrapper p:has(> a:only-child > img:only-child) {
	display: inline-block;
	vertical-align: top;
	margin: 8px 10px 8px 0;
}
.the_content_wrapper p:has(> img:only-child) > img,
.the_content_wrapper p:has(> a:only-child > img:only-child) img {
	height: 240px;
	width: auto;
	max-width: 100%;
	object-fit: cover;
	border: 2px solid var(--lss-pink);
	border-radius: 4px;
}
@media (max-width: 600px) {
	.page:not(.home) #Content .the_content_wrapper { padding: 18px; }
	.the_content_wrapper p:has(> img:only-child) > img,
	.the_content_wrapper p:has(> a:only-child > img:only-child) img { height: auto; width: 100%; }
}

/* ================= Phone & tablet fixes ================= */
/* Cards: include padding/border in the width so 2/3/4 per row actually fit */
a.lss-card, .lss-tile, .lss-photo { box-sizing: border-box; }

/* Basket total: pink text, not a pink block */
#Top_bar .header-cart-total {
	background: none !important;
	color: var(--lss-pink) !important;
	font-weight: 600;
	padding: 0 !important;
	margin-left: 6px;
	width: auto !important;
	min-width: 0 !important;
}
#Top_bar .header-cart-count { background: var(--lss-pink) !important; color: #fff !important; }
#Top_bar .top-bar-right-icon svg .path { stroke: var(--lss-ink); }

/* BeTheme reserves 250px for the header; below desktop that leaves a big gap */
@media (max-width: 1239px) {
	body:not(.template-slider) #Header { min-height: 0 !important; }
}

@media (max-width: 767px) {
	/* Product pages: BeTheme hides breadcrumbs on phones, so drop the empty pink bar */
	.single-product #Subheader { display: none; }
	.single-product .entry-summary h1.product_title { font-size: 22px; }
	#Subheader { padding: 18px 0 14px !important; }
	#Subheader .title, #Subheader h1.title { font-size: 24px; }
	/* Info-page frame: lighter on phones */
	.page:not(.home) #Content .the_content_wrapper { border: 0; padding: 4px 2px; }
	.lss-home { padding: 10px 14px 40px; }
	.lss-home h2.lss-section-title { margin-top: 34px; }
	.lss-usps { margin-top: 30px; gap: 14px; }
	.lss-usp { font-size: 15px; }
	ul.products li.product .title, ul.products li.product h4 a { font-size: 14px !important; }
	.lss-photo { min-height: 220px; }
	.lss-photo strong { font-size: 26px; }
	.lss-tile-btn { font-size: 14px; padding: 7px 18px; }
	.lss-footer-cols { padding: 34px 18px 20px; gap: 22px; }
	.lss-footer-bar .lss-topbar-inner { flex-direction: column; text-align: center; gap: 6px; }
}
@media (max-width: 1239px) {
	#Top_bar .top_bar_right .header-cart-total,
	#Top_bar a#header_cart p.header-cart-total { display: none !important; }
}
@media (max-width: 767px) {
	body.single-product .entry-summary h1.product_title,
	body.single-product .product .product_title.entry-title { font-size: 22px !important; line-height: 1.3 !important; }
	.lss-card-title { font-size: 14px; min-height: 2.6em; }
	a.lss-card { padding: 12px 8px 14px; gap: 8px; }
	a.lss-card img { height: 110px; }
}
@media (max-width: 767px) {
	.page:not(.home):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) #Content .the_content_wrapper { border: 0; padding: 4px 0; margin-top: 0; }
}

#Top_bar .header-cart-total .woocommerce-Price-amount { background: none !important; color: var(--lss-pink) !important; }

/* ================= Mobile slide-out menu: white + pink instead of BeTheme dark grey ================= */
#Side_slide { background-color: #fff !important; border-left: 4px solid var(--lss-pink); }
#Side_slide .menu_wrapper ul li a,
#Side_slide #menu ul li a,
#Side_slide .extras a, #Side_slide .extras .header-cart-total,
#Side_slide .close-wrapper a.close { color: var(--lss-pink) !important; }
#Side_slide #menu ul li { border-color: #f6dbe9 !important; }
#Side_slide #menu ul li a { font-size: 16px; font-weight: 500; }
#Side_slide #menu ul li ul { background: var(--lss-pink-pale) !important; }
#Side_slide #menu ul li ul li a { color: var(--lss-ink) !important; font-weight: 400; }
#Side_slide .menu-toggle, #Side_slide #menu .menu-toggle { color: var(--lss-pink) !important; }
#Side_slide svg .path { stroke: var(--lss-pink) !important; }
#Side_slide .extras .header-cart-count { background: var(--lss-pink); color: #fff; }
#body_overlay { background: rgba(42, 43, 57, .45) !important; }

/* ================= FAQ page ================= */
.lss-faq { max-width: 860px; margin: 0 auto; }
.lss-faq-intro { text-align: center; font-size: 17px; color: var(--lss-ink); margin: 4px 0 18px; }
.lss-faq-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 34px; }
.lss-faq-nav a {
	background: var(--lss-pink-pale); color: var(--lss-pink) !important; text-decoration: none !important;
	border: 1px solid #f6c7df; border-radius: 30px; padding: 9px 18px; font-weight: 600; font-size: 15px;
	transition: background .15s, color .15s;
}
.lss-faq-nav a:hover { background: var(--lss-pink); color: #fff !important; }
.lss-faq-group { margin: 0 0 34px; scroll-margin-top: 120px; }
.page #Content .the_content_wrapper .lss-faq-heading { font-size: 24px; margin: 0 0 14px; padding-bottom: 8px; border-bottom: 2px solid var(--lss-pink-pale); }
.lss-faq-item {
	background: #fff; border: 1px solid #f3d3e4; border-left: 4px solid var(--lss-pink);
	border-radius: 8px; margin: 0 0 10px; overflow: hidden; transition: box-shadow .2s;
}
.lss-faq-item[open] { box-shadow: 0 6px 18px rgba(227, 21, 131, .10); }
.lss-faq-item summary {
	list-style: none; cursor: pointer; position: relative;
	padding: 16px 52px 16px 18px; font-weight: 600; font-size: 16px; color: var(--lss-ink); line-height: 1.4;
}
.lss-faq-item summary::-webkit-details-marker { display: none; }
.lss-faq-item summary::after {
	content: "+"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%);
	width: 26px; height: 26px; border-radius: 50%; background: var(--lss-pink-pale); color: var(--lss-pink);
	font-size: 20px; line-height: 26px; text-align: center; font-weight: 600; transition: transform .2s, background .2s;
}
.lss-faq-item[open] summary { background: var(--lss-pink-pale); color: var(--lss-pink); }
.lss-faq-item[open] summary::after { transform: translateY(-50%) rotate(45deg); background: var(--lss-pink); color: #fff; }
.lss-faq-item summary:focus-visible { outline: 2px solid var(--lss-pink); outline-offset: -2px; }
.lss-faq-answer { padding: 14px 18px 4px; color: var(--lss-ink); line-height: 1.65; }
.lss-faq-answer p { margin: 0 0 12px; }
.lss-faq-cta {
	display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap;
	background: var(--lss-pink); color: #fff; border-radius: 12px; padding: 22px 26px; margin-top: 10px;
}
.lss-faq-cta strong { display: block; font-size: 20px; color: #fff; }
.lss-faq-cta span { opacity: .92; }
.lss-faq-cta-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.lss-faq-cta a.lss-btn { background: #fff; color: var(--lss-pink) !important; text-decoration: none !important; padding: 11px 22px; border-radius: 30px; font-weight: 700; }
.lss-faq-cta a.lss-btn-ghost { background: transparent; color: #fff !important; border: 2px solid #fff; }
@media (max-width: 600px) {
	.lss-faq-nav a { font-size: 14px; padding: 8px 14px; }
	.lss-faq-item summary { font-size: 15px; padding: 14px 48px 14px 14px; }
	.lss-faq-cta { flex-direction: column; text-align: center; }
	.lss-faq-cta-actions { justify-content: center; }
}

/* Sticky header: fully opaque so page content doesn't show through the search box */
#Top_bar.is-sticky, #Top_bar.is-sticky .container, #Top_bar.is-sticky .top_bar_row { background-color: #fff !important; }
#Top_bar .top-bar-right-input input.field, #Top_bar .top-bar-right-input form { background-color: var(--lss-pink-pale) !important; opacity: 1 !important; }

/* ================= Designed info pages (shared components) ================= */
.lss-page { max-width: 1040px; margin: 0 auto; color: var(--lss-ink); }
.lss-page .lss-lead { font-size: 18px; line-height: 1.65; text-align: center; max-width: 760px; margin: 0 auto 26px; }
.lss-page .lss-lead-big { font-size: 20px; }
.lss-page .lss-center { text-align: center; justify-content: center; }
.lss-page .lss-big { font-size: 22px; font-weight: 700; color: var(--lss-pink); margin-top: 30px; }
.page #Content .lss-page h2.lss-h { font-size: 24px; margin: 0 0 16px; padding-bottom: 8px; border-bottom: 2px solid var(--lss-pink-pale); }
.lss-section { margin: 40px 0; }
.lss-soft { background: var(--lss-pink-pale); border-radius: 12px; padding: 26px 28px; }
.lss-prose p { line-height: 1.7; margin: 0 0 14px; }
.lss-prose ul { margin: 0 0 16px 20px; }
.lss-prose li { margin-bottom: 6px; }
.lss-prose ul li::marker { color: var(--lss-pink); }
.lss-cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin: 18px 0 26px; }
.lss-page a.lss-btn, .lss-band a.lss-btn {
	display: inline-flex; align-items: center; gap: 8px; background: var(--lss-pink); color: #fff !important;
	text-decoration: none !important; padding: 11px 22px; border-radius: 30px; font-weight: 600; border: 2px solid var(--lss-pink);
	transition: background .15s, color .15s;
}
.lss-page a.lss-btn:hover { background: var(--lss-pink-dark); border-color: var(--lss-pink-dark); }
.lss-page a.lss-btn-outline { background: #fff; color: var(--lss-pink) !important; }
.lss-page a.lss-btn-outline:hover { background: var(--lss-pink-pale); color: var(--lss-pink) !important; }
.lss-band a.lss-btn-white, .lss-page a.lss-btn-white { background: #fff; color: var(--lss-pink) !important; border-color: #fff; }
.lss-band a.lss-btn-ghost, .lss-page a.lss-btn-ghost { background: transparent; border-color: #fff; color: #fff !important; }
.lss-page a.lss-link { color: var(--lss-pink) !important; font-weight: 600; text-decoration: none !important; }
.lss-pill { display: inline-block; background: var(--lss-pink); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; padding: 4px 12px; border-radius: 20px; }

/* Location cards */
.lss-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.lss-loc-card { background: #fff; border: 1px solid #f3d3e4; border-top: 5px solid var(--lss-pink); border-radius: 12px; padding: 22px 24px; box-shadow: 0 6px 20px rgba(227,21,131,.07); display: flex; flex-direction: column; }
.lss-loc-head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.lss-loc-icon { width: 46px; height: 46px; border-radius: 50%; background: var(--lss-pink-pale); display: grid; place-items: center; font-size: 22px; }
.page #Content .lss-loc-head h2 { margin: 0; font-size: 22px; }
.lss-loc-hours { display: grid; grid-template-columns: 26px 1fr; gap: 8px; margin: 0 0 12px; line-height: 1.55; }
.lss-loc-hours em { color: #777; font-size: 14px; }
.lss-loc-actions { margin-top: auto; display: flex; flex-wrap: wrap; gap: 10px; padding-top: 6px; }

/* Date badges (open days) */
.lss-dates { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; }
.lss-date { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px dashed rgba(227,21,131,.45); border-radius: 10px; padding: 10px 12px; }
.lss-date-badge { flex: 0 0 58px; height: 64px; border-radius: 10px; background: var(--lss-pink); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.05; font-size: 13px; text-transform: uppercase; font-weight: 600; }
.lss-date-badge b { font-size: 22px; }
.lss-date-badge small { font-size: 10px; opacity: .85; }
.lss-date-note { font-size: 14px; line-height: 1.4; }
.lss-date-note strong { display: block; color: var(--lss-pink); }

/* Pink band */
.lss-band { margin-top: 40px; background: var(--lss-pink); color: #fff; border-radius: 14px; padding: 24px 28px; display: flex; gap: 20px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.lss-band-text { display: flex; gap: 14px; align-items: flex-start; max-width: 620px; }
.lss-band-icon { font-size: 30px; }
.lss-band strong { display: block; font-size: 18px; margin-bottom: 4px; color: #fff; }
.lss-band-actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* Events page */
.lss-info-strip { display: flex; flex-wrap: wrap; gap: 10px 26px; justify-content: center; background: var(--lss-pink-pale); border-radius: 12px; padding: 14px 18px; font-size: 15px; }
.lss-info-strip a { color: var(--lss-pink) !important; font-weight: 600; }
.lss-feature { display: grid; grid-template-columns: 1fr; border: 1px solid #f3d3e4; border-radius: 14px; overflow: hidden; background: #fff; box-shadow: 0 8px 24px rgba(227,21,131,.08); }
.lss-feature > img { width: 100%; height: auto; display: block; }
.lss-feature-body { padding: 22px 26px 10px; }
.page #Content .lss-feature-body h3 { font-size: 24px; margin: 10px 0 8px; }
.page #Content .lss-feature-body h3 a { color: var(--lss-pink) !important; text-decoration: none; }
.lss-feature-dates { background: var(--lss-pink-pale); border-left: 4px solid var(--lss-pink); padding: 10px 14px; border-radius: 6px; }
.lss-events { display: grid; gap: 16px; margin-bottom: 22px; }
.lss-event { display: flex; gap: 16px; background: #fff; border: 1px solid #f3d3e4; border-radius: 12px; padding: 16px 18px; }
.lss-event .lss-date-badge { flex-basis: 64px; height: 72px; }
.page #Content .lss-event h3 { margin: 0 0 6px; font-size: 19px; }
.lss-event p { margin: 0 0 8px; line-height: 1.6; }

/* Quilt show cards */
.lss-shows { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 18px; }
a.lss-show { display: flex; flex-direction: column; background: #fff; border: 1px solid #f3d3e4; border-radius: 12px; overflow: hidden; text-decoration: none !important; color: var(--lss-ink); transition: transform .2s, box-shadow .2s; box-sizing: border-box; }
a.lss-show:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(227,21,131,.15); }
.lss-show-img { aspect-ratio: 4 / 3; background: #fff var(--bg) center / contain no-repeat; border-bottom: 1px solid #f6e1ec; }
.lss-show-body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 4px; }
.lss-show-when { color: var(--lss-pink); font-weight: 700; font-size: 14px; }
.lss-show-body strong { font-size: 20px; }
.lss-show-extra { font-size: 14px; color: #666; }
.lss-show .lss-link { margin-top: 6px; color: var(--lss-pink); font-weight: 600; font-size: 14px; }

/* About */
.lss-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 6px 0 28px; }
.lss-stat { text-align: center; background: var(--lss-pink-pale); border-radius: 12px; padding: 18px 12px; }
.lss-stat b { display: block; font-size: 30px; color: var(--lss-pink); line-height: 1.1; }
.lss-stat span { font-size: 14px; }
.lss-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 0 0 26px; }
.lss-gallery img { width: 100%; height: 230px; object-fit: cover; border-radius: 10px; border: 3px solid #fff; box-shadow: 0 4px 14px rgba(0,0,0,.12); }

/* Contact */
.lss-contact { display: grid; grid-template-columns: 1fr 1.3fr; gap: 26px; align-items: start; }
.lss-contact-cards { display: grid; gap: 12px; }
a.lss-contact-card { display: grid; grid-template-columns: 42px 1fr; column-gap: 12px; align-items: center; background: #fff; border: 1px solid #f3d3e4; border-left: 4px solid var(--lss-pink); border-radius: 10px; padding: 14px 16px; text-decoration: none !important; color: var(--lss-ink) !important; font-size: 14px; }
a.lss-contact-card > span { grid-row: span 2; width: 42px; height: 42px; border-radius: 50%; background: var(--lss-pink-pale); display: grid; place-items: center; font-size: 19px; }
a.lss-contact-card strong { color: var(--lss-pink); font-size: 16px; }
a.lss-contact-card:hover { box-shadow: 0 6px 16px rgba(227,21,131,.12); }
.lss-contact-form { background: var(--lss-pink-pale); border-radius: 14px; padding: 22px 24px; }
.lss-contact-form input[type=text], .lss-contact-form input[type=email], .lss-contact-form input[type=tel], .lss-contact-form textarea {
	width: 100%; background: #fff !important; border: 1px solid #f0c6dc !important; border-radius: 8px !important; padding: 10px 12px !important; box-sizing: border-box;
}
.lss-contact-form input[type=submit] { background: var(--lss-pink) !important; color: #fff !important; border: 0; border-radius: 30px; padding: 12px 30px; font-weight: 700; cursor: pointer; }
.lss-contact-form label { font-weight: 600; font-size: 14px; }

/* Empty state */
.lss-empty { text-align: center; max-width: 560px; margin: 20px auto; padding: 40px 24px; border: 2px dashed rgba(227,21,131,.4); border-radius: 16px; }
.lss-empty-icon { font-size: 44px; }
.page #Content .lss-empty h2 { margin: 6px 0 8px; }

/* Policy pages */
.lss-toc { background: var(--lss-pink-pale); border-radius: 12px; padding: 16px 18px; margin: 0 0 26px; }
.lss-toc > strong { display: block; color: var(--lss-pink); margin-bottom: 8px; }
.lss-toc > div { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 6px 18px; }
.lss-toc a { color: var(--lss-ink) !important; text-decoration: none !important; font-size: 15px; padding: 4px 0; display: flex; gap: 8px; }
.lss-toc a span { color: var(--lss-pink); font-weight: 700; }
.lss-toc a:hover { color: var(--lss-pink) !important; }
.lss-policy-sec { background: #fff; border: 1px solid #f3e1ea; border-radius: 12px; padding: 20px 24px 8px; margin: 0 0 16px; scroll-margin-top: 120px; }
.page #Content .lss-policy-sec h2 { display: flex; align-items: center; gap: 12px; font-size: 21px; margin: 0 0 12px; }
.lss-policy-num { flex: 0 0 34px; height: 34px; border-radius: 50%; background: var(--lss-pink); color: #fff; display: grid; place-items: center; font-size: 13px; font-weight: 700; }
.lss-table-wrap { overflow-x: auto; margin: 0 0 16px; -webkit-overflow-scrolling: touch; }
.lss-table-wrap table { width: 100%; border-collapse: collapse; min-width: 480px; font-size: 15px; }
.lss-table-wrap table th { background: var(--lss-pink) !important; color: #fff !important; font-weight: 600; border-color: var(--lss-pink) !important; }
.lss-table-wrap table td { background: #fff !important; color: var(--lss-ink) !important; }
.lss-table-wrap table td:first-child { font-weight: 600; }
.lss-table-wrap td, .lss-table-wrap th { padding: 9px 12px; border-bottom: 1px solid #f6e1ec; text-align: left; vertical-align: top; }
.lss-table-wrap table tbody tr:nth-child(even) td { background: #fff7fb !important; }
.lss-policy .lss-faq-cta { margin-top: 24px; }

/* Designed pages manage their own spacing: no dashed outer frame */
.page:not(.home) #Content .the_content_wrapper:has(> .lss-page),
.page:not(.home) #Content .the_content_wrapper:has(> .lss-faq) { border: 0; padding: 0; max-width: 1080px; }

@media (max-width: 800px) {
	.lss-grid-2, .lss-contact { grid-template-columns: 1fr; }
	.lss-stats { grid-template-columns: 1fr; }
	.lss-gallery { grid-template-columns: 1fr 1fr; }
	.lss-gallery img { height: 160px; }
	.lss-band { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 600px) {
	.lss-page .lss-lead { font-size: 16px; }
	.lss-soft, .lss-loc-card, .lss-policy-sec { padding: 16px; }
	.lss-feature-body { padding: 16px 16px 6px; }
	.lss-event { flex-direction: column; }
	.lss-gallery { grid-template-columns: 1fr; }
	.lss-gallery img { height: 200px; }
	.lss-cta-row { flex-direction: column; }
	.lss-cta-row a.lss-btn { justify-content: center; }
	.page #Content .lss-policy-sec h2 { font-size: 18px; }
}
.lss-policy-num { line-height: 1 !important; padding-top: 1px; }

/* Constant Contact sign-up form inside the teal newsletter band */
.lss-news-form { flex: 0 1 460px; }
.lss-news-form .ctct-form-wrapper, .lss-news-form form { margin: 0 !important; }
.lss-news-form .ctct-form-field { margin: 0 0 10px !important; }
.lss-news-form label { color: var(--lss-ink); font-weight: 600; font-size: 14px; }
.lss-news-form input[type=email], .lss-news-form input[type=text] { width: 100%; background: #fff !important; border: 1px solid #b7dedd !important; border-radius: 30px !important; padding: 11px 16px !important; box-sizing: border-box; }
.lss-news-form input[type=submit] { background: var(--lss-pink) !important; color: #fff !important; border: 0 !important; border-radius: 30px !important; padding: 11px 26px !important; font-weight: 700; cursor: pointer; }
.lss-news-form .ctct-disclosure, .lss-news-form .ctct-disclosure p { font-size: 11px !important; line-height: 1.4; color: #4b5a5a; }

/* Homepage H1 (SEO): small pink heading above the slider */
.page #Content .lss-home h1.lss-home-h1 { text-align: center; color: var(--lss-pink); font-size: 26px; font-weight: 700; margin: 4px 0 18px; line-height: 1.25; }
@media (max-width: 600px) { .page #Content .lss-home h1.lss-home-h1 { font-size: 20px; margin-bottom: 12px; } }
