/* ==========================================================================
   Long-form content typography — Pages (Terms, About, Privacy, etc.) AND
   WooCommerce product description tabs.

   Two scopes share these rules:
     1. .page-content .entry-content  — for WP Pages
     2. .woocommerce-Tabs-panel--description  — for product Description tab
   ========================================================================== */

/* Hide the WP-generated page title on Pages only — pages already have their
   own H1 inside the_content() (migrated from Shopify). NOT applied to
   product pages (the product_title is the legitimate canonical title). */
.page-content .page-header {
    display: none;
}

/* Headings — theme color + tuned scale */
.page-content .entry-content h1,
.page-content .entry-content h2,
.page-content .entry-content h3,
.page-content .entry-content h4,
.page-content .entry-content h5,
.page-content .entry-content h6,
.woocommerce-Tabs-panel--description h1,
.woocommerce-Tabs-panel--description h2,
.woocommerce-Tabs-panel--description h3,
.woocommerce-Tabs-panel--description h4,
.woocommerce-Tabs-panel--description h5,
.woocommerce-Tabs-panel--description h6 {
    color: var(--lh-primary);
    font-weight: 700;
    line-height: 1.25;
    margin-top: 1.5em;
    margin-bottom: 0.5em;
}

.page-content .entry-content h1,
.woocommerce-Tabs-panel--description h1 { font-size: 2.5rem; }

.page-content .entry-content h2,
.woocommerce-Tabs-panel--description h2 { font-size: 1.875rem; }

.page-content .entry-content h3,
.woocommerce-Tabs-panel--description h3 { font-size: 1.375rem; }

.page-content .entry-content h4,
.woocommerce-Tabs-panel--description h4 { font-size: 1.125rem; }

.page-content .entry-content h5,
.woocommerce-Tabs-panel--description h5 { font-size: 1.0625rem; }

.page-content .entry-content h6,
.woocommerce-Tabs-panel--description h6 {
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* First heading in the content block — no top margin */
.page-content .entry-content > h1:first-child,
.page-content .entry-content > h2:first-child,
.page-content .entry-content > h3:first-child,
.woocommerce-Tabs-panel--description > h1:first-child,
.woocommerce-Tabs-panel--description > h2:first-child,
.woocommerce-Tabs-panel--description > h3:first-child {
    margin-top: 0;
}

/* Body paragraphs */
.page-content .entry-content p,
.woocommerce-Tabs-panel--description p {
    font-size: 1.0625rem;
    line-height: 1.75;
    color: var(--lh-gray-dark);
    margin-bottom: 1em;
}

/* Lists */
.page-content .entry-content ul,
.page-content .entry-content ol,
.woocommerce-Tabs-panel--description ul,
.woocommerce-Tabs-panel--description ol {
    font-size: 1.0625rem;
    line-height: 1.75;
    color: var(--lh-gray-dark);
    margin-bottom: 1em;
    padding-left: 1.5em;
}

.page-content .entry-content li,
.woocommerce-Tabs-panel--description li {
    margin-bottom: 0.4em;
}

/* Strong / emphasis — keep neutral, don't double-apply teal */
.page-content .entry-content strong,
.woocommerce-Tabs-panel--description strong {
    color: var(--lh-black);
    font-weight: 700;
}

/* Inline links */
.page-content .entry-content a,
.woocommerce-Tabs-panel--description a {
    color: var(--lh-primary);
    text-decoration: underline;
}

.page-content .entry-content a:hover,
.woocommerce-Tabs-panel--description a:hover {
    color: var(--lh-primary-dark);
}

/* A+ enhanced description imagery (appended to product descriptions) */
.woocommerce-Tabs-panel--description .product-aplus {
    margin: 2rem 0 0;
}

.woocommerce-Tabs-panel--description .product-aplus img {
    display: block;
    width: 100%;
    max-width: 1200px;
    height: auto;
    margin: 0 auto;
}

/* Specifications / parameters table — tidy, unified two-column layout (review 6.9) */
.lh-spec-table {
    width: 100%;
    max-width: 760px;
    border-collapse: collapse;
    margin: 1.25rem 0 0.5rem;
    font-size: 0.95rem;
    border: 1px solid var(--lh-gray-medium);
    border-radius: var(--lh-radius);
    overflow: hidden;
}

.lh-spec-table tr {
    border-bottom: 1px solid var(--lh-gray-medium);
}

.lh-spec-table tr:last-child {
    border-bottom: 0;
}

.lh-spec-table tbody tr:nth-child(odd) {
    background: var(--lh-gray-light);
}

.lh-spec-table th,
.lh-spec-table td {
    padding: 12px 18px;
    text-align: left;
    vertical-align: top;
    line-height: 1.55;
}

.lh-spec-table th {
    width: 32%;
    min-width: 150px;
    font-weight: 700;
    color: var(--lh-primary-dark);
    background: rgba(0, 168, 168, 0.06);
    border-right: 1px solid var(--lh-gray-medium);
}

.lh-spec-table td {
    color: var(--lh-gray-dark);
}

@media (max-width: 575px) {
    .lh-spec-table th {
        width: 42%;
        min-width: 0;
        padding: 10px 12px;
    }

    .lh-spec-table td {
        padding: 10px 12px;
    }
}

/* Mobile tightening */
@media (max-width: 767px) {
    .page-content .entry-content h1,
    .woocommerce-Tabs-panel--description h1 { font-size: 2rem; }

    .page-content .entry-content h2,
    .woocommerce-Tabs-panel--description h2 { font-size: 1.5rem; }

    .page-content .entry-content h3,
    .woocommerce-Tabs-panel--description h3 { font-size: 1.25rem; }

    .page-content .entry-content p,
    .page-content .entry-content li,
    .woocommerce-Tabs-panel--description p,
    .woocommerce-Tabs-panel--description li {
        font-size: 1rem;
        line-height: 1.7;
    }
}

/* ==========================================================================
   Legal pages — Terms & Conditions, Privacy Policy
   Styles for the design classes carried over from the source .docx
   ========================================================================== */

.page-content .entry-content h2.lh-legal-title {
    font-size: 2.5rem;
    margin-top: 0;
    margin-bottom: 0.25em;
    line-height: 1.1;
    color: var(--lh-primary);
}

.page-content .entry-content p.lh-legal-meta {
    font-size: 0.9375rem;
    font-style: italic;
    color: var(--lh-gray);
    margin-top: 0;
    margin-bottom: 1em;
    line-height: 1.5;
}

.page-content .entry-content p.lh-legal-intro {
    font-size: 1.125rem;
    line-height: 1.7;
    color: var(--lh-gray-dark);
    margin-bottom: 1em;
    font-weight: 500;
}

/* Bullet-list spacing for legal pages */
.page-content .entry-content ul li {
    line-height: 1.7;
    margin-bottom: 0.35em;
}

/* Contact block at the end of legal pages */
.page-content .entry-content address.lh-legal-contact {
    font-style: normal;
    display: block;
    padding: 1rem 1.25rem;
    background: var(--lh-gray-light);
    border-left: 3px solid var(--lh-primary);
    border-radius: var(--lh-radius);
    line-height: 1.75;
    margin: 0.5em 0 1em;
    color: var(--lh-gray-dark);
}

.page-content .entry-content address.lh-legal-contact strong {
    color: var(--lh-primary-dark);
    display: block;
    margin-bottom: 0.15em;
    font-weight: 700;
}

@media (max-width: 767px) {
    .page-content .entry-content h2.lh-legal-title { font-size: 1.75rem; }
    .page-content .entry-content p.lh-legal-intro { font-size: 1rem; }
    .page-content .entry-content p.lh-legal-meta { font-size: 0.875rem; }
}
