/**
 * product-pages.css — Adamiro Product Page Patterns
 *
 * Structural layout only — typography, colors, spacing, borders,
 * and border-radius are set per-block in the WP editor.
 * Prefix: adm-pp-*
 */

/* ── HERO ── */
.adm-pp-hero {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.adm-pp-hero::before {
    content: '';
    position: absolute;
    top: -250px;
    right: -150px;
    width: 700px;
    height: 700px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--teal-12) 0%, transparent 65%);
    pointer-events: none;
}

.adm-pp-hero::after {
    content: '';
    position: absolute;
    bottom: -100px;
    left: -80px;
    width: 400px;
    height: 400px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--petrol-35) 0%, transparent 70%);
    pointer-events: none;
}

.adm-pp-hero > * {
    position: relative;
    z-index: 1;
}

/* ── OVERLINE ── */
.adm-pp-overline {
    text-transform: uppercase;
    display: block;
}

/* ── STAT ROW ── */
.adm-pp-stat-row {
    display: flex;
    flex-wrap: wrap;
}

.adm-pp-stat-num {
    display: block;
}

.adm-pp-stat-label {
    display: block;
}

/* ── CTA BUTTON GROUPS ── */
.adm-pp-hero-ctas.wp-block-buttons {
    flex-wrap: wrap;
}

.adm-pp-cta-group.wp-block-buttons {
    justify-content: center;
    flex-wrap: wrap;
}

/* ── LOSS GRID ── */
.adm-pp-loss-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.adm-pp-loss-grid > * {
    height: 100%;
}

.adm-pp-loss-card {
    height: 100%;
    box-sizing: border-box;
}

.adm-pp-loss-stat {
    display: block;
}

.adm-pp-loss-source {
    opacity: 0.5;
}

/* ── CARD GRIDS ── */
.adm-pp-grid-2 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
}

.adm-pp-grid-3 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

/* ── STEPS ── */
.adm-pp-steps {
    display: flex;
    flex-direction: column;
}

.adm-pp-step {
    display: flex;
}

.adm-pp-step:last-child {
    border-bottom: none;
}

.adm-pp-step-num {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* ── USE CASES ── */
.adm-pp-usecase-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

.adm-pp-usecase-tag {
    display: inline-block;
    text-transform: uppercase;
}

/* ── OUTPUT / BRIEFING BOX ── */
.adm-pp-output-box {
    overflow: hidden;
}

.adm-pp-output-header h3,
.adm-pp-output-header .wp-block-heading {
    text-transform: uppercase;
}

.adm-pp-output-item {
    display: flex;
    align-items: flex-start;
}

.adm-pp-output-item:last-child {
    border-bottom: none;
}

.adm-pp-output-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--teal, #1F8A9A);
    flex-shrink: 0;
    margin-top: 6px;
}

/* ── BENCHMARK STATS ── */
.adm-pp-benchmark-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.adm-pp-benchmark-num {
    display: block;
}

.adm-pp-benchmark-source {
    opacity: 0.5;
    display: block;
}

/* ── PRICING STRIP ── */
.adm-pp-pricing-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

/* ── PRICING LIST ── */
.adm-pp-price-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    padding: 0;
}

.adm-pp-price-list li {
    display: flex;
    align-items: flex-start;
}

.adm-pp-price-list li::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.7;
    flex-shrink: 0;
    margin-top: 5px;
}

/* ── PRICE CTA ── */
.adm-pp-price-cta {
    display: block;
    text-align: center;
    text-decoration: none;
    transition: background 0.2s;
}

/* ── COST COMPARISON TABLE ── */
.adm-pp-table-wrap {
    overflow-x: auto;
}

.adm-pp-compare-table {
    width: 100%;
    border-collapse: collapse;
}

.adm-pp-compare-table thead th {
    text-align: left;
    text-transform: uppercase;
}

.adm-pp-compare-table thead th:last-child {
    text-align: right;
}

.adm-pp-compare-table td:last-child {
    text-align: right;
}

/* ── PERSONA GRID ── */
.adm-pp-persona-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}

.adm-pp-category-label {
    text-transform: uppercase;
    display: block;
}

/* ── DISTINCTION TABLE ── */
.adm-pp-distinction-table {
    width: 100%;
    border-collapse: collapse;
}

.adm-pp-distinction-table th {
    text-align: left;
    text-transform: uppercase;
}

.adm-pp-distinction-table tbody tr:last-child td {
    border-bottom: none;
}

.adm-pp-distinction-table td:first-child {
    text-transform: uppercase;
}

/* ── FORMAT GRID (Voice) ── */
.adm-pp-format-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.adm-pp-format-label {
    text-transform: uppercase;
    display: block;
}

.adm-pp-format-task {
    display: inline-flex;
    align-items: center;
}

/* ── RESPONSIVE ── */
@media (max-width: 600px) {
    .adm-pp-step {
        flex-direction: column;
    }

    .adm-pp-hero-ctas.wp-block-buttons {
        flex-direction: column;
        align-items: center;
    }

    .adm-pp-cta-group.wp-block-buttons {
        flex-direction: column;
        align-items: center;
    }
}
