/**
 * doll.css — For Him doll PDP. The buy box reuses the women's PDP treatment (pp-pdp-*, from
 * single-product.css, which is tokens-driven and so renders dark under body.theme-him). This file
 * styles the doll-specific sections below the buy box. Tokens only. Loaded on doll products.
 */

/* Estimated-delivery line in the buy box */
.pp-pdp-delivery { font-size: 0.86rem; color: var(--pp-text); background: var(--pp-blush-light); border-radius: var(--pp-radius-sm); padding: 10px 14px; margin: 10px 0 16px; }

/* Section shell */
.doll-section { padding: clamp(40px, 6vw, 72px) 0; }
.doll-section:nth-of-type(even) { background: var(--pp-blush-light); }
.doll-wrap { max-width: 980px; margin: 0 auto; padding: 0 var(--pp-gutter); }
.doll-h2 { font-family: var(--pp-display); font-weight: var(--pp-w-heavy); font-size: clamp(1.5rem, 3vw, 2.1rem); color: var(--pp-plum); margin: 0 0 1rem; }

/* Long description */
.doll-longdesc h3 { font-family: var(--pp-display); font-weight: var(--pp-w-bold); font-size: clamp(1.2rem, 2.4vw, 1.6rem); color: var(--pp-plum); margin: 1.8rem 0 0.6rem; }
.doll-longdesc h3:first-child { margin-top: 0; }
.doll-longdesc p { color: var(--pp-text); line-height: 1.8; margin: 0 0 1rem; max-width: 68ch; }
.doll-longdesc em { color: var(--pp-pink); font-style: italic; }

/* Feature blocks */
.doll-feature__inner { max-width: var(--pp-container); margin: 0 auto; padding: 0 var(--pp-gutter); display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 4vw, 56px); align-items: center; }
.doll-feature__media { aspect-ratio: 4/3; border-radius: var(--pp-radius); overflow: hidden; background: var(--pp-blush-light); }
.doll-feature__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.doll-feature--img-right .doll-feature__media { order: 2; }
.doll-feature__sub { color: var(--pp-pink); font-size: 0.82rem; font-weight: var(--pp-w-semibold); letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 0.6rem; }
.doll-feature__copy p { color: var(--pp-text); line-height: 1.7; margin-bottom: 1rem; }
.doll-feature__copy strong, .doll-care strong { color: var(--pp-plum); }
.doll-feature__bullets { list-style: none; margin: 0; padding: 0; }
.doll-feature__bullets li { position: relative; padding-left: 22px; margin-bottom: 8px; color: var(--pp-text); font-size: 0.95rem; }
.doll-feature__bullets li::before { content: "◆"; position: absolute; left: 0; top: 0.25em; color: var(--pp-pink); font-size: 0.6rem; }

/* Spec table */
.doll-spec-table { width: 100%; border-collapse: collapse; background: var(--pp-white); border-radius: var(--pp-radius-sm); overflow: hidden; }
.doll-spec-table th, .doll-spec-table td { text-align: left; padding: 12px 16px; border-top: 1px solid rgba(255,255,255,0.06); font-size: 0.92rem; }
.doll-spec-table tr:first-child th, .doll-spec-table tr:first-child td { border-top: none; }
.doll-spec-table th { color: var(--pp-muted); font-weight: var(--pp-w-semibold); width: 34%; text-transform: uppercase; letter-spacing: 0.04em; font-size: 0.76rem; }
.doll-spec-table td { color: var(--pp-plum); }

/* Accent on section headings (matches the women's PDP pp-pdp-h2 em treatment) */
.doll-h2 em { color: var(--pp-pink); font-style: italic; }

/* Care — four steps */
.doll-care__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(16px, 2.4vw, 28px); }
.doll-care__step { background: var(--pp-white); border: 1px solid rgba(255,255,255,0.06); border-radius: var(--pp-radius); padding: 22px 20px; }
.doll-care__i { font-size: 1.5rem; display: block; margin-bottom: 10px; }
.doll-care__step h3 { font-family: var(--pp-sans); font-size: 0.95rem; font-weight: var(--pp-w-semibold); color: var(--pp-plum); margin-bottom: 0.5rem; }
.doll-care__step p { color: var(--pp-text); line-height: 1.6; font-size: 0.86rem; margin: 0; }

/* Delivery & discretion */
.doll-discretion__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 3vw, 32px); }
.doll-discretion__card { background: var(--pp-white); border: 1px solid rgba(255,255,255,0.06); border-radius: var(--pp-radius); padding: 26px 24px; }
.doll-discretion__i { font-size: 1.6rem; display: block; margin-bottom: 12px; }
.doll-discretion h3 { font-family: var(--pp-display); color: var(--pp-plum); font-size: 1.15rem; margin-bottom: 0.5rem; }
.doll-discretion p { color: var(--pp-text); line-height: 1.6; font-size: 0.9rem; margin: 0; }

/* FAQ — accordion styling comes from single-product.css (.pp-acc-*/.pp-pdp-faq__*) */
.doll-faq .pp-pdp-faq { max-width: 820px; }

/* Related */
.doll-related .pp-product-grid { grid-template-columns: repeat(4, 1fr); }

/* Final CTA band */
.doll-cta { background: linear-gradient(135deg, #0e1015, #12151b 55%, #123056); padding: clamp(48px, 7vw, 84px) var(--pp-gutter); text-align: center; }
.doll-cta__inner { max-width: 620px; margin: 0 auto; }
.doll-cta__title { font-family: var(--pp-display); font-weight: var(--pp-w-heavy); font-size: clamp(1.7rem, 3.4vw, 2.4rem); color: var(--pp-plum); margin-bottom: 0.6rem; }
.doll-cta__price { display: flex; align-items: baseline; justify-content: center; gap: 12px; margin-bottom: 0.8rem; }
.doll-cta__price .woocommerce-Price-amount { color: var(--pp-pink); font-weight: var(--pp-w-heavy); font-size: 1.5rem; }
.doll-cta__price del .woocommerce-Price-amount { color: var(--pp-muted); font-weight: 400; font-size: 1rem; }
.doll-cta__save { background: var(--pp-error); color: #fff; font-size: 0.72rem; font-weight: var(--pp-w-heavy); padding: 4px 10px; border-radius: 4px; }
.doll-cta__sub { color: var(--pp-text); line-height: 1.7; margin-bottom: 1.6rem; }
.doll-cta__btn { display: inline-block; padding: 15px 44px; background: var(--pp-cta); color: var(--pp-on-accent); border-radius: var(--pp-radius); font-weight: var(--pp-w-heavy); letter-spacing: 0.06em; text-transform: uppercase; font-size: 0.82rem; transition: filter 0.25s; }
.doll-cta__btn:hover { filter: brightness(1.12); }
.doll-cta__trust { display: flex; flex-wrap: wrap; gap: 22px; justify-content: center; margin-top: 1.6rem; color: var(--pp-muted); font-size: 0.8rem; }

/* Placeholder for missing feature images */
.doll-imgph { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: 220px; border: 1px dashed rgba(255,255,255,0.14); border-radius: var(--pp-radius); color: var(--pp-muted); font-size: 0.82rem; letter-spacing: 0.08em; text-transform: uppercase; background: var(--pp-blush-light); }

@media (max-width: 860px) {
	.doll-feature__inner { grid-template-columns: 1fr; }
	.doll-feature--img-right .doll-feature__media { order: 0; }
	.doll-care__grid { grid-template-columns: 1fr 1fr; }
	.doll-discretion__grid { grid-template-columns: 1fr; }
	.doll-related .pp-product-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
	.doll-care__grid { grid-template-columns: 1fr; }
	.doll-related .pp-product-grid { grid-template-columns: 1fr; }
}
