.obcs-page { padding:1.5rem clamp(1rem,4vw,2.5rem); box-sizing:border-box; }
.obcs-page > * { max-width:var(--wp--style--global--wide-size,1280px)!important; }
.obcs-page :is(h1,h2,h3,p,a,summary) { overflow-wrap:anywhere; }
.obcs-page :is(h2,section) { scroll-margin-top:7rem; }
.obcs-hero { display:flex; align-items:center; gap:2rem; padding:clamp(1.25rem,4vw,3rem); margin-block:1.5rem; background:var(--obc-surface); border:1px solid var(--obc-border); border-radius:var(--obc-radius-xl); }
.obcs-hero > div { min-width:0; }
.obcs-hero h1 { margin:0 0 1rem; }
.obcs-lead { max-width:46rem; margin:0; color:var(--obc-muted); }
/* Reserve the logo slot before decoding: auto dimensions collapsed to 0 in flex. */
.obcs-hero img.obcs-logo { display:block; width:220px; height:140px; max-width:100%; object-fit:contain; flex:0 0 auto; }
.obcs-navigation,.obcs-chips { display:flex; flex-wrap:wrap; gap:.5rem; }
.obcs-navigation { padding-bottom:1rem; border-bottom:1px solid var(--obc-border); }
.obcs-navigation a { padding:.5rem .75rem; text-decoration:none; font-weight:600; }
.obcs-catalog { margin-block:2rem; }
.obcs-filters { display:flex; flex-wrap:wrap; align-items:end; gap:1rem; margin-block:1.5rem 1rem; }
.obcs-filters > div { flex:1 1 13rem; min-width:0; }
.obcs-filters .obcs-search { flex-grow:2; }
.obcs-filters label:not(.obcs-check) { display:block; margin-bottom:.5rem; font-size:.875rem; font-weight:600; }
.obcs-filters :is(input[type=search],select) { box-sizing:border-box; display:block; width:100%; min-width:0; min-height:2.875rem; font:inherit; padding:.65rem .75rem; border:1px solid var(--obc-border); border-radius:var(--obc-radius); background:var(--obc-surface); color:var(--obc-text); }
.obcs-filters .obcs-check { display:flex; align-items:center; gap:.5rem; min-height:2.875rem; }
.obcs-filters button { min-height:2.875rem; padding:.65rem 1.25rem; border:0; border-radius:var(--obc-radius); background:var(--obc-primary); color:var(--obc-surface); font:inherit; cursor:pointer; }
.obcs-reset { padding:.65rem 0; }
.obcs-chips a { display:inline-flex; align-items:center; min-height:2.75rem; padding:.5rem 1rem; border:1px solid var(--obc-border); border-radius:var(--obc-radius-lg); background:var(--obc-surface); text-decoration:none; font-size:.875rem; }
.obcs-chips a[aria-current] { color:var(--obc-surface); background:var(--obc-primary); border-color:var(--obc-primary); }
.obcs-result-count { color:var(--obc-muted); font-size:.875rem; }
.obcs-catalog[aria-busy=true] { opacity:.65; }
.obcs-catalog .obcs-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr))!important; grid-auto-rows:1fr; gap:1.5rem; }
.obcs-grid .obcs-card { display:flex; flex-direction:column; width:auto; min-width:0; height:100%; padding:0; overflow:hidden; background:var(--obc-surface); border:1px solid var(--obc-border); border-radius:var(--obc-radius-lg); box-shadow:var(--obc-shadow-card); }
.obcs-card .obc-course-card__media { padding:.5rem .5rem 0; }
.obcs-card .obc-course-card__media img { width:100%; height:auto; aspect-ratio:16/7; object-fit:cover; border-radius:var(--obc-radius); }
.obcs-card .obc-course-card__body { padding:1rem 1rem .5rem; }
.obcs-card .obcs-direction { margin:0 0 .5rem; font-size:.8125rem; color:var(--obc-muted); }
.obcs-card h3 { margin:0 0 .65rem; font-size:var(--wp--preset--font-size--heading-sm,1.1875rem); line-height:1.25; }
.obcs-card .obcs-summary { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin:0; font-size:.9375rem; line-height:1.5; }
.obcs-card .obc-course-card__pricing { margin-top:auto; padding:.5rem 1rem 1rem; }
.obcs-card .obc-course-card__price { margin:0 0 .75rem; font-size:1rem; font-weight:600; }
.obcs-card .wp-element-button { display:inline-block; max-width:100%; font-size:.875rem; }
.obcs-card .obc-ad-label { font-size:.75rem; margin:.75rem 0 0; }
.obcs-catalog ul.page-numbers { display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem; list-style:none; padding:0; margin-top:1.5rem; }
.obcs-catalog .page-numbers :is(a,span) { display:flex; align-items:center; justify-content:center; min-width:2.75rem; min-height:2.75rem; padding:.5rem; border:1px solid var(--obc-border); border-radius:var(--obc-radius); text-decoration:none; }
.obcs-catalog .page-numbers .current { background:var(--obc-primary); color:var(--obc-surface); }
.obcs-text-section { margin-block:2rem; }
.obcs-text-section > h2 { font-size:var(--wp--preset--font-size--heading-lg,1.75rem); }
.obcs-conditions { padding:1.5rem; margin-block:2rem; background:var(--obc-surface); border:1px solid var(--obc-border); border-radius:var(--obc-radius-lg); }
.obcs-conditions > h2 { margin-top:0; font-size:var(--wp--preset--font-size--heading-lg,1.75rem); }
.obcs-conditions-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.obcs-conditions-grid:not(:has(> :nth-child(3))) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.obcs-conditions-grid > :only-child { grid-column:1/-1; }
.obcs-conditions-grid .obcs-text-section { margin:0; }
.obcs-conditions-grid h2 { font-size:1rem; }
.obcs-conditions-grid p { font-size:.9375rem; }
.obcs-text-section details { margin-top:10px; padding:0 16px; border:1px solid #dfe7f2; border-radius:14px; background:#fff; }
.obcs-text-section summary { display:flex; align-items:center; gap:12px; padding:14px 0; list-style:none; cursor:pointer; font-weight:650; font-size:.95rem; }
.obcs-text-section summary::-webkit-details-marker { display:none; }
.obcs-text-section summary::after { content:''; flex:none; width:8px; height:8px; margin-left:auto; border:solid #1769ed; border-width:0 2px 2px 0; transform:rotate(45deg) translateY(-2px); transition:transform .2s ease; }
.obcs-text-section details[open] > summary::after { transform:rotate(-135deg) translateY(-2px); }
.obcs-text-section details[open] { background:#f1f6ff; border-color:#c9dcfc; }
.obcs-text-section summary h3 { display:inline; margin:0; font-size:inherit; font-weight:inherit; line-height:inherit; }
.obcs-text-section details > p { margin:0 0 14px; font-size:.9rem; line-height:1.5; }
.obcs-text-section summary:focus-visible { outline:2px solid #1769ed; outline-offset:2px; border-radius:8px; }
.obcs-page :focus-visible { outline:3px solid var(--obc-primary); outline-offset:4px; }
@media(max-width:900px) { .obcs-catalog .obcs-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; } .obcs-conditions-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .obcs-hero { flex-direction:column; align-items:flex-start; gap:1.25rem; } .obcs-catalog .obcs-grid { grid-template-columns:minmax(0,1fr)!important; } .obcs-conditions-grid,.obcs-conditions-grid:not(:has(> :nth-child(3))) { grid-template-columns:minmax(0,1fr); } .obcs-filters > div { flex-basis:100%; } .obcs-navigation { gap:.25rem; } .obcs-navigation a { font-size:.875rem; padding:.5rem; } }
