/* ==========================================================================
   Products Landing Page Styles
   ========================================================================== */

/* ---------- Intro ---------- */

.products-intro {
    max-width: 65ch;
    margin-inline: auto;
    text-align: center;
    color: var(--color-text-secondary);
}

/* ---------- Product Rows — Alternating Layout ---------- */

.products-row {
    display: grid;
    gap: var(--space-12);
    align-items: center;
}

@media (min-width: 768px) {
    .products-row {
        grid-template-columns: 1fr 1fr;
    }

    .products-row--reversed .products-row__image {
        order: 2;
    }
}

.products-row__image img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
    border-radius: var(--card-radius);
    width: 100%;
    height: auto;
}

.products-row__content h2 {
    margin-bottom: var(--space-4);
}

.products-row__content p {
    color: var(--color-text-secondary);
    margin-bottom: var(--space-6);
}

.products-row__content .badge {
    margin-bottom: var(--space-4);
}

/* ==========================================================================
   Product Detail Page Styles
   ========================================================================== */

/* ---------- Breadcrumb ---------- */

.pd-breadcrumb {
    padding-block: var(--space-4);
}

.pd-breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2);
    font-family: var(--font-ui);
    font-size: var(--text-sm);
    color: var(--color-text-muted);
}

.pd-breadcrumb a {
    color: var(--color-text-secondary);
    text-decoration: none;
    transition: color var(--transition-fast);
}

.pd-breadcrumb a:hover {
    color: var(--color-primary-600);
}

.pd-breadcrumb a:focus-visible {
    outline: 2px solid var(--color-primary-500);
    outline-offset: 2px;
    border-radius: var(--radius-sm);
}

.pd-breadcrumb li + li::before {
    content: "\203A";
    margin-right: var(--space-2);
    color: var(--color-text-muted);
}

.pd-breadcrumb [aria-current="page"] {
    color: var(--color-text-primary);
    font-weight: var(--weight-medium);
}

/* ---------- Benefits Grid ---------- */

.pd-benefits {
    text-align: center;
}

.pd-benefits h2 {
    margin-bottom: var(--space-8);
}

.pd-benefits .info-card {
    text-align: left;
}

.pd-benefits .info-card svg {
    width: 48px;
    height: 48px;
    color: var(--color-primary-600);
    margin-bottom: var(--space-3);
}

.pd-benefits .info-card h3 {
    margin-bottom: var(--space-2);
}

.pd-benefits .info-card p {
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
}

/* ---------- Specs Section ---------- */

.pd-specs h2 {
    margin-bottom: var(--space-6);
}

/* ---------- Care Accordion ---------- */

.pd-care h2 {
    margin-bottom: var(--space-6);
}

.pd-care .accordion-item:first-child {
    border-top: 1px solid var(--color-border-light);
}

/* ---------- Why Natural Section ---------- */

.pd-why-natural h2 {
    margin-bottom: var(--space-4);
}

.pd-why-natural__intro {
    color: var(--color-text-secondary);
    margin-bottom: var(--space-6);
    max-width: 65ch;
}

.pd-why-natural__grid {
    display: grid;
    gap: var(--space-8);
    align-items: center;
}

@media (min-width: 768px) {
    .pd-why-natural__grid {
        grid-template-columns: 1fr 1fr;
    }
}

.pd-why-natural__grid img {
    width: 100%;
    height: auto;
    border-radius: var(--card-radius);
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

.pd-why-natural__points {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.pd-why-natural__point {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    color: var(--color-text-secondary);
}

.pd-why-natural__point svg {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    color: var(--color-primary-600);
    margin-top: 2px;
}

/* ---------- Varieties Section ---------- */

.pd-varieties h2 {
    margin-bottom: var(--space-8);
}

.pd-varieties .info-card {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.pd-varieties .badge {
    align-self: flex-start;
}

.pd-varieties .info-card h3 {
    margin: 0;
}

.pd-varieties .species {
    font-style: italic;
    color: var(--color-text-muted);
    font-size: var(--text-sm);
}

.pd-varieties .info-card > p:last-child {
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
}

.badge-dark-green {
    background-color: var(--color-primary-100);
    color: var(--color-primary-700);
}

.badge-longlasting {
    background-color: #e8f5e9;
    color: #2e7d32;
}

.badge-aromatic {
    background-color: #fff3e0;
    color: #e65100;
}

.badge-silver-blue {
    background-color: #e3f2fd;
    color: #1565c0;
}

/* ---------- Athens Callout ---------- */

.pd-athens {
    background-color: var(--color-primary-100);
}

.pd-athens .container {
    display: grid;
    gap: var(--space-8);
    align-items: center;
}

@media (min-width: 768px) {
    .pd-athens .container {
        grid-template-columns: 1fr 1fr;
    }
}

.pd-athens h2 {
    margin-bottom: var(--space-4);
}

.pd-athens p {
    color: var(--color-text-secondary);
    margin-bottom: var(--space-6);
}

.pd-athens img {
    width: 100%;
    height: auto;
    border-radius: var(--card-radius);
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

/* ---------- Audience Grid (Statement) ---------- */

.pd-audience {
    text-align: center;
}

.pd-audience h2 {
    margin-bottom: var(--space-8);
}

.pd-audience .info-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-3);
    text-align: center;
}

.pd-audience .info-card svg {
    width: 40px;
    height: 40px;
    color: var(--color-primary-600);
}

.pd-audience .info-card span {
    font-family: var(--font-ui);
    font-weight: var(--weight-medium);
}

/* ---------- Special Order Callout ---------- */

.pd-special .callout-special h2 {
    color: var(--color-accent-700);
    margin-bottom: var(--space-4);
}

.pd-special .callout-special p {
    color: var(--color-text-secondary);
}

/* ---------- Installation Note ---------- */

.pd-installation {
    text-align: center;
}

.pd-installation h2 {
    margin-bottom: var(--space-4);
}

.pd-installation p {
    max-width: 65ch;
    margin-inline: auto;
    color: var(--color-text-secondary);
}

/* ---------- Phone-Only CTA (Statement) ---------- */

.pd-phone-cta {
    text-align: center;
}

.pd-phone-cta .callout-order h2 {
    color: var(--color-white);
    font-size: var(--text-2xl);
    margin-bottom: var(--space-4);
}

.pd-phone-cta .callout-order p {
    margin-bottom: var(--space-6);
}

.pd-phone-cta .callout-order .btn {
    font-size: var(--text-lg);
}

/* ---------- Related Products ---------- */

.pd-related h2 {
    margin-bottom: var(--space-8);
}

.pd-related .product-card__body h3 a {
    color: var(--color-text-primary);
    text-decoration: none;
}

.pd-related .product-card__body h3 a::after {
    content: "";
    position: absolute;
    inset: 0;
}

.pd-related .product-card {
    position: relative;
}

/* ---------- Order Section ---------- */

.pd-order {
    text-align: center;
}

.pd-order .callout-order {
    max-width: 700px;
    margin-inline: auto;
}

.pd-order .callout-order h2 {
    color: var(--color-white);
    font-size: var(--text-2xl);
    margin-bottom: var(--space-4);
}

.pd-order .callout-order p {
    margin-bottom: var(--space-6);
}
