/* ===== Homepage / main-category page builder - section rendering ===== */
/* Sibling to product-sections.css (the product-detail page builder), but a
   distinct "pgsec-" class prefix since these render on different pages and
   are authored from a separate registry (see apps/catalog/page_section_registry.py). */

.pgsec-list{display:flex;flex-direction:column;gap:48px;margin:0 0 60px}
.pgsec{width:100%}
.pgsec-heading{font-size:1.3rem;font-weight:800;letter-spacing:-.5px;margin-bottom:16px}

/* Full banner */
.pgsec-banner{position:relative;border-radius:20px;overflow:hidden;min-height:280px;display:flex;align-items:center}
.pgsec-banner-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.pgsec-banner-content{position:relative;z-index:1;padding:40px;color:#fff;background:linear-gradient(90deg,rgba(0,0,0,.65),transparent 70%);width:100%}
.pgsec-banner-content .pgsec-heading{color:#fff}
.pgsec-cta-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;border-radius:12px;background:#fff;color:var(--blue-deep,#0652DD);font-weight:700;text-decoration:none;font-size:.85rem;letter-spacing:.5px;margin-top:12px}

/* Split (image + text, or two images) */
.pgsec-split{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.pgsec-split-media{aspect-ratio:1/1;border-radius:16px;overflow:hidden;background:var(--surface)}
.pgsec-split-media img{width:100%;height:100%;object-fit:cover;display:block}
.pgsec-split-body p{font-size:.92rem;line-height:1.8;color:var(--text2);font-weight:300}
.pgsec-split.pgsec-tpl-image_right .pgsec-split-media{order:2}
.pgsec-split.pgsec-tpl-image_right .pgsec-split-body{order:1}

/* Full text */
.pgsec-text{max-width:800px;margin:0 auto}

/* Shared rich-text rendering for split/text bodies */
.pgsec-rich{font-size:.92rem;line-height:1.8;color:var(--text2);font-weight:300}
.pgsec-rich h1,.pgsec-rich h2,.pgsec-rich h3,.pgsec-rich h4,.pgsec-rich h5,.pgsec-rich h6{margin:18px 0 10px;font-weight:800;color:var(--text)}
.pgsec-rich p{margin:0 0 12px}
.pgsec-rich ul,.pgsec-rich ol{margin:10px 0 10px 22px}
.pgsec-rich a{color:var(--blue-light)}
.pgsec-rich blockquote{border-inline-start:3px solid var(--border);padding-inline-start:14px;color:var(--text-dim);margin:14px 0}

@media(max-width:768px){
    .pgsec-split{grid-template-columns:1fr}
    .pgsec-split .pgsec-split-media,.pgsec-split .pgsec-split-body{order:initial !important}
}
