/* ==========================================================================
   Product page (single-product.html) – conversion-focused layout. Prefix: ssc-pp-
   ========================================================================== */
.ssc-pp { --pp-green: var(--wp--preset--color--green); --pp-gold: var(--wp--preset--color--gold); --pp-ink: var(--wp--preset--color--ink); }
.ssc-pp > * { margin-block: 0; }

/* ---------- hero / buy box ---------- */
.ssc-pp-hero { max-width: 1200px; margin: 0 auto; padding: 24px 24px 64px; box-sizing: content-box; }
.ssc-pp-hero > * { margin-block: 0; }
.ssc-pp-crumbs { margin: 0 0 20px; font-family: var(--wp--preset--font-family--poppins); font-size: 13px; color: #7a8584; }
.ssc-pp-crumbs a { color: #7a8584; text-decoration: none; }
.ssc-pp-crumbs a:hover { color: var(--pp-green); }
.ssc-pp-hero__cols { gap: 56px; margin: 0; align-items: flex-start; }
.ssc-pp-gallery { position: sticky; top: calc(var(--ssc-main-h, 84px) + 24px); }
.ssc-pp-gallery .woocommerce-product-gallery { opacity: 1 !important; margin: 0; width: 100% !important; float: none; }
.ssc-pp-gallery .woocommerce-product-gallery__wrapper, .ssc-pp-gallery figure { margin: 0; }
.ssc-pp-gallery .woocommerce-product-gallery__image { border-radius: 6px; overflow: hidden; background: #f4f6f5; }
.ssc-pp-gallery img { display: block; width: 100%; height: auto; }
.ssc-pp-gallery .woocommerce-product-gallery__trigger { z-index: 2; }
.ssc-pp-infocol { padding: 0; }
.ssc-pp-info { display: flex; flex-direction: column; gap: 0; }
.ssc-pp-info > * { margin: 0; }
.ssc-pp-kicker { font-family: var(--wp--preset--font-family--poppins); font-size: 12px; letter-spacing: .14em; color: #7a8584; margin: 0 0 8px; }
.ssc-pp-info > .ssc-pp-title { font-family: var(--wp--preset--font-family--pt-serif); font-size: 42px; line-height: 1.15; font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--pp-green); margin: 0 0 12px; }
.ssc-pp-rating { margin: 0 0 8px; }
.ssc-pp-info > .ssc-pp-price, .ssc-pp-price .wc-block-components-product-price { margin: 0 0 18px; text-align: left; }
.ssc-pp-price, .ssc-pp-price .wc-block-components-product-price, .ssc-pp-price .woocommerce-Price-amount, .ssc-pp-price .wc-block-components-product-price__value { font-family: var(--wp--preset--font-family--poppins); font-size: 30px; line-height: 1.2; font-weight: 600; color: var(--pp-ink); text-align: left; }
.ssc-pp-price .wc-block-components-product-price__value, .ssc-pp-price .woocommerce-Price-amount { color: var(--pp-ink); }
.ssc-pp-lead { font-size: 16px; line-height: 26px; color: #333; margin: 0 0 16px; }
.ssc-pp-checks { list-style: none; margin: 0 0 24px; padding: 0; }
.ssc-pp-checks li { position: relative; padding: 0 0 0 30px; margin: 0 0 10px; font-size: 14.5px; line-height: 22px; color: #333; }
.ssc-pp-checks li::before, .ssc-pp-assure li::before { content: ""; position: absolute; left: 0; top: 2px; width: 18px; height: 18px; border-radius: 50%; background: var(--pp-green); }
.ssc-pp-checks li::after, .ssc-pp-assure li::after { content: ""; position: absolute; left: 4px; top: 6px; width: 10px; height: 10px; background: #fff; -webkit-mask: url(../../icons/check.svg) center / contain no-repeat; mask: url(../../icons/check.svg) center / contain no-repeat; }

/* buy form */
.ssc-pp-buy { margin: 0 0 16px; padding: 22px; border: 1px solid #dfe6e4; border-radius: 8px; background: #f6f9f8; scroll-margin-top: 140px; }
.ssc-pp-buy > * { margin: 0; }
.ssc-pp .ssc-pp-cart, .ssc-pp .ssc-pp-cart form.cart { margin: 0; width: 100%; font-family: var(--wp--preset--font-family--poppins); font-size: 14px; }
.ssc-pp .ssc-pp-cart table.variations { width: 100%; margin: 0 0 16px; border: 0; border-collapse: collapse; }
.ssc-pp .ssc-pp-cart form.variations_form { display: block; }
.ssc-pp .ssc-pp-cart table.variations, .ssc-pp .ssc-pp-cart table.variations tbody, .ssc-pp .ssc-pp-cart table.variations tr { display: block; width: 100%; }
.ssc-pp .ssc-pp-cart table.variations th, .ssc-pp .ssc-pp-cart table.variations td { display: block; padding: 0; border: 0; background: none; text-align: left; font-weight: 600; }
.ssc-pp .ssc-pp-cart table.variations th label { font-family: var(--wp--preset--font-family--poppins); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--pp-ink); font-weight: 600; margin: 0 0 8px; display: block; }
.ssc-pp .ssc-pp-cart table.variations td.value, .ssc-pp .ssc-pp-cart table.variations .value { width: 100%; }
.ssc-pp .ssc-pp-cart table.variations select { box-sizing: border-box; width: 100% !important; max-width: none; width: 100%; height: 50px; padding: 0 44px 0 16px; border: 1.5px solid var(--pp-green); border-radius: 6px; background-color: #fff; color: var(--pp-ink); font-family: var(--wp--preset--font-family--poppins); font-size: 15px; font-weight: 500; }
.ssc-pp .ssc-pp-cart .reset_variations { display: inline-block; margin-top: 8px; font-size: 12px; color: #7a8584; }
.ssc-pp .ssc-pp-cart .woocommerce-variation { margin: 0 0 14px; }
.ssc-pp .ssc-pp-cart .woocommerce-variation-price { font-size: 18px; font-weight: 600; }
.ssc-pp .ssc-pp-cart .woocommerce-variation-add-to-cart, .ssc-pp .ssc-pp-cart form.cart:not(.variations_form) { display: flex; gap: 12px; width: 100%; }
.ssc-pp .ssc-pp-cart .quantity { margin: 0; }
.ssc-pp .ssc-pp-cart .quantity input.qty { box-sizing: border-box; width: 72px; height: 54px; padding: 0 8px; margin: 0; border: 1.5px solid #c9d3d1; border-radius: 6px; background: #fff; font-family: var(--wp--preset--font-family--poppins); font-size: 16px; text-align: center; }
.ssc-pp .ssc-pp-cart .single_add_to_cart_button { flex: 1 1 auto; height: 54px; margin: 0; padding: 0 24px; border: 0; border-radius: 6px; background: var(--pp-gold); color: var(--pp-ink); font-family: var(--wp--preset--font-family--poppins); font-size: 16px; font-weight: 600; letter-spacing: .02em; cursor: pointer; box-shadow: 0 3px 0 rgba(0, 0, 0, .14); transition: background .15s ease, transform .15s ease; }
.ssc-pp .ssc-pp-cart .single_add_to_cart_button:hover { background: var(--wp--preset--color--gold-hover); color: var(--pp-ink); transform: translateY(-1px); }
.ssc-pp .ssc-pp-cart .single_add_to_cart_button.disabled { opacity: .55; cursor: not-allowed; transform: none; }
.ssc-pp .ssc-pp-cart .wdp_bulk_table_content:not(:has(*)) { display: none; }

.ssc-pp-promo { margin: 0 0 18px; padding: 12px 16px; border-radius: 6px; background: rgba(238, 198, 135, .22); border: 1px dashed #d3b574; font-size: 14px; line-height: 22px; color: #333; text-align: center; }
.ssc-pp-promo strong { letter-spacing: .06em; color: var(--pp-green); }
.ssc-pp-assure { list-style: none; margin: 0; padding: 0; }
.ssc-pp-assure li { position: relative; padding: 0 0 0 30px; margin: 0 0 10px; font-size: 13.5px; line-height: 20px; color: #555; }
.ssc-pp-assure li::before { background-color: #7a8584; }
.ssc-pp-assure a { color: var(--pp-green); text-underline-offset: 2px; }

/* ---------- trust band ---------- */
.ssc-pp-trust { padding: 56px 24px; }
.ssc-pp-trust__cols { gap: 24px; margin: 0; }
.ssc-pp-trust__item > * { margin-block: 0; }
.ssc-pp-trust__img { width: 120px; margin: 0 auto 18px; }
.ssc-pp-trust__img img { width: 120px; height: 120px; object-fit: cover; }
.ssc-pp-trust__item .ssc-pp-trust__t { font-family: var(--wp--preset--font-family--pt-serif); font-size: 22px; line-height: 1.3; font-weight: 400; text-transform: none; margin: 0 0 8px; }
.ssc-pp-trust__item p { font-size: 14px; line-height: 22px; }

/* ---------- sizes ---------- */
.ssc-pp-sizes { padding: 80px 24px; background: #f6f9f8; }
.ssc-pp-sizes > * { margin-block: 0; }
.ssc-pp-h2 { font-family: var(--wp--preset--font-family--pt-serif); font-size: 38px; line-height: 1.2; font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--pp-green); margin: 6px 0 36px; }
.ssc-pp-sizes__cols { gap: 24px; margin: 0 0 24px; align-items: stretch; }
.ssc-pp-size { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 34px 24px 28px; background: #fff; border: 1.5px solid #dfe6e4; border-radius: 10px; transition: transform .2s ease, box-shadow .2s ease; }
.ssc-pp-size:hover { transform: translateY(-4px); box-shadow: 0 14px 34px rgba(0, 0, 0, .08); }
.ssc-pp-size > * { margin: 0; }
.ssc-pp-size--best { border-color: var(--pp-gold); box-shadow: 0 0 0 1.5px var(--pp-gold); }
.ssc-pp-size__badge { position: absolute; top: -13px; left: 50%; transform: translateX(-50%); padding: 4px 14px; border-radius: 99px; background: var(--pp-gold); color: var(--pp-ink); font-size: 11px; font-weight: 700; letter-spacing: .1em; white-space: nowrap; }
.ssc-pp-size h3.ssc-pp-size__name { font-family: var(--wp--preset--font-family--pt-serif); font-size: 24px; line-height: 1.3; font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--pp-green); margin: 0 0 6px; }
.ssc-pp-size__price { font-size: 34px; line-height: 1.2; font-weight: 600; color: var(--pp-ink); margin: 0 0 14px; }
.ssc-pp-size__line { flex: 1 1 auto; font-size: 14px; line-height: 24px; color: #555; margin: 0 0 22px; }
.ssc-pp-sizes__note { font-size: 14px; color: #555; }
.ssc-pp-sizes__note strong { color: var(--pp-green); letter-spacing: .05em; }
.ssc-pp-size--best .wp-block-button__link { background: var(--pp-gold); color: var(--pp-ink); border-color: var(--pp-gold); font-weight: 600; }

/* ---------- reviews / details ---------- */
.ssc-pp-reviews { padding: 72px 24px 24px; font-family: var(--wp--preset--font-family--poppins); }
.ssc-pp-reviews .wc-tabs, .ssc-pp-reviews .woocommerce-tabs ul.tabs { border-color: #dfe6e4; }
.ssc-pp-reviews h2 { font-family: var(--wp--preset--font-family--pt-serif); font-weight: 400; text-transform: none; color: var(--pp-green); font-size: 28px; }
.ssc-pp-reviews .comment-form .submit, .ssc-pp-reviews #respond input#submit { background: var(--pp-green); color: #fff; border: 0; border-radius: 6px; padding: 14px 28px; font-weight: 600; cursor: pointer; }

/* only the reviews panel is shown (the description is already shown above) */
.ssc-pp-reviews .wc-tabs, .ssc-pp-reviews ul.tabs { display: none !important; }
.ssc-pp-reviews .woocommerce-Tabs-panel { display: none !important; }
.ssc-pp-reviews #tab-reviews { display: block !important; }
.ssc-pp-reviews #reviews { font-size: 14px; }

/* ---------- FAQ ---------- */
.ssc-pp-faq { padding: 72px 24px 88px; }
.ssc-pp-faq > * { margin-block: 0; }
.ssc-pp-faq__item { border-bottom: 1px solid #dfe6e4; padding: 0; }
.ssc-pp-faq__item summary { position: relative; padding: 20px 40px 20px 0; cursor: pointer; list-style: none; font-family: var(--wp--preset--font-family--pt-serif); font-size: 19px; line-height: 1.4; color: var(--pp-green); }
.ssc-pp-faq__item summary::-webkit-details-marker { display: none; }
.ssc-pp-faq__item summary::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); font-family: var(--wp--preset--font-family--poppins); font-size: 26px; font-weight: 300; color: var(--pp-gold); transition: transform .2s ease; }
.ssc-pp-faq__item[open] summary::after { content: "–"; }
.ssc-pp-faq__item p { margin: 0 0 20px; font-size: 15px; line-height: 26px; color: #444; }

/* ---------- closing CTA ---------- */
.ssc-pp-final { min-height: 0; padding: 72px 24px; }
.ssc-pp-final .wp-block-cover__inner-container { width: 100%; max-width: 760px; }
.ssc-pp-final__title { font-family: var(--wp--preset--font-family--pt-serif); font-size: 40px; line-height: 1.2; font-weight: 400; text-transform: none; letter-spacing: 0; margin: 0 0 12px; }
.ssc-pp-final__text { font-size: 16px; margin: 0 0 28px; }
.ssc-pp-final .wp-block-buttons { gap: 14px; }
.ssc-pp-final__btn .wp-block-button__link { height: 52px; }

/* ---------- sticky add-to-cart bar ---------- */
.ssc-pp-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; padding: 10px 24px; background: #fff; box-shadow: 0 -6px 24px rgba(0, 0, 0, .12); transform: translateY(110%); transition: transform .25s ease; gap: 16px; }
.ssc-pp-sticky.is-visible { transform: translateY(0); }
.ssc-pp-sticky__info { display: flex; align-items: baseline; gap: 16px; min-width: 0; }
.ssc-pp-sticky__info > * { margin: 0; }
.ssc-pp-sticky .ssc-pp-sticky__title { font-family: var(--wp--preset--font-family--pt-serif); font-size: 18px; line-height: 1.2; font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--pp-green); margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ssc-pp-sticky .ssc-pp-sticky__price, .ssc-pp-sticky .ssc-pp-sticky__price * { font-size: 15px; font-weight: 600; color: var(--pp-ink); text-align: left; }
.ssc-pp-sticky .wp-block-buttons { flex: 0 0 auto; }

/* ---------- responsive ---------- */
@media (max-width: 1024px) {
	.ssc-pp-hero__cols { gap: 32px; }
	.ssc-pp-info > .ssc-pp-title { font-size: 36px; }
	.ssc-pp-trust__cols { flex-wrap: wrap !important; }
	.ssc-pp-trust__cols > .wp-block-column { flex-basis: calc(50% - 12px) !important; flex-grow: 0; margin-bottom: 20px; }
}
@media (max-width: 781px) {
	.ssc-pp-hero { padding: 16px 16px 40px; }
	.ssc-pp-hero__cols { flex-direction: column; gap: 24px; }
	.ssc-pp-hero__cols > .wp-block-column { flex-basis: auto !important; width: 100%; }
	.ssc-pp-gallery { position: static; }
	.ssc-pp-info > .ssc-pp-title { font-size: 32px; }
	.ssc-pp-buy { padding: 16px; }
	.ssc-pp-sizes { padding: 56px 16px; }
	.ssc-pp-sizes__cols { flex-direction: column; gap: 28px; }
	.ssc-pp-h2 { font-size: 30px; margin-bottom: 28px; }
	.ssc-pp-trust { padding: 40px 16px 20px; }
	.ssc-pp-trust__cols { flex-direction: row !important; flex-wrap: wrap !important; gap: 20px 12px; }
	.ssc-pp-trust__cols > .wp-block-column { flex: 0 0 calc(50% - 6px) !important; margin: 0; }
	.ssc-pp-trust__img, .ssc-pp-trust__img img { width: 88px; height: 88px; }
	.ssc-pp-trust__item .ssc-pp-trust__t { font-size: 18px; }
	.ssc-pp-trust__item p { font-size: 13px; line-height: 20px; }
	.ssc-pp-reviews { padding: 48px 16px 16px; }
	.ssc-pp-faq { padding: 48px 16px 56px; }
	.ssc-pp-final { padding: 56px 16px; }
	.ssc-pp-final__title { font-size: 30px; }
	.ssc-pp-final .wp-block-buttons { flex-direction: column; align-items: stretch; }
	.ssc-pp-final .wp-block-button { width: 100%; }
	.ssc-pp-final .wp-block-button__link { width: 100%; justify-content: center; text-align: center; }
	.ssc-pp-sticky { padding: 10px 16px; }
	.ssc-pp-sticky__info { flex-direction: column; gap: 0; }
	.ssc-pp-sticky .ssc-pp-sticky__title { font-size: 15px; }
}

/* live total under the quantity row */
.ssc-pp .ssc-pp-cart .ssc-pp-total { display: flex; justify-content: space-between; align-items: baseline; margin: 14px 0 0; padding-top: 12px; border-top: 1px solid #dfe6e4; font-size: 14px; color: #555; }
.ssc-pp .ssc-pp-cart .ssc-pp-total[hidden] { display: none; }
.ssc-pp .ssc-pp-cart .ssc-pp-total strong { font-size: 20px; color: var(--pp-ink); }

/* ---------- gift set page extras ---------- */
.ssc-pp-gift .ssc-pp-point .ssc-pp-size__line { margin: 0; }
.ssc-pp-gift .ssc-pp-point { padding: 32px 26px; }
.ssc-pp-story { padding: 88px 24px; }
.ssc-pp-story__cols { gap: 56px; margin: 0; }
.ssc-pp-story__img img { display: block; width: 100%; height: auto; border-radius: 8px; }
.ssc-pp-story__text > * { margin-block: 0; }
.ssc-pp-story__text .ssc-pp-h2 { margin: 6px 0 20px; }
.ssc-pp-story__text .wp-block-post-content > * { margin: 0 0 16px; font-size: 15px; line-height: 26px; color: #444; }
.ssc-pp-steps { padding: 80px 24px; }
.ssc-pp-steps > * { margin-block: 0; }
.ssc-pp-h2--light { color: #fff; }
.ssc-pp-steps__cols { gap: 32px; margin: 0; }
.ssc-pp-step > * { margin-block: 0; }
.ssc-pp-step__n { width: 52px; height: 52px; margin: 0 auto 16px; border-radius: 50%; border: 1.5px solid var(--pp-gold); color: var(--pp-gold); font-family: var(--wp--preset--font-family--pt-serif); font-size: 24px; line-height: 49px; }
.ssc-pp-step h3.ssc-pp-step__t { font-family: var(--wp--preset--font-family--pt-serif); font-size: 24px; font-weight: 400; text-transform: none; letter-spacing: 0; color: #fff; margin: 0 0 8px; }
.ssc-pp-step__x { color: #c5c5c5; font-size: 14.5px; line-height: 24px; }
@media (max-width: 781px) {
	.ssc-pp-story { padding: 48px 16px; }
	.ssc-pp-story__cols { flex-direction: column; gap: 28px; }
	.ssc-pp-steps { padding: 56px 16px; }
	.ssc-pp-steps__cols { flex-direction: column; gap: 28px; }
}

/* gallery thumbnails: breathing room between the main image and the thumbs, and between thumbs */
.ssc-pp-gallery .flex-control-thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 16px 0 0 !important; padding: 0; list-style: none; }
.ssc-pp-gallery .flex-control-thumbs li { width: 100% !important; max-width: none; height: auto; float: none; margin: 0; }
.ssc-pp-gallery .flex-control-thumbs img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 6px; cursor: pointer; opacity: .75; transition: opacity .15s ease; }
.ssc-pp-gallery .flex-control-thumbs img:hover, .ssc-pp-gallery .flex-control-thumbs img.flex-active { opacity: 1; }

/* sticky bar: let a long product title truncate instead of running under the button */
.ssc-pp-sticky__info { flex: 1 1 auto; min-width: 0; overflow: hidden; }
.ssc-pp-sticky .ssc-pp-sticky__title { min-width: 0; }
