/* ==========================================================================
   WorldExpanders v6.4 — single product pages (journals + free Wings).
   Loads after shop.css + blog.css (shares header band, cards, .gwe6-prose).
   ========================================================================== */

.gwe6-pdp-page .gwe-site-footer { margin-top: 0; }
.gwe6-pdp [hidden] { display: none !important; }

/* ---------- Top: breadcrumb, gallery + purchase panel ---------- */
.gwe6-pdp-top { padding: clamp(16px, 2.5vw, 28px) 0 clamp(40px, 6vw, 80px); border-bottom: 1px solid var(--gwe-line); }
.gwe6-crumbs { margin: 0 0 clamp(1rem, 2.4vw, 1.6rem); font-size: .875rem; font-weight: 700; color: var(--gwe-ink-soft); }
.gwe6-crumbs a { color: var(--gwe-green); text-decoration: none; }
.gwe6-crumbs a:hover { text-decoration: underline; text-underline-offset: .2em; }
.gwe6-crumbs span { opacity: .55; }

.gwe6-pdp-grid { display: grid; gap: clamp(1.6rem, 4vw, 2.4rem); align-items: start; }
@media (min-width: 900px) {
	.gwe6-pdp-grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2.4rem, 4.5vw, 4.5rem); }
	.gwe6-pdp-panel { position: sticky; top: 96px; }
}

/* Gallery (WooCommerce's, restyled) */
.gwe6-pdp-media { position: relative; min-width: 0; }
.gwe6-pdp-media::before {
	content: ""; position: absolute; z-index: 12; top: -12px; left: 50%;
	width: 120px; height: 26px; margin-left: -60px;
	background: rgba(231, 214, 170, .8); box-shadow: 0 1px 2px rgba(0,0,0,.08);
	transform: rotate(-2.5deg); clip-path: polygon(3% 0, 97% 4%, 100% 50%, 96% 100%, 2% 96%, 0 50%);
	pointer-events: none;
}
.gwe6-pdp .woocommerce-product-gallery { position: relative; width: 100% !important; float: none !important; margin: 0 !important; padding: 0; }
.gwe6-pdp .woocommerce-product-gallery__wrapper { margin: 0; padding: 0; }
.gwe6-pdp .flex-viewport,
.gwe6-pdp .woocommerce-product-gallery:not(:has(.flex-viewport)) .woocommerce-product-gallery__wrapper {
	background: #fff; border: 8px solid #fff; box-shadow: var(--gwe6-photo-shadow);
}
.gwe6-pdp .woocommerce-product-gallery:not(:has(.flex-viewport)) .woocommerce-product-gallery__image:nth-child(n+2) { display: none; }
.gwe6-pdp .woocommerce-product-gallery__image { margin: 0; }
.gwe6-pdp .woocommerce-product-gallery__image a { display: block; }
.gwe6-pdp .woocommerce-product-gallery__image img { display: block; width: 100%; height: auto; margin: 0; border: 0; box-shadow: none; border-radius: 0; }
.gwe6-pdp .woocommerce-product-gallery__trigger {
	position: absolute; top: 18px; right: 18px; z-index: 11;
	display: flex; align-items: center; justify-content: center;
	width: 42px; height: 42px; border-radius: 50%;
	background: var(--gwe-white); box-shadow: 0 2px 8px rgba(0,0,0,.18);
	font-size: 0; text-decoration: none; text-indent: 0;
}
.gwe6-pdp .woocommerce-product-gallery__trigger::before {
	content: ""; width: 14px; height: 14px; border: 2.5px solid var(--gwe-green); border-radius: 50%; margin: -4px 0 0 -4px;
}
.gwe6-pdp .woocommerce-product-gallery__trigger::after {
	content: ""; position: absolute; width: 8px; height: 2.5px; background: var(--gwe-green); transform: translate(7px, 7px) rotate(45deg);
}
.gwe6-pdp .woocommerce-product-gallery__trigger > * { display: none; }
.gwe6-pdp ol.flex-control-thumbs {
	display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px;
	list-style: none; margin: 14px 0 0; padding: 0;
}
.gwe6-pdp ol.flex-control-thumbs li { margin: 0; padding: 0; width: auto !important; float: none !important; }
.gwe6-pdp ol.flex-control-thumbs img {
	display: block; width: 100%; aspect-ratio: 1; object-fit: cover; cursor: pointer;
	border: 2px solid transparent; opacity: .62; background: #fff; transition: opacity .15s ease, border-color .15s ease;
}
.gwe6-pdp ol.flex-control-thumbs img:hover { opacity: 1; }
.gwe6-pdp ol.flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--gwe-green); }

/* No photo yet: a large drawn cover */
.gwe6-pdp-cover { aspect-ratio: 4 / 5; max-width: 560px; margin: 0 auto; border: 8px solid #fff; background: #fff; box-shadow: var(--gwe6-photo-shadow); transform: rotate(-.6deg); }
.gwe6-pdp-cover .gwe6-cover { padding: 8%; }
.gwe6-pdp-cover .gwe6-cover .gwe-icon { max-width: 84px; }
.gwe6-pdp-cover .gwe6-cover-title { font-size: clamp(2rem, 6vw, 3.4rem); -webkit-line-clamp: 4; }

/* Purchase panel */
.gwe6-pdp-panel {
	min-width: 0; padding: clamp(1.3rem, 3vw, 2.2rem);
	background: var(--gwe-white); border: 1.5px solid var(--gwe-ink); box-shadow: var(--gwe6-card-shadow);
}
.gwe6-pdp-panel .gwe6-kicker { margin-bottom: .45rem; }
.gwe6 .gwe6-pdp-title { font-size: clamp(1.9rem, 3.6vw, 2.7rem); line-height: 1.08; letter-spacing: -.02em; margin: 0 0 .6rem; color: var(--gwe-ink); }
.gwe6-pdp-sub { margin: 0 0 1rem; font-size: 1.125rem; line-height: 1.5; color: var(--gwe-ink-soft); }
.gwe6-pdp-pricerow { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem 1rem; margin: 0 0 1rem; padding: .9rem 0; border-top: 1px dashed var(--gwe-line); border-bottom: 1px dashed var(--gwe-line); }
.gwe6-pdp-price { margin: 0; font-family: var(--gwe-font-display); font-weight: 800; font-size: 2.3rem; line-height: 1; color: var(--gwe-ink); }
.gwe6-pdp-price del { font-size: .55em; opacity: .5; margin-right: .2em; }
.gwe6-pdp-price ins { text-decoration: none; }
.gwe6-pdp--wing .gwe6-pdp-price { color: var(--gwe-ochre); }
.gwe6-pdp-meta { margin: 0; font-size: .8125rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--gwe-green); }
.gwe6-pdp-panel .gwe-short-description { margin: 0 0 1rem; font-size: 1rem; line-height: 1.6; color: var(--gwe-ink-soft); }
.gwe6-pdp-panel .gwe-short-description p { margin: 0 0 .7em; }
.gwe6-pdp-panel .gwe-short-description p:last-child { margin-bottom: 0; }
.gwe6-pdp-panel .gwe6-digital { margin: 0 0 1rem; }
.gwe6-pdp-panel .gwe5-email-note {
	display: flex; gap: .6rem; align-items: flex-start; margin: 0 0 1rem; padding: .75rem .95rem;
	background: var(--gwe-kraft); border-left: 4px solid var(--gwe-ochre);
	font-size: .9375rem; font-weight: 700; line-height: 1.4;
}
.gwe6-pdp-panel .gwe5-email-note .gwe-icon { flex: 0 0 auto; width: 1.3em; height: 1.3em; color: var(--gwe-ochre); }

/* The one buy button */
.gwe6-pdp-buy form.cart { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0 0 .8rem; padding: 0; border: 0; }
.gwe6-pdp-buy .quantity { display: none !important; }
.gwe6-pdp-buy .single_add_to_cart_button,
.gwe6 .gwe6-pdp-buy button.single_add_to_cart_button.button.alt {
	flex: 1 1 100%; width: 100%; min-height: 56px; margin: 0; padding: .9em 1.4em;
	background: var(--gwe-green) !important; color: #fff !important;
	border: 0 !important; border-radius: var(--gwe-sketch) !important;
	font-family: var(--gwe-font-body) !important; font-weight: 800 !important; font-size: 1.125rem !important; letter-spacing: .005em; line-height: 1.2;
	text-transform: none; box-shadow: 0 3px 0 var(--gwe-green-dark), 0 8px 18px rgba(29,42,32,.18);
	cursor: pointer; transition: transform .15s ease, background-color .15s ease;
}
.gwe6-pdp-buy .single_add_to_cart_button:hover { background: var(--gwe-forest) !important; transform: translateY(-2px); }
.gwe6-pdp--wing .gwe6-pdp-buy .single_add_to_cart_button,
.gwe6 .gwe6-pdp--wing .gwe6-pdp-buy button.single_add_to_cart_button.button.alt { background: var(--gwe-ochre) !important; box-shadow: 0 3px 0 rgba(0,0,0,.22), 0 8px 18px rgba(0,0,0,.14); }
.gwe6-pdp--wing .gwe6-pdp-buy .single_add_to_cart_button:hover,
.gwe6 .gwe6-pdp--wing .gwe6-pdp-buy button.single_add_to_cart_button.button.alt:hover { background: var(--gwe-ochre) !important; filter: brightness(.93); }
.gwe6-pdp-buy .single_add_to_cart_button.disabled { opacity: .5; }

.gwe6-pdp-panel .gwe-delivery-note { display: flex; gap: .5rem; align-items: flex-start; margin: 0 0 1rem; font-size: .9375rem; color: var(--gwe-ink-soft); }
.gwe6-pdp-panel .gwe-delivery-note .gwe-icon { flex: 0 0 auto; width: 1.2em; height: 1.2em; color: var(--gwe-green); margin-top: .15em; }
.gwe6-pdp-panel .gwe6-wing-inline { margin: .2rem 0 0; }
.gwe6-pdp-fine { margin: .8rem 0 0; font-size: .875rem; color: var(--gwe-ink-soft); }

/* Matching free Wing — a quiet line, not a second offer box */
.gwe6-pdp-panel .gwe5-tryfree {
	display: grid; grid-template-columns: 52px 1fr; gap: .8rem; align-items: center;
	margin: 1.1rem 0 0; padding: 1rem 0 0; background: none; border: 0; border-top: 1px dashed var(--gwe-line); box-shadow: none; border-radius: 0;
}
.gwe6-pdp-panel .gwe5-tryfree-thumb { width: 52px; height: 52px; border-radius: 50%; overflow: hidden; background: var(--gwe-kraft); box-shadow: 0 0 0 2px rgba(181,118,46,.35); }
.gwe6-pdp-panel .gwe5-tryfree-thumb img, .gwe6-pdp-panel .gwe5-tryfree-thumb .gwe6-noimg { width: 100%; height: 100%; object-fit: cover; display: flex; border: 0; margin: 0; }
.gwe6-pdp-panel .gwe5-tryfree-copy strong { font-size: .9375rem; }
.gwe6-pdp-panel .gwe5-tryfree-copy p { margin: .1rem 0 .1rem !important; font-size: .9375rem; color: var(--gwe-ink-soft); }
.gwe6-pdp-panel .gwe5-tryfree .gwe6-link { min-height: 32px; font-size: .9375rem; color: var(--gwe-ochre); }
.gwe6-pdp-panel .gwe-review-quote { margin: 1.1rem 0 0; }

/* ---------- Wing: the three sheets ---------- */
.gwe6-pdp-sheets { padding: clamp(40px, 6vw, 72px) 0 0; }
.gwe6-pdp-sheets .gwe6-head { max-width: 760px; margin-bottom: 1.6rem; }
.gwe6-pdp-sheets .gwe6-title { font-size: clamp(1.6rem, 3.2vw, 2.2rem); }
.gwe6-sheet-list { list-style: none; margin: 0 0 1.2rem; padding: 0; display: grid; gap: var(--gwe6-gap); }
@media (min-width: 760px) { .gwe6-sheet-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.gwe6-sheet-list li { position: relative; display: flex; flex-direction: column; gap: .3rem; padding: 1.3rem 1.3rem 1.2rem 1.3rem; background: var(--gwe-white); border: 1.5px solid var(--gwe-ink); box-shadow: var(--gwe6-card-shadow); }
.gwe6-sheet-list b { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; margin-bottom: .3rem; border-radius: 50%; background: var(--gwe-ochre); color: #fff; font-size: .9375rem; }
.gwe6-sheet-list strong { font-family: var(--gwe-font-display); font-weight: 800; font-size: 1.15rem; line-height: 1.25; }
.gwe6-sheet-list span { font-size: .9875rem; line-height: 1.5; color: var(--gwe-ink-soft); }
.gwe6-pdp-mats { display: flex; gap: .6rem; align-items: flex-start; margin: 0; font-size: 1rem; color: var(--gwe-ink-soft); }
.gwe6-pdp-mats .gwe-icon { flex: 0 0 auto; width: 1.3em; height: 1.3em; color: var(--gwe-green); margin-top: .15em; }
.gwe6-pdp-sheets .gwe6-video { margin: 2rem 0 0; }

/* ---------- Description + aside ---------- */
.gwe6-pdp-details { padding: clamp(40px, 6vw, 80px) 0 clamp(48px, 7vw, 96px); }
.gwe6-pdp-details-grid { display: grid; gap: clamp(2rem, 5vw, 3rem); }
.gwe6-pdp-details:not(.has-aside) .gwe6-pdp-desc { margin: 0; }
/* Wing: sheets section flows straight into the description */
.gwe6-pdp-sheets { padding-bottom: clamp(40px, 6vw, 64px); }
.gwe6-pdp-sheets + .gwe6-pdp-details { padding-top: clamp(40px, 6vw, 64px); border-top: 1px dashed var(--gwe-line); }
@media (min-width: 980px) {
	.gwe6-pdp-details.has-aside .gwe6-pdp-details-grid { grid-template-columns: minmax(0, 1fr) 340px; gap: clamp(3rem, 6vw, 5.5rem); align-items: start; }
	.gwe6-pdp-details.has-aside .gwe6-pdp-desc { margin: 0; }
	.gwe6-pdp-aside { position: sticky; top: 96px; }
}
.gwe6-pdp-desc > :first-child { margin-top: 0; }
.gwe6-pdp-desc h2:first-child, .gwe6-pdp-desc h3:first-child { margin-top: 0; }
.gwe6-pdp-desc h3 { font-size: clamp(1.3rem, 2.4vw, 1.6rem); margin: 2em 0 .55em; }
.gwe6-pdp-desc h3::before { content: ""; display: block; width: 40px; height: 4px; margin-bottom: .6rem; background: var(--gwe-ochre); }
.gwe6-pdp-desc h3:first-child::before { display: none; }

/* FAQ written with the Details block → same look as the homepage FAQ */
.gwe6-prose details { margin: 0 0 .7rem; background: var(--gwe-white); border: 1.5px solid rgba(46, 42, 36, .22); border-radius: 6px; }
.gwe6-prose details[open] { border-color: var(--gwe-green); background: #fff; }
.gwe6-prose summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 52px; padding: .9rem 1.15rem; font-weight: 800; font-size: 1.0625rem; line-height: 1.35; cursor: pointer; list-style: none; }
.gwe6-prose summary::-webkit-details-marker { display: none; }
.gwe6-prose summary::after { content: "+"; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--gwe-green); color: #fff; font-weight: 800; }
.gwe6-prose details[open] summary::after { content: "–"; background: var(--gwe-ochre); }
.gwe6-prose details > :not(summary) { margin: 0 1.15rem 1rem; color: var(--gwe-ink-soft); }

.gwe6-pdp-aside { display: grid; gap: 1rem; min-width: 0; }
.gwe6-aside-card { padding: 1.2rem 1.3rem; background: var(--gwe-white); border: 1.5px solid rgba(46, 42, 36, .22); }
.gwe6-aside-card--note { background: var(--gwe-kraft); background-image: var(--gwe-noise); border-color: transparent; border-left: 4px solid var(--gwe-ochre); }
.gwe6 .gwe6-aside-title, .gwe6-aside-res h3 { margin: 0 0 .7rem; font-family: var(--gwe-font-display); font-weight: 800; font-size: 1.1rem; line-height: 1.25; letter-spacing: -.005em; color: var(--gwe-ink); }
.gwe6-aside-card p { margin: 0 0 .6rem; font-size: .9875rem; line-height: 1.55; color: var(--gwe-ink-soft); }
.gwe6-aside-card p:last-child { margin-bottom: 0; }
.gwe6-aside-card .gwe6-checks, .gwe6-aside-card .gwe6-dots { margin: 0; gap: .5rem; font-size: .9875rem; }
.gwe6-facts { margin: 0; }
.gwe6-facts div { display: flex; justify-content: space-between; gap: 1rem; padding: .5rem 0; border-bottom: 1px dashed var(--gwe-line); font-size: .9375rem; }
.gwe6-facts div:last-child { border-bottom: 0; }
.gwe6-facts dt { font-weight: 800; color: var(--gwe-ink); }
.gwe6-facts dd { margin: 0; text-align: right; color: var(--gwe-ink-soft); }
.gwe6-aside-complete { display: flex; gap: .5rem; align-items: flex-start; font-weight: 800; color: var(--gwe-green) !important; }
.gwe6-aside-complete .gwe-icon { flex: 0 0 auto; width: 1.2em; height: 1.2em; margin-top: .15em; }
.gwe6-aside-res .gwe5-resources { margin: 0; padding: 0; background: none; border: 0; }
.gwe6-aside-res ul { list-style: none; margin: .6rem 0 0; padding: 0; display: grid; gap: .55rem; }
.gwe6-aside-res li { font-size: .9375rem; line-height: 1.4; }
.gwe6-aside-res .gwe5-res-type { display: block; font-size: .6875rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--gwe-ochre); }
.gwe6-aside-res .gwe5-resources-note { font-size: .875rem; }

/* ---------- Wing → full journal ---------- */
.gwe6-pdp-upgrade { padding: 0 0 clamp(48px, 7vw, 96px); }
.gwe6-pdp-upgrade .gwe5-parent { max-width: 980px; margin: 0 auto; }
.gwe6-pdp-upgrade .gwe5-parent-img img, .gwe6-pdp-upgrade .gwe5-parent-img .gwe6-noimg { display: flex; width: 100%; height: auto; }

/* ---------- Reviews ---------- */
.gwe6-pdp-reviews { padding: clamp(36px, 5vw, 64px) 0; border-top: 1px solid var(--gwe-line); }
.gwe6-pdp-reviews > .gwe6-wrap { max-width: calc(820px + 2 * var(--gwe6-gutter)); }
.gwe6-review-first { border: 1.5px dashed rgba(46, 42, 36, .3); background: var(--gwe-paper); }
.gwe6-review-first[open] { border-style: solid; border-color: var(--gwe-green); background: #fff; }
.gwe6-review-first summary { display: flex; align-items: center; gap: .7rem; min-height: 56px; padding: .9rem 1.2rem; font-weight: 800; font-size: 1.0625rem; cursor: pointer; list-style: none; }
.gwe6-review-first summary::-webkit-details-marker { display: none; }
.gwe6-review-first summary > span:nth-child(2) { flex: 1; }
.gwe6-review-first summary .gwe-icon { width: 1.3em; height: 1.3em; color: var(--gwe-ochre); }
.gwe6-review-first[open] .gwe6-faq-sign { background: var(--gwe-ochre); }
.gwe6-review-first[open] .gwe6-faq-sign::after { transform: rotate(0); }
.gwe6-review-form { padding: 0 1.2rem 1.2rem; }
/* The section prints its own heading; WooCommerce's "N reviews for …" and "no reviews yet" are redundant */
.gwe6-pdp-reviews .woocommerce-Reviews-title, .gwe6-pdp-reviews .woocommerce-noreviews { display: none; }
.gwe6-pdp-reviews #reviews, .gwe6-pdp-reviews #comments { margin: 0; padding: 0; }
.gwe6-pdp-reviews .comment-reply-title { display: block; margin: .4rem 0 .6rem; font-family: var(--gwe-font-display); font-weight: 800; font-size: 1.2rem; color: var(--gwe-ink); }
.gwe6-pdp-reviews ol.commentlist { list-style: none; margin: 0 0 2rem; padding: 0; }
.gwe6-pdp-reviews ol.commentlist li { margin: 0; padding: 1.1rem 0; border-bottom: 1px dashed var(--gwe-line); }
.gwe6-pdp-reviews ol.commentlist li img.avatar { float: left; width: 40px; height: 40px; margin-right: .9rem; border-radius: 50%; }
.gwe6-pdp-reviews .comment-text { overflow: hidden; }
.gwe6-pdp-reviews .comment-text .meta { margin: 0 0 .3rem; font-size: .875rem; color: var(--gwe-ink-soft); }
.gwe6-pdp-reviews label { display: block; margin-bottom: .3rem; font-size: .9375rem; font-weight: 800; }
.gwe6-pdp-reviews input[type="text"], .gwe6-pdp-reviews input[type="email"], .gwe6-pdp-reviews textarea, .gwe6-pdp-reviews select {
	box-sizing: border-box; width: 100%; min-height: 48px; padding: .7rem .85rem;
	background: #fff; border: 1.5px solid rgba(46, 42, 36, .35); border-radius: 6px; font: inherit; font-size: 1rem; color: var(--gwe-ink);
}
.gwe6-pdp-reviews textarea { min-height: 130px; }
.gwe6-pdp-reviews .comment-form > p { margin: 0 0 1rem; }
.gwe6-pdp-reviews .comment-form-cookies-consent { display: flex; gap: .5rem; align-items: flex-start; }
.gwe6-pdp-reviews .comment-form-cookies-consent label { display: inline; font-weight: 400; }
.gwe6-pdp-reviews p.stars a { color: var(--gwe-ochre); }
.gwe6-pdp-reviews .form-submit input[type="submit"], .gwe6-pdp-reviews #submit {
	min-height: 48px; padding: .8em 1.5em; background: var(--gwe-green) !important; color: #fff !important;
	border: 0; border-radius: var(--gwe-sketch); font-family: var(--gwe-font-body) !important; font-weight: 800; font-size: 1rem; cursor: pointer;
}

/* ---------- Related ---------- */
.gwe6-pdp-related { padding: clamp(48px, 7vw, 96px) 0; }
.gwe6-pdp-related .related.products, .gwe6-pdp-related .up-sells { margin: 0; padding: 0; }
.gwe6-pdp-related .up-sells + .related.products { margin-top: clamp(2.4rem, 5vw, 3.6rem); }

/* ---------- Phone buy bar: one fixed bar at a time ---------- */
body.gwe-has-sticky-atc .gwe-bottom-nav { display: none; }
body.gwe-has-sticky-atc .gwe-sticky-atc { bottom: 0; padding-bottom: calc(.6rem + env(safe-area-inset-bottom)); }
.gwe-sticky-thumb .gwe6-noimg { width: 44px; height: 44px; border-radius: 6px; }
