/*
 * Premium product description styling — inspired by samsung.com product pages.
 *
 * Loaded by /wp-content/mu-plugins/10-premium-product-styles.php on single
 * product pages. The HTML structure is generated by
 * scripts/filters/enrich-premium-products.php.
 *
 * Design principles:
 *  - Big, bold display typography (Samsung Sharp Sans-style)
 *  - Tight letter-spacing on headings
 *  - Generous vertical rhythm between sections
 *  - Minimal cards with subtle borders, no heavy decoration
 *  - Centered hero text and CTA, full-width "why" band
 *  - Dark CTA closing band
 *  - System font stack as Samsung Sharp Sans alternative
 */

.premium-product-description {
    font-family: "SamsungSharpSans", "SamsungOne", -apple-system, BlinkMacSystemFont,
                 "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.7;
    color: #141414;
    max-width: 1100px;
    margin: 0 auto;
    padding: 1em 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Lead — Samsung-style centered hero paragraph */
.premium-product-description .lead {
    font-size: 1.5em;
    line-height: 1.45;
    font-weight: 400;
    color: #141414;
    letter-spacing: -0.02em;
    margin: .5em auto 2.4em;
    max-width: 820px;
    text-align: center;
}

/* Eyebrow label above section heading */
.premium-product-description .section-eyebrow {
    font-size: .75em;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #6b6b6b;
    text-align: center;
    margin: 3em 0 .4em;
}

/* Section heading — large, bold, tight tracking, centered */
.premium-product-description h2 {
    font-size: 2.4em;
    font-weight: 700;
    color: #000;
    letter-spacing: -0.03em;
    line-height: 1.15;
    margin: 0 auto 1.2em;
    text-align: center;
    max-width: 820px;
}

/* Sub-heading inside feature blocks */
.premium-product-description h3 {
    font-size: 1.4em;
    font-weight: 700;
    color: #000;
    letter-spacing: -0.015em;
    line-height: 1.25;
    margin: 0 0 .5em;
}

.premium-product-description p {
    margin: 0 0 1em;
    color: #2c2c2c;
}

.premium-product-description strong { font-weight: 700; color: #000; }

/* Reused images from the original product description */
.premium-product-description .product-figure {
    margin: 2.4em auto;
    max-width: 920px;
    text-align: center;
}
.premium-product-description .product-figure img {
    max-width: 100%;
    height: auto;
    border-radius: 16px;
    display: block;
    margin: 0 auto;
    box-shadow: 0 8px 32px rgba(0, 0, 0, .08);
}

/* Highlight cards — clean grid, equal weight */
.premium-product-description .highlights {
    list-style: none;
    padding: 0;
    margin: 1em 0 3em;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
}
.premium-product-description .highlights li {
    background: #fafafa;
    border: 1px solid #ececec;
    border-radius: 14px;
    padding: 1.5em 1.4em;
    font-size: 1em;
    font-weight: 400;
    color: #555;
    line-height: 1.5;
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.premium-product-description .highlights li::before {
    content: "";
    display: block;
    width: 28px;
    height: 3px;
    background: #1428a0;
    border-radius: 2px;
    margin-bottom: 1em;
}
.premium-product-description .highlights li strong {
    display: block;
    font-weight: 700;
    color: #000;
    font-size: 1.05em;
    letter-spacing: -0.01em;
    margin-bottom: .35em;
}
.premium-product-description .highlights li:hover {
    border-color: #cfcfcf;
    transform: translateY(-2px);
    box-shadow: 0 6px 22px rgba(0,0,0,.06);
}

/* Feature blocks — full-width, generous spacing, centered */
.premium-product-description .feature {
    max-width: 820px;
    margin: 2.2em auto;
    text-align: center;
}
.premium-product-description .feature p {
    color: #555;
    font-size: 1.05em;
    line-height: 1.65;
}

/* Why-choose — full-width band with subtle background */
.premium-product-description .why-choose {
    background: #f5f5f5;
    padding: 2.6em 2em;
    border-radius: 18px;
    margin: 1em 0 3em;
    text-align: center;
}
.premium-product-description .why-choose p {
    font-size: 1.12em;
    line-height: 1.65;
    color: #2c2c2c;
    margin: 0 auto;
    max-width: 720px;
}

/* Spec list — Apple-style <dl> grid, no table chrome */
.premium-product-description .specs {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
    column-gap: 1.6em;
    row-gap: 0;
    max-width: 820px;
    margin: 1em auto 3em;
    padding: 0;
    font-size: 1em;
}
.premium-product-description .specs dt,
.premium-product-description .specs dd {
    padding: 1em 0;
    margin: 0;
    border-bottom: 1px solid #ececec;
    line-height: 1.45;
}
.premium-product-description .specs dt {
    font-weight: 500;
    color: #777;
}
.premium-product-description .specs dd {
    color: #141414;
    font-weight: 500;
}
.premium-product-description .specs dt:last-of-type,
.premium-product-description .specs dd:last-of-type { border-bottom: 0; }

/* Package contents — checkmark grid */
.premium-product-description .box-contents {
    list-style: none;
    padding: 0;
    margin: 1em 0 3em;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}
.premium-product-description .box-contents li {
    background: #fafafa;
    border: 1px solid #ececec;
    border-radius: 10px;
    padding: 1.1em 1.3em 1.1em 3em;
    font-size: .98em;
    color: #141414;
    position: relative;
    line-height: 1.5;
}
.premium-product-description .box-contents li::before {
    content: "";
    position: absolute;
    left: 1.15em;
    top: 1.25em;
    width: 1.2em;
    height: 1.2em;
    border-radius: 50%;
    background-color: #1428a0;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5l3 3 6-7'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 70%;
}

/* Who it suits — use-case scenarios */
.premium-product-description .fits-for {
    list-style: none;
    padding: 0;
    margin: 1em 0 3em;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 14px;
}
.premium-product-description .fits-for li {
    background: #f7f8fa;
    border-left: 3px solid #1428a0;
    border-radius: 6px;
    padding: 1.1em 1.3em;
    font-size: .98em;
    color: #2a2a2a;
    line-height: 1.55;
}

/* FAQs — collapsible Q&A list */
.premium-product-description .faqs {
    max-width: 820px;
    margin: 1em auto 3em;
}
.premium-product-description .faq-item {
    border-bottom: 1px solid #e5e5e5;
    padding: 0;
}
.premium-product-description .faq-item:first-child { border-top: 1px solid #e5e5e5; }
.premium-product-description .faq-item summary {
    padding: 1.2em .25em;
    cursor: pointer;
    list-style: none;
    font-size: 1.05em;
    font-weight: 500;
    color: #141414;
    position: relative;
    padding-right: 2.5em;
    line-height: 1.45;
}
.premium-product-description .faq-item summary::-webkit-details-marker { display: none; }
.premium-product-description .faq-item summary::after {
    content: "";
    position: absolute;
    right: .4em;
    top: 50%;
    width: .55em;
    height: .55em;
    border-right: 2px solid #141414;
    border-bottom: 2px solid #141414;
    transform: translateY(-70%) rotate(45deg);
    transition: transform .2s ease;
}
.premium-product-description .faq-item[open] summary::after {
    transform: translateY(-30%) rotate(-135deg);
}
.premium-product-description .faq-item .faq-answer {
    padding: 0 .25em 1.4em;
    color: #555;
    font-size: 1em;
    line-height: 1.65;
}
.premium-product-description .faq-item .faq-answer p { margin: 0 0 .8em; }

/* Closing CTA — Samsung's dark band */
.premium-product-description .cta-closing {
    text-align: center;
    margin: 3em 0 1em;
    padding: 3em 2em;
    background: #000;
    border-radius: 18px;
}
.premium-product-description .cta-closing p {
    color: #fff;
    font-size: 1.18em;
    font-weight: 500;
    line-height: 1.55;
    margin: 0 auto;
    max-width: 640px;
    letter-spacing: -0.01em;
}
.premium-product-description .cta-closing strong { color: #fff; }

/* Mobile */
@media (max-width: 768px) {
    .premium-product-description { font-size: 15px; padding: .5em 0; }
    .premium-product-description .lead { font-size: 1.2em; margin-bottom: 1.6em; }
    .premium-product-description .section-eyebrow { margin-top: 2.2em; }
    .premium-product-description h2 { font-size: 1.7em; }
    .premium-product-description h3 { font-size: 1.2em; }
    .premium-product-description .highlights,
    .premium-product-description .box-contents,
    .premium-product-description .fits-for { grid-template-columns: 1fr; }
    .premium-product-description .why-choose { padding: 2em 1.4em; border-radius: 14px; }
    .premium-product-description .cta-closing { padding: 2.2em 1.4em; border-radius: 14px; }
    .premium-product-description .specs { column-gap: 1em; }
    .premium-product-description .specs dt,
    .premium-product-description .specs dd { padding: .85em 0; }
}
