/* Gentleman Classic — supplemental styles (tokens live in theme.json). */

:root { --gc-radius: 6px; }

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

/* Skip link + focus */
.gc-skip-link:focus { clip: auto !important; clip-path: none; height: auto; width: auto; position: fixed; top: 8px; left: 8px; z-index: 100000; background: var(--wp--preset--color--midnight); color: #fff; padding: .6rem 1rem; border-radius: 4px; text-decoration: none; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--wp--preset--color--brass); outline-offset: 3px; }

/* Header */
.gc-header { position: sticky; top: 0; z-index: 50; }
body.admin-bar .gc-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .gc-header { top: 0; position: relative; } }
.gc-brand .wp-block-site-title { max-width: 15rem; }
.gc-brand .wp-block-site-logo img { border-radius: 50%; }
.gc-mainnav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--burgundy); }
.gc-mainnav .wp-block-navigation__submenu-container { border: 1px solid var(--wp--preset--color--rule) !important; border-radius: var(--gc-radius); box-shadow: var(--wp--preset--shadow--soft); padding: .4rem 0; min-width: 15rem !important; background: var(--wp--preset--color--ivory) !important; }
.gc-mainnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .5rem 1rem !important; }
.gc-utility .wp-block-search__button { background: transparent; color: var(--wp--preset--color--midnight); padding: .35rem; border: 0; }
.gc-utility .wp-block-search__button svg { width: 24px; height: 24px; }
.gc-utility .wc-block-mini-cart__button { color: var(--wp--preset--color--midnight); }
@media (max-width: 600px) {
	.gc-brand .wp-block-site-title { font-size: 1rem !important; max-width: 10.5rem; }
	.gc-brand .wp-block-site-logo img { width: 42px !important; }
	.gc-header-right { gap: .5rem !important; }
}

/* Eyebrow labels (small caps style over headings) */
.gc-eyebrow, .is-style-gc-eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: .78rem !important; font-weight: 600; color: var(--wp--preset--color--burgundy); margin-bottom: .25rem; }
.gc-eyebrow a { color: inherit; text-decoration: none; }
.has-midnight-background-color .gc-eyebrow, .gc-on-dark .gc-eyebrow { color: var(--wp--preset--color--brass); }

/* Brass rule ornament */
.gc-rule { width: 64px; height: 2px; background: var(--wp--preset--color--brass); border: 0; margin: .5rem 0 1rem; }
.gc-rule.is-centered { margin-left: auto; margin-right: auto; }

/* Cards */
.gc-card, .is-style-gc-card { background: var(--wp--preset--color--ivory); border: 1px solid var(--wp--preset--color--rule); border-radius: var(--gc-radius); transition: box-shadow .2s ease, transform .2s ease; }
.gc-card:hover { box-shadow: var(--wp--preset--shadow--soft); }
.gc-card a.gc-card-link { text-decoration: none; color: inherit; }
.gc-card a.gc-card-link::after { content: ""; position: absolute; inset: 0; }
.gc-card { position: relative; }
.gc-card .gc-card-more { color: var(--wp--preset--color--burgundy); font-weight: 600; font-size: .95rem; }
.gc-icon { width: 44px; height: 44px; color: var(--wp--preset--color--burgundy); }
.gc-icon svg { width: 100%; height: 100%; display: block; }

/* Hero */
.gc-hero .wp-block-image img { max-height: 560px; width: auto; margin-inline: auto; display: block; }
@media (max-width: 781px) {
	.gc-hero .wp-block-columns { flex-direction: column; }
	.gc-hero .gc-hero-art img { max-height: 340px; }
}
.gc-trustline { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; list-style: none; padding: 0; margin: 0; font-size: .92rem; color: var(--wp--preset--color--ink-soft); }
.gc-trustline li::before { content: "✓"; color: var(--wp--preset--color--burgundy); font-weight: 700; margin-right: .4rem; }

/* Outline button */
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--wp--preset--color--midnight); border: 1.5px solid var(--wp--preset--color--midnight); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--midnight); color: #fff; }
.has-midnight-background-color .wp-block-button.is-style-outline > .wp-block-button__link { color: var(--wp--preset--color--ivory); border-color: var(--wp--preset--color--ivory); }

/* Footer */
.gc-footer-h { font-family: var(--wp--preset--font-family--body) !important; font-size: .8rem !important; text-transform: uppercase; letter-spacing: .14em; font-weight: 600 !important; margin-bottom: .75rem; }
.gc-footer-list { list-style: none; padding: 0; margin: 0; font-size: .95rem; line-height: 2; }
.gc-footer a { text-decoration: none; }
.gc-footer a:hover { text-decoration: underline; }

/* Legal pages */
.gc-legal h2 { font-size: 1.5rem; margin-top: 2.2rem; }
.gc-legal h3 { font-size: 1.2rem; margin-top: 1.6rem; }
.gc-note { background: var(--wp--preset--color--parchment); border-left: 3px solid var(--wp--preset--color--brass); padding: 1rem 1.25rem; border-radius: 0 4px 4px 0; font-size: .95rem; }

/* Details / FAQ */
.wp-block-details { border-bottom: 1px solid var(--wp--preset--color--rule); padding: .9rem 0; }
.wp-block-details summary { font-weight: 600; cursor: pointer; }

/* Forms (contact, signup) */
.gc-form label { display: block; font-weight: 600; font-size: .92rem; margin-bottom: .3rem; }
.gc-form input[type=text], .gc-form input[type=email], .gc-form select, .gc-form textarea { width: 100%; box-sizing: border-box; padding: .7rem .8rem; border: 1px solid #c9bda8; border-radius: 4px; background: #fff; font: inherit; color: var(--wp--preset--color--midnight); }
.gc-form textarea { min-height: 160px; }
.gc-form .gc-field { margin-bottom: 1rem; }
.gc-form .gc-help { font-size: .85rem; color: var(--wp--preset--color--ink-soft); margin-top: .25rem; }
.gc-form button { background: var(--wp--preset--color--burgundy); color: #fff; border: 0; border-radius: 4px; padding: .8rem 1.5rem; font-weight: 600; font-size: 1rem; cursor: pointer; }
.gc-form button:hover { background: var(--wp--preset--color--burgundy-dark); }
.gc-form .gc-hp { position: absolute; left: -9999px; }
.gc-form .gc-check { display: flex; gap: .5rem; align-items: flex-start; font-weight: 400; }
.gc-alert { padding: .9rem 1.1rem; border-radius: 4px; margin-bottom: 1rem; }
.gc-alert.ok { background: #e8f1e6; border: 1px solid #a9c7a2; }
.gc-alert.err { background: #f7e6e4; border: 1px solid #d5a19b; }
.gc-signup { display: flex; gap: .5rem; flex-wrap: wrap; }
.gc-signup input[type=email] { flex: 1 1 14rem; }

/* Affiliate notice */
.gc-affiliate-notice { font-size: .9rem; background: var(--wp--preset--color--parchment); border: 1px dashed var(--wp--preset--color--brass); padding: .75rem 1rem; border-radius: 4px; }

/* WooCommerce polish */
.woocommerce-store-notice, p.demo_store { background: var(--wp--preset--color--midnight) !important; }
.wc-block-components-product-price, .woocommerce .price { color: var(--wp--preset--color--midnight); font-weight: 600; }
.gc-product-trust { border: 1px solid var(--wp--preset--color--rule); border-radius: var(--gc-radius); background: var(--wp--preset--color--parchment); padding: 1rem 1.2rem; margin: 1.2rem 0; font-size: .93rem; }
.gc-product-trust ul { margin: .4rem 0 0; padding-left: 1.1rem; }
.gc-specs { width: 100%; border-collapse: collapse; font-size: .95rem; }
.gc-specs th, .gc-specs td { text-align: left; padding: .55rem .6rem; border-bottom: 1px solid var(--wp--preset--color--rule); vertical-align: top; }
.gc-specs th { width: 38%; font-weight: 600; }

/* ---------- Title band with the mascot on the left (every page) ---------- */
.gc-band { overflow: hidden; }
.gc-band-inner { gap: clamp(1rem, 3vw, 2.5rem) !important; align-items: flex-end !important; }
.gc-band img.gc-band-mascot { display: block; height: clamp(140px, 18vw, 220px); width: auto; max-width: none; flex: 0 0 auto; margin-bottom: -2px; filter: drop-shadow(0 6px 10px rgba(24,43,64,.12)); }
.gc-band img.gc-band-mascot.is-small { height: clamp(110px, 12vw, 150px); }
.gc-band-text { padding-bottom: var(--wp--preset--spacing--40); flex: 1 1 auto; min-width: 0; }
.gc-band-text > * { margin-block: .35rem; }
.gc-band-text h1 { margin-top: .25rem; }
.gc-band-text .wp-block-term-description, .gc-band-text .wp-block-term-description p { color: var(--wp--preset--color--ink-soft); max-width: 60ch; }
.gc-band .woocommerce-breadcrumb, .gc-band .wc-block-components-breadcrumbs { font-size: .85rem; color: var(--wp--preset--color--ink-soft); }
@media (max-width: 600px) {
	.gc-band img.gc-band-mascot { height: 112px; }
	.gc-band img.gc-band-mascot.is-small { height: 92px; }
	.gc-band-text h1 { font-size: 1.85rem !important; }
}

/* Home hero: mascot on the left on desktop; on mobile headline + CTA come first (spec §5.1). */
@media (max-width: 781px) {
	.gc-hero .wp-block-columns > .gc-hero-art { order: 2; }
}

/* ---------- WooCommerce catalogue & product polish ---------- */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 1.5rem; margin: 0 !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; background: var(--wp--preset--color--ivory); border: 1px solid var(--wp--preset--color--rule); border-radius: var(--gc-radius); padding: 1rem 1rem 1.25rem; transition: box-shadow .2s ease; }
.woocommerce ul.products li.product:hover { box-shadow: var(--wp--preset--shadow--soft); }
.woocommerce ul.products li.product img { border-radius: 4px; margin-bottom: .75rem !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--wp--preset--font-family--heading); font-size: 1.15rem !important; color: var(--wp--preset--color--midnight); padding: 0 !important; }
.woocommerce ul.products li.product .price { color: var(--wp--preset--color--midnight) !important; font-weight: 600; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt { background: var(--wp--preset--color--burgundy) !important; color: #fff !important; border-radius: 4px !important; font-weight: 600 !important; padding: .75rem 1.25rem !important; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce button.button.alt:hover { background: var(--wp--preset--color--burgundy-dark) !important; }
.woocommerce .woocommerce-ordering select, .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { border: 1px solid #c9bda8; border-radius: 4px; padding: .6rem .7rem; background: #fff; }
.woocommerce div.product .product_title { font-size: var(--wp--preset--font-size--xx-large); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--wp--preset--color--midnight); font-size: 1.5rem; font-weight: 600; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--wp--preset--color--ivory); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--wp--preset--color--midnight); }
.woocommerce-info, .woocommerce-message { border-top-color: var(--wp--preset--color--brass) !important; background: var(--wp--preset--color--parchment) !important; }
.woocommerce-info::before, .woocommerce-message::before { color: var(--wp--preset--color--brass) !important; }
.woocommerce .woocommerce-result-count { color: var(--wp--preset--color--ink-soft); font-size: .9rem; }
.woocommerce span.onsale { background: var(--wp--preset--color--burgundy); }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; border: 1px solid var(--wp--preset--color--rule); border-radius: var(--gc-radius); background: var(--wp--preset--color--parchment); }
.woocommerce-MyAccount-navigation li a { display: block; padding: .6rem 1rem; text-decoration: none; color: var(--wp--preset--color--midnight); }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--wp--preset--color--midnight); color: #fff; }
.woocommerce-cart table.cart, .woocommerce-checkout-review-order-table { background: var(--wp--preset--color--ivory); }

/* Header polish */
.gc-header { box-shadow: 0 1px 0 rgba(24,43,64,.04); }
.gc-header .wp-block-site-title a:hover { color: var(--wp--preset--color--burgundy); }
