/* ===== Glowora global footer enhancement ===== */

/* Column headings: serif + pink accent bar */
#colophon .widget-title { font-family:var(--glw-font)!important; font-weight:700; font-size:19px; position:relative; padding-bottom:10px; margin-bottom:16px; letter-spacing:0; }
#colophon .widget-title::after { content:''; position:absolute; left:0; bottom:0; width:34px; height:3px; background:#e62a65; border-radius:2px; }

/* Links */
#colophon a { transition:.2s; }
#colophon .footer-widget-area a:hover { color:#e62a65 !important; padding-left:3px; }

/* Trust strip polish */
#colophon .wp-block-column strong { font-family:var(--glw-font); font-size:15.5px; }
#colophon .glwi { transition:transform .25s; }
#colophon .wp-block-column:hover .glwi { transform:scale(1.18); }

/* Social icons: outlined circles, fill pink on hover */
#colophon .wp-block-social-link a { border:1.5px solid #e2d3da; border-radius:50%; width:38px; height:38px; display:flex; align-items:center; justify-content:center; transition:.25s; }
#colophon .wp-block-social-link a:hover { background:#e62a65; border-color:#e62a65; transform:translateY(-3px); }
#colophon .wp-block-social-link a svg { transition:.25s; }
#colophon .wp-block-social-link a:hover svg { fill:#fff; }

/* Clickable phone & email */
.glw-fphone { font-family:var(--glw-font)!important; font-size:21px !important; font-weight:700 !important; color:#e62a65 !important; text-decoration:none !important; }
.glw-fphone:hover { color:#c2185b !important; }
.glw-fmail { color:#4a4046 !important; font-weight:700; text-decoration:none !important; }
.glw-fmail:hover { color:#e62a65 !important; }

/* Bottom credit */
#colophon .footer-html-inner p { color:#8a7c82; font-size:13.5px; }
#colophon .footer-html-inner strong { color:#171317; }

/* Footer newsletter form (scoped to the band only) */
.glw-nlband .wpcf7 input[type=email] { border:0; border-radius:999px; padding:15px 22px; font-family:'Mulish',sans-serif; font-size:15px; min-width:250px; outline:none; }
.glw-nlband .wpcf7 input[type=email]:focus { box-shadow:0 0 0 4px rgba(255,255,255,.35); }
.glw-nlband .wpcf7 .wpcf7-submit { background:#171317; color:#fff; border:0; border-radius:999px; font-weight:800; padding:15px 30px; margin-left:10px; cursor:pointer; transition:.25s; font-family:'Mulish',sans-serif; }
.glw-nlband .wpcf7 .wpcf7-submit:hover { transform:translateY(-2px); box-shadow:0 12px 26px rgba(0,0,0,.28); }
.glw-nlband .wpcf7-response-output { border-color:#fff !important; color:#fff; border-radius:12px; }
@media (max-width:640px) {
	.glw-nlband .wpcf7 input[type=email] { min-width:0; width:100%; margin-bottom:10px; }
	.glw-nlband .wpcf7 .wpcf7-submit { margin-left:0; width:100%; }
}

/* Band text on pink */
.glw-nlband .glw-nl-h { color:#fff !important; }
.glw-nlband .glw-nl-h em { color:#ffd9e5; }
.glw-nlband .glw-nl-txt p { color:rgba(255,255,255,.95); }
.glw-nl-sp { color:rgba(255,255,255,.45); }

/* ===== Newsletter band: proper layout + kill purple row behind it ===== */
#colophon .site-top-footer-wrap,
#colophon .site-top-footer-inner-wrap,
#colophon .site-footer-top-section-1 { background: transparent !important; background-image: none !important; }
#colophon .site-top-footer-wrap .site-footer-row { padding-top: 26px; padding-bottom: 26px; }

.glw-nlband { position: relative; overflow: hidden; border-radius: 24px; padding: 34px 38px; }
.glw-nl-inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; }
.glw-nl-txt { text-align: left; max-width: 520px; flex: 1 1 320px; }
.glw-nl-h { font-family:var(--glw-font)!important; font-weight:700; font-size: clamp(22px,2.6vw,30px); margin: 0 0 7px; line-height: 1.2; }
.glw-nl-txt p { margin: 0; font-size: 15px; line-height: 1.6; }
.glw-nl-form { flex: 1 1 360px; max-width: 500px; }
.glw-nl-form .wpcf7 form { margin: 0; }
.glw-nl-form .wpcf7 form p { display: flex; align-items: center; margin: 0; flex-wrap: nowrap; }
.glw-nl-form .wpcf7-form-control-wrap { flex: 1; }
.glw-nlband .wpcf7 input[type=email] { width: 100%; min-width: 0; }
.glw-nlband .wpcf7 .wpcf7-submit { white-space: nowrap; flex-shrink: 0; }
.glw-nl-sp { position: absolute; font-size: 22px; animation: glwspng 8s linear infinite; pointer-events: none; }
.glw-nl-sp.a { left: 4%; top: 20%; }
.glw-nl-sp.b { right: 4.5%; bottom: 18%; font-size: 16px; animation-duration: 6s; animation-direction: reverse; }
@keyframes glwspng { to { transform: rotate(360deg); } }
@media (max-width: 700px) {
	.glw-nlband { padding: 26px 20px; }
	.glw-nl-txt { text-align: center; }
	.glw-nl-form .wpcf7 form p { flex-wrap: wrap; }
	.glw-nlband .wpcf7 .wpcf7-submit { width: 100%; margin: 10px 0 0; }
}

/* ===================== HOMEPAGE AMPLIFY (CSS only) ===================== */
/* Headings: serif everywhere, eyebrow spans polished */
body.home main h2.elementor-heading-title,
body.home main h3.elementor-heading-title,
body.home main h4.elementor-heading-title { font-family:var(--glw-font)!important; letter-spacing:0 !important; font-weight:700 !important; }
body.home main span.elementor-heading-title { font-weight:800 !important; letter-spacing:2.5px !important; text-transform:uppercase; }

/* Product cards: lift, glow, zoom, serif titles, pink prices & stars */
body.home li.product.product-item { transition: transform .3s, box-shadow .3s; border-radius:16px; }
body.home li.product.product-item:hover { transform: translateY(-6px); box-shadow: 0 18px 42px rgba(230,42,101,.15); }
body.home li.product .product-thumbnail { overflow:hidden; border-radius:12px; }
body.home li.product .product-thumbnail img { transition: transform .45s ease; }
body.home li.product.product-item:hover .product-thumbnail img { transform: scale(1.06); }
body.home li.product .product-title,
body.home li.product h3,
body.home li.product .woocommerce-loop-product__title { font-family:var(--glw-font)!important; font-weight:600 !important; }
body.home li.product.product-item:hover .product-title { color:#e62a65; }
body.home li.product .price ins .amount { color:#e62a65 !important; font-weight:800; }
body.home .star-rating span::before { color:#e62a65 !important; }

/* De-purple: sale badges + add-to-cart buttons -> brand pink pills */
body.home .onsale { background:#e62a65 !important; color:#fff !important; border-radius:999px !important; font-weight:800 !important; letter-spacing:.5px; }
body.home main a.add_to_cart_button,
body.home main .products a.button,
body.home main a.button.product_type_simple,
body.home main a.button.product_type_variable {
	background:#e62a65 !important; color:#fff !important; border-radius:999px !important;
	font-weight:800 !important; transition:.25s !important; box-shadow:none !important;
}
body.home main a.add_to_cart_button:hover,
body.home main .products a.button:hover { background:#d11e58 !important; transform:translateY(-2px); box-shadow:0 12px 26px rgba(230,42,101,.35) !important; }

/* Elementor CTA buttons: pill + lift (colors untouched) */
body.home main .elementor-button { border-radius:999px !important; font-weight:800 !important; transition:.25s !important; }
body.home main .elementor-button:hover { transform:translateY(-2px); box-shadow:0 12px 26px rgba(0,0,0,.18); }

/* Promo banner images: soft corners + gentle zoom */
body.home main .elementor-widget-image img { border-radius:14px !important; transition: transform .5s ease; }
body.home main .elementor-widget-image:hover img { transform: scale(1.03); }

/* Banner rounding via wrapper clip (wins regardless of img rules) */
body.home main .elementor-widget-image { clip-path: inset(0 round 14px); }

/* ===== Front-page hero heading (blog-hero style) ===== */
.glw-front-h1 { position:relative; text-align:center; padding:34px 16px 14px; background:#fff; overflow:hidden; }
.glw-fh-eyebrow { display:inline-flex; align-items:center; gap:12px; font-size:11.5px; font-weight:800; letter-spacing:2.5px; text-transform:uppercase; color:#e62a65; margin-bottom:10px; }
.glw-fh-eyebrow::before, .glw-fh-eyebrow::after { content:''; width:34px; height:2px; background:#e62a65; }
.glw-fh-title { font-family:var(--glw-font)!important; font-size:clamp(26px,3.6vw,42px); font-weight:700; line-height:1.16; color:#171317; margin:0 auto; max-width:900px; }
.glw-fh-title em { font-style:italic; color:#e62a65; }
.glw-fh-sub { color:#5d5359; font-size:15.5px; margin:10px auto 0; max-width:560px; line-height:1.7; }
.glw-fh-sp { position:absolute; color:#e62a65; opacity:.5; animation:glwspng 8s linear infinite; pointer-events:none; }
.glw-fh-sp.a { left:14%; top:24%; font-size:20px; }
.glw-fh-sp.b { right:13%; top:52%; font-size:14px; animation-duration:6s; animation-direction:reverse; }
.glw-fh-sp.c { right:22%; top:10%; font-size:24px; }
@media (max-width:700px) { .glw-fh-sp { display:none; } .glw-front-h1 { padding:26px 14px 10px; } }

/* Footer refinements: brand link colors, blurb, compact centered credit bar */
#colophon .footer-widget-area a:not(.glw-fphone):not(.glw-fmail) { color:#5d5359 !important; }
#colophon .footer-widget-area a:not(.glw-fphone):not(.glw-fmail):hover { color:#e62a65 !important; }
#colophon .glw-fabout { color:#5d5359; line-height:1.85; max-width:300px; }
#colophon .site-bottom-footer-wrap { text-align:center !important; }
#colophon .site-bottom-footer-wrap .site-footer-row,
#colophon .site-bottom-footer-inner-wrap { padding-top:12px !important; padding-bottom:12px !important; min-height:0 !important; }
#colophon .site-bottom-footer-wrap .site-footer-section { display:flex !important; justify-content:center !important; }
#colophon .footer-html-inner p { margin:0; }

/* Compact, centered credit bar (beats customizer 90px padding) */
#colophon .site-bottom-footer-wrap .site-container .site-bottom-footer-inner-wrap.site-footer-row { padding-top:14px !important; padding-bottom:14px !important; grid-template-columns:1fr !important; }
#colophon .site-bottom-footer-wrap .site-footer-bottom-section-1 { justify-content:center !important; }
#colophon .site-bottom-footer-wrap .site-footer-bottom-section-2 { display:none !important; }


/* =====================================================================
   GLOWORA TYPOGRAPHY & COLOUR SYSTEM — added 30 Aug 2026
   One type family (Mulish), repaired heading rhythm, brand-pink accents
   replacing the inherited purple/red.
   TO REVERT: delete everything from this banner down to the
   "END GLOWORA TYPOGRAPHY & COLOUR SYSTEM" marker at the bottom.
   ===================================================================== */

:root {
	--glw-font:      'Mulish', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	--glw-ink:       #171317;
	--glw-body:      #4a4046;
	--glw-muted:     #8a7c82;
	--glw-pink:      #e62a65;
	--glw-pink-dk:   #c81f55;

	/* Retire the purple + red inherited from the parent theme palette. */
	--global-palette1:  #e62a65;   /* was #8054b3 purple — links, accents, buttons */
	--global-palette2:  #171317;
	--global-palette3:  #171317;   /* was pure #000 */
	--global-palette4:  #4a4046;
	--global-palette5:  #6b6169;
	--global-palette6:  #8a7c82;
	--global-palette10: #e62a65;   /* was #dd2831 red — prices, sale accents */
}

/* ---------- 1. One family everywhere ---------- */
body,
button, input, select, optgroup, textarea,
.entry-content, .woocommerce, .woocommerce-page {
	font-family: var(--glw-font);
}

h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.entry-title, .entry-title a,
.widget-title,
.elementor-heading-title,
.elementor-button, .elementor-button-text,
.woocommerce-loop-product__title, .woocommerce-loop-product__title a,
.product_title,
.glw-hero-title, .glw-nl-h, .glw-fphone,
#colophon .widget-title,
#colophon .wp-block-column strong,
.glw-nlband .wpcf7 input[type=email],
.glw-nlband .wpcf7 .wpcf7-submit {
	font-family: var(--glw-font) !important;
}

/* ---------- 2. Heading colour + rhythm ---------- */
h1, h2, h3, h4, h5, h6,
.wp-block-heading {
	color: var(--glw-ink);
	letter-spacing: -0.01em;
}

h1, .product_title {
	font-size: clamp(28px, 3.4vw, 42px);
	font-weight: 800;
	line-height: 1.16;
}

/* Elementor section titles were 24px on a 24px line-height (cramped). */
.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-heading h4.elementor-heading-title {
	font-size: 30px;
	font-weight: 700;
	line-height: 1.28;
	color: var(--glw-ink);
	letter-spacing: -0.012em;
}

.elementor-heading-title { letter-spacing: -0.01em; }

/* ---------- 3. Product cards ---------- */
.woocommerce-loop-product__title,
.woocommerce-loop-product__title a {
	font-size: 15.5px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0;
	color: #2b2328;
}
.woocommerce-loop-product__title a:hover { color: var(--glw-pink); }

.price,
.price .woocommerce-Price-amount,
.woocommerce-Price-amount.amount {
	color: var(--glw-pink) !important;
	font-weight: 700;
	letter-spacing: 0;
}
.price del,
.price del .woocommerce-Price-amount,
del .woocommerce-Price-amount {
	color: #9a9098 !important;
	font-weight: 500;
}

/* ---------- 4. Readable body copy in content areas ---------- */
.entry-content p,
.glw-hero p {
	font-size: 16px;
	line-height: 1.8;
	color: var(--glw-body);
	letter-spacing: 0;
}
.entry-content li { font-size: 16px; line-height: 1.8; color: var(--glw-body); }

.entry-content h2 { font-size: clamp(24px, 2.6vw, 31px); font-weight: 700; line-height: 1.3; margin-top: 1.6em; }
.entry-content h3 { font-size: clamp(20px, 2.1vw, 24px); font-weight: 700; line-height: 1.35; margin-top: 1.4em; }
.entry-content h4 { font-size: 19px; font-weight: 700; line-height: 1.4; }

/* ---------- 5. Buttons + links ---------- */
.elementor-button, .wp-block-button__link, .button, button {
	font-weight: 700;
	letter-spacing: 0.02em;
}
a { color: var(--glw-pink); }
a:hover { color: var(--glw-pink-dk); }
/* Underlined body links ONLY inside a real article/page body,
   never inside post-grid / testimonial / product cards. */
body.single-post .entry-content > p a,
body.single-post .entry-content > ul a,
body.single-post .entry-content > ol a,
body.single-post .entry-content > blockquote a {
	color: var(--glw-pink);
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-thickness: 1px;
}

/* Keep menus / breadcrumbs / meta neutral rather than pink. */
.main-navigation a, .site-header a, #colophon a,
.breadcrumb a, .woocommerce-breadcrumb a,
.entry-meta a, .post-author a, .posted-on a {
	color: inherit;
}
.main-navigation a:hover, #colophon a:hover,
.breadcrumb a:hover, .entry-meta a:hover { color: var(--glw-pink); }

/* ---------- 6. Card widgets must not inherit article-body styling ---------- */
.elementor-post-wrapper .entry-content p,
.elementor-post-wrapper .entry-content li,
.tmcore-testimonials .entry-content p {
	font-size: inherit;
	line-height: inherit;
}
.elementor-post-wrapper .entry-content a,
.elementor-post-wrapper .entry-title a,
.elementor-post-wrapper .entry-meta a,
.tmcore-testimonials a,
.elementor-widget-tmcore-testimonials a {
	text-decoration: none !important;
}
.elementor-post-wrapper .entry-title a,
.tmcore-testimonials .name,
.tmcore-testimonials .name a {
	color: var(--glw-ink);
}
.elementor-post-wrapper .entry-meta,
.elementor-post-wrapper .entry-meta a {
	color: var(--glw-muted);
}

/* ---------- 7. Footer heading accents keep working ---------- */
#colophon .widget-title { font-weight: 800; letter-spacing: -0.01em; }
.glw-nl-h { font-weight: 800; letter-spacing: -0.015em; }
.glw-hero-title { font-weight: 800; letter-spacing: -0.02em; }


/* ---------- 8. Sidebar / filter widgets stay neutral ---------- */
.widget a,
.widget-area a,
.sidebar a,
.filter-link,
.term-link {
	color: var(--glw-body);
}
.widget a:hover,
.filter-link:hover,
.term-link:hover {
	color: var(--glw-pink);
}
.widget li.chosen > a,
.widget li.chosen .filter-link,
.widget li.current-cat > a,
.widget li.active > a {
	color: var(--glw-pink);
	font-weight: 700;
}
/* Amounts shown inside filter widgets are labels, not prices. */
.widget .woocommerce-Price-amount,
.widget .woocommerce-Price-amount.amount,
.tmcore-wp-widget-filter .woocommerce-Price-amount,
.widget_price_filter .woocommerce-Price-amount,
.price_slider_amount .woocommerce-Price-amount {
	color: inherit !important;
	font-weight: 600;
}


/* ---------- 9. Catalogue thumbnails: one square shape, never stretched ---------- */
/* The theme sizes product thumbs into a square box but leaves object-fit at its
   default of `fill`, so any non-square photo gets squashed. `cover` keeps the
   proportions and trims instead — and it covers future uploads too, whatever
   shape they arrive in. */
img.attachment-woocommerce_thumbnail,
img.attachment-woocommerce_gallery_thumbnail,
li.product img.wp-post-image,
.product-thumbnail img.wp-post-image,
.tmcore-product-wrapper img.wp-post-image,
.elementor-widget-tmcore-products img.wp-post-image,
.elementor-widget-tmcore-products-tabs img.wp-post-image,
.elementor-widget-tmcore-product-categories-carousel img.wp-post-image {
	aspect-ratio: 1 / 1;
	width: 100%;
	height: auto;
	object-fit: cover;
	object-position: center;
}


/* ---------- 10. Hero banner: label + headline treatment ---------- */
/* Elementor sets these on the widget wrapper, but the theme styles bare <p>
   with its own size and colour, which wins over inheritance. Scoped by
   element id so nothing else is touched. */
.elementor-element-a69c4b0,
.elementor-element-a69c4b0 p {
	margin: 0;
	color: var(--glw-pink);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	line-height: 1.4;
}
.elementor-element-c270fcb,
.elementor-element-c270fcb p {
	margin: 0;
	color: var(--glw-body);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.2px;
	line-height: 1.5;
}
.elementor-element-9129702 .elementor-heading-title {
	font-weight: 800;
	letter-spacing: -0.8px;
}


/* Mobile: the banner is 2:1, so a narrow viewport crops to the middle of the
   photo and the headline lands on the model's hair. Shift the crop toward the
   flat pink side and lay a soft pink scrim under the type so it always reads. */
@media (max-width: 767px) {
	.elementor-element-89ba472 > .elementor-widget-wrap {
		position: relative;
		background-position: 32% center !important;
	}
	.elementor-element-89ba472 > .elementor-widget-wrap::before {
		content: "";
		position: absolute;
		inset: 0;
		border-radius: 14px;
		pointer-events: none;
		background: linear-gradient(100deg,
			rgba(252, 226, 236, 0.94) 0%,
			rgba(252, 226, 236, 0.80) 46%,
			rgba(252, 226, 236, 0.10) 78%,
			rgba(252, 226, 236, 0) 100%);
	}
	.elementor-element-89ba472 > .elementor-widget-wrap > * { position: relative; z-index: 1; }
}

/* =====================================================================
   END GLOWORA TYPOGRAPHY & COLOUR SYSTEM
   ===================================================================== */
