/* Snoozer Product Page (TWG) — only loads when the new layout is active. */
body.snzpdp {
	--snz-ink: #211913;
	--snz-body: #4a3d33;
	--snz-muted: #6b5d51;
	--snz-line: #e2d7c6;
	--snz-line-2: #d9cdbd;
	--snz-cream: #fbf8f3;
	--snz-sand: #efe8dd;
	--snz-gold: #b07d43;
	--snz-blue: #2d5877;
	--snz-serif: 'Bitter', Georgia, serif;
	--snz-sans: Arial, Helvetica, sans-serif;
}
html:has(body.snzpdp-ready) { overflow-x: clip; }

/* Hide what was emptied (the gallery, sidebar callouts); everything useful was moved out */
body.snzpdp-ready .product-info { display: none !important; }

/* ---------- Full-width hero ---------- */
.snzpdp-hero {
	position: relative;
	left: 50%;
	width: 100vw;
	margin-left: -50vw;
	background: var(--snz-cream);
	color: var(--snz-ink);
	font-family: var(--snz-sans);
	margin-bottom: 32px;
	box-sizing: border-box;
}
.snzpdp-hero--outside { left: auto; width: auto; margin-left: 0; margin-bottom: 0; border-bottom: 1px solid var(--snz-line); }
.snzpdp-hero *, .snzpdp-hero *::before, .snzpdp-hero *::after { box-sizing: border-box; }
.snzpdp-inner {
	max-width: 1600px;
	margin: 0 auto;
	padding: 20px clamp(16px, 3vw, 44px) 40px;
	display: flex;
	flex-wrap: wrap;
	gap: clamp(24px, 3.4vw, 56px);
	align-items: flex-start;
}
.snzpdp-flag {
	background: #2d5877; color: #fff; font-size: 13px; text-align: center; padding: 8px 16px;
}
.snzpdp-flag a { color: #fff; text-decoration: underline; }

/* ---------- Gallery ---------- */
.snzpdp-gallery { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
@media (min-width: 900px) { .snzpdp-gallery { position: sticky; top: 90px; } }
.snzpdp-stage { position: relative; width: 100%; aspect-ratio: 5 / 4; border-radius: 6px; overflow: hidden; background: var(--snz-sand); }
.snzpdp-main { width: 100%; height: 100%; object-fit: cover; display: block; max-width: none !important; }
.snzpdp-badge {
	position: absolute; left: 16px; top: 16px; background: rgba(251,248,243,.94); color: var(--snz-ink);
	font-size: 11px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; padding: 8px 12px; border-radius: 3px;
}
.snzpdp-count {
	position: absolute; right: 16px; bottom: 16px; background: rgba(33,25,19,.78); color: #fbf8f3;
	font-size: 12px; padding: 7px 12px; border-radius: 20px;
}
.snzpdp-thumbs { display: flex; gap: 10px; overflow-x: auto; scrollbar-width: none; }
.snzpdp-thumbs::-webkit-scrollbar { display: none; }
.snzpdp-thumb {
	flex: 0 0 auto; width: 84px; height: 84px; padding: 0; border-radius: 4px; overflow: hidden; cursor: pointer;
	background: var(--snz-sand); border: 2px solid transparent; opacity: .82;
}
.snzpdp-thumb[aria-current="true"] { border-color: var(--snz-ink); opacity: 1; }
.snzpdp-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---------- Buy box ---------- */
.snzpdp-box { flex: 1 1 380px; max-width: 540px; min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.snzpdp-head { display: flex; flex-direction: column; gap: 10px; }
.snzpdp-eyebrow { margin: 0; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; font-weight: 700; color: var(--snz-gold); }
.snzpdp-head .product_title {
	margin: 0 !important; padding: 0 !important; font-family: var(--snz-serif) !important; font-weight: 600 !important;
	font-size: clamp(30px, 2.8vw, 42px) !important; line-height: 1.08 !important; letter-spacing: -.01em; color: var(--snz-ink) !important;
	text-transform: none !important; text-align: left !important;
}
.snzpdp-price .price, .snzpdp-price .price * { font-family: var(--snz-serif) !important; font-size: 26px !important; font-weight: 600 !important; color: var(--snz-ink) !important; margin: 0 !important; }
.snzpdp-head p[data-page-type="product"] { margin: 0; font-size: 13px; color: var(--snz-body); }
.snzpdp-intro p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--snz-body); }
.snzpdp-head .snoozer-sale-banner { margin: 0; }

/* Section labels (Filling, Fabric Collection, Choose Size, Choose Color) */
.snzpdp-box .iconic-wlv-variations__label strong,
.snzpdp-box .variations .option-wrap > label {
	display: block; font-family: var(--snz-sans) !important; font-size: 13px !important; letter-spacing: .06em; text-transform: uppercase;
	font-weight: 700 !important; color: var(--snz-ink) !important; margin: 0 0 10px !important;
}
.snzpdp-picked { text-transform: none; letter-spacing: 0; font-weight: 400; color: var(--snz-body); }

/* ---------- Linked products: Filling / Fabric Collection cards ---------- */
.snzpdp-linked table, .snzpdp-linked tbody, .snzpdp-linked tr, .snzpdp-linked td { display: block; width: 100%; border: 0 !important; padding: 0 !important; background: none !important; }
.snzpdp-linked tr + tr { margin-top: 18px; }
.snzpdp-linked .iconic-wlv-variations__label { display: flex; gap: 6px; align-items: baseline; margin-bottom: 10px; font-size: 13px; }
.snzpdp-linked .iconic-wlv-variations__label strong { margin: 0 !important; }
.snzpdp-linked .iconic-wlv-variations__colon { display: none; }
.snzpdp-linked .iconic-wlv-variations__selection { color: var(--snz-body); }
.snzpdp-linked .iconic-wlv-variations__selection::before { content: ': '; }
.snzpdp-linked ul.iconic-wlv-terms { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.snzpdp-linked .iconic-wlv-terms__term { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; width: auto !important; }
.snzpdp-linked .iconic-wlv-terms__term-content {
	white-space: normal !important; height: auto !important; width: auto !important; overflow: visible !important;
	display: flex !important; flex-direction: column; gap: 3px; height: 100%; padding: 12px 14px !important; border-radius: 6px !important;
	background: var(--snz-cream) !important; border: 1px solid var(--snz-line-2) !important; color: var(--snz-ink) !important;
	text-align: left !important; text-transform: none !important; text-decoration: none !important; line-height: 1.3; min-height: 0 !important;
}
.snzpdp-linked .iconic-wlv-terms__term--current .iconic-wlv-terms__term-content { background: #fff !important; border: 1.5px solid var(--snz-ink) !important; }
.snzpdp-linked a.iconic-wlv-terms__term-content:hover { border-color: var(--snz-ink) !important; }
.snzpdp-term-name { font-weight: 700; font-size: 14px; display: flex; justify-content: space-between; gap: 6px; }
.snzpdp-linked a .snzpdp-term-name::after { content: '\2192'; font-weight: 400; color: var(--snz-muted); }
.snzpdp-term-desc { font-size: 12px; line-height: 1.4; color: var(--snz-body); }
.snzpdp-linked .iconic-wlv-terms__term--outofstock .iconic-wlv-terms__term-content { opacity: .55; }

/* ---------- Variations form ---------- */
.snzpdp-box form.cart { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.snzpdp-box .variations { display: flex; flex-direction: column-reverse; gap: 22px; margin: 0 0 18px !important; } /* color first, then size */
.snzpdp-box .variations .option-wrap { display: block !important; margin: 0 !important; padding: 0 !important; float: none !important; width: auto !important; }
.snzpdp-box .variations .option-wrap > .value { display: block !important; float: none !important; width: auto !important; padding: 0 !important; }
.snzpdp-box .swatch-label { display: none !important; }
.snzpdp-box .swatch-control { display: flex !important; flex-wrap: wrap; gap: 10px; }
.snzpdp-box .swatch-control select { display: none !important; }
.snzpdp-box .swatch-wrapper { margin: 0 !important; padding: 0 !important; border: 0 !important; float: none !important; background: none !important; }

/* Color: clean circles, name shown next to the label instead */
.snzpdp-box .swatch-wrapper[data-attribute="pa_color"] { font-size: 0 !important; line-height: 0; width: auto !important; }
.snzpdp-box .swatch-wrapper[data-attribute="pa_color"] .swatch-anchor {
	display: block; width: 46px !important; height: 46px !important; padding: 3px; border-radius: 50% !important; background: #fff;
	border: 1.5px solid var(--snz-line) !important; overflow: hidden;
}
.snzpdp-box .swatch-wrapper[data-attribute="pa_color"] .swatch-anchor img { width: 100% !important; height: 100% !important; border-radius: 50%; object-fit: cover; display: block; margin: 0 !important; }
.snzpdp-box .swatch-wrapper[data-attribute="pa_color"].selected .swatch-anchor { border-color: var(--snz-ink) !important; box-shadow: 0 0 0 1px var(--snz-ink); }
.snzpdp-box .swatch-wrapper.disabled { opacity: .35; }

/* Size (and any other non-color picker): text cards */
.snzpdp-box .swatch-wrapper:not([data-attribute="pa_color"]) { flex: 1 1 0; min-width: 90px; font-size: 0 !important; }
.snzpdp-box .swatch-wrapper:not([data-attribute="pa_color"]) .swatch-anchor {
	display: flex !important; align-items: center; justify-content: center; width: 100% !important; height: 52px !important; padding: 0 10px;
	border-radius: 6px; background: var(--snz-cream); border: 1px solid var(--snz-line-2) !important; text-decoration: none !important;
}
.snzpdp-box .swatch-wrapper:not([data-attribute="pa_color"]) .swatch-anchor img { display: none !important; }
.snzpdp-box .swatch-wrapper:not([data-attribute="pa_color"]) .swatch-anchor::after {
	content: attr(title); font: 700 14px/1.2 var(--snz-sans); color: var(--snz-ink); text-align: center;
}
.snzpdp-box .swatch-wrapper:not([data-attribute="pa_color"]).selected .swatch-anchor { background: #fff; border: 1.5px solid var(--snz-ink) !important; }
.snzpdp-box .reset_variations { font-size: 12px; color: var(--snz-blue); margin-top: 6px; display: inline-block; }

.snzpdp-box .single_variation_wrap { display: flex; flex-direction: column; gap: 16px; }
.snzpdp-box .woocommerce-variation-price .price { font-family: var(--snz-serif); font-size: 22px; font-weight: 600; color: var(--snz-ink); }

/* ---------- Monogram (Product Add-Ons, unchanged fields) ---------- */
.snzpdp-box .wc-pao-addons-container { border: 1px solid var(--snz-line); border-radius: 6px; background: #fff; padding: 0; overflow: hidden; }
.snzpdp-box #monogram-visibility { position: absolute !important; opacity: 0 !important; width: 1px !important; height: 1px !important; margin: 0 !important; }
.snzpdp-box label[for="monogram-visibility"] {
	display: flex !important; align-items: center; gap: 14px; padding: 14px 16px; margin: 0 !important; cursor: pointer;
	font: inherit !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--snz-ink) !important;
}
.snzpdp-mono-text { display: flex; flex-direction: column; gap: 2px; flex: 1 1 auto; }
.snzpdp-mono-title { font-weight: 700; font-size: 14px; }
.snzpdp-mono-sub { font-size: 13px; color: var(--snz-body); }
.snzpdp-switch { flex: 0 0 auto; position: relative; width: 44px; height: 26px; border-radius: 13px; background: var(--snz-line-2); transition: background .15s; }
.snzpdp-switch::after { content: ''; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.25); transition: left .15s; }
.snzpdp-box #monogram-visibility:checked + label .snzpdp-switch { background: var(--snz-blue); }
.snzpdp-box #monogram-visibility:checked + label .snzpdp-switch::after { left: 21px; }
.snzpdp-box #monogram-visibility:focus-visible + label { outline: 2px solid var(--snz-blue); outline-offset: -2px; }
.snzpdp-box #monogram_content { margin: 0 !important; padding: 0 16px; }
.snzpdp-box #monogram-visibility:checked ~ #monogram_content { padding: 4px 16px 16px; border-top: 1px solid var(--snz-sand); }
.snzpdp-box #monogram_content .wc-pao-addon-heading { display: none; }
.snzpdp-box #monogram_content input[type="text"] { width: 100%; padding: 10px 12px; border: 1px solid var(--snz-line-2); border-radius: 4px; background: var(--snz-cream); font: 600 15px var(--snz-sans); letter-spacing: .08em; text-transform: uppercase; }
.snzpdp-box .wc-pao-addon-image-swatch img { border-radius: 4px; }

/* ---------- Add to cart ---------- */
.snzpdp-box .variations_button, .snzpdp-box .cart .quantity-box + button, .snzpdp-box form.cart > .single_add_to_cart_button { }
.snzpdp-box .woocommerce-variation-add-to-cart { display: flex; gap: 10px; align-items: stretch; flex-wrap: nowrap; }
.snzpdp-box .quantity-box { display: flex; align-items: center; margin: 0 !important; }
.snzpdp-box .quantity-box > label { display: none; }
.snzpdp-box .quantity input.qty { width: 64px !important; height: 54px !important; border: 1px solid var(--snz-line-2) !important; border-radius: 4px; text-align: center; font-weight: 700; background: #fff; }
.snzpdp-box .single_add_to_cart_button {
	flex: 1 1 auto; min-height: 54px; margin: 0 !important; border: 0 !important; border-radius: 4px !important;
	background: var(--snz-ink) !important; color: #fbf8f3 !important; font: 700 14px var(--snz-sans) !important;
	letter-spacing: .14em; text-transform: uppercase; cursor: pointer; float: none !important; width: auto !important;
}
.snzpdp-box .single_add_to_cart_button:hover { background: #3a2e26 !important; }
.snzpdp-box .single_add_to_cart_button.disabled { opacity: .55; }

/* ---------- Trust points ---------- */
.snzpdp-trust {
	list-style: none; margin: 0; padding: 16px 0 0; border-top: 1px solid var(--snz-line);
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; font-size: 13px; color: var(--snz-body);
}
.snzpdp-trust li { margin: 0; padding-left: 20px; position: relative; }
.snzpdp-trust li::before { content: ''; position: absolute; left: 0; top: 4px; width: 9px; height: 9px; border-radius: 50%; background: var(--snz-gold); }

/* ---------- Phone ---------- */
@media (max-width: 600px) {
	.snzpdp-inner { padding-top: 12px; }
	.snzpdp-stage { aspect-ratio: 1 / 1; border-radius: 0; margin: 0 calc(-1 * clamp(16px, 3vw, 44px)); width: auto; }
	.snzpdp-thumb { width: 64px; height: 64px; }
	.snzpdp-trust { grid-template-columns: 1fr; }
}

/* ---------- Theme overrides found in testing ---------- */
.snzpdp-box .variations .option-wrap > label { float: none !important; width: auto !important; }
.snzpdp-thumb, .snzpdp-thumb:hover, .snzpdp-thumb:focus { border: 2px solid transparent !important; box-shadow: none !important; background: var(--snz-sand) !important; }
.snzpdp-thumb[aria-current="true"] { border-color: var(--snz-ink) !important; }
.snzpdp-term-desc { font-weight: 400 !important; }
.snzpdp-term-name { font-weight: 700 !important; }
.snzpdp-box .woocommerce-variation-add-to-cart { width: 100%; }
.snzpdp-box .quantity-box { flex: 0 0 auto; }
.snzpdp-box .single_add_to_cart_button { flex: 1 1 0 !important; white-space: nowrap; padding: 0 16px !important; }
.snzpdp-trust li { padding-left: 20px !important; list-style: none !important; background: none !important; }
.snzpdp-box .swatch-wrapper .swatch-anchor:focus { outline: 2px solid var(--snz-blue); outline-offset: 2px; }
.snzpdp-box .quantity-box, .snzpdp-box .quantity-box .quantity { width: auto !important; float: none !important; margin: 0 !important; }
.snzpdp-box .woocommerce-variation-add-to-cart { display: flex !important; }

/* ---------- 1.1.0: fabric textures, size notes, theme background fix ---------- */
.snzpdp-linked .iconic-wlv-terms__term,
.snzpdp-linked .iconic-wlv-terms__term[data-iconic-wlv-term-label] {
	display: block !important; float: none !important; width: 100% !important; margin: 0 !important;
	background: transparent none !important; box-shadow: none !important; opacity: 1;
}
.snzpdp-linked .iconic-wlv-terms__term::before, .snzpdp-linked .iconic-wlv-terms__term::after { display: none !important; }
.snzpdp-linked .iconic-wlv-terms__term-content { width: 100% !important; box-sizing: border-box !important; font-weight: 400 !important; }
.snzpdp-linked .iconic-wlv-terms__term-content.snzpdp-has-swatch { flex-direction: row !important; align-items: center; gap: 12px; }
.snzpdp-term-text { display: flex; flex-direction: column; gap: 3px; flex: 1 1 auto; min-width: 0; }
.snzpdp-term-swatch { flex: 0 0 auto; width: 38px; height: 38px; border-radius: 50%; background-size: cover; background-position: center; box-shadow: inset 0 0 0 1px rgba(0,0,0,.12); }
.snzpdp-linked .iconic-wlv-terms__term--partial-match:not(.iconic-wlv-terms__term--current) .iconic-wlv-terms__term-content,
.snzpdp-linked .iconic-wlv-terms__term--unavailable .iconic-wlv-terms__term-content { opacity: .5; }

.snzpdp-box .swatch-wrapper[data-attribute="pa_size"] .swatch-anchor.snzpdp-size::after { content: none !important; }
.snzpdp-box .swatch-wrapper[data-attribute="pa_size"] .swatch-anchor.snzpdp-size {
	flex-direction: column; align-items: flex-start !important; justify-content: center; gap: 2px; text-align: left;
	height: auto !important; min-height: 52px; padding: 11px 12px !important;
}
.snzpdp-box .swatch-wrapper[data-attribute="pa_size"] .swatch-anchor.snzpdp-size:not(.snzpdp-size--notes) { align-items: center !important; }
.snzpdp-box .swatch-wrapper[data-attribute="pa_size"] { min-width: 120px; }
.snzpdp-size-name { font: 700 14px/1.2 var(--snz-sans); color: var(--snz-ink); }
.snzpdp-size-fit { font: 12px/1.35 var(--snz-sans); color: var(--snz-body); }
.snzpdp-size-dim { font: 12px/1.35 var(--snz-sans); color: var(--snz-muted); }
.snzpdp-linked .snzpdp-term-text { display: flex !important; flex-direction: column !important; gap: 3px; }
.snzpdp-linked .snzpdp-term-name { display: flex !important; }
.snzpdp-linked .snzpdp-term-desc { display: block !important; font-weight: 400 !important; font-size: 12px !important; line-height: 1.4 !important; }
.snzpdp-linked .iconic-wlv-terms__term .snzpdp-term-desc, .snzpdp-linked .iconic-wlv-terms__term--current .snzpdp-term-desc { font-weight: 400 !important; }
.snzpdp-box #picker_pa_size { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.snzpdp-box #picker_pa_size:has(> div.swatch-wrapper:nth-of-type(4)) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.snzpdp-box #picker_pa_size .swatch-wrapper { min-width: 0 !important; }

/* 1.1.1: breadcrumb at the top */
.snzpdp-crumbs { max-width: 1600px; margin: 0 auto; padding: 16px clamp(16px, 3vw, 44px) 0; }
.snzpdp-crumbs .breadcrumbs, .snzpdp-crumbs .woocommerce-breadcrumb { margin: 0 !important; padding: 0 !important; font-size: 12px; letter-spacing: .04em; color: var(--snz-muted); text-align: left !important; }
.snzpdp-crumbs a { color: var(--snz-muted) !important; text-decoration: none; }
.snzpdp-crumbs a:hover { color: var(--snz-ink) !important; text-decoration: underline; }
.snzpdp-hero .snzpdp-crumbs + .snzpdp-inner { padding-top: 12px; }
body.snzpdp .snzpdp-linked .iconic-wlv-terms__term-content, body.snzpdp .snzpdp-linked .iconic-wlv-terms__term-content * { font-weight: 400 !important; }
body.snzpdp .snzpdp-linked .iconic-wlv-terms__term-content .snzpdp-term-name { font-weight: 700 !important; }

/* ---------- 1.1.3: tighter buy box (image size unchanged), Coming Soon tags, quantity stepper ---------- */
.snzpdp-box { gap: 16px; }
.snzpdp-head { gap: 8px; }
.snzpdp-linked tr + tr { margin-top: 14px; }
.snzpdp-linked .iconic-wlv-variations__label { margin-bottom: 8px; }
.snzpdp-box .variations .option-wrap > label { margin-bottom: 8px !important; }
.snzpdp-linked .iconic-wlv-terms__term-content { padding: 9px 12px !important; }
.snzpdp-linked .snzpdp-term-desc { line-height: 1.35 !important; }
.snzpdp-term-swatch { width: 30px; height: 30px; }
.snzpdp-linked .iconic-wlv-terms__term-content.snzpdp-has-swatch { gap: 10px; }
.snzpdp-box .variations { gap: 16px; margin-bottom: 14px !important; }
.snzpdp-box .swatch-wrapper[data-attribute="pa_size"] .swatch-anchor.snzpdp-size { padding: 9px 11px !important; }

/* "Clear" link sat on its own line under the colors; tuck it into the label row */
.snzpdp-box .variations .option-wrap { position: relative; }
.snzpdp-box .variations .reset_variations { position: absolute; top: 0; right: 0; margin: 0 !important; line-height: 20px; }

/* Color circles: slightly smaller. Coming Soon colors get a short "Soon" pill on the bottom edge (the theme's label was clipped by the circle) */
.snzpdp-box .swatch-control:has(> .swatch-wrapper[data-attribute="pa_color"]) { gap: 12px 9px; }
.snzpdp-box .swatch-wrapper[data-attribute="pa_color"] { overflow: visible !important; }
.snzpdp-box .swatch-wrapper[data-attribute="pa_color"] .swatch-anchor { width: 42px !important; height: 42px !important; position: relative; }
.snzpdp-box .swatch-wrapper[data-attribute="pa_color"] .swatch-anchor:not(.snzpdp-soon)::after { display: none !important; }
.snzpdp-box .swatch-wrapper[data-attribute="pa_color"] .swatch-anchor.snzpdp-soon { overflow: visible !important; }
.snzpdp-box .swatch-wrapper[data-attribute="pa_color"] .swatch-anchor.snzpdp-soon::after {
	content: 'Soon' !important; display: block !important; position: absolute !important;
	top: auto !important; right: auto !important; left: 50% !important; bottom: -6px !important; transform: translateX(-50%) !important;
	width: max-content !important; height: auto !important; padding: 2px 6px !important; border-radius: 8px !important;
	white-space: nowrap !important; font: 700 9px/1.2 var(--snz-sans) !important; letter-spacing: .06em !important; text-transform: uppercase !important;
	background: var(--snz-blue) !important; color: #fff !important; z-index: 3; box-shadow: 0 0 0 2px #fbf8f3;
}

/* The theme's body overflow setting stopped the photo from staying in view while you scroll the options */
body.snzpdp-ready { overflow: visible !important; }

/* Quantity: theme arrow images replaced with a clean - 1 + stepper */
.snzpdp-box .quantity.buttons_added {
	display: flex !important; align-items: stretch; height: 54px; border: 1px solid var(--snz-line-2); border-radius: 4px; background: #fff; overflow: hidden;
}
.snzpdp-box .quantity.buttons_added input.minus,
.snzpdp-box .quantity.buttons_added input.plus {
	position: static !important; display: block !important; width: 30px !important; height: 100% !important; margin: 0 !important; padding: 0 !important;
	background: none !important; border: 0 !important; box-shadow: none !important; text-indent: 0 !important; color: var(--snz-ink) !important;
	font: 400 18px/1 var(--snz-sans) !important; cursor: pointer; -webkit-appearance: none; appearance: none;
}
.snzpdp-box .quantity.buttons_added input.minus:hover, .snzpdp-box .quantity.buttons_added input.plus:hover { background: var(--snz-cream) !important; }
.snzpdp-box .quantity.buttons_added input.qty {
	width: 36px !important; height: 100% !important; border: 0 !important; border-radius: 0; padding: 0 !important; margin: 0 !important;
	-moz-appearance: textfield; appearance: textfield;
}
.snzpdp-box .quantity.buttons_added input.qty::-webkit-outer-spin-button,
.snzpdp-box .quantity.buttons_added input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Cards in the same row were different heights and floated mid-row; make every card fill its row, content top-aligned */
.snzpdp-linked ul.iconic-wlv-terms { align-items: stretch !important; }
.snzpdp-linked .iconic-wlv-terms__term { height: 100% !important; }
.snzpdp-linked .iconic-wlv-terms__term-content { height: 100% !important; justify-content: flex-start !important; }
.snzpdp-linked .iconic-wlv-terms__term-content.snzpdp-has-swatch { align-items: flex-start !important; }
.snzpdp-linked .snzpdp-has-swatch .snzpdp-term-swatch { margin-top: 2px; }

/* ---------- 1.1.4: fabric strip across the top of each Fabric Collection card; swatch ring and Clear link fixes ---------- */
.snzpdp-linked .iconic-wlv-terms__term-content.snzpdp-has-swatch { flex-direction: column !important; align-items: stretch !important; gap: 8px !important; overflow: hidden !important; }
.snzpdp-linked .snzpdp-has-swatch .snzpdp-term-swatch {
	width: calc(100% + 24px) !important; height: 46px !important; margin: -9px -12px 0 !important; border-radius: 5px 5px 0 0 !important;
	background-size: cover !important; background-position: center !important; box-shadow: inset 0 -1px 0 rgba(0,0,0,.08) !important;
}
/* The selected color's ring was clipped by the swatch row */
.snzpdp-box .swatch-control { overflow: visible !important; padding: 2px !important; margin: -2px !important; }
/* Clear link sat on top of the Choose Color label; pin it to the right */
.snzpdp-box .variations .reset_variations { left: auto !important; right: 0 !important; top: 0 !important; float: none !important; width: auto !important; font-size: 12px !important; }

/* ---------- 1.1.5: no flash of the old buy box. It stays invisible until the new layout is built; if the script never runs, it shows after 3s. ---------- */
body.snzpdp:not(.snzpdp-ready) .product-info { opacity: 0; animation: snzpdp-reveal 0s linear 3s forwards; }
@keyframes snzpdp-reveal { to { opacity: 1; } }

/* ---------- 1.1.6: turning "Add their name" on/off jumped the page to the top. The hidden checkbox was positioned at the top of the hero, and the browser scrolled to it on focus; keep it inside the add-on box. ---------- */
.snzpdp-box .wc-pao-addons-container, .snzpdp-box .wc-pao-addon-container { position: relative !important; }
.snzpdp-box #monogram-visibility { top: 20px !important; left: 20px !important; }

/* ---------- 1.1.7: remove the thin white strip between the product area and a full-width description block below it ---------- */
body.snzpdp-ready .page-content:has(.snz-nf, #snoozer-overstuffed-desc) { padding-top: 0 !important; }
body.snzpdp-ready .page-content:has(.snz-nf, #snoozer-overstuffed-desc) .tabs .tab-content { margin-top: 0 !important; }

/* ---------- 1.1.8: cart notices sit at the top of the product area in the page's own style (no more green bar under it) ---------- */
.snzpdp-notices { max-width: 1600px; margin: 0 auto; padding: 14px clamp(16px, 3vw, 44px) 0; display: flex; flex-direction: column; gap: 8px; }
.snzpdp-notices .woocommerce-notices-wrapper { display: flex; flex-direction: column; gap: 8px; margin: 0 !important; padding: 0 !important; }
.snzpdp-notices .woocommerce-message,
.snzpdp-notices .woocommerce-info,
.snzpdp-notices .woocommerce-error {
	display: flex !important; align-items: center; gap: 14px; flex-wrap: wrap; margin: 0 !important; padding: 14px 16px 14px 18px !important;
	background: #fff !important; border: 1px solid var(--snz-line) !important; border-left: 3px solid var(--snz-ink) !important; border-radius: 6px !important;
	box-shadow: 0 1px 2px rgba(33,25,19,.06) !important; color: var(--snz-ink) !important; outline: 0 !important;
	font: 400 15px/1.4 var(--snz-sans) !important; text-transform: none !important; letter-spacing: 0 !important; list-style: none !important; min-height: 0 !important;
}
.snzpdp-notices .woocommerce-message::before,
.snzpdp-notices .woocommerce-info::before,
.snzpdp-notices .woocommerce-error::before {
	content: '\2713' !important; position: static !important; flex: 0 0 auto; display: flex !important; align-items: center; justify-content: center;
	width: 24px !important; height: 24px !important; margin: 0 !important; border-radius: 50%; background: #3f6b4f !important; color: #fff !important;
	font: 700 13px/1 var(--snz-sans) !important; text-indent: 0 !important; top: auto !important; left: auto !important;
}
.snzpdp-notices .woocommerce-error { border-left-color: #a33b2b !important; }
.snzpdp-notices .woocommerce-error::before { content: '!' !important; background: #a33b2b !important; }
.snzpdp-notices .woocommerce-info::before { content: 'i' !important; background: var(--snz-blue) !important; font-family: Georgia, serif !important; }
.snzpdp-notices .woocommerce-message::after, .snzpdp-notices .woocommerce-error::after, .snzpdp-notices .woocommerce-info::after { display: none !important; }
.snzpdp-notices .woocommerce-error li { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.snzpdp-notices .button, .snzpdp-notices a.wc-forward {
	order: 2; margin: 0 0 0 auto !important; float: none !important; padding: 10px 16px !important; border: 0 !important; border-radius: 4px !important;
	background: var(--snz-ink) !important; color: #fbf8f3 !important; font: 700 12px/1 var(--snz-sans) !important; letter-spacing: .12em !important;
	text-transform: uppercase !important; text-decoration: none !important; box-shadow: none !important; height: auto !important; line-height: 1 !important;
}
.snzpdp-notices .button:hover, .snzpdp-notices a.wc-forward:hover { background: #3a2e26 !important; }
@media (max-width: 600px) {
	.snzpdp-notices .button, .snzpdp-notices a.wc-forward { margin-left: 38px !important; }
}
