/* ==========================================================================
   XZB Robot Theme — layout.css
   Grid + Container + Section Layouts
   ========================================================================== */

/* Container */
.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad)}
.container-wide{max-width:1440px;margin:0 auto;padding:0 var(--container-pad)}
.container-narrow{max-width:900px;margin:0 auto;padding:0 var(--container-pad)}

/* Sections */
.section{padding:var(--sp-section) 0}
.section-light{background:var(--c-light)}
.section-dark{background:var(--c-dark);color:var(--c-white)}
.section-primary{background:var(--c-primary);color:var(--c-white)}

/* Section title */
.section-title{text-align:center;margin-bottom:56px}
.section-title h2{margin-bottom:12px}
.section-title h2 .accent{color:var(--c-primary)}
.section-title p{font-size:1.05rem;color:var(--c-text-light);max-width:600px;margin:0 auto}
.section-title--left{text-align:left}
.section-title--left p{margin-left:0}

/* Grid System */
.grid{display:grid;gap:var(--grid-gap)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-auto{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}

/* Two-column layout */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.two-col--wide-left{grid-template-columns:1.3fr 1fr}
.two-col--wide-right{grid-template-columns:1fr 1.3fr}

/* Flex utilities */
.flex{display:flex}
.flex-col{flex-direction:column}
.flex-wrap{flex-wrap:wrap}
.flex-center{align-items:center;justify-content:center}
.flex-between{justify-content:space-between}
.items-center{align-items:center}
.gap-sm{gap:8px}
.gap-md{gap:16px}
.gap-lg{gap:24px}
.gap-xl{gap:48px}

/* Spacing utilities */
.mt-0{margin-top:0}.mt-sm{margin-top:8px}.mt-md{margin-top:16px}.mt-lg{margin-top:32px}.mt-xl{margin-top:56px}
.mb-0{margin-bottom:0}.mb-sm{margin-bottom:8px}.mb-md{margin-bottom:16px}.mb-lg{margin-bottom:32px}.mb-xl{margin-bottom:56px}
.pt-0{padding-top:0}.pt-sm{padding-top:8px}.pt-md{padding-top:16px}.pt-lg{padding-top:32px}
.pb-0{padding-bottom:0}.pb-sm{padding-bottom:8px}.pb-md{padding-bottom:16px}.pb-lg{padding-bottom:32px}

/* Text alignment */
.text-center{text-align:center}
.text-left{text-align:left}
.text-right{text-align:right}

/* Display */
.d-block{display:block}
.d-inline{display:inline}
.d-inline-block{display:inline-block}
.d-none{display:none}

/* Width */
.w-full{width:100%}
.w-auto{width:auto}

/* Breadcrumbs */
.breadcrumbs{padding:16px 0;font-size:0.85rem;color:var(--c-text-light)}
.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.breadcrumbs li{display:inline-flex;align-items:center}
.breadcrumbs a{color:var(--c-text-light);transition:var(--tr)}
.breadcrumbs a:hover{color:var(--c-primary)}
.breadcrumbs .separator{color:var(--c-text-lighter);font-size:0.8rem}
.breadcrumbs span[aria-current]{color:var(--c-dark);font-weight:500}

/* Page header */
.page-header{background-color:var(--c-dark);background-image:var(--page-header-img,none);background-size:cover;background-position:center;color:var(--c-white);padding:120px 0 56px;position:relative;overflow:hidden}
.page-header::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(26,26,46,0.9),rgba(26,26,46,0.6))}
.page-header > .container{position:relative;z-index:1}
.page-header h1{color:var(--c-white);font-size:clamp(1.8rem,3.5vw,2.8rem);margin-bottom:12px}
.page-header p{font-size:1.1rem;color:rgba(255,255,255,0.75);max-width:600px}
.page-header .breadcrumbs{color:rgba(255,255,255,0.6);padding:0;margin-bottom:16px}
.page-header .breadcrumbs a{color:rgba(255,255,255,0.6)}
.page-header .breadcrumbs a:hover{color:var(--c-primary)}
.page-header .breadcrumbs .separator{color:rgba(255,255,255,0.3)}
.page-header .breadcrumbs span[aria-current]{color:var(--c-white)}

/* Content area */
.content-area{padding:56px 0}
.content-area .container{display:grid;grid-template-columns:1fr;gap:32px}
.has-sidebar .content-area .container{grid-template-columns:1fr 320px}

/* Main content */
.site-main{min-height:50vh}

/* Entry content */
.entry-content p{margin-bottom:1.2em;line-height:1.8}
.entry-content h2{margin-top:2em;margin-bottom:0.6em}
.entry-content h3{margin-top:1.5em;margin-bottom:0.5em}
.entry-content ul,.entry-content ol{margin-bottom:1.2em;padding-left:1.5em}
.entry-content li{margin-bottom:0.5em}
.entry-content img{border-radius:var(--r-img);margin-bottom:1em}
.entry-content blockquote{border-left:4px solid var(--c-primary);padding:16px 24px;background:var(--c-light);border-radius:0 var(--r-card) var(--r-card) 0;margin:1.5em 0;font-style:italic}
.entry-content table th{background:var(--c-dark);color:var(--c-white);padding:12px 16px;text-align:left;font-weight:600}
.entry-content table td{padding:12px 16px;border-bottom:1px solid var(--c-border)}
.entry-content table tr:nth-child(even){background:var(--c-light)}
