/* ===========================================================================
 * HMS product page (v1.9.8) — one layout for every product.
 * Photos + highlights + details tabs on the left, buy box on the right;
 * then one product box, reviews, "You may also love" and tags.
 * ========================================================================= */

.hms-pp { --pp-gap: var(--hms-g5, 34px); color: #13204A; }
.hms-pp__wrap { max-width: 1320px; margin: 0 auto; padding: 0 var(--hms-gutter, 34px) var(--hms-g7, 89px); box-sizing: border-box; }
.hms-pp .woocommerce-notices-wrapper:not(:empty) { padding-top: var(--hms-g4, 21px); }
.hms-pp__crumbs { padding: var(--hms-g4, 21px) 0 var(--hms-g3, 13px); font-size: 13px; color: #5A5670; display: flex; flex-wrap: wrap; gap: 8px; }
.hms-pp__crumbs a, .hms .hms-pp__crumbs a { color: #5A5670; text-decoration: none; }

@media (hover: hover) and (pointer: fine) { .hms .hms-pp__crumbs a:hover { color: #5A5670; text-decoration: underline; } }

/* ---- Top: photos | buy box ---- */
.hms-pp__top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 440px); gap: var(--pp-gap); align-items: start; }
.hms-pp__media { display: flex; flex-direction: column; gap: var(--hms-g3, 13px); min-width: 0; }
.hms-pp__gallery { display: flex; gap: var(--hms-g3, 13px); }
.hms-pp__thumbs { flex: none; display: flex; flex-direction: column; gap: var(--hms-g3, 13px); max-height: 640px; overflow-y: auto; scrollbar-width: none; }
.hms-pp__thumb { flex: none; width: 72px; height: 72px; padding: 0; border-radius: 16px; overflow: hidden; border: 2px solid transparent; background: #FFFFFF; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.hms-pp__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hms-pp__thumb.is-on { border-color: #13204A; box-shadow: 0 0 0 3px #FFC94A; }
.hms-pp__thumb--video { flex-direction: column; gap: 4px; background: #13204A; color: #FFC94A; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.hms-pp__thumb:focus-visible { outline: 3px solid #C0186A; outline-offset: 2px; }
.hms-pp__stage { position: relative; flex: 1; min-width: 0; aspect-ratio: 1 / 1; border-radius: 28px; overflow: hidden; background: radial-gradient(circle at 50% 42%, var(--c1, #FFF4D6), var(--c2, #FFD98A) 70%); }
.hms-pp__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; opacity: 0; transition: opacity .25s ease; }
.hms-pp__img.is-on { opacity: 1; z-index: 1; }
.hms-pp__video { background: #0B1433; object-fit: contain; }
.hms-pp__badge { position: absolute; z-index: 2; left: var(--hms-g4, 21px); top: var(--hms-g4, 21px); padding: 7px 13px; border-radius: 999px; background: #13204A; color: #FFC94A; font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }

.hms-pp__hl { list-style: none; margin: 0 0 0 85px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--hms-g3, 13px); }
.hms-pp__hl li { display: flex; align-items: center; gap: 10px; padding: 13px; border-radius: 16px; background: #FFFFFF; font-size: 13px; font-weight: 700; line-height: 1.3; }
.hms-pp__hl li > span { flex: none; width: 28px; height: 28px; border-radius: 50%; background: #FFF1D2; color: #8A6418; display: flex; align-items: center; justify-content: center; }
.hms-pp__how { list-style: none; margin: 0 0 0 85px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--hms-g3, 13px); }
.hms-pp__how li { display: flex; gap: 10px; align-items: flex-start; padding: 13px; border-radius: 16px; background: #13204A; color: #FFF8EE; font-size: 13px; line-height: 1.4; }
.hms-pp__how li > span:first-child { flex: none; width: 26px; height: 26px; border-radius: 50%; background: #FFC94A; color: #13204A; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.hms-pp__how strong { display: block; }

/* Details tabs */
.hms-pp__media--one .hms-pp__hl, .hms-pp__media--one .hms-pp__how, .hms-pp__media--one .hms-pp-tabs { margin-left: 0; }
.hms-pp-tabs { margin-left: 85px; background: #FFFFFF; border-radius: 22px; padding: 8px 26px 26px; }
.hms-pp-tabs__list { display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 1px solid #EEE6F2; }
.hms-pp-tabs__list button { height: 48px; padding: 0 14px; border: 0; background: none; cursor: pointer; font: inherit; font-size: 14px; font-weight: 800; color: #5A5670; }
.hms-pp-tabs__list button[aria-selected="true"] { color: #13204A; box-shadow: inset 0 -3px 0 #FFC94A; }
.hms-pp-tabs__list button:focus-visible { outline: 3px solid #C0186A; outline-offset: -3px; }
.hms-pp-tabs__panel { padding-top: var(--hms-g3, 13px); font-size: 14px; line-height: 1.65; color: #2A2B45; }
.hms-pp-tabs__panel p { margin: 0 0 10px; }
.hms-pp-tabs__panel table.woocommerce-product-attributes { width: 100%; border: 0; border-collapse: collapse; margin: 0; }
.hms-pp-tabs__panel .woocommerce-product-attributes th, .hms-pp-tabs__panel .woocommerce-product-attributes td { padding: 8px 0; border: 0; border-bottom: 1px solid #F3EEF6; text-align: left; vertical-align: top; font-size: 14px; background: none; }
.hms-pp-tabs__panel .woocommerce-product-attributes td, .hms-pp-tabs__panel .woocommerce-product-attributes td p { font-style: normal; margin: 0; }
.hms-pp-tabs__panel .woocommerce-product-attributes tr, .hms .hms-pp-tabs__panel table.shop_attributes tr:nth-child(even) th, .hms .hms-pp-tabs__panel table.shop_attributes tr:nth-child(even) td, .hms .hms-pp-tabs__panel table.shop_attributes th, .hms .hms-pp-tabs__panel table.shop_attributes td { background: none; }
.hms-pp-tabs__panel .woocommerce-product-attributes th { width: 34%; color: #5A5670; font-weight: 600; }
.hms-pp-tabs__panel .woocommerce-product-attributes td p { margin: 0; }
.hms-pp-tabs__dl { margin: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 10px 21px; }
.hms-pp-tabs__dl dt { color: #5A5670; }
.hms-pp-tabs__dl dd { margin: 0; }
.hms-pp-tabs__kit { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 21px; }
.hms-pp-tabs__kit li { display: flex; gap: 10px; align-items: flex-start; }
.hms-pp-tabs__kit small { display: block; color: #5A5670; }

/* ---- Buy box ---- */
.hms-pp__buy { background: #FFFFFF; border-radius: 28px; padding: var(--hms-g5, 34px); box-sizing: border-box; box-shadow: 0 1px 2px rgba(19,32,74,.06), 0 2px 10px rgba(19,32,74, .06); display: flex; flex-direction: column; gap: var(--hms-g4, 21px); min-width: 0; }
.hms-pp__eb { margin: 0 0 8px; font-size: 12px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; color: #8A6418; }
.hms-pp__title, .hms h1.hms-pp__title { margin: 0; font-family: var(--hms-serif); font-variation-settings: "SOFT" 100; font-weight: 900; font-size: clamp(28px, 2.6vw, 38px); line-height: 1.08; color: #13204A; }
.hms-pp__script { margin: 2px 0 0; font-family: var(--hms-script); font-size: clamp(30px, 2.6vw, 38px); line-height: 1; color: #8E0E4B; }
.hms-pp__rating, .hms a.hms-pp__rating { margin-top: 8px; display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: #5A5670; text-decoration: none; }
.hms-pp__rating .star-rating { margin: 0; color: #E8A417; font-size: 13px; }
.hms-pp__price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 13px; }
.hms-pp__amount { font-family: var(--hms-serif); font-variation-settings: "SOFT" 100; font-weight: 900; font-size: 40px; line-height: 1; color: #13204A; }
.hms-pp__amount del { font-family: var(--hms-sans); font-size: 18px; font-weight: 600; color: #8C879B; margin-right: 6px; }
.hms-pp__amount ins { text-decoration: none; }
.hms-pp__note { font-size: 13px; color: #5A5670; }
.hms-pp__note .woocommerce-Price-amount { font-weight: 700; color: #13204A; }
.hms-pp__chip { margin-left: 0; padding: 6px 12px; border-radius: 999px; background: #E6F4EC; color: #1F6B3A; font-size: 12px; font-weight: 800; }
.hms-pp__label { margin: 0 0 10px; font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: #5A5670; }
.hms-pp__num { flex: none; width: 24px; height: 24px; border-radius: 50%; background: #C0186A; color: #FFFFFF; font-size: 12px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.hms-pp__kit { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.hms-pp__kit li small { display: block; margin-top: 2px; font-size: 11px; font-weight: 500; color: #5A5670; }
.hms-pp__kit li { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 6px 10px; border-radius: 12px; border: 1.5px solid #E2D9EC; font-size: 12px; font-weight: 700; line-height: 1.25; }

/* WooCommerce add-to-cart form, dressed as the buy box. */
.hms-pp__form form.cart { margin: 0; display: flex; flex-wrap: wrap; gap: var(--hms-g3, 13px); align-items: center; }
.hms-pp__form form.variations_form { display: block; }
.hms-pp__form table.variations { width: 100%; margin: 0 0 var(--hms-g3, 13px); border: 0; border-collapse: collapse; }
.hms-pp__form table.variations tr { display: block; margin-bottom: var(--hms-g3, 13px); }
.hms-pp__form table.variations tr[hidden] { display: none; }
.hms-pp__form table.variations th, .hms-pp__form table.variations td { display: block; padding: 0; border: 0; background: none; text-align: left; }
.hms-pp__form table.variations th label { display: block; margin-bottom: 10px; font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: #5A5670; }
.hms-pp__form .reset_variations { display: inline-block; margin-top: 6px; font-size: 12px; color: #8E0E4B; }
.hms-pp-sw { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 8px; }
.hms-pp-sw__btn { min-height: 52px; padding: 8px 6px; border-radius: 14px; border: 1.5px solid #E2D9EC; background: #FFFFFF; color: #13204A; cursor: pointer; font: inherit; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; text-align: center; }
.hms-pp-sw__btn img { width: 36px; height: 36px; border-radius: 8px; object-fit: cover; }
.hms-pp-sw__name { font-size: 12px; font-weight: 700; line-height: 1.2; }
.hms-pp-sw__price { font-size: 13px; font-weight: 800; color: #8E0E4B; }
.hms-pp-sw__btn[aria-pressed="true"] { border: 2px solid #13204A; background: #FFF8EC; }
.hms-pp-sw__btn:disabled { opacity: .4; cursor: not-allowed; text-decoration: line-through; }
.hms-pp-sw__btn:focus-visible { outline: 3px solid #C0186A; outline-offset: 2px; }
.hms-pp-sw + .hms-pp-sw__select, select.hms-pp-sw__select { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.hms-pp__form .woocommerce-variation-price { display: none; }
.hms-pp__form .woocommerce-variation-description p { margin: 0 0 8px; font-size: 13px; color: #5A5670; }
.hms-pp__form .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: var(--hms-g3, 13px); align-items: center; }
.hms-pp__form .stock { margin: 0; font-size: 13px; font-weight: 700; }
.hms-pp__form .stock.in-stock { color: #1F6B3A; }
.hms-pp__form .stock.out-of-stock { color: #B0102E; }
.hms-pp__form .quantity { flex: none; margin: 0 !important; }
.hms-pp__form .quantity .qty { width: 72px; height: 56px; border: 1.5px solid #E2D9EC; border-radius: 999px; text-align: center; font-weight: 800; font-size: 16px; color: #13204A; background: #FFFFFF; }
.hms-pp__form .single_add_to_cart_button, .hms .hms-pp__form .single_add_to_cart_button, .hms-pp__btn {
	flex: 1; min-width: 120px; height: 56px; padding: 0 18px; border: 0; border-radius: 999px; background: #13204A; color: #FFF8EE;
	font: inherit; font-size: 15px; font-weight: 800; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; text-align: center; line-height: 1.15;
}

@media (hover: hover) and (pointer: fine) { .hms .hms-pp__form .single_add_to_cart_button:hover, .hms-pp__btn:hover { background: #13204A; color: #FFF8EE; } }
.hms-pp-buy, .hms .hms-pp__form .single_add_to_cart_button.hms-pp-buy {
	flex: 1; min-width: 120px; height: 56px; padding: 0 18px; border: 0; border-radius: 999px; cursor: pointer;
	background: var(--hms-gold-grad, linear-gradient(100deg, #FFE7A3, #FFC94A 45%, #F4A20C)); color: #13204A;
	font: inherit; font-size: 15px; font-weight: 800; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.15;
}

@media (hover: hover) and (pointer: fine) { .hms .hms-pp__form .single_add_to_cart_button.hms-pp-buy:hover { background: var(--hms-gold-grad, linear-gradient(100deg, #FFE7A3, #FFC94A 45%, #F4A20C)); color: #13204A; } }
.hms-pp-buy__when { font-size: 11px; font-weight: 700; }
.hms-pp__form .single_add_to_cart_button.disabled { opacity: .55; cursor: not-allowed; }
.hms-pp__form .single_add_to_cart_button:focus-visible, .hms-pp-buy:focus-visible, .hms-pp__btn:focus-visible { outline: 3px solid #C0186A; outline-offset: 3px; }
.hms-pp--pack .hms-pp__form .woocommerce-variation-add-to-cart > .quantity,
.hms-pp--pack .hms-pp__form .single_add_to_cart_button { display: none !important; }
.hms-pp-packbtns { flex: 1 1 100%; display: flex; gap: var(--hms-g3, 13px); }

/* Delivery box */
.hms-pp-del { flex: 1 1 100%; border-radius: 18px; background: #F1F7F3; padding: 16px 18px; display: flex; flex-direction: column; gap: 8px; font-size: 13px; color: #3F4A45; }
.hms-pp-del__row { display: flex; align-items: center; gap: 10px; color: #1F6B3A; }
.hms-pp-del__pin { flex: 1; display: flex; align-items: center; gap: 10px; color: #3F4A45; }
.hms-pp-del__pin input { flex: 1; max-width: 140px; height: 40px; padding: 0 12px; border-radius: 10px; border: 1.5px solid #BFD9C8; background: #FFFFFF; font: inherit; font-weight: 700; color: #13204A; }
.hms-pp-del__date { margin: 0; font-size: 18px; font-weight: 800; color: #1F6B3A; }
.hms-pp-del__cut, .hms-pp-del__small { margin: 0; }
.hms-pp-del__small { font-size: 11px; color: #6B7570; }
.hms-pp-del__event { display: flex; align-items: center; gap: 10px; padding-top: 8px; border-top: 1px dashed #BFD9C8; color: #13204A; }
.hms-pp-del__event.is-tight, .hms-pp-del__event.is-late { color: #8E0E4B; }
.hms-pp-del__tick { flex: none; width: 22px; height: 22px; border-radius: 50%; background: #1F6B3A; color: #FFFFFF; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; }
.hms-pp-del__event.is-tight .hms-pp-del__tick, .hms-pp-del__event.is-late .hms-pp-del__tick { background: #C0186A; }
.hms-pp-del__change { margin-left: auto; border: 0; background: none; padding: 6px; font: inherit; font-weight: 700; color: #8E0E4B; cursor: pointer; text-decoration: underline; }
.hms-pp-del__safe { margin: 0; font-weight: 700; color: #8E0E4B; }
.hms-pp-del__ask { display: flex; align-items: center; gap: 10px; }
.hms-pp-del__ask input { height: 40px; padding: 0 10px; border-radius: 10px; border: 1.5px solid #BFD9C8; background: #FFFFFF; font: inherit; color: #13204A; }
.hms-pp-del [hidden] { display: none !important; }

/* Pack builder */
.hms-pp-pack { flex: 1 1 100%; display: flex; flex-direction: column; gap: 10px; }
.hms-pp-pack .hms-pp__label { margin: 0; }
.hms-pp-pack__row { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.hms-pp-qty { display: flex; align-items: center; border: 1.5px solid #E2D9EC; border-radius: 999px; background: #FFFFFF; }
.hms-pp-qty button { width: 40px; height: 44px; border: 0; background: none; font-size: 20px; color: #13204A; cursor: pointer; }
.hms-pp-qty input { width: 48px; height: 44px; border: 0; text-align: center; font: inherit; font-weight: 800; color: #13204A; background: none; -moz-appearance: textfield; }
.hms-pp-qty input::-webkit-outer-spin-button, .hms-pp-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.hms-pp-chip { height: 44px; min-width: 44px; padding: 0 10px; border-radius: 999px; border: 1.5px solid #E2D9EC; background: #FFFFFF; color: #13204A; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.hms-pp-chip[aria-pressed="true"] { background: #13204A; border-color: #13204A; color: #FFF8EE; }
.hms-pp-pack__spare { display: flex; align-items: center; gap: 10px; font-size: 13px; cursor: pointer; }
.hms-pp-pack__spare input { width: 20px; height: 20px; margin: 0; accent-color: #C0186A; }
.hms-pp-pack__mix { border-radius: 18px; background: #13204A; color: #FFF8EE; padding: 16px 18px; display: flex; flex-direction: column; gap: 8px; }
.hms-pp-pack__mix[hidden] { display: none; }
.hms-pp-pack__eb { margin: 0; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 11px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: #FFC94A; }
.hms-pp-pack__eb span span { padding: 4px 10px; border-radius: 999px; background: #FFC94A; color: #13204A; letter-spacing: 0; text-transform: none; font-size: 12px; margin-right: 6px; }
.hms-pp-pack__total { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; font-size: 13px; }
.hms-pp-pack__total strong { font-size: 30px; color: #FFC94A; }
.hms-pp-pack__save { margin-left: auto; padding: 4px 10px; border-radius: 999px; background: #1F9D55; color: #FFFFFF; font-size: 12px; font-weight: 800; }
.hms-pp-pack__quote { margin: 0; padding: 12px 14px; border-radius: 14px; background: #E8F5EE; font-size: 13px; font-weight: 700; }

.hms-pp__trust { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; text-align: center; font-size: 12px; color: #5A5670; line-height: 1.3; }
.hms-pp__trust li { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.hms-pp__trust svg { color: #13204A; }
.hms-pp__help, .hms a.hms-pp__help { display: flex; align-items: center; gap: 13px; padding: 12px 14px; border-radius: 16px; background: #FFF6FA; color: #13204A; text-decoration: none; font-size: 14px; line-height: 1.35; }

@media (hover: hover) and (pointer: fine) { .hms a.hms-pp__help:hover { color: #13204A; } }
.hms-pp__aunty { flex: none; width: 44px; height: 44px; border-radius: 50%; background: #FFE3A0; overflow: hidden; display: flex; }
.hms-pp__aunty svg { width: 100%; height: 100%; }
.hms-pp__go { margin-left: auto; color: #8E0E4B; font-weight: 800; }

/* ---- Sections below ---- */
.hms-pp__sec { margin-top: var(--hms-g6, 55px); }
.hms-pp__h2, .hms h2.hms-pp__h2 { margin: 0 0 var(--hms-g4, 21px); display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 13px; font-weight: 400; color: #13204A; }
.hms-pp__h2 .hms-fr { font-size: clamp(26px, 2.4vw, 32px); font-weight: 900; }
.hms-pp__h2 .hms-sc { font-size: clamp(34px, 3vw, 42px); color: #8E0E4B; }

.hms-pp-bundle { background: #FFFFFF; border-radius: 28px; padding: var(--hms-g5, 34px); }
.hms-pp-bundle__grid { display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)) minmax(260px, 320px); gap: var(--hms-g4, 21px); align-items: stretch; }
.hms-pp-bundle__item { display: flex; flex-direction: column; gap: 6px; cursor: pointer; min-width: 0; }
.hms-pp-bundle__img { position: relative; display: block; aspect-ratio: 4 / 3; border-radius: 18px; overflow: hidden; background: #FFF4D6; }
.hms-pp-bundle__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hms-pp-bundle__img input { position: absolute; left: 10px; top: 10px; width: 22px; height: 22px; margin: 0; accent-color: #13204A; }
.hms-pp-bundle__name { font-size: 13px; font-weight: 700; line-height: 1.35; }
.hms-pp-bundle__sub { font-size: 12px; color: #5A5670; }
.hms-pp-bundle__price { font-size: 14px; font-weight: 800; color: #8E0E4B; }
.hms-pp-bundle__total { grid-column: -2 / -1; display: flex; flex-direction: column; justify-content: center; gap: 10px; padding: var(--hms-g4, 21px); border-radius: 18px; background: #FFF8EC; border: 1.5px dashed #E8C887; }
.hms-pp-bundle__total strong { font-size: 32px; }
.hms-pp-bundle__total .hms-pp__btn { flex: none; width: 100%; height: 48px; }
.hms-pp-bundle__total .hms-pp__btn:disabled { opacity: .5; cursor: not-allowed; }

.hms-pp-compare { background: #FFFFFF; border-radius: 28px; padding: var(--hms-g5, 34px); }
.hms-pp-compare__scroll { overflow-x: auto; }
.hms-pp-compare table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 14px; margin: 0; border: 0; }
.hms-pp-compare th, .hms-pp-compare td { padding: 12px 10px; border: 0; border-top: 1px solid #EEE6F2; text-align: left; background: none; }
.hms-pp-compare thead th { border-top: 0; font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #5A5670; }
.hms-pp-compare tbody th button { border: 0; background: none; padding: 0; font: inherit; font-weight: 800; color: #13204A; cursor: pointer; text-align: left; }
.hms-pp-compare__per { font-weight: 800; color: #8E0E4B; }
.hms-pp-compare__best { margin-left: 6px; padding: 2px 8px; border-radius: 999px; background: #E6F4EC; color: #1F6B3A; font-size: 11px; }

.hms-pp-reviews { display: grid; grid-template-columns: minmax(220px, 300px) minmax(0, 1fr); gap: var(--pp-gap); align-items: start; }
.hms-pp-reviews__score { margin: 0; font-size: 55px; font-weight: 900; line-height: 1; }
.hms-pp-reviews__sum .star-rating { margin: 8px 0 4px; color: #E8A417; }
.hms-pp-reviews__n, .hms-pp-reviews__none { margin: 4px 0 0; font-size: 13px; color: #5A5670; line-height: 1.5; }
.hms-pp-reviews__bars { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.hms-pp-reviews__bars li { display: flex; align-items: center; gap: 8px; font-size: 12px; color: #5A5670; }
.hms-pp-reviews__bars li > span:first-child { width: 28px; }
.hms-pp-reviews__bars li > span:last-child { width: 34px; text-align: right; }
.hms-pp-reviews__bar { flex: 1; height: 6px; border-radius: 3px; background: #EEE6F2; overflow: hidden; }
.hms-pp-reviews__bar span { display: block; height: 6px; background: #E8A417; }
.hms-pp-reviews__list #reviews { margin: 0; }
.hms-pp-reviews__list .woocommerce-Reviews-title { display: none; }
.hms-pp-reviews__list .commentlist { list-style: none; margin: 0 0 var(--hms-g4, 21px); padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--hms-g4, 21px); }
.hms-pp-reviews__list .commentlist li { margin: 0; padding: 16px; border-radius: 22px; background: #FFFFFF; }
.hms-pp-reviews__list .commentlist .avatar { display: none; }
.hms-pp-reviews__list .comment-text { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.hms-pp-reviews__list .woocommerce-noreviews { display: none; }
.hms-pp-reviews__list #review_form_wrapper { background: #FFFFFF; border-radius: 22px; padding: var(--hms-g4, 21px) var(--hms-g5, 34px); }
.hms-pp-reviews__list #reply-title { font-family: var(--hms-serif); font-weight: 900; font-size: 20px; }
.hms-pp-reviews__list textarea, .hms-pp-reviews__list input[type="text"], .hms-pp-reviews__list input[type="email"] { border-radius: 12px; border: 1.5px solid #E2D9EC; padding: 10px 12px; }
.hms-pp-reviews__list #respond .form-submit input#submit, .hms-pp-reviews__list .form-submit input[type="submit"] { height: 48px; padding: 0 24px; border: 0; border-radius: 999px; background: #13204A; color: #FFF8EE; font-weight: 800; }

.hms-pp__related { grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.hms-pp__related > li { min-width: 0; }

.hms-pp__tags { margin-top: var(--hms-g6, 55px); padding: var(--hms-g5, 34px); border-radius: 28px; background: #13204A; color: #FFF8EE; display: grid; grid-template-columns: minmax(200px, 260px) minmax(0, 1fr); gap: var(--pp-gap); }
.hms-pp__tagshead h2, .hms .hms-pp__tagshead h2 { margin: 0; font-size: 30px; font-weight: 900; color: #FFF8EE; }
.hms-pp__tagshead p { margin: 4px 0 0; font-size: 34px; color: #FFC94A; }
.hms-pp__tags dl { margin: 0; display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 13px 21px; align-items: start; }
.hms-pp__tags dt { padding-top: 9px; font-size: 11px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,248,238,.72); }
.hms-pp__tags dd { margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.hms-pp__tags dd a, .hms .hms-pp__tags dd a { height: 36px; padding: 0 14px; border-radius: 999px; background: #FFF8EE; color: #13204A; font-size: 13px; font-weight: 700; display: inline-flex; align-items: center; text-decoration: none; }

@media (hover: hover) and (pointer: fine) { .hms .hms-pp__tags dd a:hover { color: #13204A; } }

/* Toast */
.hms-pp-toast { position: fixed; z-index: 140; left: 50%; bottom: 24px; transform: translate(-50%, 20px); opacity: 0; pointer-events: none; display: flex; align-items: center; gap: 13px; padding: 12px 14px 12px 18px; border-radius: 16px; background: #1F6B3A; color: #FFFFFF; font-size: 14px; font-weight: 700; box-shadow: 0 8px 18px rgba(19,32,74,.18); transition: opacity .2s ease, transform .2s ease; }
.hms-pp-toast.is-on { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.hms-pp-toast a, .hms .hms-pp-toast a { padding: 6px 12px; border-radius: 999px; background: #FFFFFF; color: #1F6B3A; text-decoration: none; }

/* Phone / tablet bar */
.hms-pp-bar { display: none; }

/* ---- Laptops ---- */
@media (max-width: 1199px) {
	.hms-pp__hl, .hms-pp__how { grid-template-columns: minmax(0, 1fr); }
}

/* ---- Tablets and phones: one column ---- */
@media (max-width: 1023px) {
	.hms-pp__top { grid-template-columns: minmax(0, 1fr); }
	.hms-pp__media { display: contents; }
	.hms-pp__gallery { order: 1; }
	.hms-pp__buy { order: 2; }
	.hms-pp__hl { order: 3; }
	.hms-pp__how { order: 4; }
	.hms-pp-tabs { order: 5; }
	.hms-pp__hl, .hms-pp__how, .hms-pp-tabs { margin-left: 0; }
	.hms-pp__hl, .hms-pp__how { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.hms-pp-bundle__grid { grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); }
	.hms-pp-bundle__total { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-start; column-gap: var(--hms-g4, 21px); }
	.hms-pp-bundle__total .hms-pp__btn { width: auto; margin-left: auto; padding: 0 28px; }
	.hms-pp-bundle__total { grid-column: 1 / -1; }
	.hms-pp-reviews, .hms-pp__tags { grid-template-columns: minmax(0, 1fr); }
	.hms-pp__related { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.hms-pp__related > li:nth-child(n/**/+4) { display: none; }
}
@media (max-width: 599px) {
	.hms-pp__wrap { padding-bottom: var(--hms-g6, 55px); }
	.hms-pp__gallery { flex-direction: column-reverse; gap: 8px; }
	.hms-pp__thumbs { flex-direction: row; max-height: none; overflow-x: auto; }
	.hms-pp__thumb { width: 56px; height: 56px; border-radius: 12px; }
	.hms-pp__stage { border-radius: 22px; }
	.hms-pp__buy { padding: var(--hms-g4, 21px); border-radius: 22px; gap: var(--hms-g3, 13px); }
	.hms-pp__amount { font-size: 32px; }
	.hms-pp__hl, .hms-pp__how { grid-template-columns: minmax(0, 1fr); }
	.hms-pp__trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hms-pp-tabs { padding: 4px 16px 16px; }
	.hms-pp-tabs__dl, .hms-pp-tabs__kit { grid-template-columns: minmax(0, 1fr); }
	.hms-pp-bundle, .hms-pp-compare { padding: var(--hms-g4, 21px); border-radius: 22px; }
	.hms-pp-bundle__grid { grid-template-columns: minmax(0, 1fr); gap: var(--hms-g3, 13px); }
	.hms-pp-bundle__item { display: grid; grid-template-columns: 76px minmax(0, 1fr); column-gap: var(--hms-g3, 13px); row-gap: 2px; align-content: center; }
	.hms-pp-bundle__img { grid-row: 1 / span 3; aspect-ratio: 1 / 1; border-radius: 14px; }
	.hms-pp-bundle__img input { left: 6px; top: 6px; width: 20px; height: 20px; }
	.hms-pp__tags { padding: var(--hms-g4, 21px); border-radius: 22px; }
	.hms-pp__tags dl { grid-template-columns: minmax(0, 1fr); gap: 6px; }
	.hms-pp__tags dt { padding-top: 6px; }
	.hms-pp__related { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hms-pp__related > li:nth-child(4) { display: block; }
	.hms-pp-bundle__total { flex-direction: column; align-items: stretch; }
	.hms-pp-bundle__total .hms-pp__btn { width: 100%; margin-left: 0; }
	.hms-pp__form .single_add_to_cart_button, .hms-pp-buy { min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.hms-pp__img, .hms-pp-bar, .hms-pp-toast { transition: none; }
}

/* Review stars: our own, so they never depend on an icon font. Click picks; no hover change. */
.hms-pp p.stars { margin: 4px 0 0; line-height: 1; }
.hms-pp p.stars span { display: inline-flex; gap: 2px; }
.hms-pp p.stars a { position: relative; display: inline-block; width: 30px; height: 30px; overflow: hidden; text-indent: -999em; color: transparent; text-decoration: none; }
/* v1.10.12: WooCommerce swaps the star for an icon-font glyph on hover and
 * after a click; that font isn't loaded, so it showed empty squares. The
 * star is now always the same character; only its colour changes. */
body.hms .hms-pp p.stars a::before, body.hms .hms-pp p.stars.selected a::before, body.hms .hms-pp p.stars.selected a.active::before, body.hms .hms-pp p.stars.selected a.active ~ a::before, body.hms .hms-pp p.stars.selected a:not(.active)::before {
	content: "★" !important; position: absolute; inset: 0; width: auto; height: auto; text-indent: 0;
	font: 400 28px/30px Arial, "Segoe UI Symbol", sans-serif !important; text-align: center; color: #E2D9EC; border: 0; transition: color .12s ease;
}
@media (hover: hover) and (pointer: fine) { body.hms .hms-pp p.stars:hover a::before, body.hms .hms-pp p.stars a:hover ~ a::before {
	content: "★" !important; position: absolute; inset: 0; width: auto; height: auto; text-indent: 0;
	font: 400 28px/30px Arial, "Segoe UI Symbol", sans-serif !important; text-align: center; color: #E2D9EC; border: 0; transition: color .12s ease;
} }
/* Picked: gold up to the chosen star. */
body.hms .hms-pp p.stars.selected a::before, body.hms .hms-pp p.stars.selected a:not(.active)::before, body.hms .hms-pp p.stars.selected a.active::before { color: #E8A417; }
body.hms .hms-pp p.stars.selected a.active ~ a::before { color: #E2D9EC; }
/* Pointing at a star shows what you'd pick (also after picking). */
@media (hover: hover) {
	body.hms .hms-pp p.stars:hover a::before, body.hms .hms-pp p.stars.selected:hover a::before { color: #E8A417 !important; }
	body.hms .hms-pp p.stars a:hover ~ a::before, body.hms .hms-pp p.stars.selected a:hover ~ a::before { color: #E2D9EC !important; }
}
body.hms .hms-pp p.stars a:focus-visible { outline: 2px solid #C0186A; outline-offset: 2px; border-radius: 4px; }
.hms-pp .star-rating { position: relative; display: inline-block; width: 5.4em; height: 1.1em; overflow: hidden; font: 400 15px/1.1 Arial, sans-serif; letter-spacing: .08em; }
.hms-pp .star-rating::before { content: "★★★★★"; position: absolute; left: 0; top: 0; color: #E2D9EC; font-family: Arial, sans-serif; }
.hms-pp .star-rating span { position: absolute; left: 0; top: 0; overflow: hidden; padding-top: 1.5em; color: transparent; }
.hms-pp .star-rating span::before { content: "★★★★★"; position: absolute; left: 0; top: 0; color: #E8A417; font-family: Arial, sans-serif; }

/* =========================================================================
 * v1.10.0 — guard: the Add to cart / Buy now row keeps its look whatever
 * the parent theme or plugins do to WooCommerce buttons (capitals, sizes,
 * floats, blue hover). ":not(#hms-g)" only raises the rule's weight.
 * ========================================================================= */
body.hms .hms-pp__form form.cart:not(#hms-g),
body.hms .hms-pp__form .woocommerce-variation-add-to-cart:not(#hms-g) { display: flex; flex-wrap: wrap; align-items: center; gap: var(--hms-g3, 13px); float: none; width: 100%; }
body.hms .hms-pp__form form.cart:not(#hms-g)::before, body.hms .hms-pp__form form.cart:not(#hms-g)::after { display: none; }
body.hms .hms-pp__form form.cart.variations_form:not(#hms-g) { display: block; }
body.hms .hms-pp__form .quantity:not(#hms-g) { flex: none; float: none; margin: 0; display: flex; align-items: center; }
body.hms .hms-pp__form .quantity:not(#hms-g):has(input[type="hidden"]) { display: none; }
body.hms .hms-pp__form .quantity .qty:not(#hms-g) { width: 72px; height: 56px; margin: 0; padding: 0; border: 1.5px solid #E2D9EC; border-radius: 999px; background: #FFFFFF; color: #13204A; font: 800 16px/1 inherit; font-family: inherit; text-align: center; box-shadow: none; }
/* Parent themes that add − / + around the quantity: one tidy pill. */
body.hms .hms-pp__form .quantity:not(#hms-g):has(.minus, .plus) { height: 56px; padding: 0 4px; border: 1.5px solid #E2D9EC; border-radius: 999px; background: #FFFFFF; box-sizing: border-box; }
body.hms .hms-pp__form .quantity:has(.minus, .plus) .qty:not(#hms-g) { width: 40px; border: 0; }
body.hms .hms-pp__form .quantity :is(.minus, .plus):not(#hms-g) { width: 40px; height: 44px; margin: 0; padding: 0; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 999px; background: transparent; color: #13204A; font: 800 20px/1 inherit; font-family: inherit; text-decoration: none; }
body.hms .hms-pp__form :is(.single_add_to_cart_button, .hms-pp-buy):not(#hms-g) {
	flex: 1 1 0; float: none; width: auto; min-width: 120px; height: 56px; margin: 0; padding: 0 18px; box-sizing: border-box;
	border: 0; border-radius: 999px; box-shadow: none; cursor: pointer;
	font-family: inherit; font-size: 15px; font-weight: 800; line-height: 1.15; text-transform: none; letter-spacing: normal; text-align: center;
	display: inline-flex; align-items: center; justify-content: center;
}
body.hms .hms-pp__form .single_add_to_cart_button:not(.hms-pp-buy):not(.is-added):not(#hms-g), body.hms .hms-pp__form .single_add_to_cart_button:not(.hms-pp-buy):not(.is-added):not(#hms-g):is(:focus, .disabled, :disabled) { background: #13204A; color: #FFF8EE; }
@media (hover: hover) and (pointer: fine) { body.hms .hms-pp__form .single_add_to_cart_button:not(.hms-pp-buy):not(.is-added):not(#hms-g):is(:hover, :focus, .disabled, :disabled) { background: #13204A; color: #FFF8EE; } }
body.hms .hms-pp__form .hms-pp-buy:not(#hms-g), body.hms .hms-pp__form .hms-pp-buy:not(#hms-g):is(:focus, .disabled, :disabled) { flex-direction: column; background: var(--hms-gold-grad, linear-gradient(100deg, #FFE7A3, #FFC94A 45%, #F4A20C)); color: #13204A; }
@media (hover: hover) and (pointer: fine) { body.hms .hms-pp__form .hms-pp-buy:not(#hms-g):is(:hover, :focus, .disabled, :disabled) { flex-direction: column; background: var(--hms-gold-grad, linear-gradient(100deg, #FFE7A3, #FFC94A 45%, #F4A20C)); color: #13204A; } }
body.hms .hms-pp__form :is(.single_add_to_cart_button, .hms-pp-buy):not(#hms-g):is(.disabled, :disabled) { opacity: .55; cursor: not-allowed; }
body.hms .hms-pp__form .single_add_to_cart_button.is-added:not(#hms-g) { background: #1F6B3A; color: #FFFFFF; }
body.hms .hms-pp__form .hms-pp-buy__when:not(#hms-g) { font-size: 11px; font-weight: 700; text-transform: none; letter-spacing: normal; }
body.hms .hms-pp__form .stock:not(#hms-g) { flex: 1 1 100%; margin: 0; font-size: 13px; font-weight: 700; }
body.hms .hms-pp__form > .stock:not(#hms-g), body.hms .hms-pp__form .woocommerce-variation-availability .stock:not(#hms-g) { margin: 0 0 var(--hms-g3, 13px); }
/* Our own buttons on the product page keep their colours on hover/focus. */
body.hms .hms-pp :is(.hms-pp__thumb, .hms-pp-sw__btn, .hms-pp-chip):not(#hms-g) { text-transform: none; letter-spacing: normal; font-family: inherit; }
body.hms .hms-pp .hms-pp__thumb:not(.hms-pp__thumb--video):not(#hms-g):is(:focus) { background: #FFFFFF; color: inherit; }
@media (hover: hover) and (pointer: fine) { body.hms .hms-pp .hms-pp__thumb:not(.hms-pp__thumb--video):not(#hms-g):is(:hover, :focus) { background: #FFFFFF; color: inherit; } }
body.hms .hms-pp .hms-pp__thumb--video:not(#hms-g), body.hms .hms-pp .hms-pp__thumb--video:not(#hms-g):is(:focus) { background: #13204A; color: #FFC94A; letter-spacing: .14em; text-transform: uppercase; }
@media (hover: hover) and (pointer: fine) { body.hms .hms-pp .hms-pp__thumb--video:not(#hms-g):is(:hover, :focus) { background: #13204A; color: #FFC94A; letter-spacing: .14em; text-transform: uppercase; } }
@media (max-width: 599px) {
	body.hms .hms-pp__form :is(.single_add_to_cart_button, .hms-pp-buy):not(#hms-g) { min-width: 0; }
}
body.hms .hms-pp .hms-pp-sw__btn:not(#hms-g):is(:focus) { background: #FFFFFF; color: #13204A; }
@media (hover: hover) and (pointer: fine) { body.hms .hms-pp .hms-pp-sw__btn:not(#hms-g):is(:hover, :focus) { background: #FFFFFF; color: #13204A; } }
body.hms .hms-pp .hms-pp-sw__btn[aria-pressed="true"]:not(#hms-g), body.hms .hms-pp .hms-pp-sw__btn[aria-pressed="true"]:not(#hms-g):is(:focus) { background: #FFF8EC; color: #13204A; }
@media (hover: hover) and (pointer: fine) { body.hms .hms-pp .hms-pp-sw__btn[aria-pressed="true"]:not(#hms-g):is(:hover, :focus) { background: #FFF8EC; color: #13204A; } }
body.hms .hms-pp .hms-pp-chip:not(#hms-g):is(:focus) { background: #FFFFFF; color: #13204A; }
@media (hover: hover) and (pointer: fine) { body.hms .hms-pp .hms-pp-chip:not(#hms-g):is(:hover, :focus) { background: #FFFFFF; color: #13204A; } }
body.hms .hms-pp .hms-pp-chip[aria-pressed="true"]:not(#hms-g), body.hms .hms-pp .hms-pp-chip[aria-pressed="true"]:not(#hms-g):is(:focus) { background: #13204A; color: #FFF8EE; }
@media (hover: hover) and (pointer: fine) { body.hms .hms-pp .hms-pp-chip[aria-pressed="true"]:not(#hms-g):is(:hover, :focus) { background: #13204A; color: #FFF8EE; } }
body.hms .hms-pp-tabs__list button:not(#hms-g), body.hms .hms-pp-tabs__list button:not(#hms-g):is(:focus) { background: none; color: #5A5670; padding: 0 14px; border: 0; border-radius: 0; font-family: inherit; font-size: 14px; line-height: normal; }
@media (hover: hover) and (pointer: fine) { body.hms .hms-pp-tabs__list button:not(#hms-g):is(:hover, :focus) { background: none; color: #5A5670; padding: 0 14px; border: 0; border-radius: 0; font-family: inherit; font-size: 14px; line-height: normal; } }
body.hms .hms-pp-tabs__list button[aria-selected="true"]:not(#hms-g), body.hms .hms-pp-tabs__list button[aria-selected="true"]:not(#hms-g):is(:focus) { color: #13204A; }
@media (hover: hover) and (pointer: fine) { body.hms .hms-pp-tabs__list button[aria-selected="true"]:not(#hms-g):is(:hover, :focus) { color: #13204A; } }

/* v1.10.1 — the action row (built by hms-product.js): always side by side. */
body.hms .hms-pp__form .hms-pp-actions:not(#hms-g) { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: var(--hms-g3, 13px) !important; width: 100% !important; margin: 0 !important; padding: 0 !important; float: none !important; clear: both; }
body.hms .hms-pp__form .hms-pp-actions > .quantity:not(#hms-g) { flex: 0 0 auto !important; float: none !important; width: auto !important; margin: 0 !important; }
body.hms .hms-pp__form .hms-pp-actions > :is(.single_add_to_cart_button, .hms-pp-buy):not(#hms-g) { display: inline-flex !important; flex: 1 1 0 !important; float: none !important; width: auto !important; max-width: none !important; min-width: 0 !important; margin: 0 !important; position: static !important; }
body.hms .hms-pp__form .hms-pp-actions > .hms-pp-buy:not(#hms-g) { flex-direction: column !important; }
body.hms .hms-pp__form .hms-pp-actions ~ br, body.hms .hms-pp__form .hms-pp-actions > br { display: none; }
/* =========================================================================
 * v1.10.2 — buy box spacing and the delivery box.
 * The form stacks its parts (delivery box, then the button row) with a
 * clear gap; the button row lays itself out. The delivery box fills the
 * card and its two inputs share one left edge and stretch to the right.
 * ========================================================================= */
body.hms .hms-pp__form form.cart:has(.hms-pp-actions):not(#hms-g),
body.hms .hms-pp__form .woocommerce-variation-add-to-cart:has(> .hms-pp-actions):not(#hms-g) { display: block !important; }
body.hms .hms-pp__form .hms-pp-del:not(#hms-g) { display: flex !important; flex-direction: column; box-sizing: border-box; width: 100% !important; max-width: none !important; float: none !important; margin: 0 !important; }
body.hms .hms-pp__form .hms-pp-actions:not(#hms-g) { margin-top: 16px !important; }
body.hms .hms-pp__form .hms-pp-del__row:not(#hms-g) { width: 100%; }
body.hms .hms-pp__form :is(.hms-pp-del__pin, .hms-pp-del__ask):not(#hms-g) { flex: 1 1 0; display: flex; align-items: center; gap: 10px; width: auto; min-width: 0; margin: 0; }
body.hms .hms-pp__form .hms-pp-del__pin > span:not(#hms-g) { flex: 0 0 96px; white-space: nowrap; }
body.hms .hms-pp__form .hms-pp-del__ask > span:not(#hms-g) { flex: 0 0 124px; white-space: nowrap; }
body.hms .hms-pp__form :is(.hms-pp-del__pin, .hms-pp-del__ask) input:not(#hms-g) { flex: 1 1 auto; width: auto; min-width: 0; max-width: none; height: 42px; margin: 0; box-sizing: border-box; }
/* Narrow phones: the date gets its own full-width line under its label. */
@media (max-width: 400px) {
	body.hms .hms-pp__form .hms-pp-del__pin > span:not(#hms-g) { flex: none; }
	body.hms .hms-pp__form .hms-pp-del__ask:not(#hms-g) { flex-wrap: wrap; gap: 6px 10px; }
	body.hms .hms-pp__form .hms-pp-del__ask > span:not(#hms-g) { flex: 0 0 100%; }
}
@media (max-width: 359px) {
	body.hms .hms-pp__form .hms-pp-del:not(#hms-g) { padding: 14px; }
}
/* Price line: price, "incl. all taxes", free delivery chip in one line when
 * they fit; whatever doesn't fit moves to the next line on the left. */
body.hms .hms-pp__price:not(#hms-g) { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: baseline; }
body.hms .hms-pp__price > *:not(#hms-g) { margin-left: 0; margin-right: 0; float: none; }
body.hms .hms-pp__form .hms-pp-del__row > svg:not(#hms-g) { flex: none; width: 18px; height: 18px; }
body.hms .hms-pp__form table.variations tr:last-child:not(#hms-g) { margin-bottom: 0; }

/* v1.10.3 — the Add to cart / Buy now bar is for phones only. On tablets the
 * real buttons are one short scroll away. v1.10.4: it is "sticky" (rides on
 * the bottom edge, ends right under the footer), so no space is kept for it. */
body.hms.single-product { padding-bottom: 0; }
@media (max-width: 767px) {
	.hms-pp-bar {
		position: sticky; z-index: 120; left: auto; right: auto; bottom: 0; width: 100%; box-sizing: border-box; display: flex; align-items: center; gap: 10px;
		padding: 10px var(--hms-g3, 13px) calc(12px + env(safe-area-inset-bottom, 0px)); background: #13204A; color: #FFF8EE;
		transition: transform .25s ease;
	}
	.hms-pp-bar.is-hidden { transform: translateY(110%); }
	.hms-pp-bar__price { flex: none; max-width: 30%; font-family: var(--hms-serif); font-weight: 900; font-size: 20px; color: #FFC94A; line-height: 1.1; }
	.hms-pp-bar__price del { display: none; }
	.hms-pp-bar__price ins { text-decoration: none; }
	.hms-pp-bar__price small { display: block; margin-top: 2px; white-space: nowrap; font-family: var(--hms-sans); font-size: 11px; font-weight: 700; color: #FFF8EE; }
	.hms-pp-bar__add, .hms-pp-bar__buy { flex: 1; height: 48px; border: 0; border-radius: 999px; font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; }
	.hms-pp-bar__add { background: #FFF8EE; color: #13204A; }
	.hms-pp-bar__buy { background: var(--hms-gold-grad, linear-gradient(100deg, #FFE7A3, #FFC94A 45%, #F4A20C)); color: #13204A; }
	.hms-pp-toast { bottom: 88px; }
	#ast-scroll-top { bottom: calc(84px + env(safe-area-inset-bottom, 0px)) !important; }
}

/* =========================================================================
 * v1.10.3 — quantity: the theme's own − 1 + (the parent theme's − / + are
 * removed). Row 1: "Quantity", the stepper and, when needed, "Only N in
 * stock". Row 2: Add to cart and Buy now side by side. Same on every screen.
 * ========================================================================= */
body.hms .hms-pp__form .hms-pp-actions:not(#hms-g) { flex-wrap: wrap !important; row-gap: 14px !important; column-gap: 13px !important; }
body.hms .hms-pp__form .hms-pp-actions > .hms-qty-line:not(#hms-g) { order: 0; flex: 0 0 100%; display: flex; align-items: center; gap: 13px; min-width: 0; }
body.hms .hms-pp__form .hms-qty-line > .hms-qty__label:not(#hms-g) { flex: none; margin: 0; font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: #5A5670; }
body.hms .hms-pp__form .hms-qty-line > .quantity.hms-qty:not(#hms-g) { flex: none; display: inline-flex !important; align-items: center; gap: 2px; height: 48px; padding: 0 4px; border: 1.5px solid #E2D9EC; border-radius: 999px; background: #FFFFFF; box-sizing: border-box; }
body.hms .hms-pp__form .hms-qty-line > .quantity.hms-qty .qty:not(#hms-g) { width: 40px; height: 40px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; text-align: center; font: 800 16px/1 var(--hms-sans); color: #13204A; -moz-appearance: textfield; appearance: textfield; }
body.hms .hms-pp__form .hms-qty .qty::-webkit-outer-spin-button, body.hms .hms-pp__form .hms-qty .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
body.hms .hms-pp__form .hms-qty > :is(.minus, .plus):not(#hms-g) { display: none !important; }
body.hms .hms-pp__form .hms-qty__btn:not(#hms-g) { flex: none; width: 38px; height: 38px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #13204A; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: none; transition: background-color .15s ease; }

@media (hover: hover) and (pointer: fine) { body.hms .hms-pp__form .hms-qty__btn:not(#hms-g):hover { background: #F4EEF8; color: #13204A; } }
body.hms .hms-pp__form .hms-qty__btn[aria-disabled="true"]:not(#hms-g) { opacity: .35; cursor: default; }

@media (hover: hover) and (pointer: fine) { body.hms .hms-pp__form .hms-qty__btn[aria-disabled="true"]:not(#hms-g):hover { background: transparent; } }
body.hms .hms-pp__form .hms-qty__btn:focus-visible { outline: 3px solid #C0186A; outline-offset: 1px; }
body.hms .hms-pp__form .hms-qty-line > .hms-qty__msg:not(#hms-g) { flex: 1 1 0; min-width: 0; margin: 0; display: block; font-size: 13px; font-weight: 700; line-height: 1.3; color: #8E0E4B; }
body.hms .hms-pp__form .hms-qty-line > .hms-qty__msg[hidden]:not(#hms-g) { visibility: hidden; }
body.hms .hms-pp__form .hms-pp-actions:has(> .hms-qty-line) > :is(.single_add_to_cart_button, .hms-pp-buy):not(#hms-g) { order: 3; flex: 1 1 calc(50% - 7px) !important; white-space: nowrap; }
@media (max-width: 359px) {
	body.hms .hms-pp__form .hms-pp-actions:not(#hms-g) { column-gap: 8px !important; }
	body.hms .hms-pp__form .hms-pp-actions:has(> .hms-qty-line) > :is(.single_add_to_cart_button, .hms-pp-buy):not(#hms-g) { flex-basis: calc(50% - 4px) !important; padding-left: 8px !important; padding-right: 8px !important; }
}
/* v1.10.7: three reasons-to-buy (cash on delivery hidden) share the row evenly on every screen. */
body.hms .hms-pp__trust:has(> li:nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* =========================================================================
 * v1.10.8 — Back-in-stock waitlist (CommerceKit), in the HMS design.
 * Sold-out product: a clear "Sold out" line, then the "Get notified" button
 * where Add to cart would be. The form opens in a soft HMS pop-up (a
 * bottom sheet on phones). CommerceKit keeps the sign-ups and emails.
 * ========================================================================= */
body.hms .hms-pp__form.has-waitlist .stock.out-of-stock { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 12px; padding: 6px 12px; border-radius: 999px; background: #FCE8EC; color: #A3122F; font-size: 13px; font-weight: 800; }
body.hms .hms-pp__form.has-waitlist .stock.out-of-stock::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
body.hms .hms-pp__form #ckwtl-button2:not(#hms-g),
body.hms .hms-pp__form #ckwtl-button3:not(#hms-g) {
	display: block; width: 100%; min-width: 0; height: 56px; margin: 0; padding: 0 24px; float: none; box-sizing: border-box;
	border: 0; border-radius: 999px; background: #13204A;
	color: #FFF8EE; font: 800 16px/56px var(--hms-sans); text-align: center; text-transform: none; letter-spacing: normal; cursor: pointer; box-shadow: none; transition: background-color .2s ease;
}

@media (hover: hover) and (pointer: fine) { body.hms .hms-pp__form #ckwtl-button2:not(#hms-g):hover, body.hms .hms-pp__form #ckwtl-button3:not(#hms-g):hover { background-color: #22336B; color: #FFF8EE; } }
body.hms .hms-pp__form #ckwtl-button2:focus-visible, body.hms .hms-pp__form #ckwtl-button3:focus-visible { outline: 3px solid #C0186A; outline-offset: 3px; }
body.hms .hms-pp__form form.variations_form #ckwtl-button3:not(#hms-g) { margin-top: 16px; }
.hms-wl__note { margin: 10px 0 0; font-size: 13px; line-height: 1.5; color: #5A5670; text-align: center; }

/* The pop-up */
body.hms #commercekit-waitlist-popup { align-items: center; justify-content: center; padding: 16px; box-sizing: border-box; background: rgba(11, 20, 51, .55); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
body.hms #commercekit-waitlist-wrap { width: 100%; max-width: 460px; margin: 0 auto; border-radius: 26px; background: #FFFDF8; color: #13204A; box-shadow:  0 8px 18px rgba(11, 20, 51, .14); overflow: hidden; }
body.hms #commercekit-waitlist-close { top: 14px; right: 14px; width: 40px; height: 40px; border-radius: 50%; background: #FFFFFF; color: #13204A; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(19, 32, 74, .12); z-index: 2; }
body.hms #commercekit-waitlist-close svg { width: 20px; height: 20px; }
body.hms .commercekit-waitlist-head { gap: 14px; padding: 22px 64px 18px 22px; background: linear-gradient(180deg, #FFF1D9, #FFFDF8); }
body.hms .commercekit-waitlist-head .cgkit-product-image { width: 72px; min-width: 72px; height: 72px; border-radius: 16px; overflow: hidden; background: #FFFFFF; box-shadow: 0 2px 8px rgba(19, 32, 74, .1); }
body.hms .commercekit-waitlist-head .cgkit-product-image img { width: 100%; height: 100%; max-height: none; object-fit: cover; }
body.hms .commercekit-waitlist-head .cgkit-product-info { padding: 0; min-width: 0; }
body.hms .commercekit-waitlist-head .cgkit-product-name { margin: 0 0 4px; font: 700 15px/1.35 var(--hms-sans); color: #13204A; }
body.hms .commercekit-waitlist-head .cgkit-product-rating:empty { display: none; }
body.hms .commercekit-waitlist-head .cgkit-product-price { margin: 0; font-size: 14px; font-weight: 800; color: #8E0E4B; }
body.hms .commercekit-waitlist-head .cgkit-product-price del { color: #8C879B; font-weight: 600; margin-right: 4px; }
body.hms .commercekit-waitlist-head .cgkit-product-price ins { text-decoration: none; }
body.hms #commercekit-waitlist-popup .commercekit-waitlist { margin: 0; padding: 6px 22px 24px; border: 0; background: transparent; box-shadow: none; }
body.hms #commercekit-waitlist-wrap .commercekit-waitlist p { margin: 0 0 14px; font-family: var(--hms-serif); font-variation-settings: "SOFT" 100; font-weight: 800; font-size: 22px; line-height: 1.2; color: #13204A; }
body.hms .commercekit-waitlist #ckwtl-email { display: block; width: 100%; height: 52px; margin: 0 0 12px; padding: 0 18px; box-sizing: border-box; border: 1.5px solid #E2D9EC; border-radius: 999px; background: #FFFFFF; color: #13204A; font: 600 15px var(--hms-sans); box-shadow: none; }
body.hms .commercekit-waitlist #ckwtl-email:focus { outline: none; border-color: #13204A; box-shadow: 0 0 0 3px rgba(19, 32, 74, .12); }
body.hms .commercekit-waitlist #ckwtl-email.error { border-color: #C0186A; }
body.hms .commercekit-waitlist label { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 16px; font-size: 13px; line-height: 1.45; color: #5A5670; cursor: pointer; }
body.hms .commercekit-waitlist label.error { color: #A3122F; }
body.hms .commercekit-waitlist label input { top: 0; flex: none; width: 18px; height: 18px; margin: 0; accent-color: #13204A; }
body.hms .commercekit-waitlist #ckwtl-button { display: block; width: 100%; height: 52px; margin: 0; padding: 0 20px; border: 0; border-radius: 999px; background: #13204A; color: #FFF8EE; font: 800 15px var(--hms-sans); text-transform: none; letter-spacing: normal; cursor: pointer; transition: background-color .2s ease, opacity .2s ease; }

@media (hover: hover) and (pointer: fine) { body.hms .commercekit-waitlist #ckwtl-button:hover { background: #22336B; color: #FFF8EE; } }
body.hms .commercekit-waitlist #ckwtl-button:disabled { opacity: .45; cursor: not-allowed; }

@media (hover: hover) and (pointer: fine) { body.hms .commercekit-waitlist #ckwtl-button:disabled:hover { background: #13204A; } }
body.hms #commercekit-waitlist-wrap .commercekit-waitlist p.success, body.hms #commercekit-waitlist-wrap .commercekit-waitlist p.error { box-sizing: border-box; width: 100%; display: flex; align-items: flex-start; gap: 12px; margin: 4px 0 0; padding: 16px; border-radius: 18px; font: 700 15px/1.45 var(--hms-sans); }
body.hms #commercekit-waitlist-wrap .commercekit-waitlist p.success { background: #E6F4EC; color: #1F6B3A; }
body.hms #commercekit-waitlist-wrap .commercekit-waitlist p.success::before { content: "✓"; flex: none; width: 26px; height: 26px; border-radius: 50%; background: #1F6B3A; color: #FFFFFF; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; }
body.hms #commercekit-waitlist-wrap .commercekit-waitlist p.error { background: #FCE8EC; color: #A3122F; }
@media (max-width: 599px) {
	body.hms #commercekit-waitlist-popup { align-items: flex-end; padding: 0; }
	body.hms #commercekit-waitlist-wrap { max-width: none; border-radius: 26px 26px 0 0; padding-bottom: env(safe-area-inset-bottom, 0px); }
	body.hms #commercekit-waitlist-wrap .commercekit-waitlist p { font-size: 20px; }
}

/* v1.10.12: never show Astra's sticky add-to-cart copy of the product. */
body.hms .ast-sticky-add-to-cart { display: none !important; }
/* v1.10.13: nor CommerceKit's sticky copy of the buy box. */
body.hms.single-product :is(form.commercekit_sticky-atc, .commercekit-sticky-add-to-cart, .commercekit-pdp-before-form, .commercekit-pdp-sticky-inner__close-button, #cgkit-mobile-commercekit-sticky-atc) { display: none !important; }

/* v1.10.29: the SKU in "Shipping & returns" can be selected and copied. */
body.hms .hms-pp-sku, body.hms .hms-pp-sku * { -webkit-user-select: text; user-select: text; -webkit-touch-callout: default; font-variant-numeric: tabular-nums; }
