/* Sanrival — Product V2 release pilot (Tomate Ananas only). */
.srp2 {
	--p2-card: #fff;
	--p2-cream: #f7f7f5;
	--p2-green-soft: #eef3ea;
	--p2-red-soft: #fff4f5;
	--p2-line: rgba(83,66,34,.12);
	--p2-line-soft: rgba(83,66,34,.07);
	--p2-shadow-xs: 0 1px 2px rgba(83,66,34,.04), 0 6px 18px rgba(83,66,34,.05);
	--p2-shadow-sm: 0 2px 4px rgba(83,66,34,.04), 0 14px 34px rgba(83,66,34,.07);
	--p2-section-space: clamp(64px,7vw,96px);
	--p2-block-space: clamp(24px,3vw,32px);
	overflow: clip;
}

/* Les contenus restent sur la grille Sanrival, tandis que les fonds de
 * chapitre occupent toute la largeur. Cela évite les grands aplats décoratifs
 * centrés qui donnaient l'impression de rectangles sans fonction. */
body.srkhv2-product-page #primary.srp2 {
	width: 100%;
	max-width: none;
	margin-inline: 0;
	background: #fff;
}

.srp2 :where(section[id], div[id]) { scroll-margin-top: 104px; }
.srp2-hero { padding: var(--sc-space-3) 0 var(--sc-space-8); background: #fff; }
.srp2-hero__grid { display: grid; gap: var(--sc-space-6); }
.srp2-media { position: relative; min-width: 0; }
.srp2-media__frame { display: grid; overflow: hidden; aspect-ratio: 1 / 1; margin: 0; padding: 0; place-items: center; background: #fff; border: 1px solid var(--p2-line); border-radius: 18px; box-shadow: var(--p2-shadow-sm); }
.srp2-media__frame img { display: block; width: 100%; height: 100%; max-height: none; object-fit: cover; }
.srp2-media__placeholder { display: grid; width: 100%; height: 100%; place-content: center; place-items: center; gap: var(--sc-space-4); color: var(--sr-green); background: linear-gradient(145deg,#f7f4ed,#eef3ea); text-align: center; }
.srp2-media__placeholder > span { display: grid; width: 104px; height: 104px; place-items: center; background: rgba(255,255,255,.78); border: 1px solid rgba(83,66,34,.1); border-radius: 50%; }
.srp2-media__placeholder strong { color: var(--sr-title); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.srp2-media__badges { position: absolute; z-index: 2; top: 16px; left: 16px; display: flex; max-width: calc(100% - 32px); flex-wrap: wrap; gap: var(--sc-space-2); }
.srp2-media__badges span { display: inline-flex; min-height: 32px; align-items: center; padding: var(--sc-space-2) var(--sc-space-3); color: var(--sr-green-dark); background: rgba(255,255,255,.96); border: 1px solid rgba(222,216,206,.9); border-radius: 999px; box-shadow: 0 5px 16px rgba(45,39,29,.08); font-size: 9px; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; backdrop-filter: blur(8px); }
.srp2-media__badges .is-red { color: var(--sr-red); }
.srp2-media__badges .is-gold { color: #7f5d1d; background: #fff8df; border-color: #ebd898; }

.srp2-summary { min-width: 0; }
.srp2-summary > .srkhv2-eyebrow { margin-bottom: var(--sc-space-2); }
.srp2-summary h1 { max-width: 680px; margin: 0; color: var(--sr-title); font-family: var(--sr-display); font-size: clamp(48px, 14vw, 80px); font-weight: 400; letter-spacing: -.045em; line-height: .96; }
.srp2-summary__meta { display: flex; min-height: 44px; flex-wrap: wrap; align-items: center; gap: 2px var(--sc-space-5); margin-top: var(--sc-space-3); }
.srp2-reference { margin: 0; color: var(--sr-muted); font-size: 12px; line-height: 1.5; }
.srp2 .srp-v4-rating { width: fit-content; min-height: 44px; margin: 0; }
.srp2-summary__intro { max-width: 620px; margin: var(--sc-space-3) 0 0; color: #494c47; font-size: 16px; line-height: 1.68; }

.srp2-snapshot { margin-top: var(--sc-space-5); padding: var(--sc-space-4); background: #fbfbfa; border: 1px solid var(--p2-line); border-radius: 18px; }
.srp2-snapshot > p { margin: 0 0 var(--sc-space-3); color: var(--sr-green); font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.srp2-snapshot > ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 var(--sc-space-4); margin: 0; padding: 0; list-style: none; }
.srp2-snapshot li { display: grid; min-height: 46px; grid-template-columns: 32px minmax(0,1fr); gap: var(--sc-space-2); align-items: center; padding: var(--sc-space-2) 0; border-top: 1px solid var(--p2-line-soft); }
.srp2-snapshot li > span { display: grid; width: 32px; height: 32px; place-items: center; color: var(--sr-green); background: var(--p2-green-soft); border-radius: 50%; }
.srp2-snapshot strong { color: var(--sr-title); font-size: 12px; line-height: 1.4; }

.srp2-purchase { margin-top: var(--sc-space-5); padding: var(--sc-space-5); background: #fff; border: 1px solid var(--p2-line); border-radius: 18px; box-shadow: var(--p2-shadow-sm); }
.srp2-purchase .srp-v4-price { margin-bottom: var(--sc-space-4); }
.srp2-purchase .srp-v4-price .price { color: var(--sr-title); }
.srp2-purchase .srp-tiers { margin-block: 0 var(--sc-space-4); }
.srp2-purchase .srp-tier { background: #fff; border-color: var(--p2-line); box-shadow: none; }
.srp2-purchase .srp-tier.is-featured { background: color-mix(in srgb, var(--sr-gold,#c88924) 7%, #fff); border-color: color-mix(in srgb, var(--sr-gold,#c88924) 68%, transparent); }
.srp2-purchase .srp-tier.is-featured:hover { background: color-mix(in srgb, var(--sr-gold,#c88924) 10%, #fff); border-color: var(--sr-gold,#c88924); }
.srp2-purchase .srp-tier.is-selected { background: var(--p2-red-soft); border-color: var(--sr-red); box-shadow: 0 6px 16px rgba(179,23,43,.1); }
.srp2-purchase .srp-tier.is-selected .srp-tier__radio { border-color: var(--sr-red); }
.srp2-purchase .srp-tier.is-selected .srp-tier__radio::after { background: var(--sr-red); }
.srp2-purchase .srp-tier.is-featured.is-selected { background: color-mix(in srgb, var(--sr-gold,#c88924) 12%, #fff); border-color: var(--sr-gold,#c88924); box-shadow: 0 7px 18px rgba(200,137,36,.14); }
.srp2-purchase .srp-tier.is-featured.is-selected .srp-tier__radio { border-color: var(--sr-gold,#c88924); }
.srp2-purchase .srp-tier.is-featured.is-selected .srp-tier__radio::after { background: var(--sr-gold,#c88924); }
.srp2-purchase .srp-tier__save { color: var(--sr-title); }
.srp2-purchase .srp-tier__badge { color: #35250f; background: color-mix(in srgb, var(--sr-gold,#c88924) 72%, #fff); border: 1px solid rgba(83,66,34,.16); box-shadow: 0 3px 8px rgba(83,66,34,.10); }
.srp2-purchase .srp-v4-cartrow { margin-top: 0; }
.srp2-purchase .srp-cart { flex: 1 1 auto; }
.srp2-purchase .srp-cart form.cart { width: 100%; }
.srp2-purchase .single_add_to_cart_button { display: inline-flex; min-width: 0; align-items: center; justify-content: center; gap: var(--sc-space-2); white-space: nowrap; }
.srp2-purchase .single_add_to_cart_button .srp-atc-total { flex: 0 0 auto; font-size: .86em; font-weight: 600; letter-spacing: 0; opacity: .78; }

/* Le stepper doit partager la hauteur optique du CTA sur toutes les fiches V2.
   Ces sélecteurs neutralisent les dimensions WooCommerce/Astra sans toucher au
   composant quantité des autres pages. */
.srp2-purchase .srp-v4-cartrow .quantity {
	height: 62px !important;
	min-height: 62px;
}
.srp2-purchase .srp-v4-cartrow .quantity input.qty,
.srp2-purchase .srp-v4-cartrow .quantity .qty-btn {
	height: 60px !important;
}

/* La ligne d’achat reste compacte sur ordinateur sans comprimer le CTA.
   Le cœur s’aligne sur les contrôles, pas sur le libellé « Quantité ». */
@media (min-width: 601px) {
	.srp2-purchase .srp-v4-cartrow { align-items: end; }
	.srp2-purchase .srp-cart form.cart { grid-template-columns: 146px minmax(0, 1fr); }
	.srp2-purchase .srp-v4-cartrow .quantity { width: 146px; }
	.srp2-purchase .srp-v4-cartrow .quantity input.qty {
		width: 52px;
		min-width: 52px;
		flex: 0 0 52px;
	}
	
}

/* Entre le mode tablette pleine largeur et le grand desktop, le panneau achat
   reste dans une colonne étroite du hero. Empiler ses deux contrôles évite de
   comprimer le libellé ou le prix du CTA. */
@media (min-width: 900px) and (max-width: 1199px) {
	.srp2-purchase .srp-cart form.cart { grid-template-columns: minmax(0, 1fr); }
	.srp2-purchase .srp-v4-cartrow .quantity { width: 100%; }
}
.srp2-purchase .srp-v4-stock { display: flex; min-height: 32px; align-items: center; gap: var(--sc-space-2); margin: var(--sc-space-3) 0 0; }
.srp2-purchase .srp-v4-stock svg { flex: 0 0 auto; }

.srp2-trust { display: grid; gap: 0; margin: var(--sc-space-4) 0 0; padding: 0; list-style: none; }
.srp2-trust li { display: grid; min-height: 58px; grid-template-columns: 35px minmax(0,1fr); gap: var(--sc-space-3); align-items: center; padding: var(--sc-space-3) 0; border-top: 1px solid rgba(222,216,206,.72); }
.srp2-trust li > span:first-child { display: grid; width: 35px; height: 35px; place-items: center; color: var(--sr-green); background: var(--p2-green-soft); border-radius: 50%; }
.srp2-trust strong, .srp2-trust small { display: block; }
.srp2-trust strong { color: var(--sr-title); font-size: 12px; line-height: 1.35; }
.srp2-trust small { margin-top: 1px; color: var(--sr-muted); font-size: 10px; line-height: 1.45; }

.srp2-nav { z-index: 30; top: 0; width: min(calc(100% - 32px),1180px); margin: var(--sc-space-5) auto clamp(var(--sc-space-5),3vw,var(--sc-space-7)); padding: var(--sc-space-2); background: rgba(255,255,255,.97); border: 1px solid var(--p2-line); border-radius: 16px; box-shadow: 0 8px 26px rgba(83,66,34,.1); backdrop-filter: blur(12px); }
.admin-bar .srp2-nav { top: 46px; }
.srp2-nav ul { width: 100%; justify-content: center; margin: 0; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.srp2 .srp2-nav li { position: relative; flex: 1 1 0; }
.srp2 .srp2-nav li + li::before { position: absolute; z-index: 2; top: 50%; left: 0; width: 1px; height: 18px; content: ""; background: rgba(83,66,34,.14); transform: translateY(-50%); transition: opacity .18s ease; pointer-events: none; }
.srp2 .srp2-nav li:has(> a.is-active)::before { opacity: 0; }
.srp2-nav a { width: 100%; min-height: 48px; justify-content: center; color: var(--sr-muted); background: transparent; border-radius: 10px; box-shadow: none; font-size: 12px; letter-spacing: .08em; transform: none; }
.srp2 .srp2-nav a.is-active { color: #fff; background: var(--sr-red); box-shadow: 0 5px 14px rgba(179,23,43,.2); }

.srp2-section { padding-block: var(--p2-section-space); }
.srp2-difference { background: var(--sr-beige-light,#fbf8f2); }
.srp2-difference__grid { display: grid; overflow: hidden; gap: 0; background: var(--p2-cream); border: 1px solid var(--p2-line); border-radius: 18px; }
.srp2-difference__card { position: relative; display: grid; min-height: 0; grid-template-columns: 40px minmax(0,1fr); column-gap: var(--sc-space-4); padding: var(--sc-space-5); background: transparent; border-bottom: 1px solid var(--p2-line-soft); }
.srp2-difference__card:last-child { border-bottom: 0; }
.srp2-difference__card > span { display: grid; width: 40px; height: 40px; grid-row: 1 / span 2; place-items: center; color: var(--sr-green); background: #fff; border-radius: 50%; box-shadow: var(--p2-shadow-xs); }
.srp2-difference__card h3 { margin: 1px 0 var(--sc-space-1); color: var(--sr-title); font-family: var(--sr-font); font-size: 16px; font-weight: 800; line-height: 1.35; }
.srp2-difference__card p { margin: 0; color: var(--sr-muted); font-size: 14px; line-height: 1.6; }

.srp2-success { background: #fff; }
.srp2-success__heading { display: grid; align-items: end; gap: var(--sc-space-5); margin-bottom: var(--p2-block-space); }
.srp2-success__heading .srkhv2-section-heading { margin-bottom: 0; }
.srp2-success__heading > .srkhv2-button { width: fit-content; }
.srp2-guide-source { display: grid; grid-template-columns: 36px minmax(0,1fr); align-items: center; gap: var(--sc-space-3); margin-bottom: var(--p2-block-space); padding: var(--sc-space-4) var(--sc-space-4); color: var(--sr-title); background: #fbfbfa; border: 1px solid var(--p2-line); border-radius: 18px; }
.srp2-guide-source > svg { flex: 0 0 auto; color: var(--sr-green); }
.srp2-guide-source p { margin: 0; }
.srp2-guide-source strong, .srp2-guide-source span { display: block; }
.srp2-guide-source strong { font-size: 12px; }
.srp2-guide-source p > span { margin-top: 3px; color: var(--sr-muted); font-size: 12px; line-height: 1.55; }
.srp2-guide-source > a { display: inline-flex; min-height: 44px; grid-column: 2; align-items: center; gap: var(--sc-space-2); color: var(--sr-red); font-size: 12px; font-weight: 800; }
.srp2-guide-source > a span { margin: 0; color: inherit; }
.srp2-success__grid { display: grid; gap: var(--sc-space-4); }
.srp2-success__facts, .srp2-success__now, .srp2-calendar-card { overflow: hidden; padding: var(--sc-space-5); background: #fff; border: 1px solid var(--p2-line); border-radius: 18px; box-shadow: var(--p2-shadow-xs); }
.srp2-card-heading { margin-bottom: var(--sc-space-4); }
.srp2-card-heading .srkhv2-eyebrow { margin-bottom: var(--sc-space-2); }
.srp2-card-heading h3 { margin: 0; color: var(--sr-title); font-family: var(--sr-font); font-size: 20px; font-weight: 800; letter-spacing: -.02em; line-height: 1.25; }
.srp2-success__facts .srkhv2-facts { gap: 0 var(--sc-space-4); }
.srp2-success__facts .srkhv2-fact { min-height: 86px; flex-direction: row; align-items: center; gap: var(--sc-space-3); padding: var(--sc-space-3) 0; background: transparent; border: 0; border-top: 1px solid var(--p2-line-soft); border-radius: 0; }
.srp2-success__facts .srkhv2-fact__icon { width: var(--sc-icon-xl); height: var(--sc-icon-xl); box-shadow: none; }
.srp2-success__facts .srkhv2-climate { margin-top: var(--sc-space-3); }
.srp2-success__now { padding: 0; border-top: 3px solid var(--sr-red); }
.srp2-success__now .srp2-card-heading { margin: 0; padding: var(--sc-space-4) var(--sc-space-5) var(--sc-space-4); background: linear-gradient(180deg,rgba(179,23,43,.045),rgba(255,255,255,0)); }
.srp2-success__now .srkhv2-task-list li { padding: var(--sc-space-4) var(--sc-space-5); }
.srp2-success__now .srkhv2-task-list h4 { margin: 1px 0 var(--sc-space-1); color: var(--sr-title); font-family: var(--sr-font); font-size: 16px; font-weight: 800; letter-spacing: -.01em; line-height: 1.35; }
.srp2-success__now .srkhv2-task-list li:last-child { border-bottom: 0; }
.srp2-success__now .srkhv2-empty { padding-top: var(--sc-space-2); }
.srp2-calendar-card { margin-top: var(--sc-space-5); padding: var(--sc-space-5); }
.srp2-calendar-card__head { display: grid; gap: var(--sc-space-3); margin-bottom: var(--sc-space-4); }
.srp2-calendar-card__head .srkhv2-eyebrow { margin-bottom: var(--sc-space-2); }
.srp2-calendar-card__head h3 { margin: 0; color: var(--sr-title); font-family: var(--sr-font); font-size: 20px; font-weight: 800; letter-spacing: -.02em; line-height: 1.25; }
.srp2-calendar-card__head > a { display: inline-flex; min-height: 44px; align-items: center; gap: var(--sc-space-2); color: var(--sr-red); font-size: 12px; font-weight: 800; }
.srp2-calendar-card .srkhv2-calendar__table { width: 820px; }
.srp2-calendar-card .srkhv2-calendar__row { min-height: 44px; }
.srp2-calendar-card .srkhv2-calendar__label { display: flex; min-height: 44px; align-items: center; }

.srp2-reviews { background: var(--sr-beige-light,#fbf8f2); }
.srp2-reviews .srp-rv { padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.srp2-reviews .srp-rv--editorial { display: block; }
.srp2-reviews .srp-rv__head { max-width: 700px; margin: 0 0 var(--sc-space-6); text-align: left; }
.srp2-reviews .srp-rv__head .srkhv2-eyebrow { margin-bottom: var(--sc-space-3); }
.srp2-reviews .srp-rv__title { max-width: 700px; margin: 0; color: var(--sr-title); font-family: var(--sr-display); font-weight: 400; }
.srp2-reviews .srp-rv__intro { max-width: 650px; margin: var(--sc-space-4) 0 0; color: var(--sr-muted); font-size: 16px; line-height: 1.7; }
.srp2-reviews .srp-rv__rating-line { display: flex; min-height: 50px; flex-wrap: wrap; align-items: center; gap: var(--sc-space-2) var(--sc-space-3); margin-top: var(--sc-space-5); }
.srp2-reviews .srp-rv__rating-line .srp-stars { width: 100px; height: 18px; -webkit-mask-size: 20px 18px; mask-size: 20px 18px; }
.srp2-reviews .srp-rv__rating-line .srp-stars::before { -webkit-mask-size: 20px 18px; mask-size: 20px 18px; }
.srp2-reviews .srp-rv__rating-line strong { color: var(--sr-title); font-size: 14px; font-weight: 800; }
.srp2-reviews .srp-rv__rating-count { display: inline-flex; align-items: center; gap: var(--sc-space-3); color: var(--sr-muted); font-size: 12px; font-weight: 700; }
.srp2-reviews .srp-rv__rating-count::before { width: 4px; height: 4px; content: ""; background: var(--sr-green); border-radius: 50%; }
.srp2-reviews .srp-rv__write { display: inline-flex; min-width: 190px; align-items: center; justify-content: center; margin-left: var(--sc-space-2); border: 1px solid var(--sr-red); text-align: center; text-decoration: none; transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.srp2-reviews .srp-rv__write { color: #fff; background: var(--sr-red); }
.srp2-reviews .srp-rv #comments { width: 100%; margin: 0 auto; padding: 0; }
.srp2-reviews .srp-rv--reviews-1 #comments { max-width: 580px; margin-left: 0; }
.srp2-reviews .srp-rv .commentlist { display: grid; gap: var(--sc-space-4); }
.srp2-reviews .srp-rv .commentlist li { height: 100%; margin: 0; }
.srp2-reviews .srp-rv .comment_container { height: 100%; min-height: 210px; padding: var(--sc-space-5); background: #fff; border: 1px solid var(--p2-line); border-radius: 18px; box-shadow: var(--p2-shadow-xs); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.srp2-reviews .srp-rv .comment_container:hover { border-color: rgba(179,23,43,.2); box-shadow: var(--p2-shadow-sm); transform: translateY(-2px); }
.srp2-reviews .srp-rv .comment-text { height: 100%; padding: 0; }
.srp2-reviews .srp-rv .star-rating { position: relative; width: 95px; height: 20px; overflow: hidden; margin: 0 0 var(--sc-space-3); color: transparent; font-family: inherit; font-size: 18px; line-height: 1; letter-spacing: 1px; }
.srp2-reviews .srp-rv .star-rating::before, .srp2-reviews .srp-rv .star-rating span::before { position: absolute; top: 0; left: 0; content: "★★★★★"; white-space: nowrap; }
.srp2-reviews .srp-rv .star-rating::before { color: rgba(83,66,34,.13); }
.srp2-reviews .srp-rv .star-rating span { position: absolute; top: 0; left: 0; height: 20px; overflow: hidden; padding: 0; color: transparent; white-space: nowrap; }
.srp2-reviews .srp-rv .star-rating span::before { color: var(--v4-gold,#c88924); }
.srp2-reviews .srp-rv .description p { margin: 0; color: #3f403d; font-size: 16px; line-height: 1.72; }
.srp2-reviews .srp-rv .meta { margin-top: auto; padding-top: var(--sc-space-4); color: var(--sr-muted); border-top: 1px solid var(--p2-line-soft); font-size: 12px; line-height: 1.55; }
.srp2-reviews .srp-rv .woocommerce-review__author { color: var(--sr-title); font-weight: 800; }
.srp2-reviews .srp-rv .woocommerce-review__verified { color: var(--sr-green); font-style: normal; font-weight: 700; }
.srp2-reviews .srp-rv__formpanel { margin: var(--sc-space-8) 0 0; padding: var(--sc-space-7) 0 0; background: transparent; border: 0; border-top: 1px solid var(--p2-line); border-radius: 0; box-shadow: none; }
.srp2-reviews .srp-rv__form-intro { max-width: 390px; margin: 0 0 var(--sc-space-6); }
.srp2-reviews .srp-rv__form-intro .srkhv2-eyebrow { margin-bottom: var(--sc-space-3); }
.srp2-reviews .srp-rv__form-intro h3 { margin: 0; color: var(--sr-title); font-family: var(--sr-display); font-weight: 400; }
.srp2-reviews .srp-rv__form-intro > p:last-child { margin: var(--sc-space-4) 0 0; color: var(--sr-muted); font-size: 14px; line-height: 1.65; }
.srp2-reviews .srp-rv__formpanel #review_form_wrapper { max-width: none; margin: 0; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.srp2-reviews .srp-rv p.stars { display: inline-flex; gap: var(--sc-space-1); margin: 0; }
.srp2-reviews .srp-rv p.stars a { position: relative; display: inline-grid; width: 44px; height: 44px; overflow: hidden; place-items: center; color: transparent; text-indent: -9999px; box-shadow: none; }
.srp2-reviews .srp-rv p.stars a::before { position: absolute; inset: 0; display: grid; content: "★"; place-items: center; color: rgba(83,66,34,.18); font-size: 28px; line-height: 1; text-indent: 0; }
.srp2-reviews .srp-rv p.stars:hover a::before, .srp2-reviews .srp-rv p.stars.selected a:not(.active)::before, .srp2-reviews .srp-rv p.stars.selected a.active::before { color: #c88924; }
.srp2-reviews .srp-rv p.stars a:hover ~ a::before, .srp2-reviews .srp-rv p.stars.selected a.active ~ a::before { color: rgba(83,66,34,.18); }



.srp2-faq { background: #fff; }
.srp2-faq__layout { display: grid; gap: var(--sc-space-6); }
.srp2-faq__intro { max-width: 650px; margin: 0; }
.srp2-faq__intro > p:last-child { max-width: 56ch; }
.srp2-faq__list { min-width: 0; }
.srp2-faq__list details { transition: border-color .2s ease; }
.srp2-faq__list summary { font-size: 16px; }
.srp2-faq__answer { max-width: 66ch; }
.srp2-faq__answer p { color: #494c47; }
.srp2-faq__answer a svg { flex: 0 0 auto; }

.srp2-network { background: var(--sr-beige-light,#fbf8f2); }
.srp2-products { margin-top: var(--sc-space-6); }
.srp2-products.srkhv2-products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--sc-space-3); }
.srp2-products .srkhv2-product { display: flex; min-height: 0; flex-direction: column; }
.srp2-products .srkhv2-product__media { width: 100%; aspect-ratio: 1 / 1; background: var(--p2-cream); }
.srp2-products .srkhv2-product__media img { width: 100%; height: 100%; aspect-ratio: auto; padding: var(--sc-space-3); object-fit: contain; }
.srp2-products .srkhv2-product__body { display: flex; min-width: 0; flex: 1 1 auto; flex-direction: column; padding: var(--sc-space-4); }
.srp2-products .srkhv2-product__body > p { display: none; }
.srp2-products .srkhv2-product h3 { margin: 0 0 var(--sc-space-3); font-family: var(--sr-font); font-size: 14px; font-weight: 800; line-height: 1.35; }
.srp2-products .srkhv2-product__body > div { align-items: flex-start; flex-direction: column; gap: var(--sc-space-1); margin: auto 0 var(--sc-space-3); font-size: 14px; }
.srp2-products .srkhv2-stock { font-size: 9px; }
.srp2-products .srkhv2-text-link { min-height: 44px; font-size: 12px; }
.srp2 .srp2-network__all { width: fit-content; margin-top: var(--sc-space-5); color: var(--sr-red); background: #fff; border-color: rgba(179,23,43,.24); box-shadow: none; }
.srp2 .srp2-network__all:focus, .srp2 .srp2-network__all:focus-visible { color: var(--sr-red); background: #fff; border-color: var(--sr-red); box-shadow: none; outline-color: rgba(179,23,43,.32); }

.srp2 :where(a,button,summary,[tabindex]):focus-visible { outline: 3px solid rgba(179,23,43,.32); outline-offset: 3px; }
.srp2 .srkhv2-button--primary, .srp2 .srkhv2-button--primary:hover, .srp2 .srkhv2-button--primary:focus { color: #fff; }

@media (hover:hover) {
	.srp2 .srp-breadcrumb a:hover, .srp2 .srp-v4-breadcrumb a:hover, .srp2 .srp-v4-rating:hover span:last-child { color: var(--sr-red); }
	.srp2 .srp2-nav a:not(.is-active):hover { color: var(--sr-red); background: var(--p2-red-soft); box-shadow: none; transform: none; }
	.srp2 .srp2-nav a.is-active:hover { color: #fff; background: #8f1122; }
	.srp2 .srp-tier:not(.is-selected):hover { background: var(--p2-red-soft); border-color: rgba(179,23,43,.32); }
	.srp2 .srp-v4-cartrow .quantity .qty-btn:hover { color: var(--sr-red); background: var(--p2-red-soft); }
	.srp2-products .srkhv2-product:hover { border-color: rgba(179,23,43,.2); }
	.srp2-products .srkhv2-product h3 a:hover, .srp2-calendar-card__head > a:hover, .srp2-guide-source > a:hover { color: #8f1122; }
	.srp2-faq__list summary:hover { color: var(--sr-red); }
	.srp2-reviews .srp-rv__write:hover { color: #fff; background: #921124; border-color: #921124; transform: translateY(-1px); }
	.srp2 .srp2-network__all:hover { color: #8f1122; background: var(--p2-red-soft); border-color: rgba(179,23,43,.42); box-shadow: none; }
}

@media (max-width: 600px) {
	.srp2-snapshot > ul { grid-template-columns: 1fr; }
	.srp2-success__heading > .srkhv2-button, .srp2-reviews .srp-rv__write { width: 100%; }
	.srp2-reviews .srp-rv__head { margin-bottom: var(--sc-space-6); }
	.srp2-reviews .srp-rv__rating-line { gap: var(--sc-space-2) var(--sc-space-3); }
	.srp2-reviews .srp-rv__write { margin: var(--sc-space-2) 0 0; }
	.srp2-reviews .srp-rv .comment_container { min-height: 0; padding: var(--sc-space-5); }
	.srp2-guide-source { padding: var(--sc-space-4); }
	.srp2-reviews .srp-rv__formpanel { margin-top: var(--sc-space-7); padding: var(--sc-space-6) 0 0; }
	.srp2-reviews .srp-rv #respond .form-submit { margin-bottom: 0; }
	.srp2-reviews .srp-rv #respond #submit { width: 100%; }
	.srp2-purchase .srp-wishlist.srp-v4-heart {
		display: flex !important;
		width: 100%;
		min-width: 0;
		height: 50px;
		min-height: 50px;
		align-items: center;
		justify-content: center;
		gap: var(--sc-space-2);
		color: var(--sr-red) !important;
		border-color: rgba(179,23,43,.24) !important;
		border-radius: 12px !important;
		font-size: 14px !important;
		font-weight: 800;
	}
	.srp2-purchase .srp-wishlist.srp-v4-heart svg { position: static; width: var(--sc-icon-md); height: var(--sc-icon-md); transform: none; }
	
	.srp2-purchase .single_add_to_cart_button .srp-atc-total { font-size: .82em; }
	body.srkhv2-product-page .srp-stickybar { gap: var(--sc-space-3); padding: var(--sc-space-2) var(--sc-space-3); box-shadow: 0 -8px 24px rgba(83,66,34,.08); }
	body.srkhv2-product-page .srp-stickybar__info { max-width: 148px; }
	body.srkhv2-product-page .srp-stickybar__btn {
		position: absolute;
		right: 112px;
		bottom: 8px;
		z-index: 2;
		display: inline-flex !important;
		min-width: 88px;
		min-height: 46px;
		align-items: center;
		justify-content: center;
		padding-inline: var(--sc-space-4);
		color: #fff !important;
		background: var(--sr-red) !important;
		border-radius: 12px;
		opacity: 1;
		visibility: visible;
	}
}

@media (max-width: 359px) {
	body.srkhv2-product-page .srp-stickybar__info { max-width: 104px; }
}

@media (min-width: 601px) {
	.srp2-trust { grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--sc-space-3); }
	.srp2-trust:has(> li:only-child) { grid-template-columns: 1fr; }
	.srp2-trust:has(> li:nth-child(2):last-child) { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.srp2-trust li { grid-template-columns: 35px minmax(0,1fr); padding: var(--sc-space-3) 0; border-top: 0; }
	.srp2-guide-source { grid-template-columns: 36px minmax(0,1fr) auto; }
	.srp2-guide-source > a { grid-column: auto; }
	.srp2-difference__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.srp2-difference__grid.is-count-1 { max-width: 780px; grid-template-columns: 1fr; margin-inline: auto; }
	.srp2-difference__card:nth-child(odd) { border-right: 1px solid var(--p2-line-soft); }
	.srp2-difference__grid.is-count-1 .srp2-difference__card { border-right: 0; }
	.srp2-difference__card:nth-last-child(-n+2) { border-bottom: 0; }
	.srp2-snapshot.is-count-1 > ul { grid-template-columns: 1fr; }
	.srp2-snapshot.is-count-3 li:last-child { grid-column: 1 / -1; }
	.srp2-success__facts, .srp2-calendar-card { padding: var(--sc-space-5); }
	.srp2-calendar-card__head { grid-template-columns: minmax(0,1fr) auto; align-items: end; }
}

@media (min-width: 601px) and (max-width: 1020px) {
	.srp2-media { width: min(100%,480px); margin-inline: auto; }
}

@media (min-width: 761px) {
	.admin-bar .srp2-nav { top: 32px; }
	.srp2-success__heading { grid-template-columns: minmax(0,1fr) auto; gap: var(--sc-space-6); }
	.srp2-products { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.srp2-products.is-count-1 { max-width: 380px; grid-template-columns: 1fr; }
	.srp2-network.is-category-only .srkhv2-container { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: var(--sc-space-7); align-items: end; }
	.srp2-network.is-category-only .srp2-network__all { margin-top: 0; }
}

@media (min-width: 761px) and (max-width: 1199px) {
	.srp2-reviews .srp-rv--reviews-2 .commentlist, .srp2-reviews .srp-rv--reviews-3 .commentlist, .srp2-reviews .srp-rv--reviews-4 .commentlist { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (min-width: 1021px) {
	.srp2-hero { padding: var(--sc-space-5) 0 var(--sc-space-9); }
	.srp2-hero__grid { grid-template-columns: minmax(0,1fr) minmax(440px,1fr); gap: var(--sc-space-7); align-items: start; }
	.srp2-media { position: sticky; top: 96px; }
	.admin-bar .srp2-media { top: 128px; }
	.srp2-media__frame { min-height: 0; padding: 0; border-radius: 26px; }
	.srp2-summary { padding-top: var(--sc-space-2); }
	.srp2-summary h1 { font-size: clamp(64px,5vw,80px); }
	.srp2-summary__intro { font-size: 18px; }
	.srp2-purchase { padding: var(--sc-space-5); }
	.srp2-difference__grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
	.srp2-difference__grid.is-count-1 { grid-template-columns: minmax(0,780px); }
	.srp2-difference__grid.is-count-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.srp2-difference__grid.is-count-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.srp2-difference__card { display: block; min-height: 190px; padding: var(--sc-space-5); border-right: 1px solid var(--p2-line-soft); border-bottom: 0; }
	.srp2-difference__card:last-child { border-right: 0; }
	.srp2-difference__card > span { margin-bottom: var(--sc-space-5); }
	.srp2-success__grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: stretch; }
	.srp2-success__grid.is-count-1 { grid-template-columns: 1fr; }
	.srp2-success__grid { gap: var(--sc-space-5); }
	.srp2-success__facts .srkhv2-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.srp2-success__facts .srkhv2-facts.is-count-1 { grid-template-columns: 1fr; }
	.srp2-success__facts .srkhv2-facts.is-count-3 .srkhv2-fact:last-child { grid-column: 1 / -1; }
	.srp2-success__facts .srkhv2-fact:nth-child(even) { padding-left: var(--sc-space-4); border-left: 1px solid var(--p2-line-soft); }
	.srp2-success__facts, .srp2-success__now { min-height: 100%; }
	.srp2-faq__layout { grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr); gap: clamp(var(--sc-space-7),6vw,var(--sc-space-9)); align-items: start; }
	.srp2-faq__intro { position: sticky; top: 128px; }
	.admin-bar .srp2-faq__intro { top: 160px; }
	.srp2-reviews .srp-rv--reviews-3 .commentlist, .srp2-reviews .srp-rv--reviews-4 .commentlist { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.srp2-reviews .srp-rv__formpanel { display: grid; grid-template-columns: minmax(250px,.65fr) minmax(0,1.35fr); gap: clamp(var(--sc-space-7),6vw,var(--sc-space-9)); align-items: start; }
	.srp2-reviews .srp-rv__form-intro { margin-bottom: 0; }
	.srp2-reviews .srp-rv > .clear { display: none; }
	.srp2-products.srkhv2-products { grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--sc-space-4); }
	.srp2-products.srkhv2-products.is-count-1 { max-width: 380px; grid-template-columns: 1fr; }
	.srp2-products.srkhv2-products.is-count-2 { max-width: 780px; grid-template-columns: repeat(2,minmax(0,1fr)); }
	.srp2-products.srkhv2-products.is-count-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.srp2-products .srkhv2-product__body { padding: var(--sc-space-4); }
	.srp2-products .srkhv2-product h3 { font-size: 16px; }
}

@media (min-width: 1200px) {
	.srp2-reviews .srp-rv--reviews-2 .commentlist { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.srp2-reviews .srp-rv--reviews-3 .commentlist { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.srp2-reviews .srp-rv--reviews-4 .commentlist { grid-template-columns: repeat(4,minmax(0,1fr)); }
}

@media (min-width: 1280px) {
	.srp2-hero__grid { gap: var(--sc-space-8); }
	.srp2-media__frame { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.srp2 *, .srp2 *::before, .srp2 *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
