/*
Theme Name: EduTours LLC
Theme URI: http://edutoursllc.local
Author: NEXTGITAL
Description: Custom theme for EduTours LLC — built on the official EDUTOURS brand system (primary #035FA5, accent #F2C94C). Showcase site with WooCommerce booking. No page builder, no bloat.
Version: 3.9.1
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: edutoursllc
Tags: education, travel, woocommerce, custom, responsive
*/

/* =========================================================================
   1. Design tokens — OFFICIAL EDUTOURS BRAND SYSTEM
   The palette below is the single source of truth. Never introduce a colour
   that is not declared here.
   ========================================================================= */
:root {
	/* ---- Official palette ------------------------------------------- */
	--color-primary:        #035FA5;
	--color-primary-dark:   #024A82;
	--color-primary-light:  #D9F1FB;
	--color-secondary:      #028EC7;
	--color-accent:         #F2C94C;
	--color-background:     #FAFCFD;
	--color-surface:        #FFFFFF;
	--color-text-primary:   #1F2937;
	--color-text-secondary: #6B7280;
	--color-border:         #E5E7EB;
	--color-success:        #22C55E;
	--color-warning:        #F59E0B;
	--color-error:          #EF4444;

	/* Accent darkened only for hover on gold surfaces. Gold never carries
	   white text: #1F2937 on #F2C94C clears WCAG AA comfortably, white does not. */
	--color-accent-dark:    #E0B02F;

	/* ---- Legacy aliases -------------------------------------------------
	   Kept so existing component rules keep working, but every one of them
	   now resolves to an official brand colour. */
	--et-navy:        var(--color-primary-dark);
	--et-navy-deep:   var(--color-primary-dark);
	--et-blue:        var(--color-primary);
	--et-blue-light:  var(--color-primary-light);
	--et-amber:       var(--color-accent);
	--et-amber-dark:  var(--color-accent-dark);
	--et-ink:         var(--color-text-primary);
	--et-body:        var(--color-text-secondary);
	--et-muted:       var(--color-text-secondary);
	--et-line:        var(--color-border);
	--et-bg:          var(--color-surface);
	--et-bg-alt:      var(--color-background);

	--et-font-head: "Bricolage Grotesque", "Georgia", serif;
	--et-font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", Roboto, Helvetica, Arial, sans-serif;

	/* The bar's height, published so the front-page hero can subtract it and
	   land exactly one viewport tall. Change it here and the hero follows. */
	--et-header-h: 76px;

	--et-max:      1180px;
	--et-gutter:   clamp(1.25rem, 4vw, 2.5rem);
	--et-radius:   20px;   /* brand: cards 20px */
	--et-radius-s: 12px;

	--et-shadow:    0 1px 2px rgba(31, 41, 55, .04), 0 4px 12px rgba(3, 95, 165, .05);
	--et-shadow-md: 0 4px 10px rgba(31, 41, 55, .05), 0 18px 40px rgba(3, 95, 165, .10);

	--et-ease: cubic-bezier(.22, .61, .36, 1);
}

/* =========================================================================
   2. Reset / base
   ========================================================================= */
*, *::before, *::after { box-sizing: border-box; }

body {
	margin: 0;
	font-family: var(--et-font-body);
	font-size: 1.0625rem;
	line-height: 1.65;
	color: var(--et-body);
	background: var(--et-bg);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--et-font-head);
	color: var(--et-ink);
	line-height: 1.15;
	margin: 0 0 .6em;
	font-weight: 700;
	letter-spacing: -.02em;
}

h1 { font-size: clamp(2.25rem, 5vw, 3.5rem); }
h2 { font-size: clamp(1.75rem, 3.5vw, 2.5rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.5rem); }

p { margin: 0 0 1.15rem; }

a { color: var(--et-blue); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--color-primary-dark); }

img { max-width: 100%; height: auto; display: block; }

figure { margin: 0; }

ul, ol { padding-left: 1.25rem; }

hr { border: 0; border-top: 1px solid var(--et-line); margin: 2.5rem 0; }

blockquote {
	margin: 1.75rem 0;
	padding: .25rem 0 .25rem 1.5rem;
	border-left: 3px solid var(--et-amber);
	color: var(--et-ink);
	font-size: 1.15rem;
}

:focus-visible {
	outline: 3px solid var(--color-primary);
	outline-offset: 2px;
	border-radius: 3px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0);
	white-space: nowrap; border: 0;
}

.skip-link {
	position: absolute;
	top: -100px; left: 1rem;
	z-index: 999;
	background: var(--et-navy);
	color: #fff;
	padding: .75rem 1.25rem;
	border-radius: 0 0 var(--et-radius-s) var(--et-radius-s);
	transition: top .2s var(--et-ease);
}
.skip-link:focus { top: 0; color: #fff; }

/* =========================================================================
   3. Layout helpers
   ========================================================================= */
.et-wrap {
	width: 100%;
	max-width: var(--et-max);
	margin-inline: auto;
	padding-inline: var(--et-gutter);
}

.et-section { padding-block: clamp(3.5rem, 8vw, 6rem); }
.et-section--alt { background: var(--et-bg-alt); }
.et-section--navy { background: var(--et-navy); color: rgba(255, 255, 255, .86); }
.et-section--navy h2, .et-section--navy h3 { color: #fff; }

.et-section__head { max-width: 46rem; margin-bottom: clamp(2rem, 4vw, 3rem); }
.et-section__head--center { margin-inline: auto; text-align: center; }

.et-eyebrow {
	display: inline-block;
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--color-primary);
	margin-bottom: .75rem;
}
.et-section--navy .et-eyebrow { color: var(--et-amber); }

.et-lead { font-size: 1.1875rem; color: var(--et-body); }
.et-section--navy .et-lead { color: rgba(255, 255, 255, .86); }

.et-grid { display: grid; gap: clamp(1.25rem, 2.5vw, 2rem); }
.et-grid--2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); }
.et-grid--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); }
.et-grid--4 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); }

/* =========================================================================
   4. Buttons
   ========================================================================= */
.et-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	padding: .8rem 1.6rem;
	border: 2px solid transparent;
	border-radius: 999px;
	font-family: inherit;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s var(--et-ease), color .2s var(--et-ease),
	            border-color .2s var(--et-ease), transform .2s var(--et-ease);
}
.et-btn:hover { transform: translateY(-2px); }
.et-btn:active { transform: translateY(0); }

.et-btn--primary { background: var(--color-accent); color: var(--color-text-primary); }
.et-btn--primary:hover { background: var(--color-accent-dark); color: var(--color-text-primary); }

.et-btn--dark { background: var(--color-primary); color: #fff; }
.et-btn--dark:hover { background: var(--color-primary-dark); color: #fff; }

.et-btn--ghost { border-color: currentColor; color: inherit; background: transparent; }
.et-btn--ghost:hover { background: rgba(255, 255, 255, .1); color: inherit; }

.et-btn--outline { border-color: var(--et-line); color: var(--et-ink); background: #fff; }
.et-btn--outline:hover { border-color: var(--color-primary); color: var(--color-primary); }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: .01ms !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
	.et-btn:hover { transform: none; }
}

/* =========================================================================
   5. Header
   ========================================================================= */
.et-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255, 255, 255, .92);
	backdrop-filter: saturate(180%) blur(12px);
	border-bottom: 1px solid var(--et-line);
}

.et-header__inner {
	display: flex;
	align-items: center;
	gap: clamp(1.25rem, 2.5vw, 2.25rem);
	min-height: var(--et-header-h);
}

.et-brand {
	display: flex;
	align-items: center;
	gap: .625rem;
	text-decoration: none;
	margin-right: auto;
	flex-shrink: 0;
}
.et-brand__mark {
	width: 36px; height: 36px;
	flex-shrink: 0;
	border-radius: 9px;
	background: var(--color-primary-dark);
	color: var(--color-accent);
	display: grid;
	place-items: center;
	font-family: var(--et-font-head);
	font-weight: 700;
	font-size: 1.05rem;
}

/* Official logo mark: no plate behind it, the artwork carries its own shape.
   The file itself is exported at display size so a stale or missing stylesheet
   can no longer blow the header and footer apart — this rule only fine-tunes
   what the asset already gets right. */
.et-brand__mark--img {
	width: auto;
	height: 42px;
	max-height: 42px;
	max-width: 60px;
	flex-shrink: 0;
	border-radius: 0;
	background: none;
	object-fit: contain;
}

/* Official horizontal lockup — globe plus the EDUTOURS wordmark exactly as
   drawn, gold rules included. Exported at 3× its 44px display height. */
.et-brand__lockup {
	width: auto;
	height: 46px;
	max-height: 46px;
	display: block;
}
.et-footer__brand .et-brand__lockup { height: 56px; max-height: 56px; }

@media (max-width: 600px) {
	.et-brand__lockup { height: 40px; max-height: 40px; }
}
.et-brand__name {
	font-family: var(--et-font-head);
	font-size: 1.1875rem;
	font-weight: 700;
	color: var(--et-ink);
	letter-spacing: -.02em;
	line-height: 1.1;
}
.et-brand__tag {
	display: block;
	font-family: var(--et-font-body);
	font-size: .6875rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--et-muted);
}

.et-nav ul {
	display: flex;
	align-items: center;
	gap: clamp(1.25rem, 2.2vw, 2rem);
	list-style: none;
	margin: 0;
	padding: 0;
}
.et-nav a {
	position: relative;
	display: block;
	padding: .45rem 0;
	font-size: .9375rem;
	font-weight: 500;
	letter-spacing: .002em;
	color: var(--et-ink);
	text-decoration: none;
	transition: color .25s var(--et-ease);
}
.et-nav a:hover { color: var(--color-primary); }
.et-nav a::after {
	content: "";
	position: absolute;
	left: 0; bottom: 0;
	width: 0; height: 1.5px;
	border-radius: 2px;
	background: var(--et-amber);
	transition: width .35s var(--et-ease);
}
.et-nav a:hover::after,
.et-nav .current-menu-item > a::after,
.et-nav .current_page_item > a::after { width: 100%; }

.et-nav .current-menu-item > a,
.et-nav .current_page_item > a { font-weight: 600; color: var(--color-primary-dark); }

.et-header__actions { display: flex; align-items: center; gap: .875rem; }

.et-cart {
	position: relative;
	display: grid;
	place-items: center;
	width: 42px; height: 42px;
	border-radius: 50%;
	color: var(--et-ink);
	text-decoration: none;
	transition: background-color .2s var(--et-ease);
}
.et-cart:hover { background: var(--et-blue-light); color: var(--et-navy); }
.et-cart__count {
	position: absolute;
	top: 2px; right: 0;
	min-width: 19px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--et-amber);
	color: var(--et-navy-deep);
	font-size: .6875rem;
	font-weight: 700;
	line-height: 19px;
	text-align: center;
}

.et-burger {
	display: none;
	width: 44px; height: 44px;
	padding: 0;
	border: 1px solid var(--et-line);
	border-radius: var(--et-radius-s);
	background: #fff;
	cursor: pointer;
}
.et-burger span {
	display: block;
	width: 20px; height: 2px;
	margin: 4px auto;
	background: var(--et-ink);
	transition: transform .25s var(--et-ease), opacity .2s var(--et-ease);
}
.et-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.et-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.et-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 900px) {
	.et-burger { display: block; order: 3; }
	.et-header__actions .et-btn { display: none; }
	.et-nav {
		position: absolute;
		top: 100%; left: 0; right: 0;
		background: #fff;
		border-bottom: 1px solid var(--et-line);
		box-shadow: var(--et-shadow-md);
		display: none;
	}
	.et-nav.is-open { display: block; }
	.et-nav ul {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: .5rem var(--et-gutter) 1.5rem;
	}
	.et-nav li { border-bottom: 1px solid var(--et-line); }
	.et-nav a { padding: .9rem 0; font-size: 1.0625rem; }
	.et-nav a::after { display: none; }
}

/* =========================================================================
   6. Hero
   ========================================================================= */
.et-hero {
	position: relative;
	background: linear-gradient(155deg, var(--et-navy-deep) 0%, var(--et-navy) 45%, var(--et-blue) 100%);
	color: #fff;
	overflow: hidden;
}
.et-hero::after {
	content: "";
	position: absolute;
	right: -12%; top: -25%;
	width: 60vw; height: 60vw;
	max-width: 720px; max-height: 720px;
	background: radial-gradient(circle, rgba(242, 201, 76, .22) 0%, transparent 68%);
	pointer-events: none;
}
.et-hero__inner {
	position: relative;
	z-index: 1;
	padding-block: clamp(4rem, 10vw, 7.5rem);
	max-width: 44rem;
}
.et-hero h1 { color: #fff; }
.et-hero__lead {
	font-size: clamp(1.0625rem, 2vw, 1.3125rem);
	color: rgba(255, 255, 255, .86);
	max-width: 36rem;
	margin-bottom: 2rem;
}
.et-hero__cta { display: flex; flex-wrap: wrap; gap: .875rem; }

.et-hero__stats {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(1.5rem, 5vw, 3.5rem);
	margin-top: clamp(2.5rem, 5vw, 3.5rem);
	padding-top: 2rem;
	border-top: 1px solid rgba(255, 255, 255, .15);
}
.et-hero__stat strong {
	display: block;
	font-family: var(--et-font-head);
	font-size: clamp(1.5rem, 3vw, 2rem);
	color: var(--et-amber);
	line-height: 1.1;
}
.et-hero__stat span { font-size: .875rem; color: rgba(255, 255, 255, .72); }

/* =========================================================================
   7. Cards
   ========================================================================= */
.et-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--et-line);
	border-radius: var(--et-radius);
	overflow: hidden;
	transition: transform .25s var(--et-ease), box-shadow .25s var(--et-ease),
	            border-color .25s var(--et-ease);
}
.et-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--et-shadow-md);
	border-color: transparent;
}
.et-card__media {
	aspect-ratio: 3 / 2;
	background: linear-gradient(135deg, var(--color-primary-light), #EAF7FD);
	overflow: hidden;
}
.et-card__media img { width: 100%; height: 100%; object-fit: cover; }
.et-card__body { padding: 1.5rem; display: flex; flex-direction: column; flex: 1; }
.et-card__meta {
	font-size: .8125rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--et-amber-dark);
	margin-bottom: .5rem;
}
.et-card h3 { margin-bottom: .5rem; }
.et-card h3 a { color: inherit; text-decoration: none; }
.et-card p { font-size: .9688rem; margin-bottom: 1rem; }
.et-card__foot {
	margin-top: auto;
	padding-top: 1rem;
	border-top: 1px solid var(--et-line);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}
.et-card__price { font-family: var(--et-font-head); font-size: 1.25rem; color: var(--et-ink); }
.et-card__price small { font-size: .75rem; font-weight: 400; color: var(--et-muted); }

/* Feature tiles */
.et-feature { padding: 1.75rem; background: #fff; border: 1px solid var(--et-line); border-radius: var(--et-radius); }
.et-feature__icon {
	width: 46px; height: 46px;
	display: grid; place-items: center;
	margin-bottom: 1rem;
	border-radius: 12px;
	background: var(--et-blue-light);
	color: var(--et-blue);
}
.et-feature h3 { font-size: 1.125rem; }
.et-feature p { font-size: .9688rem; margin: 0; }

/* Step list */
.et-steps { counter-reset: step; list-style: none; padding: 0; margin: 0; }
.et-steps li {
	counter-increment: step;
	position: relative;
	padding-left: 3.5rem;
	margin-bottom: 2rem;
}
.et-steps li::before {
	content: counter(step);
	position: absolute;
	left: 0; top: -2px;
	width: 2.5rem; height: 2.5rem;
	display: grid; place-items: center;
	border-radius: 50%;
	background: var(--et-amber);
	color: var(--et-navy-deep);
	font-family: var(--et-font-head);
	font-weight: 700;
}
.et-steps h3 { margin-bottom: .35rem; font-size: 1.125rem; }
.et-steps p { margin: 0; font-size: .9688rem; }

/* CTA band */
.et-cta {
	background: var(--et-navy);
	color: rgba(255, 255, 255, .86);
	border-radius: var(--et-radius);
	padding: clamp(2rem, 5vw, 3.5rem);
	text-align: center;
}
.et-cta h2 { color: #fff; }
.et-cta p { max-width: 38rem; margin-inline: auto; margin-bottom: 1.75rem; }

/* =========================================================================
   8. Page / post content
   ========================================================================= */
.et-page-header {
	background: var(--et-bg-alt);
	border-bottom: 1px solid var(--et-line);
	padding-block: clamp(2.5rem, 6vw, 4rem);
}
.et-page-header h1 { margin-bottom: .35rem; }
.et-breadcrumb { font-size: .875rem; color: var(--et-muted); }
.et-breadcrumb a { color: var(--et-muted); }

.et-content { max-width: 46rem; }
.et-content > *:first-child { margin-top: 0; }
.et-content h2 { margin-top: 2.5rem; }
.et-content h3 { margin-top: 2rem; }
.et-content ul li, .et-content ol li { margin-bottom: .5rem; }
.et-content img { border-radius: var(--et-radius-s); }

.et-pagination { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: 3rem; }
.et-pagination .page-numbers {
	display: grid; place-items: center;
	min-width: 42px; height: 42px;
	padding: 0 .75rem;
	border: 1px solid var(--et-line);
	border-radius: var(--et-radius-s);
	text-decoration: none;
	color: var(--et-ink);
}
.et-pagination .page-numbers.current,
.et-pagination .page-numbers:hover { background: var(--et-navy); color: #fff; border-color: var(--et-navy); }

/* =========================================================================
   9. Footer
   ========================================================================= */
.et-footer { background: var(--et-navy-deep); color: rgba(255, 255, 255, .78); padding-block: clamp(3rem, 6vw, 4.5rem) 0; }
.et-footer h3 {
	color: #fff;
	font-family: var(--et-font-body);
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	margin-bottom: 1.125rem;
}
.et-footer a { color: rgba(255, 255, 255, .86); text-decoration: none; }
.et-footer a:hover { color: var(--et-amber); text-decoration: underline; }
.et-footer ul { list-style: none; padding: 0; margin: 0; }
.et-footer li { margin-bottom: .625rem; }
/* The registered address in the footer column. <address> italicises by default,
   which is wrong for a company's own address, and its lines are stacked rather
   than run together so the town and the postcode never split across a wrap. */
.et-footer__address {
	display: flex;
	flex-direction: column;
	font-style: normal;
	line-height: 1.55;
}

/* "Call or text", set under the number rather than beside it — the column is
   too narrow to carry both on one line at every width. */
.et-footer__note {
	display: block;
	font-size: .8125rem;
	color: rgba(255, 255, 255, .62);
}

.et-footer__brand .et-brand__name { color: #fff; }
.et-footer__brand p { font-size: .9375rem; max-width: 22rem; margin-top: 1rem; }
.et-footer__grid {
	display: grid;
	gap: 2.5rem;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
}
/* One column like the others: spanning two left the fourth column orphaned on
   a second row with a large empty gap beside it. */
.et-footer__brand { min-width: min(100%, 15rem); }
/* Legal links read as a row, not a stacked list. */
.et-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.et-footer__legal li { margin: 0; }

.et-footer__bottom {
	margin-top: clamp(2.5rem, 5vw, 3.5rem);
	padding-block: 1.5rem;
	border-top: 1px solid rgba(255, 255, 255, .1);
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: space-between;
	font-size: .875rem;
}

/* Photo credit: required by the CC licences, so it stays legible — just quiet. */
.et-footer__credits {
	flex-basis: 100%;
	margin: 0;
	font-size: .75rem;
	line-height: 1.6;
	opacity: .7;
}
.et-footer__credits a { text-decoration: underline; }

/* =========================================================================
   10. WooCommerce overrides
   ========================================================================= */
.woocommerce-products-header { margin-bottom: 2rem; }

.woocommerce ul.products {
	display: grid;
	gap: clamp(1.25rem, 2.5vw, 2rem);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }

.woocommerce ul.products li.product {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--et-line);
	border-radius: var(--et-radius);
	overflow: hidden;
	text-align: left;
	transition: transform .25s var(--et-ease), box-shadow .25s var(--et-ease);
}
.woocommerce ul.products li.product:hover { transform: translateY(-4px); box-shadow: var(--et-shadow-md); }
.woocommerce ul.products li.product a img { margin: 0; border-radius: 0; aspect-ratio: 3/2; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--et-font-head);
	font-size: 1.1875rem !important;
	padding: 1.25rem 1.25rem .35rem !important;
	color: var(--et-ink);
}
.woocommerce ul.products li.product .price {
	display: block;
	padding: 0 1.25rem;
	color: var(--et-ink) !important;
	font-family: var(--et-font-head);
	font-size: 1.25rem;
}
.woocommerce ul.products li.product .price del { color: var(--et-muted); font-size: .9rem; }
.woocommerce ul.products li.product .button {
	margin: 1rem 1.25rem 1.25rem !important;
	align-self: flex-start;
}

.woocommerce span.onsale {
	background: var(--et-amber);
	color: var(--et-navy-deep);
	font-weight: 700;
	border-radius: 999px;
	min-height: auto;
	min-width: auto;
	padding: .35rem .9rem;
	line-height: 1.3;
	top: 1rem; left: 1rem;
	margin: 0;
}

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	background: var(--et-navy);
	color: #fff;
	border-radius: 999px;
	padding: .8rem 1.6rem;
	font-weight: 600;
	font-size: 1rem;
	line-height: 1.2;
	transition: background-color .2s var(--et-ease), transform .2s var(--et-ease);
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
	background: var(--et-amber);
	color: var(--et-navy-deep);
	transform: translateY(-2px);
}

.woocommerce div.product .product_title { margin-bottom: .5rem; }
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--et-ink);
	font-family: var(--et-font-head);
	font-size: 1.75rem;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: #fff; border-bottom-color: #fff; }

.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info { border-top-color: var(--et-blue); }
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before { color: var(--et-blue); }
.woocommerce .woocommerce-error { border-top-color: var(--color-error); }

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	padding: .7rem .9rem;
	border: 1px solid var(--et-line);
	border-radius: var(--et-radius-s);
	font-family: inherit;
	font-size: 1rem;
}

/* =========================================================================
   11. Print
   ========================================================================= */
@media print {
	.et-header, .et-footer, .et-hero__cta, .et-cta { display: none; }
	body { color: #000; font-size: 12pt; }
}
