/* From the live site's own style blocks, 2026-10-21 (tools/extract-wp-css.mjs). */
/* Font for this page only. <i> is left alone so the theme's icon font keeps working. */
		body.hmc-store-v2, body.hmc-store-v2 :is(h1,h2,h3,h4,h5,h6,p,a,span,li,div,small,b,strong,em,label,input,button,select,textarea,td,th) { font-family: 'Montserrat', 'Segoe UI', Arial, sans-serif !important; }

		.hmc-sp { position: relative; padding: 16px 0 40px; color: #1f1f23; font-size: 14px; line-height: 1.5; }
		.hmc-sp *, .hmc-sp *::before, .hmc-sp *::after { box-sizing: border-box; }
		.hmc-sp .container { box-sizing: border-box; }
		.hmc-sp-crumb { margin: 10px 0 14px; font-size: 12px; color: #5f5a68; }
		.hmc-sp-crumb a { color: #4b0082; }
		/* Page grid, as RetailMeNot's store page: 320px left column (logo, disclaimer, side boxes) and the main column. */
		.hmc-sp .hmc-sp-grid { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 320px minmax(0, 1fr); grid-template-rows: auto auto 100px auto auto 1fr; column-gap: 32px; grid-template-areas: 'logo heading' 'logo sub' 'logo offers' 'disc offers' 'rail offers' 'rail content'; }
		/* Full-width white band behind the heading, with a soft shadow; the logo circle hangs below it. */
		.hmc-sp::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 144px; background: #fff; box-shadow: 0 20px 25px -5px rgba(0,0,0,.03), 0 8px 10px -6px rgba(0,0,0,.03); }
		.hmc-sp > .container { position: relative; }
		.hmc-sp-h1 { grid-area: heading; display: flex; align-items: center; min-height: 64px; margin: 4px 0 -12px !important; font-size: 36px !important; line-height: 1.25 !important; font-weight: 800 !important; color: #000 !important; letter-spacing: -.01em; }
		.hmc-sp-sub { grid-area: sub; margin: 8px 0 16px !important; padding: 0 0 28px !important; font-size: 12px !important; font-weight: 600 !important; line-height: 1.33 !important; letter-spacing: .05em; text-transform: uppercase; color: #000 !important; }
		.hmc-sp-disc { grid-area: disc; margin: 12px 64px 32px 0 !important; font-size: 14px !important; font-weight: 300; line-height: 1.5; color: #1f1f23; }
		.hmc-sp-offers { grid-area: offers; min-width: 0; margin: 8px 0 24px !important; position: static !important; top: auto !important; }
		.hmc-sp-rail { grid-area: rail; display: grid; gap: 16px; align-content: start; min-width: 0; }
		.hmc-sp-content { grid-area: content; min-width: 0; }

		/* Sidebar */
		.hmc-sp-rail { display: grid; gap: 16px; }
		.hmc-sp-box { background: #fff; border: 1px solid #e6e1ec; border-radius: 12px; padding: 18px; }
		.hmc-sp-logo { grid-area: logo; grid-row: 1 / span 3; position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; width: 208px; height: 208px; padding: 0 16px; overflow: hidden; border-radius: 50%; background: #fff; box-shadow: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1); }
		.hmc-sp-logo-text { font-size: 22px; font-weight: 800; line-height: 1.15; color: #4b0082; text-align: center; overflow-wrap: anywhere; }
		.hmc-sp-logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
		.hmc-sp-box h4, .hmc-sp-rail .widget h4, .hmc-sp-rail .widget-title { margin: 0 0 10px !important; font-size: 12px !important; font-weight: 800 !important; letter-spacing: .1em; text-transform: uppercase; color: #000c2d !important; }
		.hmc-sp-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; text-align: center; }
		.hmc-sp-stats b { display: block; font-size: 22px; font-weight: 800; line-height: 1.1; color: #4b0082; font-variant-numeric: tabular-nums; }
		.hmc-sp-stats span { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #5f5a68; }
		/* Theme store sidebar (Why Trust Us, About, similar stores...) shown as boxes; the category filter is not used here. */
		.hmc-sp-rail #secondary, .hmc-sp-rail .sidebar-section, .hmc-sp-rail .widget { width: auto !important; max-width: none !important; min-width: 0 !important; float: none !important; }
		.hmc-sp-rail #secondary { padding: 0 !important; margin: 0 !important; }
		.hmc-sp-rail .widget_store_cat_filter { display: none !important; }
		.hmc-sp-rail .sidebar-section { margin: 0 0 16px !important; padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
		.hmc-sp-rail .sidebar-section .widget .widget, .hmc-sp-rail .rating-store-content .widget { border: 0 !important; padding: 0 !important; }
		.hmc-sp-rail .widget { background: #fff; border: 1px solid #e6e1ec !important; border-radius: 12px; padding: 18px !important; margin: 0 !important; box-shadow: none !important; }
		.hmc-sp-rail .rating-store-content > p > div { background: transparent !important; padding: 0 !important; margin: 0 0 14px !important; border-radius: 0 !important; }
		.hmc-sp-rail .rating-store-content h2 { font-size: 12px !important; font-weight: 800 !important; letter-spacing: .1em; text-transform: uppercase; color: #000c2d !important; margin: 0 0 8px !important; }
		.hmc-sp-rail .widget p, .hmc-sp-rail .widget li { font-size: 13px; line-height: 1.55; color: #1f1f23; }
		.hmc-sp-rail .rating-store-content > p { margin: 0 !important; }
		.hmc-sp-rail .rating-store-content > p > br, .hmc-sp-rail .rating-store-content p:empty { display: none; }
		.hmc-sp-rail .rating-store-content > p > div:last-child { margin-bottom: 0 !important; }
		.hmc-sp-rail .shadow-box { box-shadow: none !important; border: 0 !important; padding: 0 !important; background: transparent !important; }

		/* Main */
		.hmc-sp-main { position: static !important; margin: 0 !important; top: auto !important; min-width: 0; }


		/* Offer rows: sizes copied from RetailMeNot's offer card (Tailwind values in px). */
		.hmc-sp-offers { display: block; }
		.hmc-offer-flag { display: block; height: 28px; margin: 0; padding: 0 16px; background: #000; color: #fff; font-size: 15px; font-weight: 700; line-height: 28px; border-radius: 8px 8px 0 0; }
		.hmc-offer { position: relative; min-height: 75px; margin: 0 0 16px; padding: 12px 24px; background: #fff; border: 1px solid #d1d5db; border-radius: 8px; transition: box-shadow .2s; }
		.hmc-offer:hover { box-shadow: 0 10px 15px -3px rgba(229,231,235,.5), 0 4px 6px -4px rgba(229,231,235,.5); }
		.hmc-offer.is-top { border: 2px solid #000; border-radius: 0 0 8px 8px; }
		.hmc-offer-grid { position: relative; display: grid; grid-template-columns: 120px auto 192px; column-gap: 24px; }
		.hmc-offer-val { grid-column: 1; grid-row: 1 / span 3; align-self: center; margin: 0; padding: 4px 0 8px; text-align: center; color: #4b0082; font-size: 30px; font-weight: 800; text-transform: uppercase; letter-spacing: .025em; }
		.hmc-offer-val { overflow-wrap: normal; word-break: keep-all; }
		.hmc-offer-val.is-long { font-size: 20px; }
		.hmc-offer-val p { margin: 0 !important; padding: 0 !important; font-size: inherit !important; font-weight: 800 !important; line-height: 1 !important; color: #4b0082 !important; letter-spacing: inherit !important; text-transform: uppercase !important; }
		.hmc-offer-tags { grid-column: 2; grid-row: 1; margin-top: auto; }
		.hmc-kind { display: inline-block; margin-right: 4px; padding: 0 4px; border-radius: 4px; background: #e5e7eb; color: #000; font-size: 12px; font-weight: 600; text-transform: capitalize; }
		.hmc-offer-title { grid-column: 2; grid-row: 2; align-self: center; justify-self: start; margin: 4px 0 0; padding-right: 12px; font-size: 22px; font-weight: 600; line-height: 1.5; letter-spacing: -.025em; }
		.hmc-offer-title a { color: #000; text-decoration: none; }
		.hmc-offer-status { grid-column: 2; grid-row: 3; margin-right: 8px; display: flex; flex-wrap: wrap; align-items: center; column-gap: 8px; }
		.hmc-offer-status span { margin-top: 4px; padding: 0 4px; border-radius: 4px; background: rgba(210,138,255,.2); color: #000; font-size: 12px; font-weight: 600; }
		.hmc-offer-act.coupon-button-type { grid-column: 3; grid-row: 1 / span 3; align-self: center; display: flex; flex-direction: column; float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
		.hmc-offer-act a.hmc-offer-btn { max-width: none !important; min-width: 0 !important; position: relative; display: flex !important; align-items: center; justify-content: center; overflow: hidden; width: 100% !important; height: 48px !important; margin: 0 0 8px !important; padding: 0 !important; border: 0 !important; border-radius: 24px !important; background: #4b0082 !important; color: #fff !important; font-size: 16px !important; font-weight: 700 !important; line-height: 1 !important; letter-spacing: .05em !important; text-transform: none !important; text-decoration: none; box-shadow: none !important; }
		/* "Peeled corner" on Show Code, as on RetailMeNot. */
		.hmc-offer-act a.hmc-offer-btn.is-code::before { content: ""; position: absolute; right: -20px; top: -12px; z-index: 10; width: 48px; height: 32px; transform: rotate(45deg); background: #d1d5db; }
		.hmc-offer-act a.hmc-offer-btn.is-code::after { content: ""; position: absolute; right: -16px; top: -16px; width: 48px; height: 48px; transform: rotate(45deg); border-radius: 50%; background: rgba(229,231,235,.3); }
		.hmc-offer-act a.hmc-offer-btn:hover { background: #33005a !important; }
		/* Phones: the whole row opens the offer, with an arrow on the right. */
		.hmc-offer-tap.coupon-button-type { display: none; }
		.hmc-offer-details { margin: 12px 0 0 !important; padding: 8px 0 0 !important; border-top: 1px solid #e5e7eb; }
		.hmc-offer-details summary { margin: 0 !important; padding: 0 !important; }
		.hmc-offer > :last-child, .hmc-offer-grid > * { margin-bottom: 0; }
		.hmc-offer-status span, .hmc-kind, .hmc-offer-title { font-family: inherit; }
		.hmc-offer-details summary { display: flex; justify-content: flex-end; align-items: center; gap: 8px; cursor: pointer; list-style: none; font-size: 12px; font-weight: 600; color: #000; }
		.hmc-offer-details summary::-webkit-details-marker { display: none; }
		.hmc-offer-details summary::after { content: "+"; font-size: 16px; line-height: 12px; width: 12px; text-align: center; }
		.hmc-offer-details[open] summary::after { content: "\2013"; }
		.hmc-offer-details .hd, .hmc-offer-details[open] .sd { display: none; }
		.hmc-offer-details[open] .hd { display: inline; }
		.hmc-offer-details-body { width: 50%; margin-top: 12px; font-size: 14px; }
		.hmc-offer-details-body p { margin: 0 0 6px; }
		/* White page like RetailMeNot's store page; side sections sit on the page with divider lines. */
		body.hmc-store-v2, body.hmc-store-v2 #page, body.hmc-store-v2 #content, body.hmc-store-v2 .site-content { background: #fff !important; }
		.hmc-sp::before { background: #fff; box-shadow: 0 20px 25px -5px rgba(0,0,0,.05), 0 8px 10px -6px rgba(0,0,0,.04); }
		.hmc-sp-rail .hmc-sp-box, .hmc-sp-rail .widget { background: transparent !important; border: 0 !important; border-top: 1px solid #e5e7eb !important; border-radius: 0 !important; padding: 18px 0 !important; box-shadow: none !important; }
		.hmc-sp-rail .hmc-sp-box:first-child { border-top: 0 !important; padding-top: 0 !important; }
		.hmc-sp-rail { gap: 0; }
		.hmc-sp-rail .sidebar-section { margin: 0 !important; }
		@media (max-width: 1023px) {
			.hmc-offer { margin-bottom: 8px; }
			.hmc-offer-grid { column-gap: 8px; }
			.hmc-offer-val { letter-spacing: -.025em; }
			.hmc-offer-title { font-weight: 500; padding-right: 32px; line-height: 1.35; }
		}
		@media (max-width: 767px) {
			.hmc-offer { padding: 12px; box-shadow: 0 10px 15px -3px rgba(229,231,235,.5), 0 4px 6px -4px rgba(229,231,235,.5); }
			.hmc-offer-grid { grid-template-columns: 120px auto; }
			.hmc-offer-val { font-size: 20px; margin: 0 auto; }
			.hmc-offer-act.coupon-button-type, .hmc-offer-details { display: none !important; }
			.hmc-offer-title { padding-right: 40px; }
			.hmc-offer-tap.coupon-button-type { display: block !important; position: absolute !important; top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important; float: none !important; width: auto !important; height: auto !important; max-width: none !important; margin: 0 !important; padding: 0 12px 0 0 !important; z-index: 2; }
			.hmc-offer-tap a.hmc-offer-tapbtn { max-width: none !important; min-width: 0 !important; position: absolute !important; top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important; padding-right: 8px !important; display: flex !important; align-items: center; justify-content: flex-end; width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; color: #000 !important; }
			.hmc-offer-tap svg { width: 24px; height: 24px; }
		}
		@media (max-width: 639px) {
			.hmc-offer-grid { grid-template-columns: 80px auto; }
			.hmc-offer-val { margin: 0; padding: 0; }
			.hmc-offer-val.is-long { font-size: 14px; }
			.hmc-offer-title { font-size: 16px; }
			.hmc-kind { padding: 2px 4px; }
		}
		.hmc-sp-more { margin-top: 16px; text-align: center; }
		.hmc-sp-more a { display: inline-block; border: 1px solid #4b0082; border-radius: 999px; padding: 8px 20px; color: #4b0082; font-weight: 600; text-decoration: none; }

		/* Store info + FAQ (the store's own text) */
		.hmc-sp-extra .faq-card { margin-top: 24px; background: #fff; border: 1px solid #e6e1ec; border-radius: 12px; padding: 20px; box-shadow: none !important; }
		.hmc-sp-extra .faq-title { margin: 0 0 12px !important; font-size: 20px !important; font-weight: 800 !important; color: #000c2d !important; text-transform: none !important; }
		.hmc-sp-extra .store-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
		.hmc-sp-extra .store-info-item h4 { margin: 0 0 4px; font-size: 12.5px; font-weight: 700; color: #000c2d; }
		.hmc-sp-extra .store-info-item p { margin: 0; font-size: 13.5px; }
		.hmc-sp-extra .faq-item { border-top: 1px solid #eee9f2; }
		.hmc-sp-extra .faq-question { display: flex; justify-content: space-between; gap: 12px; padding: 14px 0; font-size: 14px; font-weight: 600; color: #000c2d; cursor: pointer; }
		.hmc-sp-extra .faq-question br { display: none; }
		.hmc-sp-extra .faq-answer { padding: 0 0 14px; font-size: 13.5px; color: #1f1f23; }

		@media (max-width: 900px) {
			/* Phones and tablets: 80px logo | heading, then everything full width. */
			.hmc-sp .hmc-sp-grid { grid-template-columns: 80px minmax(0, 1fr); grid-template-rows: none; column-gap: 12px; grid-template-areas: 'disc disc' 'logo heading' 'sub sub' 'offers offers' 'rail rail' 'content content'; }
			.hmc-sp::before { height: 150px; }
			.hmc-sp-logo { grid-row: auto; width: 64px; height: 64px; padding: 0 8px; margin: 0 auto; }
			.hmc-sp-logo-text { font-size: 11px; }
			.hmc-offer-title, .hmc-sp-h1 { overflow-wrap: anywhere; }
			.hmc-sp-h1 { font-size: 20px !important; margin: 0 0 12px !important; }
			.hmc-sp-sub { margin: 8px 0 0 !important; padding: 24px 0 0 !important; }
			.hmc-sp-disc { margin: 4px 0 16px !important; font-size: 11px !important; text-align: center; }
			.hmc-sp-rail { margin-top: 8px; }
		}
		@media (max-width: 600px) {
			.hmc-sp .container { padding-left: 16px !important; padding-right: 16px !important; }

			.hmc-sp-extra .store-info-grid { grid-template-columns: 1fr; }
		}

.hmc-spt-tabs { display: flex; margin: 0 0 16px; border-bottom: 2px solid #e7e3ec; }
		.hmc-spt-tabs button { flex: 1; display: flex; align-items: center; justify-content: center; gap: 6px; margin: 0 0 -2px; padding: 12px 6px; border: 0; border-bottom: 3px solid transparent; background: none; font-size: 16px; font-weight: 700; color: #625c6b; cursor: pointer; white-space: nowrap; }
		.hmc-spt-tabs button[aria-selected="true"] { color: #4b0082; border-bottom-color: #4b0082; }
		.hmc-spt-tabs span { padding: 1px 8px; border-radius: 999px; background: #f1ebf8; color: #4b0082; font-size: 12px; }
		.hmc-spt-match { display: flex; align-items: center; gap: 12px; margin: -17px 0 16px; padding: 12px 16px; border: 1px solid #d1d5db; border-top: 1px dashed #cdb8e6; border-radius: 0 0 8px 8px; background: #faf7fd; }
		.hmc-offer.is-top + .hmc-spt-match { border: 2px solid #000; border-top: 1px dashed #cdb8e6; }
		.hmc-spt-match img { width: 64px; height: 64px; object-fit: contain; background: #fff; border-radius: 8px; flex: none; }
		.hmc-spt-match div { flex: 1; min-width: 0; font-size: 14px; line-height: 1.45; color: #000c2d; }
		.hmc-spt-match small { display: block; color: #625c6b; font-size: 11.5px; letter-spacing: .04em; text-transform: uppercase; }
		.hmc-spt-match strong { color: #1b7a3d; font-weight: 700; }
		.hmc-spt-match s { color: #8a8494; }
		.hmc-spt-see { flex: none; padding: 8px 16px; border-radius: 999px; border: 1px solid #4b0082; color: #4b0082 !important; font-size: 13px; font-weight: 600; text-decoration: none !important; white-space: nowrap; }
		.hmc-spt-see:hover { background: #4b0082; color: #fff !important; }
		.hmc-spt-more { display: block; width: 100%; margin: 4px 0 8px; padding: 13px; border: 0; border-radius: 999px; background: #f1ebf8; color: #4b0082; font-size: 15px; font-weight: 700; text-align: center; cursor: pointer; }
		.hmc-spt-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
		.hmc-spt-card { display: flex; flex-direction: column; border: 1px solid #e7e3ec; border-radius: 12px; overflow: hidden; background: #fff; }
		.hmc-spt-img { position: relative; display: block; aspect-ratio: 1 / 1; background: #f7f5fa; }
		.hmc-spt-img img { width: 100%; height: 100%; object-fit: contain; display: block; }
		.hmc-spt-off { position: absolute; top: 8px; left: 8px; padding: 3px 9px; border-radius: 999px; background: #4b0082; color: #fff; font-size: 12.5px; }
		.hmc-spt-code { position: absolute; bottom: 8px; left: 8px; right: 8px; padding: 3px 8px; border-radius: 6px; background: #1b7a3d; color: #fff; font-size: 11.5px; text-align: center; }
		.hmc-spt-body { display: flex; flex: 1; flex-direction: column; gap: 6px; padding: 10px 12px 12px; }
		.hmc-spt-name { margin: 0 !important; font-size: 14px !important; font-weight: 500 !important; line-height: 1.4 !important; min-height: 2.8em; color: #000c2d; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
		.hmc-spt-price { margin: 0 !important; font-size: 13px; display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: baseline; }
		.hmc-spt-price b { font-weight: 600; font-size: 16px; color: #b3261e; }
		.hmc-spt-price s { color: #8a8494; }
		.hmc-spt-btn { margin-top: auto; display: block; padding: 9px 12px; border-radius: 999px; background: #4b0082; color: #fff !important; text-align: center; font-size: 13.5px; font-weight: 600; text-decoration: none !important; }
		.hmc-spt-btn:hover { background: #33005a; }
		.hmc-spt-note { margin: 10px 0 0 !important; font-size: 12px; color: #625c6b; }
		.hmc-spt-vars { display: flex; flex-direction: column; gap: 6px; }
		.hmc-spt-opts { display: flex; flex-wrap: wrap; gap: 5px; }
		.hmc-spt-opt { min-width: 34px; padding: 3px 8px; border: 1px solid #d6d0de; border-radius: 6px; background: #fff; color: #000c2d; font-size: 12px; line-height: 1.5; cursor: pointer; }
		.hmc-spt-opt.is-c { border-radius: 999px; padding: 3px 10px; }
		.hmc-spt-opt[aria-pressed="true"] { border-color: #4b0082; background: #f1ebf8; color: #4b0082; font-weight: 600; }
		.hmc-spt-opt[hidden] { display: none; }
		.hmc-spt-colour { margin: 0 !important; font-size: 12px; color: #625c6b; }
		.hmc-spt-season { align-self: flex-start; padding: 1px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; background: #fdeee0; color: #a14a00; }
		.hmc-spt-season.is-halloween { background: #1d1a24; color: #ff9a3c; }
		.hmc-spt-after { margin: 0 !important; font-size: 12.5px; color: #1b7a3d; }
		.hmc-spt-after b { font-weight: 700; }
		.hmc-spt-match.is-all { flex-direction: column; align-items: stretch; gap: 10px; }
		.hmc-spt-all-head small { display: block; color: #625c6b; font-size: 11.5px; letter-spacing: .04em; text-transform: uppercase; }
		.hmc-spt-all { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
		.hmc-spt-see-item { display: flex; gap: 8px; align-items: center; font-size: 12.5px; line-height: 1.35; color: #000c2d !important; text-decoration: none !important; }
		.hmc-spt-see-item img { width: 56px; height: 56px; object-fit: cover; border-radius: 8px; flex: none; background: #fff; }
		.hmc-spt-see-item span { min-width: 0; }
		.hmc-spt-see-item em { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-style: normal; }
		.hmc-spt-match.is-all .hmc-spt-see { align-self: flex-start; background: #fff; cursor: pointer; }
		@media (max-width: 767px) { .hmc-spt-all { grid-template-columns: 1fr; } .hmc-spt-match.is-all .hmc-spt-see { align-self: stretch; } }
		@media (max-width: 1023px) { .hmc-spt-match { margin-top: -9px; margin-bottom: 8px; } }
		@media (max-width: 767px) {
			.hmc-spt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
			.hmc-spt-body { padding: 8px 10px 10px; }
			.hmc-spt-name { font-size: 13px !important; }
			.hmc-spt-match { flex-wrap: wrap; padding: 12px; }
			.hmc-spt-see { width: 100%; text-align: center; }
			.hmc-spt-tabs button { font-size: 15px; }
		}
