/* Shared product template v2. Other product templates and store surfaces keep their styles. */
article.pr-product-v2[data-pr-template="2"] {
	--pr-v2-line: #dfe5e8;
	--pr-v2-link: #225b70;
	width: 100%;
	max-width: 1240px;
	min-width: 0;
	margin: 0 auto 40px;
	color: #262a2c;
	font: 14px/1.8 -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
}

article.pr-product-v2[data-pr-template="2"] *,
article.pr-product-v2[data-pr-template="2"] *::before,
article.pr-product-v2[data-pr-template="2"] *::after { box-sizing: border-box; }

article.pr-product-v2[data-pr-template="2"] a {
	color: var(--pr-v2-link);
	text-underline-offset: 3px;
}

article.pr-product-v2[data-pr-template="2"] :is(a, summary):focus-visible {
	outline: 3px solid #23768f;
	outline-offset: 3px;
}

/* Remove theme heading decoration, including SWELL's pseudo-elements. */
article.pr-product-v2[data-pr-template="2"] :is(h1, h2, h3) {
	position: static;
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: inherit;
}

article.pr-product-v2[data-pr-template="2"] :is(h1, h2, h3)::before,
article.pr-product-v2[data-pr-template="2"] :is(h1, h2, h3)::after {
	display: none !important;
	content: none !important;
}

article.pr-product-v2[data-pr-template="2"] .pr-product-v2__breadcrumb {
	margin: 0 0 28px;
	color: #657176;
	font-size: 12px;
}

article.pr-product-v2[data-pr-template="2"] .pr-product-v2__breadcrumb a { text-decoration: none; }
article.pr-product-v2[data-pr-template="2"] .pr-product-v2__breadcrumb span { margin: 0 9px; color: #8a969c; }

article.pr-product-v2[data-pr-template="2"] .pr-product-v2__grid {
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(0, 1.25fr) minmax(0, .85fr);
	grid-template-areas: "cover identity purchase" "cover facts purchase" "description description purchase" "tracks tracks purchase";
	column-gap: 30px;
	row-gap: 0;
	align-items: start;
}

article.pr-product-v2[data-pr-template="2"] .pr-product-v2__grid > * { min-width: 0; }
article.pr-product-v2[data-pr-template="2"] .pr-product-v2__cover { grid-area: cover; margin: 0; }
article.pr-product-v2[data-pr-template="2"] .pr-product-v2__cover img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 0;
	aspect-ratio: 1;
	object-fit: contain;
	border: 1px solid #e0e5e7;
	border-radius: 0;
	background: #fff;
}

article.pr-product-v2[data-pr-template="2"] .pr-product-v2__identity { grid-area: identity; }
article.pr-product-v2[data-pr-template="2"] .pr-product-v2__artist {
	margin: 0 0 7px;
	color: #171717;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .01em;
	overflow-wrap: anywhere;
}

article.pr-product-v2[data-pr-template="2"] .pr-product-v2__artist a { color: #171717; text-decoration: none; }
article.pr-product-v2[data-pr-template="2"] .pr-product-v2__artist a:hover { text-decoration: underline; }
article.pr-product-v2[data-pr-template="2"] .pr-product-v2__title {
	margin: 0 0 15px;
	color: #505050;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -.02em;
	overflow-wrap: anywhere;
}

article.pr-product-v2[data-pr-template="2"] .pr-product-v2__edition {
	margin: 0 0 17px;
	padding-bottom: 15px;
	border-bottom: 1px solid #cdd6da;
	color: #5c6469;
	font-size: 13px;
	line-height: 1.7;
}

article.pr-product-v2[data-pr-template="2"] .pr-product-v2__facts { grid-area: facts; }
article.pr-product-v2[data-pr-template="2"] .pr-product-v2__facts dl {
	display: grid;
	grid-template-columns: 91px minmax(0, 1fr);
	margin: 0;
	font-size: 13px;
	line-height: 1.65;
}

article.pr-product-v2[data-pr-template="2"] .pr-product-v2__facts :is(dt, dd) {
	margin: 0;
	padding: 8px 0;
	border-bottom: 1px solid #e4e8ea;
	font-weight: 400;
	overflow-wrap: anywhere;
}

article.pr-product-v2[data-pr-template="2"] .pr-product-v2__facts dt { padding-right: 8px; color: #687279; }
article.pr-product-v2[data-pr-template="2"] .pr-product-v2__facts dd { color: #26333a; }
article.pr-product-v2[data-pr-template="2"] .pr-product-v2__facts a { text-decoration: none; }
article.pr-product-v2[data-pr-template="2"] .pr-product-v2__facts a:hover { text-decoration: underline; }

article.pr-product-v2[data-pr-template="2"] .pr-product-v2__purchase {
	grid-area: purchase;
	margin: 0;
	padding: 0 0 0 26px;
	border-left: 1px solid var(--pr-v2-line);
}

article.pr-product-v2[data-pr-template="2"] .pr-product-v2__purchase-title {
	margin: 0 0 12px !important;
	font-size: 14px !important;
	font-weight: 600;
	line-height: 1.5;
}

article.pr-product-v2[data-pr-template="2"] [data-pr-purchase-slot] { min-width: 0; }
article.pr-product-v2[data-pr-template="2"] a.pr-product-v2__buy {
	display: block;
	width: 100%;
	min-height: 50px;
	margin: 0;
	padding: 14px 10px;
	border: 1px solid #e2a03f;
	border-radius: 3px;
	background: #f0a63e;
	color: #201b12;
	font-size: 16px;
	font-weight: 650;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	overflow-wrap: anywhere;
}

article.pr-product-v2[data-pr-template="2"] a.pr-product-v2__buy:hover { background: #ec9f32; text-decoration: none; }
article.pr-product-v2[data-pr-template="2"] .pr-product-v2__search-note {
	margin: 7px 0 0;
	color: #66747b;
	font-size: 11px;
	line-height: 1.7;
}

article.pr-product-v2[data-pr-template="2"] .pr-product-v2__benefit {
	margin: 14px 0 0;
	color: #5c6469;
	font-size: 12px;
	line-height: 1.9;
}

article.pr-product-v2[data-pr-template="2"] .pr-product-v2__retailer {
	margin: 0;
	padding: 15px 0 18px;
	border: 0;
	border-bottom: 1px solid #e0e6e9;
	background: none;
	font-size: 12px;
}

article.pr-product-v2[data-pr-template="2"] .pr-product-v2__retailer summary { padding: 0; cursor: pointer; line-height: 1.7; }
article.pr-product-v2[data-pr-template="2"] .pr-product-v2__retailer p { margin: 10px 0 0; line-height: 1.7; }

article.pr-product-v2[data-pr-template="2"] .pr-listening.pr-listening--inline {
	max-width: 100%;
	margin: 28px 0 0;
	padding: 17px 0 0;
	border: 0;
	border-top: 1px solid #cdd6da;
	border-radius: 0;
	background: none;
	color: #262a2c;
}

article.pr-product-v2[data-pr-template="2"] .pr-listening.pr-listening--inline h2 {
	margin: 0 0 12px !important;
	font-size: 15px !important;
	font-weight: 650;
	line-height: 1.5;
}

article.pr-product-v2[data-pr-template="2"] .pr-listening__sample-note { margin: 10px 0 0; color: #5f6368; font-size: 12px; line-height: 1.65; }
article.pr-product-v2[data-pr-template="2"] .pr-listening__intro { margin: 12px 0 0; color: #66747b; font-size: 12px; }
article.pr-product-v2[data-pr-template="2"] .pr-listening__player { width: 100%; max-width: 100%; margin: 0; }
article.pr-product-v2[data-pr-template="2"] .pr-listening__player iframe {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 352px;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: #fff;
}

article.pr-product-v2[data-pr-template="2"] .pr-listening__player iframe[data-provider="bandcamp"] { height: 470px; }
article.pr-product-v2[data-pr-template="2"] .pr-listening__player iframe[data-provider="youtube"] { height: auto; aspect-ratio: 16 / 9; }

article.pr-product-v2[data-pr-template="2"] .pr-product-v2__description { grid-area: description; margin: 30px 0 0; }
article.pr-product-v2[data-pr-template="2"] .pr-product-v2__section-heading {
	margin: 0 0 15px !important;
	padding-bottom: 10px;
	border-bottom: 1px solid #bbc8cf;
	font-size: 16px !important;
	font-weight: 650;
	line-height: 1.5;
	letter-spacing: .03em;
}

article.pr-product-v2[data-pr-template="2"] .pr-product-v2__description p { margin: 0 0 16px; font-size: 14px; line-height: 1.95; }
article.pr-product-v2[data-pr-template="2"] .pr-product-v2__description h3 { margin: 0 0 5px; font-size: 13px; font-weight: 650; }
article.pr-product-v2[data-pr-template="2"] .pr-product-v2__tracks { grid-area: tracks; margin: 17px 0 0; }
article.pr-product-v2[data-pr-template="2"] .pr-product-v2__record-list { margin: 0; padding: 0; list-style: none; counter-reset: pr-v2-discs; }
article.pr-product-v2[data-pr-template="2"] .pr-product-v2__record-list > li {
	margin: 0;
	padding: 11px 0;
	border-bottom: 1px solid #e4e8ea;
	font-size: 14px;
	line-height: 1.65;
	counter-increment: pr-v2-discs;
}

article.pr-product-v2[data-pr-template="2"] .pr-product-v2__record-list > li::before {
	position: static;
	display: inline-block;
	width: 58px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: #687780;
	font-size: 12px;
	content: "LP " counter(pr-v2-discs);
}

article.pr-product-v2[data-pr-template="2"] .pr-product-v2__track-detail { margin: 18px 0 0; padding: 0; border: 0; background: none; font-size: 13px; line-height: 1.85; }
article.pr-product-v2[data-pr-template="2"] .pr-product-v2__track-detail summary { padding: 3px 0; font-weight: 600; cursor: pointer; }
article.pr-product-v2[data-pr-template="2"] .pr-product-v2__sides { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 26px; margin-top: 10px; }
article.pr-product-v2[data-pr-template="2"] .pr-product-v2__sides h3 { margin: 5px 0; color: #6b7981; font-size: 12px; font-weight: 600; }
article.pr-product-v2[data-pr-template="2"] .pr-product-v2__sides ol { margin: 0; padding-left: 20px; list-style: decimal; }
article.pr-product-v2[data-pr-template="2"] .pr-product-v2__sides li { margin: 0; padding: 4px 0; font-size: 13px; overflow-wrap: anywhere; }
article.pr-product-v2[data-pr-template="2"] .pr-product-v2__flat-tracks { columns: 2; column-gap: 30px; margin: 0; padding-left: 22px; list-style: decimal; font-size: 13px; line-height: 1.7; }
article.pr-product-v2[data-pr-template="2"] .pr-product-v2__flat-tracks li { margin: 0; padding: 5px 0; break-inside: avoid; overflow-wrap: anywhere; }
article.pr-product-v2[data-pr-template="2"] :is(.pr-product-v2__sides, .pr-product-v2__flat-tracks) li::before { content: none; }
article.pr-product-v2[data-pr-template="2"] .pr-product-v2__disclosure { margin: 30px 0 0; padding-top: 18px; border-top: 1px solid var(--pr-v2-line); color: #66747b; font-size: 11px; line-height: 1.8; }

/* Only a page containing a v2 product loses the surrounding blog controls. */
body:has(article.pr-product-v2[data-pr-template="2"]) :is(main .p-articleHead, main .p-articleMetas, main .p-articleFoot, main .p-pnLinks, main .p-toc, main .p-articleThumb, main .p-authorBox, main .c-shareBtns, main .l-sidebar, .l-content > .l-sidebar, #breadcrumb, #index_modal) { display: none !important; }
body:has(article.pr-product-v2[data-pr-template="2"]) :is(#main_content, .l-mainContent__inner) { width: 100%; max-width: none; }
body:has(article.pr-product-v2[data-pr-template="2"]) .l-content { padding-top: 28px; }
body:has(article.pr-product-v2[data-pr-template="2"]) .post_content { margin-top: 0 !important; }

article.pr-product-v2[data-pr-template="2"] .pr-product-v2__dock {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 80;
	padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
	border-top: 1px solid var(--pr-v2-line);
	background: #fff;
	box-shadow: 0 -3px 14px #172c3710;
}

article.pr-product-v2[data-pr-template="2"] .pr-product-v2__dock[hidden],
body:has(article.pr-product-v2[data-pr-template="2"]) .pr-product-v2__dock-spacer[hidden] { display: none !important; }
body:has(article.pr-product-v2[data-pr-template="2"]) .pr-product-v2__dock-spacer { width: 100%; pointer-events: none; }

@media (max-width: 1100px) {
	article.pr-product-v2[data-pr-template="2"] .pr-product-v2__grid { column-gap: 20px; }
	article.pr-product-v2[data-pr-template="2"] .pr-product-v2__purchase { padding-left: 19px; }
	article.pr-product-v2[data-pr-template="2"] .pr-product-v2__facts dl { grid-template-columns: 77px minmax(0, 1fr); font-size: 12px; }
}

@media (max-width: 800px) {
	body:has(article.pr-product-v2[data-pr-template="2"]) .l-content { padding-top: 20px; }
	body:has(article.pr-product-v2[data-pr-template="2"] .pr-product-v2__dock:not([hidden])) .p-fixBtnWrap { bottom: calc(90px + env(safe-area-inset-bottom, 0px)); }
	article.pr-product-v2[data-pr-template="2"] { margin-bottom: 32px; }
	article.pr-product-v2[data-pr-template="2"] .pr-product-v2__breadcrumb { margin-bottom: 20px; }
	article.pr-product-v2[data-pr-template="2"] .pr-product-v2__grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "identity" "cover" "purchase" "facts" "description" "tracks"; }
	article.pr-product-v2[data-pr-template="2"] :is(.pr-product-v2__artist, .pr-product-v2__title) { font-size: 22px; }
	article.pr-product-v2[data-pr-template="2"] .pr-product-v2__edition { margin-bottom: 18px; padding-bottom: 13px; }
	article.pr-product-v2[data-pr-template="2"] .pr-product-v2__cover { width: 100%; max-width: 420px; margin: 0 auto 18px; }
	article.pr-product-v2[data-pr-template="2"] .pr-product-v2__facts dl { grid-template-columns: 104px minmax(0, 1fr); font-size: 13px; }
	article.pr-product-v2[data-pr-template="2"] .pr-product-v2__facts :is(dt, dd) { padding-top: 10px; padding-bottom: 10px; }
	article.pr-product-v2[data-pr-template="2"] .pr-product-v2__purchase { margin: 0 0 26px; padding: 0; border: 0; }
	article.pr-product-v2[data-pr-template="2"] a.pr-product-v2__buy { padding: 15px 12px; }
	article.pr-product-v2[data-pr-template="2"] .pr-listening.pr-listening--inline { margin-top: 23px; }
	article.pr-product-v2[data-pr-template="2"] .pr-product-v2__description p { line-height: 1.9; }
	article.pr-product-v2[data-pr-template="2"] .pr-product-v2__tracks { margin-top: 18px; }
	article.pr-product-v2[data-pr-template="2"] .pr-product-v2__sides { grid-template-columns: minmax(0, 1fr); gap: 13px; }
	article.pr-product-v2[data-pr-template="2"] .pr-product-v2__flat-tracks { columns: 1; }
	article.pr-product-v2[data-pr-template="2"] :is(.pr-product-v2__retailer, .pr-product-v2__track-detail) summary { display: flex; min-height: 40px; align-items: center; gap: 6px; list-style: none; }
	article.pr-product-v2[data-pr-template="2"] :is(.pr-product-v2__retailer, .pr-product-v2__track-detail) summary::-webkit-details-marker { display: none; }
	article.pr-product-v2[data-pr-template="2"] :is(.pr-product-v2__retailer, .pr-product-v2__track-detail) summary::before { content: "＋"; }
	article.pr-product-v2[data-pr-template="2"] :is(.pr-product-v2__retailer, .pr-product-v2__track-detail)[open] summary::before { content: "−"; }
}

@media print {
	article.pr-product-v2[data-pr-template="2"] .pr-product-v2__dock { position: static; padding: 0; border: 0; box-shadow: none; }
	body:has(article.pr-product-v2[data-pr-template="2"]) .pr-product-v2__dock-spacer { display: none !important; }
}
