/* Página de produto (single-product) — port do gen_04_tecnica.
   Corpo creme; header/footer/performance/cross-sell escuros. Standalone
   (o CSS do tema é dequeued em is_product). */

@font-face { font-family:"Soria"; src:url("../home-assets/fonts/soria.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }
:root {
	--black:#060606; --panel:#111009; --gold:#C9A96A; --gold-soft:#D8BC82; --gold-deep:#B4914B;
	--cream:#F2ECDF; --cream-2:#F7F3E9; --ink:#171308; --white:#FFFFFF;
	--ink-mut:rgba(23,19,8,0.68); --ink-mut-2:rgba(23,19,8,0.46);
	--mut:rgba(255,255,255,0.66); --mut-2:rgba(255,255,255,0.42);
	--hair:rgba(255,255,255,0.10); --hair-ink:rgba(23,19,8,0.14);
	--sans:"Archivo",sans-serif; --serif:"Soria",Georgia,serif; --cond:"Bebas Neue",sans-serif; --head:"Oswald","Archivo",sans-serif;
	--ease:cubic-bezier(0.16,1,0.3,1);
}
body.single-product { margin:0; padding:0; }
.llstore-pp * { margin:0; padding:0; box-sizing:border-box; }
.llstore-pp { -webkit-font-smoothing:antialiased; font-family:var(--sans); background:var(--cream); color:var(--ink); font-size:16px; line-height:1.55; }
.llstore-pp img { display:block; max-width:100%; }
.llstore-pp a { text-decoration:none; color:inherit; }
.llstore-pp .lbl { font-size:0.72rem; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; }

/* ---------- Header ---------- */
.llstore-pp header.site { position:sticky; top:0; z-index:40; background:rgba(11,11,11,0.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--hair); color:#fff; }
.llstore-pp .site-inner { max-width:1456px; margin:0 auto; padding:0 20px; height:68px; display:flex; align-items:center; gap:30px; }
.llstore-pp .logo { display:flex; align-items:center; gap:1px; font-family:var(--cond); font-size:1.45rem; letter-spacing:0.04em; line-height:1; white-space:nowrap; }
.llstore-pp .logo .b { background:var(--gold-soft); color:var(--ink); padding:3px 7px 1px; border-radius:2px; margin-right:6px; }
.llstore-pp nav.main { display:none; gap:28px; }
.llstore-pp nav.main a { font-size:0.74rem; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--mut); transition:color 0.2s; }
.llstore-pp nav.main a:hover { color:var(--gold); }
.llstore-pp .hd-search { display:none; margin-left:auto; align-items:center; gap:10px; min-width:280px; height:42px; padding:0 16px; border:1px solid var(--hair); border-radius:10px; background:rgba(255,255,255,0.05); color:var(--mut-2); font-size:0.85rem; }
.llstore-pp .hd-search svg { margin-left:auto; flex-shrink:0; }
.llstore-pp .hd-icons { margin-left:auto; display:flex; align-items:center; gap:20px; color:rgba(255,255,255,0.9); }
.llstore-pp .cart { position:relative; }
.llstore-pp .cart .n { position:absolute; top:-7px; right:-9px; min-width:16px; height:16px; padding:0 3px; border-radius:50%; background:var(--gold); color:var(--black); font-size:0.62rem; font-weight:700; display:flex; align-items:center; justify-content:center; }

/* ---------- Breadcrumb ---------- */
.llstore-pp .crumbs { background:var(--cream-2); border-bottom:1px solid var(--hair-ink); }
.llstore-pp .crumbs-inner { max-width:1220px; margin:0 auto; padding:12px 20px; font-size:0.78rem; color:var(--ink-mut-2); display:flex; flex-wrap:wrap; gap:7px; align-items:center; }
.llstore-pp .crumbs a { color:var(--ink-mut); }
.llstore-pp .crumbs a:hover { color:var(--gold-deep); }
.llstore-pp .crumbs .sep { color:var(--hair-ink); }
.llstore-pp .crumbs .here { color:var(--gold-deep); font-weight:500; }

/* ---------- Product hero ---------- */
.llstore-pp .product { padding:26px 0 8px; }
.llstore-pp .product-inner { max-width:1220px; margin:0 auto; padding:0 20px; display:grid; grid-template-columns:1fr; gap:26px; }
.llstore-pp .p-cover { position:relative; }
.llstore-pp .p-cover img { width:100%; height:auto; max-width:480px; margin:0 auto; border-radius:14px; border:1px solid var(--hair-ink); box-shadow:0 30px 60px rgba(23,19,8,0.22); }
.llstore-pp .p-info .kicker { color:var(--gold-deep); display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.llstore-pp .p-info .kicker::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--gold-deep); }
.llstore-pp .p-info h1 { font-family:var(--serif); font-size:3rem; font-weight:400; line-height:1.02; margin-bottom:6px; }
.llstore-pp .p-info .composer { font-size:1.05rem; font-weight:300; color:var(--ink-mut); margin-bottom:14px; }
.llstore-pp .p-info .price { font-size:1.7rem; font-weight:600; color:var(--gold-deep); margin-bottom:18px; }
.llstore-pp .p-info .price del { color:var(--ink-mut-2); font-weight:400; font-size:1.15rem; margin-right:8px; }
.llstore-pp .p-info .price ins { text-decoration:none; }
.llstore-pp .p-info .desc { font-size:0.98rem; font-weight:300; color:var(--ink-mut); max-width:52ch; margin-bottom:22px; }
.llstore-pp .p-facts { display:flex; flex-direction:column; gap:11px; margin-bottom:26px; }
.llstore-pp .p-facts span { display:flex; align-items:center; gap:11px; font-size:0.9rem; color:var(--ink-mut); }
.llstore-pp .p-facts svg { flex-shrink:0; color:var(--gold-deep); }
.llstore-pp .p-cta { display:flex; flex-direction:column; gap:12px; max-width:480px; }
.llstore-pp .p-cta form.cart { margin:0; flex:1; display:flex; }
.llstore-pp .p-cta .quantity { display:none; } /* virtual = sold_individually */
/* botão nativo do Woo estilizado como o CTA dourado do gen_04 */
.llstore-pp .btn-cart,
.llstore-pp .p-cta .single_add_to_cart_button { width:100%; height:58px; display:inline-flex; align-items:center; justify-content:center; gap:12px; border:none; border-radius:10px; cursor:pointer;
	background:linear-gradient(180deg,var(--gold-soft),var(--gold-deep)); color:var(--black); font-family:var(--sans); font-weight:600; font-size:0.84rem; letter-spacing:0.12em; text-transform:uppercase; box-shadow:0 16px 34px rgba(180,145,75,0.35); }
.llstore-pp .p-cta .single_add_to_cart_button:hover { filter:brightness(1.04); }
.llstore-pp .btn-preview { height:56px; display:inline-flex; align-items:center; justify-content:center; gap:11px; border-radius:10px; border:1.5px solid rgba(23,19,8,0.3); color:var(--ink); font-weight:600; font-size:0.8rem; letter-spacing:0.12em; text-transform:uppercase; transition:border-color 0.2s; cursor:pointer; background:none; font-family:var(--sans); }
.llstore-pp .btn-preview:hover { border-color:var(--gold-deep); color:var(--gold-deep); }

/* ---------- Performance card ---------- */
.llstore-pp .perf { max-width:1220px; margin:26px auto 0; padding:0 20px; }
.llstore-pp .perf-card { display:flex; align-items:center; gap:18px; background:radial-gradient(ellipse 70% 130% at 8% 50%, rgba(146,92,34,0.24), transparent 60%), var(--panel); border:1px solid var(--hair); border-radius:14px; padding:14px 18px 14px 14px; color:#fff; transition:border-color 0.25s; }
.llstore-pp .perf-card:hover { border-color:rgba(201,169,106,0.4); }
.llstore-pp .perf-thumb { position:relative; width:104px; aspect-ratio:16/10; flex-shrink:0; border-radius:8px; overflow:hidden; background:#000; }
.llstore-pp .perf-thumb img { width:100%; height:100%; object-fit:cover; opacity:0.55; }
.llstore-pp .perf-thumb .play { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.llstore-pp .perf-thumb .play span { width:34px; height:34px; border-radius:50%; background:var(--gold); display:flex; align-items:center; justify-content:center; color:var(--black); }
.llstore-pp .perf-txt .pt1 { font-size:0.98rem; font-weight:500; margin-bottom:3px; }
.llstore-pp .perf-txt .pt2 { font-size:0.8rem; font-weight:300; color:var(--mut); display:flex; align-items:center; gap:7px; }
.llstore-pp .perf-card > svg:last-child { margin-left:auto; flex-shrink:0; color:var(--gold); }

/* ---------- What's included ---------- */
.llstore-pp .included { max-width:1220px; margin:0 auto; padding:40px 20px 8px; }
.llstore-pp h2.sec-title { font-family:var(--head); font-size:1.5rem; font-weight:400; text-transform:uppercase; letter-spacing:0.03em; line-height:1.05; color:var(--ink); margin-bottom:20px; }
.llstore-pp .inc-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; }
.llstore-pp .inc-item { min-width:0; background:#fff; border:1px solid rgba(23,19,8,0.08); border-radius:14px; box-shadow:0 4px 14px rgba(23,19,8,0.05); padding:22px 14px 20px; display:flex; flex-direction:column; align-items:center; text-align:center; }
.llstore-pp .inc-item .ic { width:46px; height:46px; margin-bottom:12px; color:var(--ink); }
.llstore-pp .inc-item .ic svg { width:100%; height:100%; }
.llstore-pp .inc-item .in { font-size:0.94rem; font-weight:600; margin-bottom:4px; }
.llstore-pp .inc-item .id { font-size:0.8rem; font-weight:300; color:var(--ink-mut); max-width:18ch; }

/* ---------- About ---------- */
.llstore-pp .about { max-width:1220px; margin:0 auto; padding:16px 20px 10px; }
.llstore-pp .about-card { background:#fff; border:1px solid rgba(23,19,8,0.08); border-radius:14px; box-shadow:0 4px 14px rgba(23,19,8,0.05); padding:22px 20px; }
.llstore-pp .about-card h2.sec-title { font-size:1.15rem; text-transform:none; font-family:var(--sans); font-weight:600; letter-spacing:0; margin-bottom:10px; }
.llstore-pp .about p { font-size:0.96rem; font-weight:300; color:var(--ink-mut); max-width:72ch; margin-bottom:12px; }
.llstore-pp .about p:last-of-type { margin-bottom:0; }
.llstore-pp .about .more { display:inline-flex; align-items:center; gap:6px; font-size:0.9rem; font-weight:500; color:var(--gold-deep); cursor:pointer; margin-top:6px; }
.llstore-pp .about .more svg { transition:transform 0.25s var(--ease); }
.llstore-pp .about.open .more svg { transform:rotate(180deg); }
.llstore-pp .about .more-body { display:none; }
.llstore-pp .about.open .more-body { display:block; }

/* ---------- Featured cross-sell (dark) ---------- */
.llstore-pp .xsell { max-width:1220px; margin:0 auto; padding:36px 20px 8px; }
.llstore-pp .featured { border:1px solid var(--hair); border-radius:14px; overflow:hidden; display:grid; grid-template-columns:1fr; color:#fff;
	background:radial-gradient(ellipse 70% 100% at 12% 50%, rgba(146,92,34,0.18), transparent 65%), var(--panel); }
.llstore-pp .featured-media { padding:30px 26px 0; display:flex; justify-content:center; }
.llstore-pp .featured-media img { width:210px; height:auto; filter:drop-shadow(0 26px 34px rgba(0,0,0,0.55)); }
.llstore-pp .featured-body { padding:22px 26px 30px; }
.llstore-pp .featured .badge { display:inline-block; font-size:0.68rem; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--black); background:var(--gold); border-radius:4px; padding:5px 12px; margin-bottom:14px; }
.llstore-pp .featured h3 { font-family:var(--serif); font-size:1.8rem; font-weight:400; line-height:1.12; margin-bottom:10px; }
.llstore-pp .featured p { font-size:0.93rem; font-weight:300; color:var(--mut); max-width:52ch; margin-bottom:18px; }
.llstore-pp .btn-gold { height:52px; padding:0 26px; display:inline-flex; align-items:center; border-radius:8px; background:linear-gradient(180deg,var(--gold-soft),var(--gold-deep)); color:var(--black); font-weight:600; font-size:0.78rem; letter-spacing:0.12em; text-transform:uppercase; }

/* ---------- Related ---------- */
.llstore-pp .related { max-width:1220px; margin:0 auto; padding:40px 20px 46px; }
.llstore-pp .sec-head { display:flex; align-items:baseline; justify-content:space-between; gap:14px; margin-bottom:18px; }
.llstore-pp .sec-link { font-size:0.76rem; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-deep); white-space:nowrap; }
.llstore-pp .rel-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px 16px; }
.llstore-pp .rel-card { min-width:0; transition:transform 0.25s var(--ease); }
.llstore-pp .rel-card:hover { transform:translateY(-3px); }
.llstore-pp .rel-card .cover { display:block; aspect-ratio:1/1; border-radius:10px; overflow:hidden; border:1px solid var(--hair-ink); box-shadow:0 14px 28px rgba(23,19,8,0.14); margin-bottom:10px; }
.llstore-pp .rel-card .cover img { width:100%; height:100%; object-fit:cover; }
.llstore-pp .rel-card .rn { display:block; font-size:0.92rem; font-weight:500; line-height:1.25; }
.llstore-pp .rel-card .rc { display:block; font-size:0.74rem; font-weight:300; color:var(--ink-mut-2); margin-top:2px; }
.llstore-pp .rel-card .rp { display:block; font-size:0.98rem; font-weight:600; color:var(--gold-deep); margin-top:6px; }

/* ---------- Footer ---------- */
.llstore-pp .legal { background:var(--black); border-top:1px solid var(--hair); }
.llstore-pp .legal-inner { max-width:1456px; margin:0 auto; padding:20px; font-size:0.76rem; font-weight:300; color:var(--mut-2); }
.llstore-pp .legal a { color:var(--gold); }

/* ---------- Preview lightbox ---------- */
.llstore-pp-lightbox { position:fixed; inset:0; z-index:9999; display:none; align-items:center; justify-content:center; background:rgba(6,6,6,0.86); padding:24px; }
.llstore-pp-lightbox.open { display:flex; }
.llstore-pp-lightbox iframe, .llstore-pp-lightbox embed { width:min(900px,100%); height:85vh; border:0; border-radius:10px; background:#fff; }
.llstore-pp-lightbox .close { position:absolute; top:18px; right:22px; width:40px; height:40px; border-radius:50%; border:1px solid var(--hair); background:rgba(255,255,255,0.08); color:#fff; font-size:1.3rem; cursor:pointer; }

@media (min-width:960px) {
	.llstore-pp nav.main, .llstore-pp .hd-search { display:flex; }
	.llstore-pp .hd-icons { margin-left:0; }
	.llstore-pp .site-inner, .llstore-pp .legal-inner { padding-left:40px; padding-right:40px; }
	.llstore-pp .crumbs-inner, .llstore-pp .product-inner, .llstore-pp .perf, .llstore-pp .included, .llstore-pp .about, .llstore-pp .xsell, .llstore-pp .related { padding-left:40px; padding-right:40px; }
	.llstore-pp .crumbs-inner { padding-top:14px; padding-bottom:14px; }
	.llstore-pp .product { padding:44px 0 8px; }
	.llstore-pp .product-inner { grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:start; }
	.llstore-pp .p-info h1 { font-size:3.8rem; }
	.llstore-pp .p-cta { flex-direction:row; max-width:none; }
	.llstore-pp .p-cta form.cart { flex:1; max-width:360px; }
	.llstore-pp .btn-cart { max-width:360px; }
	.llstore-pp .btn-preview { padding:0 28px; }
	.llstore-pp .perf { margin-top:36px; }
	.llstore-pp .perf-thumb { width:150px; }
	.llstore-pp .included { padding-top:52px; }
	.llstore-pp h2.sec-title { font-size:1.75rem; }
	.llstore-pp .inc-grid { grid-template-columns:repeat(4, minmax(0,1fr)); gap:16px; }
	.llstore-pp .inc-grid.n3 { grid-template-columns:repeat(3, minmax(0,1fr)); }
	.llstore-pp .inc-item { padding:28px 18px 26px; }
	.llstore-pp .inc-item .ic { width:52px; height:52px; }
	.llstore-pp .about { padding-top:24px; }
	.llstore-pp .about-card { padding:28px 30px; }
	.llstore-pp .featured { grid-template-columns:0.72fr 1.28fr; align-items:center; }
	.llstore-pp .featured-media { padding:40px 20px; }
	.llstore-pp .featured-media img { width:280px; }
	.llstore-pp .featured-body { padding:40px 54px 40px 10px; }
	.llstore-pp .featured h3 { font-size:2.3rem; }
	.llstore-pp .rel-grid { grid-template-columns:repeat(4, minmax(0,1fr)); gap:20px; }
	.llstore-pp .xsell { padding-top:48px; }
	.llstore-pp .related { padding-top:52px; padding-bottom:64px; }
}
