/* Shared by the restyled store pages: product (body.store-pdp), category
   (body.store-plp), cart (body.store-cart), checkout (body.store-checkout) and
   account pages (body.store-account), and home / information / 404 pages (body.store-cms). Page margins, breadcrumb and page-title type, from the
   website's product and listing pages. */

:is(.store-pdp, .store-plp, .store-cart, .store-checkout, .store-account, .store-cms) .page-main { max-width: 1440px; padding-left: 40px; padding-right: 40px; }
/* orders-gamry.css zeroes the side padding by ID (#maincontent { padding: 50px 0 }) */
:is(.store-pdp, .store-plp, .store-cart, .store-checkout, .store-account, .store-cms) #maincontent { padding: 0 40px 64px; }

/* Breadcrumb: small grey text, no box */
:is(.store-pdp, .store-plp, .store-cart, .store-checkout, .store-account, .store-cms) .breadcrumbs {
	width: 100%; box-sizing: border-box; /* else it shrink-wraps and centres in .page-wrapper's flex column */
	max-width: 1440px; margin: 0 auto; padding: 26px 40px 0; text-align: left;
	background: none; border: 0; box-shadow: none;
}
:is(.store-pdp, .store-plp, .store-cart, .store-checkout, .store-account, .store-cms) .breadcrumbs .items { display: flex; flex-wrap: wrap; justify-content: flex-start; font-family: var(--gm-font-body); font-size: 13px; color: var(--gm-muted); background: none; border: 0; padding: 0; margin: 0; text-align: left; }
:is(.store-pdp, .store-plp, .store-cart, .store-checkout, .store-account, .store-cms) .breadcrumbs .item,
:is(.store-pdp, .store-plp, .store-cart, .store-checkout, .store-account, .store-cms) .breadcrumbs .item strong { font-size: 13px; font-weight: 400; color: var(--gm-ink); }
:is(.store-pdp, .store-plp, .store-cart, .store-checkout, .store-account, .store-cms) .breadcrumbs .item a { color: var(--gm-muted); text-decoration: none; }
:is(.store-pdp, .store-plp, .store-cart, .store-checkout, .store-account, .store-cms) .breadcrumbs .item a:hover { color: var(--gm-navy); }

/* Page title: the website's display heading */
:is(.store-pdp, .store-plp, .store-cart, .store-checkout, .store-account, .store-cms) .columns-top, :is(.store-pdp, .store-plp, .store-cart, .store-checkout, .store-account, .store-cms) .page-main > .page-title-wrapper { margin: 0; }
:is(.store-pdp, .store-plp, .store-cart, .store-checkout, .store-account, .store-cms) .page-title-wrapper .page-title {
	margin: 0; font-family: var(--gm-font-display); font-style: normal;
	font-size: clamp(34px, 3.6vw, 50px); font-weight: 700; letter-spacing: -0.028em; line-height: 1.05;
	color: var(--gm-ink); text-wrap: balance;
}
:is(.store-pdp, .store-plp, .store-cart, .store-checkout, .store-account, .store-cms) .page-title-wrapper .page-title span { font: inherit; color: inherit; }

/* ---- Form fields and primary buttons (cart, checkout, account pages) ---- */
:is(.store-cart, .store-checkout, .store-account) input[type="text"],
:is(.store-cart, .store-checkout, .store-account) input[type="email"],
:is(.store-cart, .store-checkout, .store-account) input[type="tel"],
:is(.store-cart, .store-checkout, .store-account) input[type="number"],
:is(.store-cart, .store-checkout, .store-account) input[type="password"],
:is(.store-cart, .store-checkout, .store-account) select {
	height: 44px; padding: 0 12px; border: 1px solid var(--gm-border-ctl); border-radius: 8px; background-color: #fff;
	font-family: var(--gm-font-body); font-size: 15px; color: var(--gm-ink); box-shadow: none;
}
:is(.store-cart, .store-checkout, .store-account) textarea { border: 1px solid var(--gm-border-ctl); border-radius: 8px; font-family: var(--gm-font-body); }
:is(.store-cart, .store-checkout, .store-account) :is(input, select, textarea):focus {
	border-color: var(--gm-navy); outline: 0; box-shadow: 0 0 0 3px rgba(0, 62, 105, .15);
}
/* Primary actions: the website's .rd-btn-primary */
:is(.store-cart, .store-checkout, .store-account) .action.primary {
	display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 28px;
	border: 1px solid var(--gm-navy); border-radius: 10px; background: var(--gm-navy);
	font-family: var(--gm-font-body); font-size: 16px; font-weight: 600; line-height: 1.1; box-shadow: none; text-shadow: none;
	transition: background .15s ease, border-color .15s ease;
}
:is(.store-cart, .store-checkout, .store-account) .action.primary:hover { background: var(--gm-navy-hover); border-color: var(--gm-navy-hover); }
:is(.store-cart, .store-checkout, .store-account) .action.primary span { font: inherit; }
@media (max-width: 900px) {
	:is(.store-pdp, .store-plp, .store-cart, .store-checkout, .store-account, .store-cms) .page-main, :is(.store-pdp, .store-plp, .store-cart, .store-checkout, .store-account, .store-cms) .breadcrumbs { padding-left: 20px; padding-right: 20px; }
	:is(.store-pdp, .store-plp, .store-cart, .store-checkout, .store-account, .store-cms) #maincontent { padding: 0 20px 48px; }
}

/* ---- Consistency pass (2026-10-01): one value for each thing, on every restyled page ---- */
/* Links: the website's navy (orders-gamry.css colours links #0a65a2). Buttons, chips and
   product links keep their own colours. */
body:is(.store-pdp, .store-plp, .store-cart, .store-checkout, .store-account, .store-cms) #maincontent a:not([class*="action"]):not(.rd-btn):not(.button):not(.store-chip):not(.product-item-link):not(.product-item-photo):not(.store-pd-eyebrow) {
	color: var(--gm-navy);
}
body:is(.store-pdp, .store-plp, .store-cart, .store-checkout, .store-account, .store-cms) #maincontent a:not([class*="action"]):not(.rd-btn):not(.button):not(.store-chip):not(.product-item-link):not(.product-item-photo):not(.store-pd-eyebrow):hover {
	color: var(--gm-navy-hover);
}
body:is(.store-cart, .store-checkout, .store-account) #maincontent .actions-toolbar .secondary a.action,
body.store-account #maincontent .box-actions a.action { color: var(--gm-navy) !important; }
/* Body copy: the website's body colour, not the old theme's #444 */
body:is(.store-pdp, .store-plp, .store-cart, .store-checkout, .store-account, .store-cms) #maincontent p { color: var(--gm-body); }
/* Form fields: the old theme's Arial / #ccc wins on the account forms at normal weight */
body:is(.store-cart, .store-checkout, .store-account) #maincontent :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], select) {
	font-family: var(--gm-font-body); border-color: var(--gm-border-ctl);
}
/* Secondary section headings (Magento "step-title" / admin__legend, e.g. "Additional Settings"): as legends */
body:is(.store-account, .store-checkout) #maincontent :is(.step-title, .admin__legend) {
	font-family: var(--gm-font-display); font-size: 22px; font-weight: 700; letter-spacing: -0.02em; color: var(--gm-ink);
}
/* typography.css (website) forces .typography a { color: #0a65a2 !important } and the
   store's <main> has class="typography" (Logicbrush default.xml). Same weight back. */
body:is(.store-pdp, .store-plp, .store-cart, .store-checkout, .store-account, .store-cms) #maincontent.typography a:not([class*="action"]):not(.rd-btn):not(.button):not(.store-chip):not(.product-item-link):not(.product-item-photo):not(.store-pd-eyebrow):not(.store-cat):not(.store-top-name),
body:is(.store-pdp, .store-plp, .store-cart, .store-checkout, .store-account, .store-cms) #maincontent.typography a:not([class*="action"]):not(.rd-btn):not(.button):not(.store-chip):not(.product-item-link):not(.product-item-photo):not(.store-pd-eyebrow):not(.store-cat):not(.store-top-name) * {
	color: var(--gm-navy) !important;
}
/* The "labels above fields" rules set width:auto, which also un-hid Magento's visually
   hidden labels (street lines 2 and 3: clip + 1px width) - invisible, but 390px wide on
   phones, so the page scrolled sideways. */
body:is(.store-account, .store-checkout, .store-cart) .field.additional > .label { width: 1px !important; }
