/* ============================================================
   v3.0.0 — Section Manager render styles
   ============================================================ */
.si-section {
	padding: var(--si-section-y, 5rem) 0;
	background: var(--si-parchment, #F8F4EE);
	color: var(--si-ink, #090F16);
}
.si-section--parchment { background: var(--si-parchment-soft, #FAF7F1); }
.si-section--forest    { background: var(--si-forest, #0E2A1C); color: #fff; }
.si-section--ink       { background: var(--si-ink, #090F16); color: #fff; }
.si-section .si-container {
	max-width: var(--si-container-max, 1280px);
	margin: 0 auto;
	padding: 0 var(--si-container-x, 1.25rem);
}
.si-section__head { margin-bottom: 2rem; }
.si-section__title {
	font-family: var(--si-font-serif, Lora, Georgia, serif);
	font-size: clamp(1.6rem, 2.6vw, 2.4rem);
	font-weight: 600;
	letter-spacing: -0.01em;
	margin: 0;
}
.si-section--forest .si-section__title,
.si-section--ink .si-section__title { color: #fff; }
.si-section__empty { color: var(--si-muted, #6B7280); font-style: italic; }

.si-grid {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
@media (max-width: 720px) {
	.si-mcols-1 .si-grid { grid-template-columns: 1fr; }
	.si-mcols-2 .si-grid { grid-template-columns: 1fr 1fr; }
}

.si-card {
	background: var(--si-card-bg, #fff);
	border: 1px solid var(--si-card-border, #E5DFD3);
	border-radius: var(--si-card-radius, 18px);
	box-shadow: var(--si-card-shadow, 0 6px 24px rgba(9,15,22,0.06));
	overflow: hidden;
	transition: transform .25s ease, box-shadow .25s ease;
	display: flex; flex-direction: column;
}
.si-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--si-card-shadow-hover, 0 18px 50px rgba(9,15,22,0.12));
}
.si-card__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.si-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.si-card__media:hover img { transform: scale(1.04); }
.si-card__body { padding: 1.25rem 1.4rem 1.4rem; display: flex; flex-direction: column; gap: .65rem; flex: 1; }
.si-card__title {
	font-family: var(--si-font-serif, Lora, Georgia, serif);
	font-size: 1.2rem;
	margin: 0;
	font-weight: 600;
	line-height: 1.3;
}
.si-card__title a { color: inherit; text-decoration: none; }
.si-card__title a:hover { color: var(--si-terra, #C8614A); }
.si-card__excerpt { color: var(--si-muted, #6B7280); font-size: .95rem; line-height: 1.55; margin: 0; flex: 1; }
.si-card__cta {
	color: var(--si-terra, #C8614A);
	text-decoration: none;
	font-weight: 600;
	font-size: .92rem;
	margin-top: auto;
	align-self: flex-start;
}
.si-card__cta:hover { color: var(--si-ink, #090F16); }

/* Animation variants */
.si-anim-fade-up    .si-card { opacity: 0; transform: translateY(20px); transition: opacity .6s ease, transform .6s ease; }
.si-anim-fade-up.is-revealed .si-card, .si-anim-fade-up.is-visible .si-card { opacity: 1; transform: translateY(0); }
.si-anim-fade       .si-card { opacity: 0; transition: opacity .6s ease; }
.si-anim-fade.is-revealed    .si-card, .si-anim-fade.is-visible    .si-card { opacity: 1; }
.si-anim-scale-in   .si-card { opacity: 0; transform: scale(.95); transition: opacity .5s ease, transform .5s ease; }
.si-anim-scale-in.is-revealed .si-card, .si-anim-scale-in.is-visible .si-card { opacity: 1; transform: scale(1); }
.si-anim-none       .si-card { opacity: 1; transform: none; }
body.si-no-animations .si-card { opacity: 1 !important; transform: none !important; }
@media (prefers-reduced-motion: reduce) {
	.si-card, .si-card__media img { opacity: 1 !important; transition: none !important; transform: none !important; }
}

/* Section static blocks */
.si-newsletter, .si-footer-cta, .si-contact { text-align: center; max-width: 640px; margin: 0 auto; }
.si-section .si-newsletter { display: block; }
.si-section .si-contact { display: block; }
.si-section .si-footer-cta { padding: 0; background: transparent; color: inherit; }
.si-newsletter h3, .si-footer-cta h3, .si-contact h3 {
	font-family: var(--si-font-serif, Lora, Georgia, serif);
	font-size: 1.6rem; font-weight: 600; margin: 0 0 .8rem;
}
.si-newsletter__form { display: flex; gap: .5rem; flex-wrap: wrap; justify-content: center; margin-top: 1rem; }
.si-newsletter__form input[type=email] {
	flex: 1; min-width: 220px;
	padding: .75rem 1rem;
	border: 1px solid var(--si-border, #E5DFD3);
	border-radius: var(--si-radius-input, 6px);
	font: inherit;
}

.si-btn {
	display: inline-flex; align-items: center; justify-content: center;
	padding: .8rem 1.6rem;
	border-radius: var(--si-btn-radius, 50px);
	font-weight: var(--si-btn-font-weight, 600);
	text-decoration: none;
	transition: background-color .2s ease, transform .15s ease;
	cursor: pointer;
	border: 0;
	font-family: inherit;
}
.si-btn--primary { background: var(--si-btn-bg, #C8614A); color: var(--si-btn-text, #fff); }
.si-btn--primary:hover { background: var(--si-btn-bg-hover, #A84F3D); transform: translateY(-1px); }
.si-btn--lg { padding: 1rem 2.2rem; font-size: 1.05rem; }

/* ============================================================
   v3.0.0 — Full WooCommerce styling
   ============================================================ */

/* --- Shop archive & category page --- */
.woocommerce.archive .woocommerce-products-header,
.woocommerce-page.archive .woocommerce-products-header {
	max-width: var(--si-container-max, 1280px);
	margin: 0 auto;
	padding: 2.5rem var(--si-container-x, 1.25rem) 1rem;
}
.woocommerce-products-header__title {
	font-family: var(--si-font-serif, Lora, Georgia, serif);
	font-weight: 600; font-size: clamp(1.8rem, 3vw, 2.6rem);
	letter-spacing: -.02em;
	margin: 0 0 .5rem;
}
.term-description { color: var(--si-muted, #6B7280); max-width: 720px; }

.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid;
	gap: 1.75rem;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	max-width: var(--si-container-max, 1280px);
	margin: 1.5rem auto 3rem;
	padding: 0 var(--si-container-x, 1.25rem);
	list-style: none;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background: var(--si-card-bg, #fff);
	border: 1px solid var(--si-card-border, #E5DFD3);
	border-radius: var(--si-card-radius, 18px);
	box-shadow: var(--si-card-shadow, 0 6px 24px rgba(9,15,22,0.06));
	overflow: hidden;
	margin: 0;
	width: auto;
	float: none;
	transition: transform .2s ease, box-shadow .2s ease;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-2px);
	box-shadow: var(--si-card-shadow-hover, 0 18px 50px rgba(9,15,22,0.12));
}
.woocommerce ul.products li.product a { text-decoration: none; color: inherit; display: block; }
.woocommerce ul.products li.product a img {
	margin: 0 !important;
	border-radius: 0 !important;
	width: 100%;
	aspect-ratio: 4/5;
	object-fit: cover;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
	font-family: var(--si-font-serif, Lora, Georgia, serif) !important;
	font-size: 1.05rem !important;
	font-weight: 600 !important;
	padding: 1rem 1.25rem .25rem !important;
	line-height: 1.35 !important;
}
.woocommerce ul.products li.product .price {
	color: var(--si-ink, #090F16) !important;
	font-weight: 600 !important;
	font-size: 1rem !important;
	padding: 0 1.25rem 1rem !important;
	display: block !important;
}
.woocommerce ul.products li.product .price del { color: var(--si-muted, #6B7280); margin-right: .35rem; }
.woocommerce ul.products li.product .price ins { background: transparent; color: var(--si-terra, #C8614A); text-decoration: none; font-weight: 700; }
.woocommerce ul.products li.product .button {
	margin: 0 1.25rem 1.25rem !important;
	background: var(--si-btn-bg, #C8614A) !important;
	color: var(--si-btn-text, #fff) !important;
	border-radius: var(--si-btn-radius, 50px) !important;
	font-weight: 600 !important;
	padding: .7rem 1.4rem !important;
	transition: background-color .2s ease;
}
.woocommerce ul.products li.product .button:hover { background: var(--si-btn-bg-hover, #A84F3D) !important; }

/* Sale badge */
.woocommerce span.onsale {
	background: var(--si-terra, #C8614A) !important;
	color: #fff !important;
	border-radius: 50px !important;
	font-weight: 600 !important;
	padding: .35em .85em !important;
	min-height: auto !important;
	min-width: auto !important;
	line-height: 1 !important;
	top: 12px !important;
	left: 12px !important;
	right: auto !important;
}

/* --- Single product page --- */
.woocommerce div.product, .woocommerce-page div.product {
	max-width: var(--si-container-max, 1280px);
	margin: 2rem auto !important;
	padding: 0 var(--si-container-x, 1.25rem);
}
.woocommerce div.product .product_title {
	font-family: var(--si-font-serif, Lora, Georgia, serif) !important;
	font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
	font-weight: 600 !important;
	letter-spacing: -.01em !important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-size: 1.5rem !important;
	font-weight: 700 !important;
	color: var(--si-ink, #090F16) !important;
}
.woocommerce div.product div.images img { border-radius: var(--si-card-radius, 18px); }
.woocommerce div.product form.cart .quantity { margin-right: .75rem; }
.woocommerce div.product form.cart .button,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
	background: var(--si-btn-bg, #C8614A) !important;
	color: var(--si-btn-text, #fff) !important;
	border-radius: var(--si-btn-radius, 50px) !important;
	font-weight: 600 !important;
	padding: .85rem 1.8rem !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover {
	background: var(--si-btn-bg-hover, #A84F3D) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
	border-bottom: 1px solid var(--si-border, #E5DFD3);
	padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: .85rem 1.25rem !important;
	color: var(--si-muted, #6B7280) !important;
	border-bottom: 2px solid transparent !important;
	font-weight: 500;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--si-ink, #090F16) !important;
	border-bottom-color: var(--si-terra, #C8614A) !important;
	font-weight: 600;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }

/* Related, upsells, cross-sells */
.woocommerce .related, .woocommerce .upsells, .woocommerce .cross-sells {
	margin: 3rem auto !important;
	max-width: var(--si-container-max, 1280px);
	padding: 0 var(--si-container-x, 1.25rem);
}
.woocommerce .related > h2, .woocommerce .upsells > h2, .woocommerce .cross-sells > h2 {
	font-family: var(--si-font-serif, Lora, Georgia, serif);
	font-size: 1.6rem; font-weight: 600;
	margin-bottom: 1rem;
}

/* --- Cart --- */
.woocommerce-cart .woocommerce {
	max-width: var(--si-container-max, 1280px);
	margin: 2rem auto;
	padding: 0 var(--si-container-x, 1.25rem);
}
.woocommerce table.shop_table {
	border-radius: var(--si-card-radius, 18px) !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border: 1px solid var(--si-border, #E5DFD3) !important;
	overflow: hidden;
}
.woocommerce table.shop_table th {
	background: var(--si-parchment-soft, #FAF7F1);
	font-family: var(--si-font-serif, Lora, Georgia, serif);
	font-weight: 600 !important;
	color: var(--si-ink, #090F16) !important;
	padding: 1rem 1.2rem !important;
}
.woocommerce table.shop_table td { padding: 1rem 1.2rem !important; }
.woocommerce-cart-form__cart-item .product-thumbnail img { width: 64px; height: 64px; object-fit: cover; border-radius: 8px; }
.woocommerce .cart-collaterals .cart_totals h2 {
	font-family: var(--si-font-serif, Lora, Georgia, serif);
	font-size: 1.4rem; font-weight: 600;
}

/* Coupons */
.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register {
	background: var(--si-parchment-soft, #FAF7F1) !important;
	border: 1px solid var(--si-border, #E5DFD3) !important;
	border-radius: var(--si-card-radius, 18px) !important;
	padding: 1.5rem !important;
}
.woocommerce-info, .woocommerce-message {
	border-top-color: var(--si-terra, #C8614A) !important;
	background: var(--si-parchment-soft, #FAF7F1) !important;
	color: var(--si-ink, #090F16) !important;
}
.woocommerce-info::before, .woocommerce-message::before { color: var(--si-terra, #C8614A) !important; }
.woocommerce-error { border-top-color: var(--si-error, #D9534F) !important; background: #fff5f5; }

/* --- Checkout --- */
.woocommerce-checkout #payment {
	background: var(--si-parchment-soft, #FAF7F1) !important;
	border-radius: var(--si-card-radius, 18px) !important;
}
.woocommerce-checkout .form-row label { font-weight: 500; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	padding: .7rem .9rem !important;
	border: 1px solid var(--si-border, #E5DFD3) !important;
	border-radius: var(--si-radius-input, 6px) !important;
	font: inherit !important;
}

/* --- Order received page --- */
.woocommerce-order-received .woocommerce-order {
	max-width: 760px;
	margin: 3rem auto;
	padding: 0 var(--si-container-x, 1.25rem);
}
.woocommerce-thankyou-order-received {
	background: var(--si-mint, #2DD4A0);
	color: #fff;
	padding: 1.5rem !important;
	border-radius: var(--si-card-radius, 18px) !important;
	font-size: 1.1rem !important;
	text-align: center;
}

/* --- My Account --- */
.woocommerce-account .woocommerce {
	max-width: var(--si-container-max, 1280px);
	margin: 2rem auto;
	padding: 0 var(--si-container-x, 1.25rem);
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 2rem;
}
@media (max-width: 720px) {
	.woocommerce-account .woocommerce { grid-template-columns: 1fr; }
}
.woocommerce-account .woocommerce-MyAccount-navigation {
	background: var(--si-parchment-soft, #FAF7F1);
	border: 1px solid var(--si-border, #E5DFD3);
	border-radius: var(--si-card-radius, 18px);
	padding: 1rem;
	float: none !important;
	width: auto !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li { margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: .65rem 1rem;
	border-radius: 8px;
	color: var(--si-ink, #090F16);
	text-decoration: none;
	font-weight: 500;
	transition: background-color .15s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	background: var(--si-terra, #C8614A);
	color: #fff;
}
.woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: auto !important; }
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-family: var(--si-font-serif, Lora, Georgia, serif);
	font-weight: 600;
}

/* Foundation labels for placeholder Account views */
.si-account-placeholder {
	background: linear-gradient(135deg, #FFF8E5, #FFE8B0);
	border: 1px dashed #B8860B;
	color: #5C3D00;
	padding: 1rem 1.25rem;
	border-radius: 12px;
	margin-bottom: 1rem;
	font-size: .9rem;
	line-height: 1.5;
}
.si-account-placeholder strong { display: block; font-size: 1rem; margin-bottom: .25rem; color: #B8860B; letter-spacing: .5px; text-transform: uppercase; font-weight: 700; }

/* --- Order tracking --- */
.woocommerce form.track_order { max-width: 640px; margin: 2rem auto; padding: 0 var(--si-container-x, 1.25rem); }

/* --- Downloads --- */
.woocommerce-account .woocommerce-MyAccount-downloads .woocommerce-orders-table {
	background: #fff;
	border-radius: var(--si-card-radius, 18px);
	overflow: hidden;
}


/* ============================================================
   v3.1.0 — stronger Section Manager, logo, opportunity/resource support
   ============================================================ */
.si-section__eyebrow{
	margin:0 0 .55rem;
	color:var(--si-terra,#C8614A);
	font-size:.78rem;
	font-weight:700;
	letter-spacing:.14em;
	text-transform:uppercase;
}
.si-section__intro{
	max-width:720px;
	margin:.75rem 0 0;
	color:var(--si-muted,#6B7280);
	font-size:clamp(1rem,1.2vw,1.12rem);
	line-height:1.7;
}
.si-section__head{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:.2rem;
}
.si-section__head .si-btn--section{margin-top:1rem}
.si-section--forest .si-section__intro,
.si-section--ink .si-section__intro{color:rgba(255,255,255,.72)}
.si-list{display:grid;gap:1rem}
.si-card--product .si-card__price{font-weight:700;color:var(--si-ink,#090F16);margin:0}
.si-card--product .si-card__stock{font-size:.85rem;margin:0;color:var(--si-muted,#6B7280)}
.si-card--product .si-card__stock--out{color:var(--si-error,#D9534F)}
.si-pill--sale{align-self:flex-start;background:var(--si-terra,#C8614A);color:#fff}
.si-card--opportunity .si-card__meta,
.si-card--resource .si-card__meta{display:flex;flex-wrap:wrap;gap:.45rem .75rem;margin:.4rem 0;padding:0;list-style:none;color:var(--si-muted,#6B7280);font-size:.86rem}
.si-card--opportunity .si-card__tag{font-weight:700;color:var(--si-terra,#C8614A);text-transform:uppercase;font-size:.72rem;letter-spacing:.12em}
.si-faq-item{background:var(--si-card-bg,#fff);border:1px solid var(--si-card-border,#E5DFD3);border-radius:var(--si-card-radius,18px);padding:1rem 1.25rem}
.si-faq-item summary{cursor:pointer;font-weight:700;color:var(--si-ink,#090F16)}
.si-faq-item__content{color:var(--si-muted,#6B7280);line-height:1.65;padding-top:.75rem}
.si-testimonial__photo{width:68px;height:68px;border-radius:50%;overflow:hidden;margin:1.25rem auto 0}
.si-testimonial__photo img{width:100%;height:100%;object-fit:cover}
.si-testimonial__quote{font-family:var(--si-font-serif,Georgia,serif);font-size:1.08rem;line-height:1.7;margin:0;color:var(--si-ink,#090F16)}
.si-testimonial__quote p{margin:0}
.si-testimonial__name{font-weight:700;margin:.75rem 0 0;color:var(--si-ink,#090F16)}
.si-testimonial__role{margin:.15rem 0 0;color:var(--si-muted,#6B7280);font-size:.9rem}
.si-logo--image{display:inline-flex;align-items:center;max-width:220px;line-height:0;text-decoration:none}
.si-logo__img{display:block;max-height:42px;width:auto;max-width:100%;object-fit:contain}
.si-logo__img--dark{display:block}
.si-logo__img--light{display:none}
.si-logo__img--mobile{display:none}
.si-header.is-on-dark .si-logo__img--dark,
.si-section--ink ~ .si-header .si-logo__img--dark{display:none}
.si-header.is-on-dark .si-logo__img--light{display:block}
.si-footer .si-logo__img--light{display:block}
.si-footer .si-logo__img--dark{display:none}
@media(max-width:782px){
	.si-mobile-fixed-header .si-header{background:var(--si-ink,#090F16);color:#fff}
	.si-mobile-fixed-header .si-header a{color:#fff}
	.si-logo__img{max-height:32px}
	.si-logo__img--mobile{display:block}
	.si-logo__img--mobile + .si-logo__img,
	.si-logo__img--mobile ~ .si-logo__img{display:none!important}
	.si-section__head{gap:.1rem}
	.si-mcols-2 .si-grid{grid-template-columns:1fr}
}
.si-mobile-drawer.is-open{display:block}
body.si-menu-open{overflow:hidden}
.si-burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.si-burger.is-open span:nth-child(2){opacity:0}
.si-burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Forms, popup, announcement and floating-contact foundations supplied by Core later. */
.si-form-shell,
.si-popup,
.si-announcement,
.si-floating-contact {
	background: var(--si-card-bg,#fff);
	border: 1px solid var(--si-card-border,#E5DFD3);
	border-radius: var(--si-card-radius,18px);
	box-shadow: var(--si-card-shadow,0 6px 24px rgba(9,15,22,.06));
}
.si-form-shell { padding: clamp(1.25rem,3vw,2rem); }
.si-form-row { display: grid; gap: .45rem; margin-bottom: 1rem; }
.si-form-row label { font-weight: 700; color: var(--si-forest,#0E2A1C); }
.si-form-row .description { margin: 0; color: var(--si-muted,#6B7280); font-size: .88rem; }
.si-form-message { padding: .85rem 1rem; border-radius: 10px; margin: 1rem 0; }
.si-form-message--success { background: rgba(45,212,160,.14); color: #11684e; }
.si-form-message--error { background: rgba(217,83,79,.12); color: var(--si-error,#D9534F); }
.si-popup { position: fixed; inset: auto 1rem 1rem auto; width: min(420px, calc(100vw - 2rem)); padding: 1.25rem; z-index: 220; }
.si-popup[hidden],
.si-announcement[hidden],
.si-floating-contact[hidden] { display: none !important; }
.si-announcement { border-radius: 0; border-width: 0 0 1px; padding: .7rem var(--si-container-x,1.25rem); text-align: center; }
.si-floating-contact { position: fixed; right: 1rem; bottom: 1rem; z-index: 210; border-radius: 999px; overflow: hidden; }
.si-floating-contact a { display: inline-flex; align-items: center; gap: .5rem; padding: .8rem 1rem; color: var(--si-ink,#090F16); font-weight: 700; }
@media(max-width:640px){
	.si-popup { inset: auto .75rem .75rem; width: auto; }
	.si-floating-contact { right: .75rem; bottom: .75rem; }
	.si-btn,
	.si-btn--mobile-full { width: 100%; }
}
