.hodps-shop {
	--hodps-primary: #111;
	--hodps-accent: #e30613;
	color: #181818;
	background: #fff;
}

/* Font choices stay within the partner shop; standard keeps the theme's typography. */
.hodps-shop.hodps-font-racing {
	--hodps-body-font: Arial, Helvetica, sans-serif;
	--hodps-heading-font: Bahnschrift, "Trebuchet MS", Arial, sans-serif;
}

.hodps-shop.hodps-font-bold {
	--hodps-body-font: Arial, Helvetica, sans-serif;
	--hodps-heading-font: "Arial Black", Arial, sans-serif;
}

.hodps-shop.hodps-font-modern {
	--hodps-body-font: "Trebuchet MS", Verdana, sans-serif;
	--hodps-heading-font: "Trebuchet MS", Verdana, sans-serif;
}

.hodps-shop.hodps-font-classic {
	--hodps-body-font: Georgia, "Times New Roman", serif;
	--hodps-heading-font: Georgia, "Times New Roman", serif;
}

.hodps-shop:not(.hodps-font-standard) {
	font-family: var(--hodps-body-font);
}

.hodps-shop:not(.hodps-font-standard) h1,
.hodps-shop:not(.hodps-font-standard) h2,
.hodps-shop:not(.hodps-font-standard) h3,
.hodps-shop:not(.hodps-font-standard) .hodps-store-brand strong,
.hodps-shop:not(.hodps-font-standard) .hodps-store-nav a,
.hodps-shop:not(.hodps-font-standard) .hodps-checkout-nav a,
.hodps-shop:not(.hodps-font-standard) .hodps-category-grid strong,
.hodps-shop:not(.hodps-font-standard) .hodps-button,
.hodps-shop:not(.hodps-font-standard) .hodps-promo-button {
	font-family: var(--hodps-heading-font);
}

.hodps-shop.hodps-font-racing .hodps-store-brand strong,
.hodps-shop.hodps-font-racing .hodps-store-nav a,
.hodps-shop.hodps-font-racing .hodps-checkout-nav a,
.hodps-shop.hodps-font-racing h1,
.hodps-shop.hodps-font-racing h2 {
	letter-spacing: .035em;
}

.hodps-shop.hodps-font-racing .hodps-store-brand strong {
	font-size: clamp(1.2rem, 2vw, 1.85rem);
	font-weight: 800;
}

.hodps-shop.hodps-font-racing .hodps-store-nav a,
.hodps-shop.hodps-font-racing .hodps-store-tools > a,
.hodps-shop.hodps-font-racing .hodps-button,
.hodps-shop.hodps-font-racing .hodps-promo-button,
.hodps-shop.hodps-font-racing .hodps-section-heading > a,
.hodps-shop.hodps-font-racing .hodps-category-grid strong {
	font-family: var(--hodps-heading-font);
	font-weight: 800;
	letter-spacing: .045em;
	text-transform: uppercase;
}

.hodps-shop.hodps-font-racing h1,
.hodps-shop.hodps-font-racing h2 {
	font-style: normal;
	font-weight: 800;
}

/* Partner-Shops use their own standardized masthead instead of the Flatsome shop header. */
body.hodps-partner-shop-page #header {
	display: none !important;
}

body.hodps-merch-home-page #header {
	display: none !important;
}

body.hodps-merch-home-page #main {
	padding-top: 0;
}

body.hodps-partner-shop-page #main {
	padding-top: 0;
}

.hodps-shop *,
.hodps-shop *::before,
.hodps-shop *::after {
	box-sizing: border-box;
}

.hodps-store-header {
	position: relative;
	z-index: 5;
	background: #fff;
	background-position: center;
	background-size: cover;
	border-bottom: 1px solid #ececec;
}

.hodps-store-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	width: min(1360px, calc(100% - 40px));
	min-height: 148px;
	margin: auto;
}

.hodps-store-brand {
	display: flex;
	align-items: center;
	gap: 18px;
	min-width: 0;
	color: #151515 !important;
	text-decoration: none !important;
}

.hodps-store-logo {
	width: auto;
	max-width: 215px;
	max-height: 120px;
	flex-shrink: 0;
	object-fit: contain;
}

.hodps-store-brand span {
	display: flex;
	flex-direction: column;
	min-width: 0;
	line-height: 1.05;
}

.hodps-store-brand strong {
	font-size: clamp(1.25rem, 2.3vw, 2.05rem);
	font-weight: 850;
}

.hodps-store-brand small {
	margin-top: 6px;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #666;
}

.hodps-store-tools {
	display: flex;
	align-items: center;
	gap: 18px;
}

.hodps-search-wrap {
	position: relative;
	width: clamp(210px, 28vw, 420px);
	flex: 0 1 420px;
}

.hodps-store-tools > a {
	color: #222 !important;
	font-weight: 700;
	text-decoration: none !important;
	white-space: nowrap;
}

.hodps-store-tools > a.hodps-cart-link {
	padding: 11px 16px;
	border-radius: 6px;
	background: var(--hodps-accent);
	color: #fff !important;
}

.hodps-cart-link span {
	display: inline-grid;
	place-items: center;
	min-width: 22px;
	height: 22px;
	margin-left: 6px;
	padding: 0 6px;
	border-radius: 99px;
	background: #fff;
	color: var(--hodps-accent);
	font-size: .75rem;
}

.hodps-search {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	margin: 0 !important;
}

.hodps-search input {
	width: 100%;
	height: 48px;
	margin: 0 !important;
	padding: 9px 48px 9px 14px;
	border: 1px solid #cfcfcf;
	border-radius: 6px;
	background: #fff;
	font: inherit;
}

.hodps-search input:focus {
	border-color: var(--hodps-primary);
	box-shadow: 0 0 0 2px rgba(0,0,0,.08);
	outline: 0;
}

.hodps-search-icon {
	position: absolute;
	right: 14px;
	top: 50%;
	width: 20px;
	height: 20px;
	transform: translateY(-50%);
	pointer-events: none;
}

.hodps-search-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.hodps-search-results {
	position: absolute;
	z-index: 12;
	top: calc(100% + 8px);
	left: 0;
	width: min(480px, calc(100vw - 32px));
	max-height: min(440px, 60vh);
	padding: 8px;
	overflow-y: auto;
	border: 1px solid #e7e7e7;
	border-radius: 9px;
	background: #fff;
	box-shadow: 0 14px 38px rgba(0,0,0,.18);
}

.hodps-search-results[hidden] {
	display: none !important;
}

.hodps-search-result {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 72px;
	padding: 7px;
	border-radius: 5px;
	color: #191919 !important;
	text-decoration: none !important;
}

.hodps-search-result:hover,
.hodps-search-result:focus-visible {
	background: #f3f3f3;
}

.hodps-search-result img {
	width: 58px;
	height: 58px;
	flex: 0 0 58px;
	object-fit: contain;
	background: #f8f8f8;
}

.hodps-search-result span {
	display: flex;
	flex-direction: column;
	min-width: 0;
	line-height: 1.35;
}

.hodps-search-result strong {
	font-size: .94rem;
	font-weight: 700;
}

.hodps-search-result small {
	margin-top: 3px;
	color: #555;
}

.hodps-search-more,
.hodps-search-empty {
	display: block;
	margin: 4px 0 0;
	padding: 11px 8px;
	border-top: 1px solid #e7e7e7;
	color: #191919 !important;
	font-size: .9rem;
	font-weight: 700;
}

.hodps-search-more:hover {
	text-decoration: underline;
}

.hodps-store-nav {
	position: relative;
	z-index: 2;
	background: var(--hodps-accent);
	box-shadow: 0 4px 14px rgba(0,0,0,.12);
}

.hodps-store-nav-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: min(1360px, 100%);
	margin: auto;
	padding: 0 16px;
}

.hodps-store-nav a {
	display: block;
	padding: 16px 17px;
	color: #fff !important;
	font-size: .93rem;
	font-weight: 800;
	text-decoration: none !important;
	white-space: nowrap;
}

.hodps-store-nav a:hover,
.hodps-store-nav a[aria-current="page"] {
	background: rgba(0,0,0,.13);
}

.hodps-mobile-nav-bar {
	display: none;
}

.hodps-shop:not(.hodps-font-standard) .hodps-mobile-nav-details > summary {
	font-family: var(--hodps-heading-font);
}

.hodps-promo-mobile-image {
	display: none;
}

.hodps-promos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 3px;
	width: 100%;
	background: #fff;
}

.hodps-promos.has-three > :last-child { grid-column: 1 / -1; }

.hodps-promos.is-single {
	grid-template-columns: 1fr;
}

.hodps-promo {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: clamp(410px, 40vw, 650px);
	padding: clamp(28px, 4vw, 58px);
	background-color: #333;
	background-position: center;
	background-size: cover;
	overflow: hidden;
}

/* Banner 3 uses a shallower desktop strip; mobile keeps the full uploaded image. */
@media (min-width: 841px) {
 .hodps-promo.hodps-promo-wide { min-height: clamp(260px, 26vw, 500px); }
}

.hodps-promo-content {
	position: relative;
	z-index: 1;
	max-width: 620px;
	color: #fff;
}

.hodps-promo h2 {
	margin: 0 0 10px;
	color: #fff !important;
	font-size: clamp(2rem, 4vw, 4.2rem);
	font-weight: 900;
	line-height: .98;
	letter-spacing: -.035em;
	text-transform: uppercase;
	text-shadow: 0 3px 18px rgba(0,0,0,.45);
}

.hodps-promo p {
	margin: 0 0 20px;
	color: #fff !important;
	font-size: clamp(1rem, 1.5vw, 1.22rem);
	font-weight: 600;
}

.hodps-promo-button {
	display: inline-block;
	padding: 12px 18px;
	border-radius: 5px;
	background: #fff;
	color: #191919 !important;
	font-weight: 800;
	text-decoration: none !important;
}

.hodps-hero {
	width: 100%;
	min-height: clamp(260px, 31.25vw, 600px);
	background: var(--hodps-primary);
}

.hodps-hero.has-image {
	background-position: center;
	background-size: cover;
}

.hodps-kicker,
.hodps-section-heading span {
	color: var(--hodps-accent);
	font-size: .76rem;
	font-weight: 850;
	letter-spacing: .13em;
	text-transform: uppercase;
}


.hodps-home-content {
	padding: 14px 0 72px;
}

.hodps-home-section,
.hodps-category-overview {
	width: min(1360px, calc(100% - 40px));
	margin: 62px auto 0;
}

.hodps-section-tint {
	position: relative;
	padding: 34px;
	border-radius: 14px;
	background: #f6f6f6;
}

.hodps-section-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 24px;
}

.hodps-section-heading h2 {
	margin: 3px 0 0;
	color: #151515 !important;
	font-size: clamp(1.8rem, 3.4vw, 3.15rem);
	font-weight: 900;
	line-height: 1;
	letter-spacing: -.035em;
	text-transform: uppercase;
}

.hodps-section-heading > a {
	color: #222 !important;
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.hodps-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
}

.hodps-product-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	border: 1px solid #e7e7e7;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 5px 18px rgba(0,0,0,.045);
	transition: transform .18s ease, box-shadow .18s ease;
}

.hodps-product-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 13px 34px rgba(0,0,0,.11);
}

.hodps-product-card[hidden],
.hodps-home-section[hidden] {
	display: none !important;
}

.hodps-product-image {
	position: relative;
	display: block;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: #f4f4f4;
}

.hodps-product-image img {
	display: block;
	width: 100%;
	height: 100%;
	padding: 14px;
	object-fit: contain;
	transition: transform .25s ease;
}

.hodps-product-card:hover .hodps-product-image img {
	transform: scale(1.025);
}

.hodps-product-badge {
	position: absolute;
	z-index: 2;
	top: 13px;
	left: 13px;
	padding: 7px 10px;
	border-radius: 4px;
	background: var(--hodps-accent);
	color: #fff;
	font-size: .7rem;
	font-weight: 850;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.hodps-product-info {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	padding: 18px;
}

.hodps-card-category {
	margin-bottom: 5px;
	color: #777;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.hodps-product-info h3 {
	margin: 0 0 9px;
	font-size: 1.08rem;
	line-height: 1.3;
}

.hodps-product-info h3 a {
	color: #202020 !important;
	text-decoration: none !important;
}

.hodps-price {
	margin-bottom: 16px;
	font-size: 1.02rem;
	font-weight: 850;
}

.hodps-button {
	display: inline-block;
	margin-top: auto;
	padding: 11px 17px;
	border: 0;
	border-radius: 5px;
	background: var(--hodps-accent);
	color: #fff !important;
	font-weight: 800;
	text-decoration: none !important;
	cursor: pointer;
}

.hodps-category-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.hodps-category-sections {
	scroll-margin-top: 30px;
}

.hodps-catalog-content {
	min-height: 55vh;
	padding-top: 46px;
}

.hodps-catalog-intro,
.hodps-catalog-categories {
	width: min(1360px, calc(100% - 40px));
	margin: 0 auto;
}

.hodps-catalog-intro .hodps-back {
	display: block;
	margin-bottom: 28px;
}

.hodps-catalog-intro h1 {
	margin: 5px 0 10px;
	color: #151515 !important;
	font-size: clamp(2rem, 4vw, 3.4rem);
	font-weight: 900;
}

.hodps-catalog-intro p {
	margin: 0;
}

.hodps-catalog-categories {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 30px;
}

.hodps-catalog-categories a {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 9px 14px;
	border: 1px solid #dedede;
	border-radius: 6px;
	color: #181818 !important;
	font-weight: 750;
	text-decoration: none !important;
}

.hodps-catalog-categories a:hover,
.hodps-catalog-categories a:focus-visible {
	border-color: var(--hodps-accent);
	color: var(--hodps-accent) !important;
}

.hodps-catalog-categories span {
	color: #666;
	font-size: .85em;
}

.hodps-catalog-content .hodps-home-section {
	scroll-margin-top: 20px;
}

.hodps-story {
	padding: 72px 20px;
	background: #f2f2f2;
}

.hodps-story-inner {
	display: grid;
	grid-template-columns: 220px minmax(0, 760px);
	align-items: center;
	justify-content: center;
	gap: 48px;
	width: min(1180px, 100%);
	margin: auto;
}

.hodps-story-logo {
	display: grid;
	place-items: center;
	min-height: 180px;
	padding: 25px;
	border-radius: 14px;
	background: #fff;
}

.hodps-story-logo img {
	width: auto;
	max-width: 100%;
	max-height: 150px;
}

.hodps-story h2 {
	margin: 6px 0 13px;
	color: #171717 !important;
	font-size: clamp(1.8rem, 3vw, 3rem);
	font-weight: 900;
}

.hodps-story p {
	color: #333;
	font-size: 1.04rem;
	line-height: 1.72;
}

.hodps-empty,
.hodps-no-results {
	width: min(1180px, calc(100% - 40px));
	margin: 50px auto;
	padding: 72px 20px;
	border-radius: 12px;
	background: #f7f7f7;
	text-align: center;
}

/* Password gate for private company and partner shops. */
.hodps-access-page {
	min-height: 70vh;
}

.hodps-access-header-inner {
	justify-content: flex-start;
}

.hodps-access-wrap {
	display: grid;
	place-items: center;
	min-height: 560px;
	padding: 60px 20px 90px;
	background: linear-gradient(145deg, #f3f3f3, #fff 65%);
}

.hodps-access-card {
	width: min(520px, 100%);
	padding: 44px;
	border: 1px solid #e5e5e5;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 20px 55px rgba(0,0,0,.09);
	text-align: center;
}

.hodps-access-lock {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	margin: 0 auto 18px;
	border-radius: 50%;
	background: var(--hodps-accent);
	font-size: 1.55rem;
}

.hodps-access-kicker {
	margin: 0 0 8px !important;
	color: var(--hodps-accent);
	font-size: .75rem;
	font-weight: 850;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.hodps-access-card h1 {
	margin: 0 0 12px;
	color: #171717 !important;
	font-size: clamp(1.7rem, 4vw, 2.5rem);
	line-height: 1.1;
}

.hodps-access-card > p:not(.hodps-access-kicker) {
	margin: 0 auto 24px;
	color: #555;
	line-height: 1.6;
}

.hodps-access-error {
	margin: 0 0 18px;
	padding: 11px 13px;
	border: 1px solid #e4aaaa;
	border-radius: 6px;
	background: #fff1f1;
	color: #8d1111;
	font-weight: 700;
}

.hodps-access-form {
	display: grid;
	gap: 10px;
	text-align: left;
}

.hodps-access-form label {
	margin: 0;
	font-size: .9rem;
	font-weight: 800;
}

.hodps-access-form input {
	width: 100%;
	height: 50px;
	margin: 0;
	padding: 10px 13px;
	border: 1px solid #cfcfcf;
	border-radius: 6px;
	background: #fff;
	font: inherit;
}

.hodps-access-form input:focus {
	border-color: var(--hodps-accent);
	box-shadow: 0 0 0 3px rgba(0,0,0,.08);
	outline: 0;
}

.hodps-access-form .hodps-button {
	width: 100%;
	margin-top: 4px;
	text-align: center;
}

.hodps-access-card > small {
	display: block;
	margin-top: 17px;
	color: #777;
}

/* Partner product page */
.hodps-product-wrap {
	width: min(1180px, calc(100% - 40px));
	margin: 42px auto 80px;
}

.hodps-back {
	display: inline-block;
	margin-bottom: 24px;
	color: var(--hodps-primary) !important;
	font-weight: 650;
	text-decoration: none !important;
}

.hodps-shipping-wrap {
	width: min(1120px, calc(100% - 40px));
	margin: 42px auto 90px;
}

.hodps-shipping-wrap h1 {
	margin: 0 0 18px;
	font-size: clamp(2rem, 4vw, 3.2rem);
}

.hodps-shipping-disclosure {
	padding: 16px 20px;
	margin: 0 0 32px;
	border-left: 4px solid var(--hodps-accent);
	background: #f5f5f6;
	line-height: 1.55;
}

.hodps-shipping-copy {
	line-height: 1.65;
	min-width: 0;
	overflow-wrap: break-word;
}

.hodps-shipping-copy img,
.hodps-shipping-copy table {
	max-width: 100%;
}

.hodps-product-detail {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
	align-items: start;
	gap: 56px;
}

.hodps-detail-image {
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
}

.hodps-detail-image img {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 680px;
	padding: 0;
	object-fit: contain;
}

.hodps-shop .hodps-product-image img,
.hodps-shop .hodps-detail-image img,
.hodps-shop .hodps-gallery-thumbs img,
.hodps-shop .hodps-category-photo {
	-webkit-user-drag: none;
	user-select: none;
}

.hodps-detail-info {
	padding: 28px 0;
}

.hodps-purchase-feedback {
	scroll-margin-top: 32px;
}

.hodps-purchase-feedback:empty {
	display: none;
}

.hodps-purchase-feedback .woocommerce-message,
.hodps-purchase-feedback .woocommerce-error {
	margin: 0 0 20px;
	padding: 16px 18px;
	border: 1px solid #bbdbbb;
	border-radius: 8px;
	background: #f1fbf1;
	color: #173a1c;
}

.hodps-purchase-feedback .woocommerce-error {
	border-color: #e7b5b5;
	background: #fff4f4;
	color: #822;
}

.hodps-purchase-feedback a {
	color: inherit;
	font-weight: 800;
	text-decoration: underline;
}

.hodps-cart-continue {
	margin: 0 0 22px;
}

/* Partner-only carts use a partner masthead or a neutral multi-partner masthead. */
body.hodps-branded-checkout #header {
	display: none !important;
}

/* Theme cart templates may also render recommendations independently of WC's cross-sell IDs. */
body.hodps-branded-checkout.woocommerce-cart .cross-sells {
	display: none !important;
}

/* The production credit sits below shop content, before the theme's regular footer. */
.hodps-credit-footer {
	clear: both;
	width: 100%;
	padding: 26px 16px 30px;
	border-top: 1px solid #e7e7e7;
	background: #fafafa;
	color: #3e4c44;
	text-align: center;
	font: normal 13px/1.5 Arial, Helvetica, sans-serif;
}

.hodps-credit-footer-inner {
	max-width: 1100px;
	margin: 0 auto;
}

.hodps-credit-footer p {
	margin: 0;
	font: inherit;
}

.hodps-credit-footer a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.hodps-credit-footer .hodps-credit-home {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 11px;
	max-width: 100%;
	margin-top: 15px;
	padding: 10px 21px 10px 11px;
	border: 1px solid #2e4539;
	border-radius: 999px;
	background: #344d3e;
	box-shadow: 0 5px 14px rgba(30, 52, 39, .15);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .025em;
	line-height: 1.4;
	text-decoration: none;
	transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.hodps-credit-footer .hodps-credit-home-icon {
	display: inline-grid;
	flex: 0 0 26px;
	place-items: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #f2de83;
	color: #243a2f;
	font-size: 17px;
	line-height: 1;
}

.hodps-credit-footer .hodps-credit-home:hover,
.hodps-credit-footer .hodps-credit-home:focus-visible {
	border-color: #243a2f;
	background: #243a2f;
	box-shadow: 0 7px 18px rgba(30, 52, 39, .22);
	color: #fff;
	transform: translateY(-1px);
}

.hodps-credit-footer .hodps-credit-home:focus-visible {
	outline: 2px solid #d0ab36;
	outline-offset: 3px;
}

/* The merch-domain footer uses the landing page's dark palette. The theme's legal footer stays visible. */
.hodps-credit-footer--merch {
	box-sizing: border-box;
	padding: 56px 32px 28px;
	border: 0;
	background: #151917;
	color: #edf0eb;
	text-align: left;
	font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif;
}

.hodps-credit-footer--merch *, .hodps-credit-footer--merch *::before { box-sizing: border-box; }
.hodps-credit-footer--merch .hodps-credit-footer-inner { max-width: 1250px; }
.hodps-credit-footer-main { display: flex; align-items: start; justify-content: space-between; gap: 45px; padding-bottom: 52px; }
.hodps-credit-footer-intro { max-width: 420px; }
.hodps-credit-footer--merch .hodps-credit-footer-brand {
	display: inline-block;
	color: #fff;
	font: 900 clamp(24px, 2.8vw, 34px)/1 Arial, Helvetica, sans-serif;
	letter-spacing: -.055em;
	text-decoration: none;
}
.hodps-credit-footer--merch .hodps-credit-footer-brand span { color: inherit; }
.hodps-credit-footer--merch .hodps-credit-footer-dot { color: #d79351 !important; }
.hodps-credit-footer--merch .hodps-credit-footer-intro p { margin-top: 14px; color: #b7c0b9; font-size: 14px; line-height: 1.6; }
.hodps-credit-footer-nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 16px 30px; padding-top: 9px; }
.hodps-credit-footer--merch .hodps-credit-footer-nav a { color: #edf0eb; font-size: 13px; font-weight: 600; text-decoration: none; }
.hodps-credit-footer--merch a:hover, .hodps-credit-footer--merch a:focus-visible { color: #eab374; }
.hodps-credit-footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; min-height: 72px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.15); }
.hodps-credit-footer--merch .hodps-credit-footer-bottom p a { color: #b7c0b9; font-size: 12px; text-decoration: none; }
.hodps-credit-footer--merch .hodps-credit-home { margin: 0; border-color: rgba(234,179,116,.75); border-radius: 3px; background: transparent; box-shadow: none; color: #f4d3ad; }
.hodps-credit-footer--merch .hodps-credit-home-icon { width: auto; height: auto; flex: none; border: 0; border-radius: 0; background: transparent; color: inherit; }
.hodps-credit-footer--merch .hodps-credit-home:hover, .hodps-credit-footer--merch .hodps-credit-home:focus-visible { border-color: #eab374; background: #eab374; box-shadow: none; color: #151917; }

body.hodps-merch-domain #footer,
body.hodps-merch-domain #footer .footer-1,
body.hodps-merch-domain #footer .footer-2,
body.hodps-merch-domain #footer .absolute-footer { background: #151917; color: #b7c0b9; }
body.hodps-merch-domain #footer .absolute-footer { border-top: 1px solid rgba(255,255,255,.12); }
body.hodps-merch-domain #footer a { color: #d5dbd5; }
body.hodps-merch-domain #footer a:hover { color: #eab374; }

@media (max-width: 760px) {
	.hodps-credit-footer--merch { padding: 42px 24px 26px; }
	.hodps-credit-footer-main { display: block; padding-bottom: 34px; }
	.hodps-credit-footer-nav { justify-content: flex-start; padding-top: 30px; }
	.hodps-credit-footer-bottom { display: block; }
	.hodps-credit-footer--merch .hodps-credit-home { margin-top: 17px; }
}

.hodps-checkout-shell {
	position: relative;
	z-index: 2;
}

.hodps-checkout-shell .hodps-store-header-inner {
	min-height: 118px;
}

.hodps-checkout-back {
	flex-shrink: 0;
	color: var(--hodps-primary) !important;
	font-weight: 800;
	text-decoration: none !important;
}

.hodps-checkout-back:hover,
.hodps-checkout-back:focus-visible {
	color: var(--hodps-accent) !important;
}

.hodps-platform-header .hodps-checkout-back {
	color: #fff !important;
}

.hodps-platform-header .hodps-checkout-back:hover,
.hodps-platform-header .hodps-checkout-back:focus-visible {
	color: #efb87c !important;
}

/* Shared multi-partner cart: landing-page photo with the shared brand typography. */
.hodps-checkout-shell .hodps-shared-cart-banner {
	background: linear-gradient(90deg, rgba(10, 13, 12, .88), rgba(10, 13, 12, .48) 48%, rgba(10, 13, 12, .18)), url("images/merch-hero.webp") center 38% / cover no-repeat #151917;
}

.hodps-shared-cart-banner .hodps-merch-header-inner {
	min-height: clamp(180px, 19vw, 270px);
}

.hodps-shared-cart-banner .hodps-checkout-back {
	padding: 10px 14px;
	border-radius: 3px;
	background: rgba(10, 13, 12, .65);
}

@media (max-width: 680px) {
	.hodps-checkout-shell .hodps-shared-cart-banner {
		background-position: 62% center;
	}

	.hodps-checkout-shell .hodps-shared-cart-banner .hodps-merch-header-inner {
		min-height: 170px;
		justify-content: center;
	}
}

.hodps-checkout-nav {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: clamp(8px, 3vw, 36px);
	min-height: 54px;
	padding: 0 12px;
	background: var(--hodps-primary);
}

.hodps-checkout-nav a {
	padding: 14px 12px;
	color: #fff !important;
	font-weight: 800;
	text-decoration: none !important;
	white-space: nowrap;
}

.hodps-checkout-nav a:hover,
.hodps-checkout-nav a:focus-visible,
.hodps-checkout-nav a[aria-current="page"] {
	box-shadow: inset 0 -3px var(--hodps-accent);
}

.hodps-variant-pickers[hidden],
.hodps-product-page [data-hodps-variant-fallback][hidden] {
	display: none !important;
}

.hodps-checkout-disclosure {
	width: min(1360px, calc(100% - 40px));
	margin: 0 auto;
	padding: 15px 0;
	color: #343434;
	font-size: .9rem;
	line-height: 1.5;
}

.hodps-platform-disclosure {
	text-align: center;
}

@media (max-width: 840px) {
	.hodps-checkout-shell .hodps-store-header-inner {
		min-height: 0;
		gap: 10px;
	}
}

@media (max-width: 540px) {
	.hodps-checkout-nav a {
		padding: 13px 5px;
		font-size: .83rem;
	}

	.hodps-checkout-disclosure {
		width: calc(100% - 24px);
	}
}

.hodps-detail-info h1 {
	margin: .25em 0;
	font-size: clamp(2rem, 4vw, 3.4rem);
	line-height: 1.08;
}

.hodps-detail-price {
	margin: 18px 0 10px;
	font-size: 1.5rem;
	font-weight: 850;
}

.hodps-legal-info,
.hodps-delivery-time {
	margin: 0 0 12px;
	color: #444;
	font-size: .94rem;
	line-height: 1.5;
}

.hodps-delivery-time {
	margin-bottom: 24px;
}

.hodps-legal-info a,
.hodps-delivery-time a {
	color: var(--hodps-primary);
	text-decoration: underline;
}

.hodps-fixed-attributes {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 20px;
	margin-bottom: 22px;
}

.hodps-cart-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: stretch;
	gap: 8px;
	width: 100%;
	max-width: 480px;
}

.hodps-cart-form .hodps-variant-pickers {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 8px;
	min-width: 0;
}

.hodps-live-price {
	grid-column: 1 / -1;
	min-width: 0;
	margin: 6px 0 2px;
	padding: 15px 16px;
	border: 1px solid #e3e3e3;
	border-radius: 8px;
	background: #fafafa;
}

.hodps-live-price[hidden],
.hodps-live-price-meta [hidden] {
	display: none;
}

.hodps-live-price-main {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 6px 16px;
	font-weight: 750;
}

.hodps-live-price-main strong {
	font-size: 1.35rem;
	font-variant-numeric: tabular-nums;
}

.hodps-live-price-meta {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 6px 14px;
	margin-top: 4px;
	color: #555;
	font-size: .83rem;
}

.hodps-live-price-meta [data-hodps-price-discount] {
	color: var(--hodps-accent);
	font-weight: 750;
}

.hodps-live-price small {
	display: block;
	margin-top: 6px;
	color: #666;
	font-size: .75rem;
}

.hodps-cart-form label {
	margin: 8px 0 0;
	line-height: 1.3;
	font-weight: 750;
}

.hodps-product-page .hodps-cart-form select {
	display: block;
	min-width: 0;
	width: 100%;
	height: 48px;
	margin: 0;
	padding: 0 36px 0 12px;
	line-height: normal;
	border: 1px solid #cfcfcf;
	border-radius: 6px;
	background-color: #fff;
}

.hodps-product-page .hodps-cart-form .quantity .qty {
	width: 80px !important;
	min-width: 80px !important;
	max-width: 80px !important;
	flex: 0 0 80px;
	height: 48px;
	box-sizing: border-box;
	padding: 8px 4px !important;
	text-align: center;
	font-variant-numeric: tabular-nums;
	border: 1px solid #cfcfcf;
	border-radius: 6px;
	background: #fff;
	-moz-appearance: textfield;
}

.hodps-product-page .hodps-cart-form .quantity .qty::-webkit-inner-spin-button,
.hodps-product-page .hodps-cart-form .quantity .qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.hodps-product-page .hodps-cart-form .quantity {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	min-width: 0;
	margin: 0;
	white-space: nowrap;
}

.hodps-product-page .hodps-cart-form .quantity .minus,
.hodps-product-page .hodps-cart-form .quantity .plus {
	width: 36px;
	min-width: 36px;
	flex: 0 0 36px;
	box-sizing: border-box;
}

.hodps-product-page .hodps-cart-form .hodps-add-button {
	grid-column: 1 / -1;
	min-height: 50px;
	width: 100%;
	margin: 6px 0 0;
	box-sizing: border-box;
	font-size: 1rem;
}

.hodps-unavailable {
	padding: 16px;
	border-radius: 6px;
	background: #f4f4f4;
	font-weight: 650;
}

.hodps-product-details {
	margin-top: 56px;
	border-top: 1px solid #e7e7e7;
}

.hodps-product-details-panel {
	border-bottom: 1px solid #e7e7e7;
}

.hodps-product-details-panel summary {
	padding: 18px 14px;
	color: #222;
	font-size: 1.05rem;
	font-weight: 750;
	cursor: pointer;
}

.hodps-product-details-panel summary::marker {
	color: var(--hodps-accent);
}

.hodps-product-details-content {
	padding: 8px 14px 28px;
	color: #333;
	line-height: 1.65;
}

.hodps-product-details-content img {
	max-width: 100%;
	height: auto;
}

.hodps-product-details-content table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
}

@media (max-width: 1100px) {
	.hodps-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.hodps-store-tools > a:not(.hodps-cart-link) {
		display: none;
	}
}

@media (max-width: 840px) {
	.hodps-store-header-inner {
		align-items: flex-start;
		flex-direction: column;
		gap: 16px;
		padding: 20px 0;
	}

	.hodps-store-tools,
	.hodps-search-wrap {
		width: 100%;
	}

	.hodps-search-wrap {
		flex: 1 1 auto;
	}

	.hodps-shop-home-nav .hodps-store-nav-inner {
		display: none;
	}

	.hodps-shop-home-nav .hodps-mobile-nav-bar {
		display: flex;
		align-items: stretch;
		justify-content: space-around;
		gap: 4px;
		width: 100%;
		padding: 0 8px;
	}

	.hodps-mobile-nav-bar > a,
	.hodps-mobile-nav-details > summary {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 52px;
		padding: 12px 8px;
		color: #fff !important;
		font-size: clamp(.72rem, 2.9vw, .9rem);
		font-weight: 800;
		text-transform: uppercase;
		white-space: nowrap;
	}

	.hodps-mobile-nav-details > summary {
		gap: 7px;
		cursor: pointer;
		list-style: none;
	}

	.hodps-mobile-nav-details > summary::-webkit-details-marker {
		display: none;
	}

	.hodps-mobile-nav-details > summary span {
		font-size: 1.2em;
		line-height: 1;
	}

	.hodps-mobile-nav-details > summary:focus-visible {
		outline: 2px solid #fff;
		outline-offset: -4px;
	}

	.hodps-mobile-nav-panel {
		position: absolute;
		z-index: 3;
		top: 100%;
		left: 0;
		right: 0;
		max-height: min(70vh, 480px);
		overflow-y: auto;
		padding: 8px 16px 12px;
		background: var(--hodps-accent);
		box-shadow: 0 12px 18px rgba(0,0,0,.25);
	}

	.hodps-mobile-nav-panel a {
		padding: 13px 16px;
		border-top: 1px solid rgba(255,255,255,.15);
		font-size: .9rem;
	}

	.hodps-promos {
		grid-template-columns: 1fr;
	}

	.hodps-promo {
		min-height: 0;
		padding: 0;
		background-image: none !important;
		flex-direction: column;
		align-items: stretch;
	}

	.hodps-promo-mobile-image {
		display: block;
		width: 100%;
		height: auto;
	}

	.hodps-promo-content {
		width: 100%;
		max-width: none;
		padding: 24px;
		background: #191919;
	}

	.hodps-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hodps-category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hodps-story-inner {
		grid-template-columns: 160px minmax(0, 1fr);
		gap: 28px;
	}

	.hodps-product-detail {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.hodps-detail-info {
		padding-top: 12px;
	}
}

@media (max-width: 540px) {
	.hodps-store-header-inner,
	.hodps-home-section,
	.hodps-category-overview,
	.hodps-product-wrap {
		width: min(100% - 24px, 1360px);
	}

	.hodps-store-tools {
		align-items: stretch;
		flex-direction: column;
	}

	.hodps-search-results {
		width: 100%;
	}

	.hodps-store-logo {
		max-width: 140px;
		max-height: 100px;
	}

	.hodps-store-brand strong {
		overflow-wrap: anywhere;
	}

	.hodps-cart-link {
		text-align: center;
	}

	.hodps-access-wrap {
		min-height: 480px;
		padding: 35px 12px 60px;
	}

	.hodps-access-card {
		padding: 32px 22px;
	}

	.hodps-promo {
		min-height: 0;
	}

	.hodps-promo-content {
		padding: 22px 20px;
	}

	.hodps-promo h2 {
		font-size: 2rem;
	}

	.hodps-hero {
		min-height: 210px;
	}

	.hodps-grid,
	.hodps-category-grid {
		grid-template-columns: 1fr;
	}

	.hodps-section-tint {
		padding: 24px 12px;
	}

	.hodps-section-heading {
		align-items: flex-start;
		flex-direction: column;
	}

	.hodps-product-image {
		aspect-ratio: 1 / 1.12;
	}

	.hodps-story {
		padding: 50px 14px;
	}

	.hodps-story-inner {
		grid-template-columns: 1fr;
	}

	.hodps-story-logo {
		width: min(220px, 100%);
	}

	.hodps-detail-image img {
		max-height: 540px;
	}

	.hodps-add-button {
		grid-column: 1 / -1;
	}
}
.hodps-detail-image[hidden]{display:none}.hodps-gallery-thumbs{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.hodps-gallery-thumbs button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px;background:#fff;border:2px solid #ddd;border-radius:8px;color:#222;cursor:pointer;font-size:13px}.hodps-gallery-thumbs button[aria-pressed="true"]{border-color:var(--hodps-accent)}.hodps-gallery-thumbs img{width:72px;height:72px;object-fit:contain}.hodps-gallery-thumbs span{max-width:96px;text-align:center}
.hodps-gallery-thumbs button[hidden]{display:none}

@media (max-width: 380px) {
	.hodps-cart-form {
		grid-template-columns: 1fr;
	}
}

.hodps-quantity-offer {
	margin: 16px 0 18px;
	padding: 16px;
	border: 1px solid #e4e4e4;
	border-left: 3px solid var(--hodps-accent);
	border-radius: 8px;
	background: #fafafa;
	line-height: 1.4;
}

.hodps-quantity-offer-heading {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 6px 14px;
	margin-bottom: 12px;
}

.hodps-quantity-offer-heading strong {
	font-size: 1rem;
}

.hodps-quantity-offer-heading span {
	color: #666;
	font-size: .78rem;
	font-weight: 650;
}

.hodps-quantity-offer-tiers {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.hodps-quantity-offer-tiers li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
	min-width: 0;
	padding: 8px 10px;
	border: 1px solid #e8e8e8;
	border-radius: 5px;
	background: #fff;
	font-size: .85rem;
}

.hodps-quantity-offer-tiers li strong {
	color: var(--hodps-accent);
	white-space: nowrap;
}

.hodps-quantity-offer > p {
	margin: 12px 0 0;
	color: #555;
	font-size: .78rem;
}

.hodps-size-chart-pdf {
	display: inline-block;
	padding: 10px 16px;
	border-radius: 5px;
	background: var(--hodps-primary);
	color: #fff;
	text-decoration: none;
}

.hodps-size-chart-pdf:hover,
.hodps-size-chart-pdf:focus-visible {
	color: #fff;
	text-decoration: underline;
}

@media (max-width: 440px) {
	.hodps-quantity-offer-tiers {
		grid-template-columns: 1fr;
	}
}

/* Public, partner-neutral setup request. */
.hodps-onboarding {
	max-width: 1080px;
	margin: 24px auto 60px;
	padding: 0 18px;
	color: #202020;
}

.hodps-onboarding-hero { padding: clamp(28px, 5vw, 58px); border-radius: 18px; color: #fff; background: linear-gradient(135deg, #171717 0%, #252525 70%, #480b0b 100%); }
.hodps-onboarding-hero > span { display: inline-block; margin-bottom: 14px; color: #ff6767; font-size: .82rem; font-weight: 800; letter-spacing: .16em; }
.hodps-onboarding .hodps-onboarding-hero h2 { max-width: 850px; margin: 0 0 18px; color: #fff; font-size: clamp(2.3rem, 6vw, 4.4rem); line-height: 1.03; letter-spacing: -.045em; }
.hodps-onboarding-hero p { max-width: 720px; margin: 0; color: #f2f2f2; font-size: clamp(1rem, 2vw, 1.16rem); line-height: 1.6; }
.hodps-onboarding-pricing { margin-top: 20px; padding: clamp(20px, 4vw, 32px); border: 1px solid #e6e6e6; border-radius: 14px; background: #fafafa; }
.hodps-onboarding-pricing-header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.hodps-onboarding-pricing-header h3, .hodps-onboarding-pricing-header p { margin: 0; }
.hodps-onboarding-pricing-header h3 { font-size: clamp(1.2rem, 2.4vw, 1.6rem); }
.hodps-onboarding-pricing-header p, .hodps-onboarding-pricing > p { color: #555; font-size: .9rem; }
.hodps-onboarding-pricing > p { margin: 14px 0 0; line-height: 1.5; }
.hodps-onboarding-price-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.hodps-onboarding-price { display: grid; gap: 6px; padding: 19px; border: 1px solid #e5e5e5; border-radius: 9px; background: #fff; }
.hodps-onboarding-price span { font-size: .9rem; font-weight: 600; }
.hodps-onboarding-price strong { font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.2; }
.hodps-onboarding-price small { color: #5b5b5b; }
.hodps-onboarding > p { line-height: 1.6; }
.hodps-onboarding form { display: grid; gap: 28px; margin-top: 30px; }
.hodps-onboarding fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.hodps-onboarding legend { margin-bottom: 16px; font-size: 1.25rem; font-weight: 700; }
.hodps-onboarding-hint { margin: -8px 0 16px; color: #555; }
.hodps-onboarding legend span, .hodps-onboarding-fields .hodps-required, .hodps-onboarding-consent b { color: #b00020; }
.hodps-onboarding-categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.hodps-onboarding-categories label { display: flex; align-items: flex-start; gap: 12px; min-height: 54px; padding: 15px 16px; border: 1px solid #ddd; border-radius: 8px; background: #fafafa; cursor: pointer; box-sizing: border-box; }
.hodps-onboarding-categories label:has(input:checked), .hodps-onboarding-services label:has(input:checked) { border-color: #222; background: #f4f4f4; }
.hodps-onboarding-categories input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: #161616; }
.hodps-onboarding-categories span { font-weight: 600; line-height: 1.3; }
.hodps-onboarding-services { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.hodps-onboarding-services label, .hodps-onboarding-consent { display: flex; align-items: flex-start; gap: 12px; cursor: pointer; }
.hodps-onboarding-services label { padding: 16px; border: 1px solid #ddd; border-radius: 8px; background: #fafafa; }
.hodps-onboarding-services input, .hodps-onboarding-consent input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: #161616; }
.hodps-onboarding-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.hodps-onboarding-fields > label { display: flex; flex-direction: column; gap: 8px; min-width: 0; margin: 0; font-weight: 600; line-height: 1.4; }
.hodps-onboarding-fields .hodps-field-label { display: block; color: inherit; }
.hodps-onboarding-fields .hodps-required { display: inline; }
.hodps-onboarding-message { display: grid; align-content: start; gap: 8px; margin: 0; font-weight: 600; }
.hodps-onboarding-fields input, .hodps-onboarding-message textarea { width: 100%; min-width: 0; padding: 12px; border: 1px solid #aaa; border-radius: 5px; background: #fff; color: #202020; font: inherit; box-sizing: border-box; }
.hodps-onboarding-fields > label > input { flex: none; height: 48px; margin: auto 0 0; line-height: 1.4; }
.hodps-onboarding-categories > label, .hodps-onboarding-services > label { align-items: center; min-height: 56px; margin: 0; padding: 14px 16px; box-sizing: border-box; line-height: 1.4; }
.hodps-onboarding-categories > label > input, .hodps-onboarding-services > label > input { margin: 0; }
.hodps-onboarding-fields input:focus-visible, .hodps-onboarding-message textarea:focus-visible, .hodps-onboarding :focus-visible { outline: 2px solid #303030; outline-offset: 2px; }
.hodps-onboarding-consent { line-height: 1.5; }
.hodps-onboarding button[type="submit"] { justify-self: start; padding: 14px 22px; border: 0; border-radius: 5px; background: #111; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.hodps-onboarding button[type="submit"]:hover { background: #444; }
.hodps-onboarding-footnote { margin: -12px 0 0; font-size: .9rem; color: #555; }
.hodps-onboarding-notice { padding: 12px 16px; border-left: 4px solid #247d38; background: #f4faf5; }
.hodps-onboarding-notice.is-error { border-color: #b00020; background: #fff5f5; }
.hodps-onboarding-trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 600px) {
	.hodps-onboarding { margin: 28px auto; }
	.hodps-onboarding-hero { padding: 26px 20px; border-radius: 12px; }
	.hodps-onboarding-price-grid, .hodps-onboarding-categories, .hodps-onboarding-services, .hodps-onboarding-fields { grid-template-columns: 1fr; }
}
/* Merch platform landing page. The HOD shop theme header is replaced only on this route. */
.hodps-merch-home,
.hodps-merch-home * { box-sizing: border-box; }
.hodps-merch-home { background: #f5f3ef; color: #1c211f; min-height: 75vh; font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif; }
.hodps-merch-home h1, .hodps-merch-home h2, .hodps-merch-home h3 { font-family: Arial, Helvetica, sans-serif; }
.hodps-merch-home p, .hodps-merch-home small, .hodps-merch-home a,
.hodps-merch-home label, .hodps-merch-home input, .hodps-merch-home button,
.hodps-merch-home select, .hodps-merch-home textarea { font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif; text-shadow: none; -webkit-text-stroke: 0; }
.hodps-merch-home span { font-family: inherit; }
.hodps-merch-container { width: min(1250px, calc(100% - 64px)); margin-inline: auto; }
.hodps-merch-home a { text-decoration: none; }
.hodps-merch-home a:focus-visible,
.hodps-merch-home input:focus-visible { outline: 3px solid #d18a47; outline-offset: 4px; }
.hodps-merch-header { position: relative; z-index: 3; background: #151917; color: #fff; border-bottom: 1px solid rgba(255,255,255,.12); }
.hodps-merch-header-inner { min-height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 26px; }
.hodps-merch-brand, .hodps-merch-brand *, .hodps-merch-home .hodps-merch-brand, .hodps-merch-home .hodps-merch-brand * { font-family: Arial, Helvetica, sans-serif; }
.hodps-merch-brand { text-decoration: none !important; color: #fff !important; display: inline-flex; flex-direction: column; line-height: 1; white-space: nowrap; }
.hodps-merch-brand strong { color: inherit; font-size: clamp(21px, 2vw, 28px); font-weight: 900; letter-spacing: -.055em; }
.hodps-merch-brand strong span { color: inherit; }
.hodps-merch-brand .hodps-merch-brand-dot { color: #d79351; }
.hodps-merch-brand small { color: #b7c0b9; display: block; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; margin-top: 8px; }
.hodps-merch-header nav { display: flex; align-items: center; gap: clamp(16px, 2.3vw, 34px); }
.hodps-merch-header nav a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; box-sizing: border-box; min-height: 48px; margin: 0; padding: 0; font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif; text-transform: uppercase; text-decoration: none; text-shadow: none; -webkit-text-stroke: 0; color: #f5f6f5 !important; font-size: 16px; font-weight: 600; line-height: 1.25; letter-spacing: .035em; white-space: nowrap; }
.hodps-merch-header nav a:hover { color: #eab374 !important; }
.hodps-merch-header nav .hodps-merch-nav-cta { display: inline-flex; align-items: center; gap: 10px; padding: 12px 15px; border: 1px solid #e6b783; border-radius: 3px; color: #f4d3ad !important; font-weight: 600; }
.hodps-merch-header nav .hodps-merch-nav-cta:hover, .hodps-merch-header nav .hodps-merch-nav-cta[aria-current="page"] { background: #e6b783; color: #1a1e1a !important; }
.hodps-merch-header nav .hodps-merch-cart-count { font-family: inherit; font-weight: 600; }
.hodps-merch-cart-count { display: inline-grid; place-items: center; margin-left: 0; flex-shrink: 0; min-width: 23px; height: 23px; padding-inline: 4px; line-height: 1; letter-spacing: 0; border-radius: 50%; background: #d79351; color: #121514; font-size: 11px; }
.hodps-merch-hero { position: relative; isolation: isolate; min-height: min(660px, 72vw); display: flex; align-items: center; overflow: hidden; background: #171917; color: #fff; }
.hodps-merch-hero-image { position: absolute; z-index: -2; inset: 0; }
.hodps-merch-hero-image img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 30%; }
.hodps-merch-hero::before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(10,13,12,.93) 0%, rgba(10,13,12,.76) 27%, rgba(10,13,12,.25) 61%, rgba(10,13,12,.04) 100%); }
.hodps-merch-hero-inner { padding-block: 100px 112px; }
.hodps-merch-hero-copy { max-width: 610px; }
.hodps-merch-kicker { margin: 0 0 18px !important; color: #a76435; font-size: 12px; font-weight: 600; letter-spacing: .13em; line-height: 1.5; text-transform: uppercase; }
.hodps-merch-hero .hodps-merch-kicker { color: #efb87c; }
.hodps-merch-hero h1 { margin: 0 0 22px !important; color: #fff; font-size: clamp(49px, 6.4vw, 100px); font-weight: 900; letter-spacing: -.065em; line-height: .98; }
.hodps-merch-hero h1 em { color: #eab374; font-style: normal; }
.hodps-merch-hero-copy > p:not(.hodps-merch-kicker) { max-width: 420px; color: #e0e4df; font-size: clamp(16px, 1.7vw, 19px); line-height: 1.55; margin: 0 0 30px; }
.hodps-merch-primary-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 40px; min-height: 54px; padding: 13px 18px 13px 23px; background: #f3efe8; color: #151917 !important; border-radius: 3px; font-size: 15px; font-weight: 600; transition: background .2s, transform .2s; }
.hodps-merch-primary-link:hover { background: #eab374; color: #151917 !important; transform: translateY(-2px); }
.hodps-merch-primary-link span { font-size: 21px; line-height: 1; }
.hodps-merch-hero-secondary { display: inline-flex; align-items: center; gap: 10px; margin: 12px 0 0 24px; color: #fff !important; font-size: 15px; font-weight: 600; text-decoration: underline !important; text-underline-offset: 5px; }
.hodps-merch-hero-secondary:hover { color: #efb87c !important; }
.hodps-merch-hero-side-note { position: absolute; bottom: 27px; right: max(32px, calc((100% - 1250px)/2)); color: rgba(255,255,255,.82); font-size: 11px; font-weight: 600; letter-spacing: .24em; }
.hodps-merch-strip { background: #202522; color: #d9deda; }
.hodps-merch-strip-inner { min-height: 65px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; gap: 0; }
.hodps-merch-strip span { position: relative; display: block; padding: 12px 20px; text-align: center; font-size: 12px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.hodps-merch-strip span + span::before { content: '✦'; position: absolute; left: 0; top: 50%; transform: translate(-50%, -50%); color: #da9d5f; letter-spacing: 0; }
.hodps-merch-shops { padding-block: 98px 108px; scroll-margin-top: 24px; }
.hodps-merch-section-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 360px); align-items: end; gap: clamp(28px, 5vw, 72px); margin-bottom: 36px; }
.hodps-merch-section-head h2 { color: #19201c; font-size: clamp(33px, 4.2vw, 59px); font-weight: 900; line-height: 1.07; letter-spacing: -.055em; margin: 0 !important; }
.hodps-merch-section-head h2 span { color: #b87740; }
.hodps-merch-section-head h2 em { font-style: normal; color: #ad6a3a; }
.hodps-merch-section-head > p { max-width: 360px; color: #3f4942; font-size: 15px; font-weight: 600; line-height: 1.5; margin: 0 0 5px; }
.hodps-merch-grid-tools { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid #d9ddd6; padding-top: 17px; margin-bottom: 21px; }
.hodps-merch-grid-tools p { margin: 0; color: #6c756e; font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.hodps-merch-search input { width: min(300px, 55vw); height: 42px; margin: 0; padding: 7px 14px; color: #1c211f; border: 1px solid #c8d0c8; border-radius: 3px; background: #fff; font: inherit; }
.hodps-merch-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 24px; }
.hodps-merch-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; background: #fff; border: 1px solid #e1e2de; border-radius: 7px; box-shadow: 0 18px 40px rgba(22,29,24,.06); transition: transform .2s, box-shadow .2s; }
.hodps-merch-card:hover { transform: translateY(-4px); box-shadow: 0 24px 48px rgba(22,29,24,.13); }
.hodps-merch-card-visual { position: relative; display: grid; place-items: center; aspect-ratio: 1.72; padding: 28px; overflow: visible; background: radial-gradient(circle at 65% 30%, #48524a, #202823 80%); }
.hodps-merch-card-visual::after { content: ''; position: absolute; inset: 0; background: rgba(14,21,16,.25); pointer-events: none; }
.hodps-merch-card-cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hodps-merch-card-logo { position: absolute; z-index: 1; left: 50%; bottom: -27px; transform: translateX(-50%); display: grid; place-items: center; width: min(52%, 280px); min-height: 76px; padding: clamp(14px,2vw,21px) clamp(19px,3vw,31px); border: 1px solid rgba(255,255,255,.16); border-radius: 11px; background: linear-gradient(135deg,rgba(8,12,10,.72),rgba(24,31,26,.56)); box-shadow: 0 16px 38px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.08); -webkit-backdrop-filter: blur(8px) saturate(.9); backdrop-filter: blur(8px) saturate(.9); }
.hodps-merch-card-logo img { display: block; width: auto; max-width: 100%; max-height: 88px; height: auto; object-fit: contain; filter: drop-shadow(0 0 1px rgba(255,255,255,.95)) drop-shadow(0 2px 7px rgba(0,0,0,.5)); }
.hodps-merch-card-logo strong { color: #fff; font-size: 58px; font-weight: 900; text-shadow: 0 2px 8px rgba(0,0,0,.5); }
.hodps-merch-card-body { display: flex; flex: 1; align-items: end; justify-content: space-between; gap: 16px; min-height: 148px; padding: 53px 25px 25px; }
.hodps-merch-card-label { margin: 0 0 7px !important; color: #9b633c; font-size: 11px; font-weight: 600; letter-spacing: .11em; line-height: 1.4; text-transform: uppercase; }
.hodps-merch-card h3 { margin: 0 !important; color: #19201c; font-size: clamp(20px, 2vw, 27px); font-weight: 900; line-height: 1.15; letter-spacing: -.035em; }
.hodps-merch-open { display: inline-flex; align-items: center; justify-content: center; gap: 10px; flex-shrink: 0; min-height: 42px; padding: 11px 15px; border: 1px solid #263029; border-radius: 4px; background: #263029; color: #fff !important; font-size: 11px; font-weight: 700; letter-spacing: .07em; line-height: 1.2; text-decoration: none !important; white-space: nowrap; transition: background-color .2s, border-color .2s, transform .2s; }
.hodps-merch-card:hover .hodps-merch-open, .hodps-merch-open:hover { border-color: #ad6a3a; background: #ad6a3a; color: #fff !important; }
.hodps-merch-open:focus-visible { outline: 3px solid #d79351; outline-offset: 3px; }
.hodps-merch-open .hodps-merch-arrow::before { width: 7px; height: 9px; }
.hodps-merch-more-wrap { display: flex; justify-content: center; margin-top: 34px; }
.hodps-merch-more { display: inline-flex; align-items: center; justify-content: center; gap: 13px; min-height: 50px; padding: 12px 22px; border: 1px solid #263029; border-radius: 3px; background: #263029; color: #fff; font-family: inherit; font-size: 12px; font-weight: 700; letter-spacing: .075em; cursor: pointer; }
.hodps-merch-more:hover { border-color: #ad6a3a; background: #ad6a3a; }
.hodps-merch-more:focus-visible { outline: 3px solid #d79351; outline-offset: 3px; }
.hodps-merch-more[hidden] { display: none; }
.hodps-merch-no-results { padding: 25px; background: #fff; border-radius: 4px; }
.hodps-merch-inspiration { padding-block: 91px 104px; background: #e9e9e3; }
.hodps-merch-inspiration .hodps-merch-section-head { margin-bottom: 36px; }
.hodps-merch-editorial-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
.hodps-merch-editorial-card { overflow: hidden; background: #f8f7f3; border-radius: 5px; }
.hodps-merch-editorial-card img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.hodps-merch-editorial-card > div { padding: 28px 30px 34px; }
.hodps-merch-editorial-card span { color: #98592f; font-size: 12px; font-weight: 600; letter-spacing: .11em; }
.hodps-merch-editorial-card h3 { color: #19201c; margin: 10px 0 9px !important; font-size: clamp(24px, 2.3vw, 33px); font-weight: 900; letter-spacing: -.04em; }
.hodps-merch-editorial-card p { color: #404a42; font-size: 15px; font-weight: 600; line-height: 1.55; margin: 0; }
.hodps-merch-accessory-feature { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 26px; overflow: hidden; background: #263029; border-radius: 5px; color: #fff; }
.hodps-merch-accessory-feature img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.hodps-merch-accessory-feature > div { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: clamp(30px, 5vw, 76px); }
.hodps-merch-accessory-feature span { color: #e3ac77; font-size: 12px; font-weight: 600; letter-spacing: .11em; }
.hodps-merch-accessory-feature h3 { color: #fff; font-size: clamp(30px, 3.2vw, 47px); line-height: 1.1; letter-spacing: -.045em; font-weight: 900; margin: 20px 0 16px !important; }
.hodps-merch-accessory-feature p { color: #e1e7e1; max-width: 440px; font-size: 16px; font-weight: 600; line-height: 1.55; margin: 0; }
.hodps-merch-for-partners { padding-block: 95px 105px; background: #f5f3ef; }
.hodps-merch-for-partners .hodps-merch-section-head h2 em { color: #ad6a3a; }
.hodps-merch-benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.hodps-merch-benefits article { min-width: 0; padding: 28px 22px 31px; background: #fff; border: 1px solid #e2e2db; border-radius: 5px; }
.hodps-merch-benefits span { color: #a76435; font-size: 12px; font-weight: 600; letter-spacing: .11em; }
.hodps-merch-benefits h3 { margin: 24px 0 11px !important; color: #1b2420; font-size: clamp(20px, 1.8vw, 26px); font-weight: 900; line-height: 1.15; letter-spacing: -.035em; }
.hodps-merch-benefits p { margin: 0; color: #49524c; font-size: 15px; font-weight: 600; line-height: 1.5; }
.hodps-merch-partner-cta { display: flex; align-items: center; justify-content: space-between; gap: 34px; margin-top: 25px; padding: 34px 40px; border-radius: 5px; background: #243029; color: #fff; }
.hodps-merch-partner-cta .hodps-merch-kicker { margin-bottom: 7px !important; color: #e6ad75; }
.hodps-merch-partner-cta h3 { margin: 0 0 7px !important; color: #fff; font-size: clamp(23px, 2.6vw, 33px); font-weight: 900; letter-spacing: -.04em; }
.hodps-merch-partner-cta p:not(.hodps-merch-kicker) { max-width: 650px; margin: 0; color: #d8e1d9; font-size: 14px; line-height: 1.55; }
.hodps-merch-partner-cta .hodps-merch-primary-link { flex: none; }
.hodps-merch-inquiry { padding-bottom: 75px; }
.hodps-merch-inquiry-inner { padding-top: 35px; }
.hodps-merch-back { color: #344239 !important; font-size: 13px; font-weight: 600; }
.hodps-merch-back:hover { text-decoration: underline; }
.hodps-merch-inquiry .hodps-onboarding { margin: 26px auto 0; padding: 0; font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif; }
.hodps-merch-inquiry .hodps-onboarding-hero { border-radius: 5px; background: linear-gradient(120deg, #1b2520, #344237 66%, #99633d); }
.hodps-merch-inquiry .hodps-onboarding-hero > span { color: #efb87c; }
.hodps-merch-inquiry .hodps-onboarding-hero h1 { max-width: 850px; margin: 0 0 18px; color: #fff; font-size: clamp(2.3rem, 6vw, 4.4rem); font-weight: 900; line-height: 1.03; letter-spacing: -.045em; }
.hodps-merch-inquiry .hodps-onboarding-hero p { font-weight: 600; }
.hodps-merch-endcap { background: #1c231e; color: #fff; }
.hodps-merch-endcap .hodps-merch-container { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 37px; }
.hodps-merch-endcap p { margin: 0; color: #fff; font-size: clamp(19px, 2.4vw, 30px); font-weight: 900; letter-spacing: -.035em; }
.hodps-merch-endcap a { display: inline-flex; align-items: center; gap: 10px; color: #edb777 !important; font-size: 14px; font-weight: 600; white-space: nowrap; }
.hodps-merch-endcap a:hover { color: #fff !important; }
/* A drawn triangle keeps every action icon independent of the theme font. */
.hodps-merch-arrow { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; vertical-align: middle; }
.hodps-merch-arrow::before { content: ''; display: block; width: 9px; height: 11px; background: currentColor; clip-path: polygon(0 0, 100% 50%, 0 100%); }
@media (max-width: 1024px) {
 .hodps-merch-header-with-nav .hodps-merch-header-inner { flex-direction: column; align-items: flex-start; gap: 14px; padding-block: 20px 14px; }
 .hodps-merch-header-with-nav nav { width: 100%; justify-content: space-between; gap: 14px; }
}
@media (max-width: 900px) {
	.hodps-merch-card-body { align-items: start; flex-direction: column; }
	.hodps-merch-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
	.hodps-merch-container { width: min(calc(100% - 36px), 520px); }
	.hodps-merch-header-inner { min-height: 0; padding-block: 17px 13px; align-items: flex-start; flex-direction: column; gap: 16px; }
	.hodps-merch-brand strong { font-size: 23px; }
	.hodps-merch-header nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: 6px 12px; }
	.hodps-merch-header nav a { min-height: 44px; font-size: 12px; }
	.hodps-merch-header nav .hodps-merch-nav-cta { padding: 9px; gap: 4px; }
	.hodps-merch-hero { display: flex; flex-direction: column; min-height: 0; }
	.hodps-merch-hero::before { display: none; }
	.hodps-merch-hero-inner { order: 0; padding-block: 54px 49px; }
	.hodps-merch-hero-image { position: relative; order: 1; width: 100%; }
	.hodps-merch-hero-image img { width: 100%; height: auto; object-fit: contain; }
	.hodps-merch-hero h1 { font-size: clamp(48px, 12vw, 67px); }
	.hodps-merch-hero-copy > p:not(.hodps-merch-kicker) { font-size: 16px; }
	.hodps-merch-hero-secondary { display: flex; width: fit-content; margin: 24px 0 0; }
	.hodps-merch-hero-side-note { display: none; }
	.hodps-merch-strip-inner { min-height: 52px; grid-template-columns: 1fr; }
	.hodps-merch-strip span { display: none; }
	.hodps-merch-strip span:nth-child(2) { display: block; }
	.hodps-merch-strip span::before { display: none; }
	.hodps-merch-shops, .hodps-merch-inspiration, .hodps-merch-for-partners { padding-block: 70px 78px; }
	.hodps-merch-section-head { display: block; margin-bottom: 27px; }
	.hodps-merch-section-head h2 { font-size: clamp(35px, 8vw, 47px); }
	.hodps-merch-section-head > p { font-size: 15px; margin: 15px 0 0; }
	.hodps-merch-grid { grid-template-columns: 1fr; gap: 18px; }
	.hodps-merch-card-visual { aspect-ratio: 1.6; }
	.hodps-merch-card-body { min-height: 0; padding: 53px 21px 21px; }
	.hodps-merch-open { width: 100%; }
	.hodps-merch-editorial-grid { grid-template-columns: 1fr; gap: 22px; }
	.hodps-merch-editorial-card > div { padding: 24px; }
	.hodps-merch-accessory-feature { display: block; margin-top: 22px; }
	.hodps-merch-accessory-feature img { height: auto; }
	.hodps-merch-accessory-feature > div { padding: 30px 25px 34px; }
	.hodps-merch-accessory-feature p { font-size: 15px; }
	.hodps-merch-benefits { grid-template-columns: 1fr; gap: 12px; }
	.hodps-merch-benefits article { padding: 24px; }
	.hodps-merch-benefits h3 { margin-top: 16px !important; }
	.hodps-merch-partner-cta { align-items: flex-start; flex-direction: column; gap: 22px; padding: 27px 24px; }
	.hodps-merch-partner-cta .hodps-merch-primary-link { width: 100%; }
	.hodps-merch-inquiry { padding-bottom: 55px; }
	.hodps-merch-inquiry-inner { padding-top: 27px; }
	.hodps-merch-endcap .hodps-merch-container { align-items: flex-start; flex-direction: column; padding-block: 36px; }
}
@media (prefers-reduced-motion: reduce) {
	.hodps-merch-card, .hodps-merch-primary-link, .hodps-merch-open { transition: none; }
}

/* Shared FAQ on landing page and package page. */
.hodps-faq-list { border-top:1px solid #cbc7bc; }
.hodps-faq-list details { margin:0; border-bottom:1px solid #cbc7bc; background:transparent; }
.hodps-faq-list summary { position:relative; padding:22px 55px 22px 0; color:#19201c; font-size:18px; font-weight:700; line-height:1.4; cursor:pointer; list-style:none; }
.hodps-faq-list summary::-webkit-details-marker { display:none; }
.hodps-faq-list summary::after { content:"+"; position:absolute; right:12px; top:50%; transform:translateY(-50%); color:#9a632e; font-size:30px; font-weight:400; }
.hodps-faq-list details[open] summary::after { content:"−"; }
.hodps-faq-list summary:focus-visible { outline:3px solid #c88a46; outline-offset:3px; }
.hodps-faq-list details > div { max-width:950px; padding:0 55px 22px 0; color:#38423c; font-size:16px; line-height:1.7; }
.hodps-faq-list details p { margin:0 0 10px; }
.hodps-faq-list details p:last-child { margin-bottom:0; }

.hodps-home-faq { padding: 65px 0; background: #eeece6; }
.hodps-home-faq .hodps-merch-section-head { margin-bottom: 28px; }
.hodps-home-faq-more { display: inline-flex; align-items: center; gap: 12px; margin-top: 24px; color: #85562a !important; font-weight: 600; }
.hodps-home-faq-more:hover { text-decoration: underline !important; }
@media (max-width: 760px) {
 .hodps-home-faq { padding: 45px 0; }
 .hodps-faq-list summary { padding-right: 45px; font-size: 16px; }
 .hodps-faq-list details > div { padding-right: 20px; }
}

/* createIT tables: readable inline, including without the source popup scripts. */
.hodps-source-size-guide { max-width: 100%; min-width: 0; }
.hodps-source-size-guide img { max-width: 100%; height: auto; }
.hodps-size-guide-scroll { max-width: 100%; overflow-x: auto; margin: 1rem 0; }
.hodps-size-guide-scroll:focus-visible { outline: 2px solid var(--hod-accent, #405047); outline-offset: 2px; }
.hodps-size-guide-scroll table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.hodps-size-guide-scroll caption { caption-side: top; text-align: left; font-weight: 700; padding: .65rem 0; }
.hodps-size-guide-scroll th, .hodps-size-guide-scroll td { padding: .65rem .85rem; border: 1px solid #dce1dd; text-align: left; white-space: nowrap; color: #27332d; }
.hodps-size-guide-scroll th { background: #edf1ee; font-weight: 700; }
.hodps-size-guide-scroll tr:nth-child(even) td { background: #f8faf8; }
.hodps-size-guide-caption { margin: .5rem 0 1.25rem; font-size: .9rem; }

.hodps-preview-notice{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;padding:16px 24px;background:#fff3cd;color:#493b11;border-bottom:2px solid #b18c2b;font:15px/1.5 system-ui,sans-serif}.hodps-preview-notice span{flex:1 1 380px}.hodps-preview-notice a{color:#493b11;text-decoration:underline;font-weight:700}.hodps-add-button:disabled{opacity:.6;cursor:not-allowed}

/* Optional, locally bundled display font; license in fonts/stardos-stencil/OFL.txt. */
@font-face {
 font-family: "HODPS Stardos Stencil";
 src: url("fonts/stardos-stencil/StardosStencil-Bold.ttf") format("truetype");
 font-style: normal;
 font-weight: 700;
 font-display: swap;
}
.hodps-shop.hodps-font-stencil {
 --hodps-body-font: Arial, Helvetica, sans-serif;
 --hodps-heading-font: "HODPS Stardos Stencil", Georgia, serif;
}
.hodps-shop.hodps-font-stencil h1,
.hodps-shop.hodps-font-stencil h2,
.hodps-shop.hodps-font-stencil h3,
.hodps-shop.hodps-font-stencil .hodps-store-brand strong,
.hodps-shop.hodps-font-stencil .hodps-store-nav a,
.hodps-shop.hodps-font-stencil .hodps-checkout-nav a,
.hodps-shop.hodps-font-stencil .hodps-mobile-nav-details > summary,
.hodps-shop.hodps-font-stencil .hodps-category-grid strong,
.hodps-shop.hodps-font-stencil .hodps-button,
.hodps-shop.hodps-font-stencil .hodps-promo-button {
 font-family: var(--hodps-heading-font);
 font-weight: 700;
 font-style: normal;
 letter-spacing: .015em;
 text-transform: uppercase;
}

/* Shop-specific outbound social links. No styling is applied when no links exist. */
.hodps-social-links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; }
.hodps-shop .hodps-social-link { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; max-width: 100%; box-sizing: border-box; padding: 9px 14px; border: 1px solid #000; border-radius: 7px; background: #000; color: #fff; font: inherit; font-size: 14px; line-height: 1.35; text-decoration: none; }
.hodps-social-link svg { flex: 0 0 20px; width: 20px; height: 20px; }
.hodps-social-link span { min-width: 0; overflow-wrap: anywhere; }
.hodps-shop .hodps-social-link:hover { border-color: #000; background: #222; color: #fff; text-decoration: none; }
.hodps-shop .hodps-social-link:focus-visible { outline: 3px solid var(--hodps-accent); outline-offset: 3px; box-shadow: 0 0 0 2px #171717; }
.hodps-social-cta { width: min(1000px, calc(100% - 40px)); margin: 0 auto; padding: clamp(36px, 5vw, 64px) 0; box-sizing: border-box; }
.hodps-social-cta-inner { padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; color: #171717; text-align: center; }
.hodps-social-cta-copy { max-width: 760px; min-width: 0; margin: 0 auto; }
.hodps-social-cta h2 { margin: 0 0 14px; color: #171717; font-family: var(--hodps-heading-font, inherit); font-size: clamp(22px, 2.5vw, 32px); line-height: 1.25; overflow-wrap: anywhere; }
.hodps-social-cta p { max-width: 640px; margin: 0 auto 26px; color: #555; font-size: 16px; line-height: 1.65; overflow-wrap: anywhere; }
.hodps-social-cta .hodps-social-links { justify-content: center; gap: 12px; margin: 0; padding: 0; }
.hodps-social-cta .hodps-social-link { min-height: 46px; padding: 12px 20px; margin: 0; border-radius: 6px; font-weight: 600; }
@media (max-width: 480px) {
    .hodps-social-cta { width: calc(100% - 32px); }
    .hodps-social-cta .hodps-social-links { gap: 10px; }
    .hodps-social-cta .hodps-social-link { padding: 11px 15px; }
}

.hodps-credit-home-icon.hodps-arrow{flex:0 0 auto;width:auto;height:auto;background:none;border-radius:0}

/* Small platform copy uses the readable system font; header/navigation and
   display headings retain their original typography. Partner shops are scoped out. */
.hodps-merch-home :is(p,small,label,li,summary),
.hodps-merch-home :is(p,small,label,li,summary) :is(a,span,strong,b,em),
.hodps-merch-home .hodps-package-features,
.hodps-merch-home .hodps-package-tooltip {
 font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Roboto,Helvetica,sans-serif;
 font-style:normal;
 text-shadow:none;
 -webkit-text-stroke:0;
}
.hodps-merch-home p { font-weight:400; line-height:1.6; }
.hodps-merch-home .hodps-merch-kicker { font-weight:400; }
.hodps-merch-home .hodps-directory-description { color:#3e4a42; font-size:15px; }
.hodps-merch-home .hodps-directory-tags li { color:#635144; font-weight:600; }
.hodps-merch-home .hodps-offer-steps strong { font-weight:600; color:#26372d; }
.hodps-merch-home .hodps-offer-steps p { color:#465149; margin:10px 0 0; }
.hodps-merch-home .hodps-faq-list summary { font-weight:600; }
.hodps-merch-home .hodps-faq-list details > div { color:#3c4840; }
.hodps-discovery-arrow { display:block; flex:0 0 9px; width:9px; height:11px; overflow:visible; color:inherit; }

/* Local composed previews share the product photograph's aspect and bounds. */
.hodps-live-canvas{display:block;width:auto;max-width:100%;max-height:680px;object-fit:contain}
[data-hodps-live-gallery] [hidden]{display:none!important}
.hodps-gallery-thumbs canvas{width:72px;height:72px;object-fit:contain}
.hodps-live-status{font-size:14px;margin:8px 0}
.hodps-live-status:empty{display:none}
.hodps-live-review [data-hodps-slide]{display:flex;justify-content:center;margin:14px 0}
.hodps-live-review [data-hodps-slide] img,.hodps-live-review .hodps-live-canvas{max-width:100%;max-height:360px;object-fit:contain}
.hodps-live-review-thumbs{display:flex;gap:12px;flex-wrap:wrap}
.hodps-live-review-thumbs button{display:flex;flex-direction:column;align-items:center;background:#fff;border:2px solid #ddd;padding:6px;cursor:pointer}
.hodps-live-review-thumbs button[aria-pressed=true]{border-color:#111}
.hodps-live-review-thumbs img,.hodps-live-review-thumbs canvas{width:72px;height:72px;object-fit:contain}

@media(max-width:767px){.hodps-live-canvas{max-height:540px}}
