/* =========================================================================
   Shutters365 — WordPress / WooCommerce overrides
   Layered on top of assets/css/styles.css to make WP + Woo defaults match
   the design system.
   ========================================================================= */

/* ---- Generic page shell ---- */
.page-shell { padding: clamp(32px, 5vw, 64px) 0; }
.page-shell .container > h1.entry-title { margin-bottom: 22px; }

.entry-content > * + * { margin-top: 1.1em; }
.entry-content h2 { font-size: clamp(1.5rem, 3vw, 2rem); margin-top: 1.5em; }
.entry-content h3 { font-size: 1.3rem; margin-top: 1.3em; }
.entry-content ul, .entry-content ol { padding-left: 1.3em; }
.entry-content a { color: var(--red); font-weight: 600; }
.entry-content img { border-radius: var(--r); }

/* ---- WooCommerce: buttons ---- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.wc-block-components-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background: var(--red);
	color: #fff;
	border-radius: var(--r-pill);
	font-weight: 600;
	font-size: 0.98rem;
	line-height: 1;
	padding: 14px 26px;
	border: 1.5px solid transparent;
	box-shadow: 0 10px 22px -10px rgba(214, 40, 40, 0.7);
	transition: transform 0.18s var(--ease), background 0.2s, box-shadow 0.2s;
	text-transform: none;
	letter-spacing: 0;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.wc-block-components-button:hover {
	background: var(--red-dark);
	transform: translateY(-2px);
	color: #fff;
}
.woocommerce a.button.wc-backward,
.woocommerce .cart .button[name="update_cart"] {
	background: transparent;
	color: var(--ink);
	border-color: var(--line-2);
	box-shadow: none;
}
.woocommerce a.button.wc-backward:hover,
.woocommerce .cart .button[name="update_cart"]:hover {
	background: var(--white);
	border-color: var(--ink);
	color: var(--ink);
}

/* ---- WooCommerce: notices ---- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
.woocommerce .woocommerce-info {
	border-top: none;
	border-radius: var(--r-sm);
	padding: 15px 17px 15px 46px;
	font-size: 0.92rem;
	background: var(--green-tint);
	color: #2c5b3f;
	box-shadow: none;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { color: var(--green); top: 16px; left: 17px; }
.woocommerce-error { background: var(--red-tint); color: var(--red-dark); list-style: none; }
.woocommerce-error::before { color: var(--red); }
.woocommerce-info { background: var(--paper-2); color: var(--charcoal); }
.woocommerce-info::before { color: var(--red); }

/* ---- WooCommerce: form fields ---- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .select2-container--default .select2-selection--single,
.woocommerce-page form .form-row input.input-text,
.woocommerce table.cart td.actions .coupon .input-text,
select, input[type="text"], input[type="email"], input[type="tel"],
input[type="password"], input[type="number"], textarea {
	border: 1.5px solid var(--line-2);
	border-radius: var(--r-sm);
	padding: 12px 14px;
	background: var(--white);
	font-size: 1rem;
	line-height: 1.4;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
select:focus, input:focus, textarea:focus {
	outline: none;
	border-color: var(--red);
	box-shadow: 0 0 0 3px var(--red-tint);
}
.woocommerce form .form-row label { font-weight: 600; color: var(--charcoal); font-size: 0.88rem; }

/* ---- WooCommerce: cart & checkout tables ---- */
.woocommerce table.shop_table {
	border: 1px solid var(--line);
	border-radius: var(--r-lg);
	border-collapse: separate;
	overflow: hidden;
}
.woocommerce table.shop_table th { background: var(--paper-2); color: var(--ink); font-family: var(--font-sans); }
.woocommerce table.shop_table td { border-top: 1px solid var(--line); }
.woocommerce .cart_item .product-name .s365-winname { color: var(--muted); font-weight: 500; font-size: 0.9em; }
.woocommerce .product-name dl.variation,
.woocommerce-checkout-review-order .variation {
	font-size: 0.82rem;
	color: var(--muted);
	margin-top: 6px;
}
.woocommerce .product-name dl.variation dt { font-weight: 600; color: var(--charcoal); float: left; clear: left; margin-right: 6px; }
.woocommerce .product-name dl.variation dd { margin: 0; }
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce .woocommerce-checkout-review-order-table {
	background: var(--white);
	border-radius: var(--r-lg);
}
.woocommerce .cart-collaterals .cart_totals h2,
.woocommerce-checkout #order_review_heading { font-family: var(--font-display); color: var(--ink); }
.woocommerce-checkout #payment { background: var(--paper-2); border-radius: var(--r-lg); }

/* ---- WooCommerce: my-account ---- */
.woocommerce-account .woocommerce-MyAccount-navigation ul { border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--line); }
.woocommerce-account .woocommerce-MyAccount-navigation li a { padding: 12px 16px; display: block; font-weight: 600; color: var(--charcoal); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--red-tint); color: var(--red-dark); }

/* ---- Quantity inputs ---- */
.woocommerce .quantity .qty {
	border: 1.5px solid var(--line-2);
	border-radius: var(--r-pill);
	padding: 10px;
	width: 76px;
	text-align: center;
}

/* ---- Contact Form 7 ---- */
.wpcf7 .field { margin-bottom: 16px; }
.wpcf7-form label { display: block; font-size: 0.85rem; font-weight: 600; color: var(--charcoal); margin-bottom: 7px; }
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea,
.wpcf7-form select {
	width: 100%;
	border: 1.5px solid var(--line-2);
	border-radius: var(--r-sm);
	padding: 13px 15px;
	background: var(--white);
}
.wpcf7-form input:focus, .wpcf7-form textarea:focus, .wpcf7-form select:focus {
	outline: none; border-color: var(--red); box-shadow: 0 0 0 3px var(--red-tint);
}
.wpcf7-form .wpcf7-submit {
	background: var(--red);
	color: #fff;
	border: none;
	border-radius: var(--r-pill);
	padding: 15px 30px;
	font-weight: 600;
	font-size: 1rem;
	cursor: pointer;
	box-shadow: 0 10px 22px -10px rgba(214, 40, 40, 0.7);
	transition: background 0.2s, transform 0.18s var(--ease);
}
.wpcf7-form .wpcf7-submit:hover { background: var(--red-dark); transform: translateY(-2px); }
.wpcf7 form .wpcf7-response-output {
	border-radius: var(--r-sm);
	border-width: 1.5px;
	margin: 18px 0 0;
	padding: 12px 16px;
	font-size: 0.9rem;
}
.wpcf7-form.sent .wpcf7-response-output { border-color: var(--green); background: var(--green-tint); color: #2c5b3f; }
.wpcf7-not-valid-tip { color: var(--red); font-size: 0.8rem; }
.wpcf7-form .wpcf7-spinner { margin: 0 0 0 12px; }

/* ---- Posts / blog single ---- */
.single-post .entry-header { margin-bottom: 24px; }
.post-thumbnail img { border-radius: var(--r-lg); width: 100%; }
.comment-respond { margin-top: 40px; }

/* ---- Pagination ---- */
.woocommerce-pagination ul,
.navigation .nav-links { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-top: 32px; }
.navigation .nav-links a, .navigation .nav-links span,
.woocommerce-pagination ul li a, .woocommerce-pagination ul li span {
	display: inline-grid; place-items: center; min-width: 42px; height: 42px; padding: 0 12px;
	border: 1.5px solid var(--line-2); border-radius: var(--r-sm); font-weight: 600; color: var(--charcoal);
}
.navigation .nav-links .current,
.woocommerce-pagination ul li span.current { background: var(--ink); color: #fff; border-color: var(--ink); }

/* ---- Utility: keep sticky bars clear of the WP/Woo content ---- */
.s365-winname { white-space: nowrap; }

.wc-block-cart__submit-button .wc-block-components-button__text{
    color: #ffffff;
}
/* ---- Show the WP admin bar on the front end without covering the sticky header ---- */
.admin-bar .site-header { top: 32px; }
@media screen and (max-width: 782px) {
    .admin-bar .site-header { top: 46px; }
}

/* ---- Estimated delivery row on cart / checkout ---- */
.s365-delivery-estimate th { font-weight: 600; }
.s365-delivery-estimate .s365-lead-note { display: block; margin-top: 2px; color: var(--muted); font-weight: 400; }
/* Block cart/checkout estimate (injected by cart-delivery.js) */
.s365-delivery-block { flex-wrap: wrap; }
.s365-delivery-block .s365-delivery-note { width: 100%; margin-top: 2px; color: var(--muted); font-size: 0.85em; }
/* Estimate shown under the collapsible Order summary toggle (block checkout) */
.s365-delivery-standalone { padding: 10px 12px; border-bottom: 1px solid rgba(0,0,0,.08); }
.s365-delivery-standalone .s365-del-top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.s365-delivery-standalone .s365-del-label,
.s365-delivery-standalone .s365-del-value { font-weight: 600; }
.s365-delivery-standalone .s365-del-value { white-space: nowrap; }
.s365-delivery-standalone .s365-del-note { margin-top: 2px; color: var(--muted); font-size: 0.85em; line-height: 1.3; }
@media (max-width: 1000px) {
	.s365-delivery-standalone { padding: 10px 0; border-bottom: none; }
}
/* Injected cart "Remove" link */
.s365-remove-link:hover { color: #b0282d !important; }

/* ---- Branded empty basket (replaces the plain WooCommerce empty-cart block) ---- */
.wp-block-woocommerce-empty-cart-block.s365-empty-enhanced > :not(.s365-empty-cart) { display: none !important; }
.s365-empty-cart { max-width: 720px; margin: 0 auto; padding: 32px 0 64px; }
.s365-empty-cart .s365-empty-head { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.s365-empty-cart .s365-empty-ic { flex: 0 0 auto; width: 52px; height: 52px; color: var(--red, #b0282d); }
.s365-empty-cart .s365-empty-ic svg { width: 100%; height: 100%; }
.s365-empty-cart .s365-empty-h { margin: 0; font-size: clamp(1.6rem, 4.5vw, 2.4rem); line-height: 1.12; }
.s365-empty-cart .s365-empty-p { color: var(--muted, #6b7280); font-size: 1.05rem; line-height: 1.5; margin: 0 0 26px; max-width: 52ch; }
.s365-empty-cart .s365-empty-cta { display: flex; flex-wrap: wrap; gap: 12px; }

/* Empty-basket button text (WooCommerce block forces a link colour, so re-assert) */
.s365-empty-cart .s365-empty-cta .btn-primary { color: #fff !important; }
.s365-empty-cart .s365-empty-cta .btn-outline { color: var(--ink, #1a1a1a) !important; }
