/**
 * Estilos exclusivos del CPT Productos y sus taxonomías.
 * Se cargan en portada, búsquedas y vistas de producto.
 */

.pa-products-home { padding: 76px 0 86px; background: #e7ebe9; }
.pa-product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 25px; }
.pa-product-card { min-width: 0; background: white; box-shadow: 0 1px 0 rgba(9,27,43,.08); transition: transform .2s, box-shadow .2s; }
.pa-product-card:hover { transform: translateY(-3px); box-shadow: 0 15px 40px rgba(9,27,43,.1); }
.pa-product-media { position: relative; display: block; overflow: hidden; background: linear-gradient(135deg,#12384b,#0b6068); }
.pa-product-media > img, .pa-product-media > .pa-placeholder { width: 100%; aspect-ratio: 1/1; object-fit: cover; transition: transform .55s ease; }
.pa-product-card:hover .pa-product-media > img { transform: scale(1.025); }
.pa-score { position: absolute; top: 15px; right: 15px; width: 58px; height: 58px; display: grid; align-content: center; justify-items: center; border-radius: 50%; background: var(--pa-orange); color: white; font: 800 18px/1 var(--pa-sans); box-shadow: 0 7px 18px rgba(9,27,43,.18); }
.pa-score small { margin-top: 3px; font-size: 9px; }
.pa-product-card-body { padding: 22px 23px 26px; }
.pa-product-meta { min-height: 18px; display: flex; justify-content: space-between; gap: 15px; color: var(--pa-muted); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pa-product-meta span { color: var(--pa-orange); }
.pa-product-meta strong { color: var(--pa-ink); }
.pa-product-card h2 { margin: 12px 0 10px; font: 700 25px/1.08 var(--pa-display); letter-spacing: -.025em; }
.pa-product-card h2 a:hover { color: var(--pa-orange); }
.pa-product-card p { margin: 0; color: var(--pa-ink-soft); font-size: 13px; line-height: 1.58; }
.pa-text-link { display: inline-block; margin-top: 17px; color: var(--pa-aqua); font-size: 11px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.pa-text-link:hover { color: var(--pa-orange); }

/* Archivo y taxonomías */
.pa-products-hero { padding: 82px 0 74px; background: var(--pa-ink); color: white; }
.pa-products-hero h1 { max-width: 900px; margin: 0; font: 700 clamp(58px,8vw,104px)/.9 var(--pa-display); letter-spacing: -.065em; }
.pa-products-hero p, .pa-tax-description { max-width: 680px; margin: 24px 0 0; color: #cbd5da; font-size: 18px; line-height: 1.6; }
.pa-tax-description p { margin: 0; }
.pa-tax-filters { padding-block: 28px; border-bottom: 1px solid var(--pa-line); }
.pa-tax-filters > div { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 8px 0; }
.pa-tax-filters strong { min-width: 78px; color: var(--pa-ink); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.pa-tax-filters a { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid var(--pa-line); background: white; font-size: 12px; font-weight: 700; }
.pa-tax-filters a span { color: var(--pa-muted); font-size: 9px; }
.pa-tax-filters a:hover { border-color: var(--pa-aqua); color: var(--pa-aqua); }
.pa-products-listing { padding-block: 60px 90px; }
.pa-products-title { margin-bottom: 28px; padding-bottom: 18px; display: flex; justify-content: space-between; align-items: baseline; border-bottom: 2px solid var(--pa-ink); }
.pa-products-title h2 { margin: 0; font: 700 clamp(34px,4vw,48px)/1 var(--pa-display); letter-spacing: -.04em; }
.pa-products-title span { color: var(--pa-muted); font-size: 11px; font-weight: 750; text-transform: uppercase; }
.pa-no-products { min-height: 280px; }
.pa-back-products { margin-bottom: 28px; }
.pa-back-products a { color: var(--pa-aqua); font-size: 12px; font-weight: 800; text-transform: uppercase; }

/* Ficha individual */
.pa-product-header { padding: 70px 0 54px; background: var(--pa-ink); color: white; }
.pa-product-tax { display: flex; gap: 10px; margin-bottom: 16px; color: #91d0d0; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.pa-product-tax a:hover { color: white; }
.pa-product-header h1 { max-width: 1050px; margin: 0; font: 700 clamp(52px,7vw,92px)/.93 var(--pa-display); letter-spacing: -.06em; }
.pa-product-header > .pa-shell > p { max-width: 800px; margin: 23px 0 0; color: #cbd5da; font-size: 20px; line-height: 1.55; }
.pa-product-header .pa-meta { color: #97a6ae; }
.pa-product-intro { padding-block: 55px 65px; display: grid; grid-template-columns: minmax(0,1.3fr) minmax(330px,.7fr); gap: 50px; align-items: start; }
.pa-product-main-image { position: relative; background: white; }
.pa-product-main-image > img, .pa-product-main-image > .pa-placeholder { width: 100%; aspect-ratio: 16/11; object-fit: contain; }
.pa-recommended-badge { position: absolute; top: 18px; left: 18px; padding: 8px 12px; background: var(--pa-orange); color: white; font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.pa-product-summary { padding: 31px; border-top: 5px solid var(--pa-orange); background: white; box-shadow: 0 14px 45px rgba(9,27,43,.09); }
.pa-summary-label { color: var(--pa-muted); font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.pa-rating { margin: 15px 0 22px; display: grid; grid-template-columns: auto 1fr; align-items: baseline; column-gap: 6px; }
.pa-rating strong { font: 700 58px/.9 var(--pa-display); letter-spacing: -.06em; }
.pa-rating > span { color: var(--pa-muted); font-weight: 700; }
.pa-rating > div { grid-column: 1 / -1; margin-top: 8px; color: var(--pa-orange); letter-spacing: 4px; }
.pa-product-price { padding: 17px 0; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--pa-line); border-bottom: 1px solid var(--pa-line); }
.pa-product-price small { color: var(--pa-muted); }
.pa-product-price strong { font: 700 24px var(--pa-display); }
.pa-quick-verdict { color: var(--pa-ink-soft); font-size: 14px; line-height: 1.6; }
.pa-buy-button { min-height: 54px; display: flex; align-items: center; justify-content: center; margin-top: 20px; padding: 0 20px; background: var(--pa-orange); color: white; font-weight: 800; transition: background .2s, transform .2s; }
.pa-buy-button:hover { background: #d84e1b; transform: translateY(-1px); }
.pa-affiliate-note { display: block; margin-top: 12px; color: var(--pa-muted); font-size: 9px; line-height: 1.45; }
.pa-pros-cons { margin-bottom: 65px; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.pa-pros-cons > div { padding: 27px 30px; background: white; }
.pa-pros { border-top: 4px solid #2b8b6f; }
.pa-cons { border-top: 4px solid var(--pa-orange); }
.pa-pros-cons h2 { margin: 0 0 16px; font: 700 27px var(--pa-display); }
.pa-pros-cons ul { list-style: none; margin: 0; padding: 0; }
.pa-pros-cons li { position: relative; padding: 9px 0 9px 28px; border-bottom: 1px solid var(--pa-line); color: var(--pa-ink-soft); font-size: 14px; }
.pa-pros li::before { content: "✓"; position: absolute; left: 0; color: #2b8b6f; font-weight: 900; }
.pa-cons li::before { content: "–"; position: absolute; left: 0; color: var(--pa-orange); font-weight: 900; }
.pa-product-content-layout { padding-bottom: 90px; display: grid; grid-template-columns: minmax(0,760px) 300px; justify-content: center; gap: 72px; align-items: start; }
.pa-product-toc { position: sticky; top: 24px; padding: 25px; border-top: 3px solid var(--pa-aqua); background: white; }
.pa-product-toc > strong { display: block; margin-bottom: 15px; font: 700 22px var(--pa-display); }
.pa-product-toc dl { margin: 0; }
.pa-product-toc dl > div { padding: 11px 0; border-bottom: 1px solid var(--pa-line); }
.pa-product-toc dt { color: var(--pa-muted); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pa-product-toc dd { margin: 4px 0 0; font-size: 13px; font-weight: 700; }
.pa-related-products { padding: 74px 0 84px; background: #e7ebe9; }

@media (max-width: 980px) {
	.pa-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.pa-product-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.pa-product-intro { grid-template-columns: 1fr; }
	.pa-product-summary { max-width: 620px; }
	.pa-product-content-layout { grid-template-columns: 1fr; }
	.pa-product-toc { position: static; }
}

@media (max-width: 640px) {
	.pa-products-home { padding-block: 56px; }
	.pa-product-grid { grid-template-columns: 1fr; }
	.pa-product-card:last-child:nth-child(odd) { grid-column: auto; }
	.pa-products-hero, .pa-product-header { padding-block: 54px; }
	.pa-products-hero h1 { font-size: 60px; }
	.pa-product-header h1 { font-size: 50px; }
	.pa-product-header > .pa-shell > p { font-size: 17px; }
	.pa-products-title { align-items: flex-start; flex-direction: column; gap: 9px; }
	.pa-tax-filters > div { align-items: flex-start; }
	.pa-tax-filters strong { width: 100%; }
	.pa-product-intro { padding-top: 28px; }
	.pa-product-summary { padding: 25px; }
	.pa-pros-cons { grid-template-columns: 1fr; }
}

