/* ==========================================================================
   PuriLife 普瑞生活 — brand styles for Salient
   Palette (from logo):
     --pl-coral   #EB5C5C  primary (RGB 235,92,92 per brand doc)
     --pl-orange  #F0832D  logo leaf orange
     --pl-red     #E8402E  logo leaf deep red
     --pl-ink     #3A3A3A  logo charcoal text
     --pl-cream   #FFF7F3  warm section background
   ========================================================================== */

:root {
	--pl-coral:  #EB5C5C;
	--pl-orange: #F0832D;
	--pl-red:    #E8402E;
	--pl-ink:    #3A3A3A;
	--pl-cream:  #FFF7F3;
	--pl-grad:   linear-gradient(120deg, #F0832D 0%, #EB5C5C 55%, #E8402E 100%);
}

/* ---------- Typography ---------- */
body.purilife,
body.purilife p,
body.purilife .nectar-fancy-box,
body.purilife #footer-outer {
	font-family: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
}
body.purilife h1, body.purilife h2, body.purilife h3,
body.purilife h4, body.purilife h5, body.purilife h6 {
	font-family: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
	font-weight: 700;
	letter-spacing: 0.03em;
}

/* ---------- Hero ---------- */
/* NOTE: no overflow:hidden here — it clips Salient's full-bleed .row-bg-wrap.
   The gradient look comes from the row's bg image + colour overlay. */
.pl-hero .row-bg {
	background-color: var(--pl-coral); /* fallback while image loads */
}
.pl-hero .nectar-button.pl-hero-btn-ghost {
	border-color: rgba(255,255,255,0.85) !important;
}
/* breathing room between the two hero buttons (wraps gracefully on mobile) */
.pl-hero .nectar-button {
	margin: 8px 12px !important;
}

/* ---------- Logo legibility on transparent header ---------- */
/* white glow so the dark logo text reads over hero photos/gradients */
#header-outer.transparent #logo img,
#header-outer[data-permanent-transparent="1"] #logo img {
	filter:
		drop-shadow(0 0 2px rgba(255, 255, 255, 0.95))
		drop-shadow(0 0 8px rgba(255, 255, 255, 0.7))
		drop-shadow(0 0 20px rgba(255, 255, 255, 0.45));
}

/* ---------- Section eyebrow label ---------- */
.pl-eyebrow {
	display: inline-block;
	color: var(--pl-coral);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	margin-bottom: 12px;
}

/* ---------- Feature / pillar cards ---------- */
.pl-card .vc_column-inner {
	background: #fff;
	border-radius: 18px;
	padding: 44px 30px !important;
	box-shadow: 0 8px 30px rgba(58, 58, 58, 0.07);
	transition: transform .35s ease, box-shadow .35s ease;
	text-align: center;
	height: 100%;
}
.pl-card .vc_column-inner:hover {
	transform: translateY(-8px);
	box-shadow: 0 20px 45px rgba(235, 92, 92, 0.18);
}
.pl-card h3, .pl-card h4 { margin-top: 18px; color: var(--pl-ink); }
.pl-card p { color: #6d6d6d; margin-bottom: 0; }
.pl-card .im-icon-wrap, .pl-card i { color: var(--pl-coral) !important; }

/* ---------- Product cards ---------- */
.pl-product .vc_column-inner {
	background: #fff;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 8px 26px rgba(58,58,58,0.08);
	transition: transform .35s ease, box-shadow .35s ease;
}
.pl-product .vc_column-inner:hover {
	transform: translateY(-6px);
	box-shadow: 0 22px 48px rgba(232, 64, 46, 0.16);
}
.pl-product img {
	width: 100%;
	transition: transform .6s ease;
}
.pl-product .vc_column-inner:hover img { transform: scale(1.05); }
.pl-product h4 {
	font-size: 18px;
	padding: 18px 22px 4px;
	margin-bottom: 0;
}
.pl-product p {
	padding: 0 22px 24px;
	color: #6d6d6d;
	font-size: 14px;
}

/* ---------- Gradient CTA band ---------- */
.pl-cta {
	background: var(--pl-grad) !important;
	border-radius: 28px;
	overflow: hidden;
	padding: 70px 60px !important;
	box-shadow: 0 24px 60px rgba(232, 64, 46, 0.28);
	position: relative;
}
/* decorative shapes filling the right side */
.pl-cta::before,
.pl-cta::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}
.pl-cta::before {
	width: 440px; height: 440px;
	right: -130px; top: -190px;
	background: radial-gradient(circle, rgba(255,255,255,0.22) 0%, rgba(255,255,255,0.05) 65%, rgba(255,255,255,0) 100%);
}
.pl-cta::after {
	width: 260px; height: 260px;
	right: 150px; bottom: -120px;
	border: 2px solid rgba(255, 255, 255, 0.35);
	background: transparent;
}
.pl-cta h2, .pl-cta p { color: #fff !important; }
.pl-cta h2 { margin-bottom: 12px; }
/* vertically centre the text + button columns (above the decorations) */
.pl-cta .vc_row-fluid,
.pl-cta .wpb_row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 0;
	position: relative;
	z-index: 1;
}
.pl-cta .nectar-button {
	box-shadow: 0 10px 26px rgba(0, 0, 0, 0.18);
	padding: 20px 48px !important;
	font-size: 16px !important;
}
.pl-cta .nectar-button:hover {
	transform: translateY(-2px) scale(1.03);
}
@media only screen and (max-width: 999px) {
	.pl-cta { padding: 46px 32px !important; }
	.pl-cta .vc_row-fluid { display: block; }
	.pl-cta .nectar-button { margin-top: 24px; }
}

/* ---------- Philosophy quote band ---------- */
.pl-quote h2 {
	font-weight: 900;
	background: var(--pl-grad);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

/* ---------- Buttons ---------- */
body.purilife .nectar-button.pl-btn-gradient {
	background: var(--pl-grad) !important;
	border-radius: 100px;
	box-shadow: 0 8px 22px rgba(235, 92, 92, 0.35);
	transition: transform .25s ease, box-shadow .25s ease;
}
body.purilife .nectar-button.pl-btn-gradient:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 30px rgba(235, 92, 92, 0.45);
}
body.purilife .nectar-button { border-radius: 100px; }

/* ---------- Accordion (returns policy) ---------- */
body.purilife .toggle > .toggle-title a,
body.purilife .nectar-toggle h3 a {
	font-weight: 700;
	color: var(--pl-ink);
}
body.purilife .toggle.open > .toggle-title a { color: var(--pl-coral); }

/* ---------- WooCommerce (Salient shop) ---------- */
body.purilife ul.products li.product {
	border-radius: 18px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 8px 26px rgba(58,58,58,0.08);
	transition: transform .35s ease, box-shadow .35s ease;
}
body.purilife ul.products li.product:hover {
	transform: translateY(-6px);
	box-shadow: 0 22px 48px rgba(232, 64, 46, 0.16);
}
body.purilife ul.products li.product .woocommerce-loop-product__title {
	font-weight: 700;
	color: var(--pl-ink);
}
body.purilife .woocommerce span.price,
body.purilife .woocommerce div.product p.price,
body.purilife ul.products li.product .price {
	color: var(--pl-coral) !important;
	font-weight: 700;
}
body.purilife .woocommerce #respond input#submit,
body.purilife .woocommerce a.button,
body.purilife .woocommerce button.button,
body.purilife .woocommerce input.button,
body.purilife .woocommerce div.product form.cart .button {
	background: var(--pl-grad) !important;
	color: #fff !important;
	border-radius: 100px;
	transition: transform .25s ease, box-shadow .25s ease;
}
body.purilife .woocommerce a.button:hover,
body.purilife .woocommerce div.product form.cart .button:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 26px rgba(235, 92, 92, 0.4);
}
body.purilife .woocommerce .onsale,
body.purilife .nectar-love.loved {
	background-color: var(--pl-coral) !important;
}

/* ---------- Scroll reveal (used by purilife.js) ---------- */
.pl-reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity .7s ease, transform .7s ease;
}
.pl-reveal.pl-in {
	opacity: 1;
	transform: none;
}

/* ---------- Responsive ---------- */
@media only screen and (max-width: 999px) {
	.pl-card .vc_column-inner { padding: 34px 22px !important; margin-bottom: 24px; }
	.pl-hero { min-height: 82vh; }
}
@media only screen and (max-width: 690px) {
	.pl-eyebrow { letter-spacing: 0.22em; }
	.pl-cta { border-radius: 16px; }
	.pl-product .vc_column-inner { margin-bottom: 26px; }
}

/* ---------- Footer copyright bar ---------- */
#copyright .col_last { text-align: right; }
#copyright .pl-footer-policy {
	color: #777777;
	font-size: 14px;
	display: inline-block;
	transition: color .25s ease;
}
#copyright .pl-footer-policy:hover { color: var(--pl-coral); }
@media only screen and (max-width: 690px) {
	#copyright .col_last { text-align: left; }
}

/* ---------- LINE QR code (contact page) ---------- */
body.purilife .pl-qr img {
	width: 180px !important;
	max-width: 180px !important;
	height: auto;
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(58, 58, 58, 0.15);
}
.pl-qr .pl-qr-caption {
	margin-top: 12px;
	color: #6d6d6d;
	font-size: 14px;
}
