/*
Theme Name: Beauty Skills
Theme URI: https://beautyskills.pl/
Author: Cohubo
Description: Dedykowany motyw Beauty Skills dla WooCommerce i Tutor LMS.
Version: 0.3.4
Text Domain: beauty-skills
*/

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600&display=swap');

:root {
  --bs-ink: #122034;
  --bs-ink-2: #1a2f4d;
  --bs-primary: #294c60;
  --bs-surface: #f2f3f7;
  --bs-divider: #dadfe5;
  --bs-stroke: #c2c6cc;
  --bs-white: #fff;

/* Tutor LMS: ukrycie globalnego promptu web push; inne powiadomienia pozostają aktywne. */
#tutor-pn-permission { display: none !important; }
/*
Theme Name: Beauty Skills
Theme URI: https://beautyskills.pl/
Author: Cohubo
Description: Dedykowany motyw Beauty Skills dla WooCommerce i Tutor LMS.
Version: 0.3.4
Text Domain: beauty-skills
*/

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600&display=swap');

:root {
  --bs-ink: #122034;
  --bs-ink-2: #1a2f4d;
  --bs-primary: #294c60;
  --bs-surface: #f2f3f7;
  --bs-divider: #dadfe5;
  --bs-stroke: #c2c6cc;
  --bs-white: #fff;

  --bs-radius: 12px;
  --bs-container: 1800px;
  --bs-page-pad: clamp(20px, 3.125vw, 60px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--bs-ink); background: var(--bs-white); font-family: 'Outfit', sans-serif; font-size: 18px; line-height: 1.5; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
.bs-container { width: min(calc(100% - (2 * var(--bs-page-pad))), var(--bs-container)); margin-inline: auto; }

.bs-topbar { background: var(--bs-surface); font-size: 14px; }
.bs-topbar__inner { min-height: 32px; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.bs-topbar__group, .bs-socials { display: flex; align-items: center; gap: 16px; }
.bs-topbar a { font-weight: 500; }

.bs-header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--bs-divider); backdrop-filter: blur(14px); }
.bs-header__inner { min-height: 64px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 32px; }
.bs-logo { font-size: 28px; line-height: 1; font-weight: 400; white-space: nowrap; }
.bs-nav { display: flex; align-items: center; justify-content: center; }
.bs-nav ul { display: flex; list-style: none; gap: 2px; padding: 0; margin: 0; }
.bs-nav a { display: block; padding: 10px 12px; font-size: 14px; font-weight: 500; }
.bs-nav-list { display: flex; align-items: center; gap: 2px; }
.bs-nav-trigger, .bs-nav-direct { min-height: 42px; padding: 10px 12px; border: 0; background: transparent; color: var(--bs-ink); font: inherit; font-size: 14px; font-weight: 500; cursor: pointer; }
.bs-nav-trigger span { display: inline-block; margin-left: 7px; font-size: 16px; transition: transform .2s ease; }
.bs-nav-trigger[aria-expanded="true"] span { transform: rotate(180deg); }
.bs-mega { position: absolute; top: 100%; right: 0; left: 0; visibility: hidden; opacity: 0; transform: translateY(-8px); border-bottom: 1px solid var(--bs-divider); background: #fff; box-shadow: 0 22px 38px rgba(18,32,52,.09); pointer-events: none; transition: opacity .18s ease, transform .18s ease, visibility .18s; }
.bs-nav-item.is-mega-open .bs-mega { visibility: visible; opacity: 1; transform: translateY(0); pointer-events: auto; }
.bs-mega__inner { display: grid; grid-template-columns: minmax(190px,.8fr) repeat(2,minmax(260px,1.35fr)); gap: 32px; align-items: stretch; padding-block: 24px 32px; }
.bs-mega__links { display: flex; flex-direction: column; align-items: flex-start; }
.bs-mega__links h2 { margin: 0 0 8px; padding: 8px 12px; font-size: 22px; line-height: 1.5; font-weight: 500; }
.bs-mega__links a { width: 100%; padding: 9px 12px; font-size: 16px; }
.bs-mega__links a:hover { color: var(--bs-primary); background: var(--bs-surface); border-radius: 8px; }
.bs-mega__cards { display: contents; }
.bs-mega-card { position: relative; min-height: 255px; overflow: hidden; padding: 0 !important; border: 1px solid var(--bs-stroke); border-radius: 16px; background: var(--bs-surface); }
.bs-mega-card__media { display: grid; min-height: 190px; place-items: center; color: #7b8795; font-size: 32px; }
.bs-mega-card__body { position: absolute; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: 1fr auto; gap: 4px 16px; align-items: center; padding: 16px 20px; background: #fff; }
.bs-mega-card__body small { grid-column: 1 / -1; color: #657386; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
.bs-mega-card__body strong { font-size: 19px; line-height: 1.3; font-weight: 500; }
.bs-mega-card__body > span { font-size: 14px; white-space: nowrap; }
#bs-mega-brands .bs-mega__inner { display: block; }
#bs-mega-brands .bs-mega__links { margin-bottom: 12px; }
#bs-mega-brands .bs-mega__links a { width: auto; }
#bs-mega-brands .bs-mega__cards { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
#bs-mega-brands .bs-mega-card { min-height: 230px; }
.bs-header__actions { display: flex; justify-content: flex-end; align-items: center; gap: 16px; }
.bs-icon-link { display: grid; width: 32px; height: 32px; place-items: center; font-size: 20px; }
.bs-menu-toggle { display: none; border: 0; background: transparent; font: inherit; }

.bs-hero { background: var(--bs-surface); overflow: hidden; }
.bs-hero__grid { min-height: 912px; display: grid; grid-template-columns: minmax(430px, 653px) minmax(0, 1fr); gap: 64px; }
.bs-hero__copy { display: flex; flex-direction: column; justify-content: center; gap: 80px; padding-block: 64px; }
.bs-hero__text { display: grid; gap: 40px; }
.bs-hero h1 { max-width: 653px; margin: 0; font-size: clamp(48px, 3.55vw, 68px); line-height: 1.2; letter-spacing: -2px; font-weight: 500; }
.bs-hero__lead { max-width: 587px; margin: 0; color: var(--bs-ink-2); font-size: 22px; }
.bs-button { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; width: fit-content; padding: 9px 20px; border-radius: 8px; border: 1px solid transparent; background: var(--bs-primary); color: #fff; font-size: 16px; font-weight: 500; transition: transform .2s ease, background .2s ease; }
.bs-button:hover { transform: translateY(-2px); background: var(--bs-ink); }
.bs-button--ghost { background: transparent; color: var(--bs-ink); border-color: var(--bs-stroke); }
.bs-rating { display: flex; align-items: center; gap: 16px; font-size: 13px; }
.bs-rating__people { display: flex; }
.bs-rating__avatar { width: 48px; height: 48px; margin-right: -16px; border: 2px solid #fff; border-radius: 50%; background: var(--bs-divider); }
.bs-rating__avatar:last-child { display: grid; place-items: center; margin-right: 0; background: #fff; font-weight: 500; }
.bs-rating__stars { color: var(--bs-primary); letter-spacing: 1px; font-size: 17px; }
.bs-rating__score { font-size: 18px; font-weight: 500; }
.bs-hero__visual { display: flex; gap: 24px; align-items: center; overflow: hidden; padding-block: 64px; position: relative; }
.bs-hero__visual::before, .bs-hero__visual::after { content: ''; position: absolute; z-index: 2; top: 0; bottom: 0; width: 150px; pointer-events: none; }
.bs-hero__visual::before { left: 0; background: linear-gradient(90deg,var(--bs-surface),transparent); }
.bs-hero__visual::after { right: 0; background: linear-gradient(270deg,var(--bs-surface),transparent); }
.bs-photo-slot { flex: 0 0 min(784px, 73vw); aspect-ratio: 1; border-radius: var(--bs-radius); background: #e8eaf0; display: grid; place-items: center; color: var(--bs-ink-2); font-size: 14px; }

.bs-section { padding-block: 80px; }
.bs-section--surface { background: var(--bs-surface); }
.bs-eyebrow { display: inline-flex; min-height: 24px; align-items: center; padding: 3px 12px; border: 1px solid var(--bs-stroke); border-radius: 999px; text-transform: uppercase; letter-spacing: .625px; font-size: 12.5px; font-weight: 500; }
.bs-title { margin: 36px 0 0; font-size: clamp(38px, 2.8vw, 54px); line-height: 1.2; letter-spacing: -2px; font-weight: 500; }
.bs-subtitle { margin: 28px 0 0; color: var(--bs-ink-2); font-size: 22px; }
.bs-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.bs-stat, .bs-card { padding: 32px; border-radius: var(--bs-radius); background: var(--bs-surface); }
.bs-stat { min-height: 253px; display: flex; flex-direction: column; justify-content: flex-end; }
.bs-stat strong { display: block; font-size: 32px; font-weight: 500; }
.bs-stat p { margin: 24px 0 0; color: var(--bs-ink-2); }
.bs-why { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: stretch; }
.bs-why__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.bs-card { min-height: 224px; display: flex; flex-direction: column; justify-content: center; }
.bs-card__icon { width: 32px; height: 32px; border: 1px solid var(--bs-ink); border-radius: 8px; margin-bottom: 28px; }
.bs-card h3 { margin: 0; font-size: 28px; line-height: 1.35; font-weight: 500; }
.bs-card p { margin: 18px 0 0; color: var(--bs-ink-2); }
.bs-centered { text-align: center; max-width: 1194px; margin-inline: auto; }
.bs-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 64px; }
.bs-pillar { min-height: 322px; padding: 32px; border-radius: var(--bs-radius); background: var(--bs-surface); display: flex; flex-direction: column; align-items: flex-start; }
.bs-pillar h3 { margin: 32px 0 0; font-size: 28px; font-weight: 500; }
.bs-pillar p { margin: 24px 0 32px; color: var(--bs-ink-2); }
.bs-pillar .bs-button { margin-top: auto; }

.bs-path { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.bs-accordion { display: grid; gap: 24px; margin-top: 56px; }
.bs-accordion details { border: 1px solid var(--bs-divider); border-radius: var(--bs-radius); padding: 22px 24px; }
.bs-accordion summary { cursor: pointer; font-size: 20px; font-weight: 500; }
.bs-accordion p { color: var(--bs-ink-2); }
.bs-path__art { min-height: 720px; border-radius: var(--bs-radius); background: var(--bs-surface); display: grid; place-items: center; color: var(--bs-ink-2); }
.bs-faq { max-width: 1194px; margin: 56px auto 0; }
.bs-cta { margin-block: 0; padding-block: 96px; background: var(--bs-primary); color: #fff; text-align: center; }
.bs-cta h2 { max-width: 900px; margin: 0 auto; font-size: clamp(40px, 4vw, 64px); line-height: 1.15; font-weight: 500; letter-spacing: -2px; }
.bs-cta p { max-width: 720px; margin: 28px auto 40px; font-size: 20px; }
.bs-cta .bs-button { background: #fff; color: var(--bs-ink); }

.bs-footer { padding-top: 80px; }
.bs-footer__grid { display: grid; grid-template-columns: minmax(300px, 694px) 1fr; gap: 64px; padding-bottom: 80px; }
.bs-footer__brand p { max-width: 540px; color: var(--bs-ink-2); }
.bs-footer__menus { display: grid; grid-template-columns: repeat(4,1fr); gap: 32px; }
.bs-footer__menus h4 { margin: 0 0 20px; text-transform: uppercase; letter-spacing: .08em; font-size: 12px; }
.bs-footer__menus ul { list-style: none; margin: 0; padding: 0; }
.bs-footer__menus li + li { margin-top: 12px; }
.bs-footer__bottom { border-top: 1px solid var(--bs-divider); padding-block: 16px; font-size: 13px; display: flex; justify-content: space-between; }

@media (max-width: 1180px) {
  .bs-topbar { display: none; }
  .bs-header__inner { grid-template-columns: 1fr auto; }
  .bs-nav { display: none; position: absolute; inset: 64px 0 auto; background: #fff; border-bottom: 1px solid var(--bs-divider); padding: 20px; }
  .bs-nav.is-open { display: block; }
  .bs-nav ul { flex-direction: column; }
  .bs-nav-list { align-items: stretch; flex-direction: column; }
  .bs-nav-trigger, .bs-nav-direct { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 12px; text-align: left; }
  .bs-mega { position: static; display: none; visibility: visible; opacity: 1; transform: none; border: 0; box-shadow: none; pointer-events: auto; transition: none; }
  .bs-nav-item.is-mega-open .bs-mega { display: block; }
  .bs-mega__inner, #bs-mega-brands .bs-mega__inner { display: grid; grid-template-columns: 1fr; gap: 12px; padding: 8px 0 20px; }
  .bs-mega__links { padding-left: 12px; }
  .bs-mega__links h2 { display: none; }
  .bs-mega__links a { padding: 8px 12px; }
  .bs-mega__cards, #bs-mega-brands .bs-mega__cards { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
  .bs-mega-card, #bs-mega-brands .bs-mega-card { min-height: 170px; }
  .bs-mega-card__media { min-height: 120px; }
  .bs-mega-card__body > span { display: none; }
  .bs-menu-toggle { display: block; }
  .bs-hero__grid { min-height: auto; grid-template-columns: 1fr; }
  .bs-hero__copy { padding-block: 80px 32px; gap: 48px; }
  .bs-hero__visual { min-height: 560px; padding-block: 0 64px; }
  .bs-stats, .bs-pillars { grid-template-columns: repeat(2, 1fr); }
  .bs-why, .bs-path { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  body { font-size: 16px; }
  .bs-header__actions .bs-icon-link:first-child { display: none; }
  .bs-hero h1 { font-size: 44px; }
  .bs-hero__lead, .bs-subtitle { font-size: 18px; }
  .bs-hero__visual { min-height: 380px; }
  .bs-photo-slot { flex-basis: 330px; }
  .bs-section { padding-block: 64px; }
  .bs-stats, .bs-pillars, .bs-why__cards { grid-template-columns: 1fr; }
  .bs-footer__grid, .bs-footer__menus { grid-template-columns: 1fr 1fr; }
  .bs-footer__grid { grid-template-columns: 1fr; }
  .bs-footer__bottom { gap: 12px; flex-direction: column; }
  .bs-mega__cards, #bs-mega-brands .bs-mega__cards { grid-template-columns: 1fr; }
}

/* Designed inner pages — Figma Wireframes */
button, input, textarea, select { font: inherit; color: inherit; }
.bs-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.bs-text-link { display: inline-flex; margin-top: auto; color: var(--bs-primary); font-weight: 500; }
.bs-section-link { margin-top: 48px; }
.bs-section-intro { max-width: 830px; }
.bs-section-intro.bs-centered { max-width: 1050px; }
.bs-media-placeholder { min-height: 320px; border-radius: var(--bs-radius); background: linear-gradient(135deg,#e4e7ec,#f0f2f5); display: grid; place-items: center; overflow: hidden; color: #657386; text-align: center; }
.bs-media-placeholder span { max-width: 240px; padding: 20px; font-size: 14px; }

.bs-inner-hero { background: var(--bs-surface); padding-block: 64px; }
.bs-inner-hero__grid { min-height: 680px; display: grid; grid-template-columns: minmax(0, .88fr) minmax(520px, 1.12fr); gap: clamp(48px, 7vw, 136px); align-items: center; }
.bs-inner-hero__copy { max-width: 720px; display: flex; flex-direction: column; align-items: flex-start; }
.bs-inner-hero h1, .bs-contact-hero h1, .bs-blog-hero h1 { margin: 36px 0 0; font-size: clamp(48px, 3.55vw, 68px); line-height: 1.16; letter-spacing: -2px; font-weight: 500; }
.bs-inner-hero__copy > p, .bs-contact-hero__grid > div > p, .bs-blog-hero p { max-width: 680px; margin: 32px 0 40px; color: var(--bs-ink-2); font-size: 22px; }
.bs-inner-hero__media { width: 100%; min-height: 0; aspect-ratio: 3 / 2; }

.bs-metric-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.bs-metric-card { min-height: 224px; padding: 32px; background: var(--bs-surface); border-radius: var(--bs-radius); display: flex; flex-direction: column; justify-content: flex-end; }
.bs-metric-card strong { font-size: clamp(30px,2.1vw,40px); line-height: 1; font-weight: 500; }
.bs-metric-card p { margin: 24px 0 0; color: var(--bs-ink-2); }

.bs-feature-grid { margin-top: 56px; display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.bs-feature-grid--five { grid-template-columns: repeat(5,1fr); }
.bs-feature-card { min-height: 282px; padding: 32px; background: #fff; border: 1px solid var(--bs-divider); border-radius: var(--bs-radius); display: flex; flex-direction: column; align-items: flex-start; }
.bs-section:not(.bs-section--surface) .bs-feature-card { background: var(--bs-surface); border-color: transparent; }
.bs-feature-card h3 { margin: 0; font-size: 26px; line-height: 1.25; font-weight: 500; }
.bs-feature-card p { margin: 18px 0 28px; color: var(--bs-ink-2); }

.bs-service-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 56px; }
.bs-service-grid article { min-height: 280px; padding: 32px; background: #fff; border-radius: var(--bs-radius); display: flex; flex-direction: column; }
.bs-service-grid article > span, .bs-contact-cards article > span { text-transform: uppercase; letter-spacing: .08em; font-size: 12px; color: var(--bs-primary); }
.bs-service-grid h3 { margin: 30px 0 0; font-size: 29px; font-weight: 500; }
.bs-service-grid p { margin: 16px 0 24px; color: var(--bs-ink-2); }
.bs-service-grid a { margin-top: auto; font-weight: 500; }

.bs-gallery { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: repeat(2, minmax(220px, 1fr)); gap: 24px; margin-top: 56px; }
.bs-gallery .bs-media-placeholder { min-height: 220px; }
.bs-gallery__large { grid-row: 1 / 3; min-height: 560px !important; }
.bs-people-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; margin-top: 56px; }
.bs-people-grid--large { grid-template-columns: repeat(3,1fr); margin-top: 0; }
.bs-people-grid article { min-width: 0; }
.bs-people-grid .bs-media-placeholder { aspect-ratio: 4 / 5; min-height: 0; }
.bs-people-grid h3 { margin: 22px 0 6px; font-size: 24px; font-weight: 500; }
.bs-people-grid p { margin: 0 0 14px; color: var(--bs-ink-2); }
.bs-people-grid a { font-weight: 500; }

.bs-story-grid, .bs-community-grid, .bs-map-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(48px,7vw,128px); align-items: center; }
.bs-story-grid > div > p { max-width: 760px; color: var(--bs-ink-2); font-size: 20px; }
.bs-story-grid > .bs-media-placeholder, .bs-community-grid > .bs-media-placeholder, .bs-map-grid > .bs-media-placeholder { min-height: 620px; }
.bs-check-list { list-style: none; padding: 0; margin: 36px 0; display: grid; gap: 18px; }
.bs-check-list li { position: relative; padding-left: 36px; }
.bs-check-list li::before { content: '✓'; position: absolute; left: 0; top: 0; display: grid; width: 24px; height: 24px; place-items: center; background: var(--bs-surface); border-radius: 50%; font-weight: 600; }

.bs-testimonials { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 56px; }
.bs-testimonials blockquote { min-height: 270px; margin: 0; padding: 36px; background: #fff; border-radius: var(--bs-radius); display: flex; flex-direction: column; justify-content: space-between; }
.bs-testimonials blockquote p { margin: 0; font-size: 22px; line-height: 1.45; }
.bs-testimonials blockquote footer { margin-top: 32px; color: var(--bs-ink-2); font-size: 15px; }

.bs-contact-hero { padding-block: 72px; background: var(--bs-surface); }
.bs-contact-hero__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(48px,7vw,128px); align-items: center; }
.bs-contact-form { padding: 40px; border-radius: var(--bs-radius); background: #fff; display: grid; gap: 20px; box-shadow: 0 24px 70px rgba(18,32,52,.06); }
.bs-contact-form label { display: grid; gap: 8px; font-size: 14px; font-weight: 500; }
.bs-contact-form input:not([type=checkbox]), .bs-contact-form textarea, .bs-contact-form select { width: 100%; border: 1px solid var(--bs-stroke); border-radius: 8px; background: #fff; padding: 13px 14px; outline: none; }
.bs-contact-form input:focus, .bs-contact-form textarea:focus, .bs-contact-form select:focus { border-color: var(--bs-primary); box-shadow: 0 0 0 3px rgba(41,76,96,.12); }
.bs-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.bs-consent { display: flex !important; grid-template-columns: auto 1fr; align-items: flex-start; font-weight: 400 !important; }
.bs-form-status { margin: 0; color: var(--bs-primary); font-size: 14px; }
.bs-contact-cards { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.bs-contact-cards article { min-height: 220px; padding: 32px; background: var(--bs-surface); border-radius: var(--bs-radius); }
.bs-contact-cards h3 { margin: 42px 0 12px; font-size: 24px; font-weight: 500; }
.bs-contact-cards p { margin: 0; color: var(--bs-ink-2); }

.bs-blog-hero { padding-block: 104px 64px; text-align: center; }
.bs-blog-hero .bs-container { display: flex; flex-direction: column; align-items: center; }
.bs-blog-hero h1 { max-width: 1000px; }
.bs-blog-filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 20px; }
.bs-blog-filters button { padding: 9px 16px; border: 1px solid var(--bs-stroke); border-radius: 999px; background: #fff; cursor: pointer; }
.bs-blog-filters button.is-active { background: var(--bs-primary); border-color: var(--bs-primary); color: #fff; }
.bs-featured-post { display: grid; grid-template-columns: 1.12fr .88fr; gap: 64px; align-items: center; padding: 32px; background: var(--bs-surface); border-radius: var(--bs-radius); }
.bs-featured-post > .bs-media-placeholder { min-height: 480px; }
.bs-featured-post h2 { margin: 32px 0 20px; font-size: clamp(36px,2.5vw,48px); line-height: 1.15; font-weight: 500; letter-spacing: -1.5px; }
.bs-featured-post p { color: var(--bs-ink-2); font-size: 20px; margin-bottom: 32px; }
.bs-post-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 48px 24px; margin-top: 64px; }
.bs-post-grid article { min-width: 0; }
.bs-post-grid .bs-media-placeholder { aspect-ratio: 4 / 3; min-height: 0; }
.bs-post-grid article > div:not(.bs-media-placeholder) { padding-top: 24px; }
.bs-post-grid h3 { margin: 12px 0; font-size: 26px; line-height: 1.25; font-weight: 500; }
.bs-post-grid p { margin: 0 0 20px; color: var(--bs-ink-2); }
.bs-post-meta { font-size: 13px; color: #657386; }

.bs-course-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 56px; }
.bs-course-card { overflow: hidden; background: #fff; border-radius: var(--bs-radius); }
.bs-course-card > .bs-media-placeholder { aspect-ratio: 16 / 10; min-height: 0; border-radius: 0; }
.bs-course-card > div { min-height: 260px; padding: 28px; display: flex; flex-direction: column; align-items: flex-start; }
.bs-course-card h3 { margin: 24px 0 12px; font-size: 26px; line-height: 1.25; font-weight: 500; }
.bs-course-card p { color: var(--bs-ink-2); }
.bs-pricing-card { max-width: 760px; margin: 72px auto 0; padding: 48px; text-align: center; border-radius: var(--bs-radius); background: var(--bs-surface); }
.bs-pricing-card h2 { margin: 32px 0 8px; font-size: 48px; font-weight: 500; }
.bs-pricing-card h2 small { display: block; margin-top: 8px; font-size: 16px; font-weight: 400; }
.bs-pricing-card strong { display: block; font-size: 28px; }
.bs-pricing-card p { margin: 24px auto 32px; max-width: 520px; color: var(--bs-ink-2); }
.bs-brand-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 72px; }
.bs-brand-grid article { border: 1px solid var(--bs-divider); border-radius: var(--bs-radius); overflow: hidden; padding-bottom: 28px; }
.bs-brand-grid .bs-media-placeholder { border-radius: 0; min-height: 300px; }
.bs-brand-grid h3, .bs-brand-grid a { margin-left: 28px; margin-right: 28px; }
.bs-brand-grid h3 { font-size: 26px; font-weight: 500; }
.bs-training-summary { align-self: start; position: sticky; top: 112px; padding: 40px; background: var(--bs-surface); border-radius: var(--bs-radius); }
.bs-training-summary h3 { margin: 32px 0 18px; font-size: 34px; font-weight: 500; }
.bs-training-summary ul { margin: 0 0 32px; padding-left: 22px; display: grid; gap: 12px; color: var(--bs-ink-2); }
.bs-date-list { display: grid; gap: 20px; }
.bs-date-list article { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 32px; border: 1px solid var(--bs-divider); border-radius: var(--bs-radius); }
.bs-date-list article span { text-transform: uppercase; letter-spacing: .08em; color: var(--bs-primary); font-size: 12px; }
.bs-date-list h2 { margin: 12px 0 4px; font-size: 30px; font-weight: 500; }
.bs-date-list p { margin: 0; color: var(--bs-ink-2); }
.bs-legal-copy { margin-top: 0; }
.bs-legal-copy h2 { margin: 48px 0 16px; font-size: 30px; font-weight: 500; }
.bs-legal-copy a { text-decoration: underline; }

.bs-article__header { padding-block: 96px 64px; text-align: center; }
.bs-article__narrow { max-width: 1080px; }
.bs-article__header .bs-eyebrow { margin-top: 48px; }
.bs-article__header h1 { margin: 36px auto 0; max-width: 980px; font-size: clamp(46px,3.4vw,66px); line-height: 1.15; letter-spacing: -2px; font-weight: 500; }
.bs-back-link { display: block; text-align: left; color: var(--bs-primary); }
.bs-article__meta { margin-top: 28px; color: #657386; }
.bs-article__image { min-height: 600px; }
.bs-entry-content { max-width: 850px; margin: 56px auto 96px; font-size: 20px; }
.bs-entry-content p { margin: 0 0 1.5em; }
.bs-empty-state { min-height: 68vh; display: grid; align-items: center; text-align: center; }
.bs-empty-state h1 { margin: 36px 0 0; font-size: clamp(48px,4vw,72px); font-weight: 500; letter-spacing: -2px; }
.bs-empty-state p { color: var(--bs-ink-2); }
.bs-empty-state .bs-actions { justify-content: center; }

/* WooCommerce — align shop and product with the Figma visual system */
.bs-shop-hero { padding-block: 54px; background: var(--bs-surface); }
.bs-shop-hero__inner { display: flex; justify-content: space-between; align-items: center; gap: 48px; }
.bs-shop-hero h1 { margin: 20px 0 2px; font-size: clamp(42px,3vw,60px); line-height: 1.15; letter-spacing: -2px; font-weight: 500; }
.bs-shop-hero p { margin: 0; color: var(--bs-ink-2); }
.bs-shop-search { display: flex; width: min(520px,45vw); }
.bs-shop-search input { width: 100%; min-height: 48px; padding: 11px 16px; border: 1px solid var(--bs-stroke); border-right: 0; border-radius: 8px 0 0 8px; background: #fff; }
.bs-shop-search button { width: 48px; border: 0; border-radius: 0 8px 8px 0; background: var(--bs-primary); color: #fff; font-size: 22px; cursor: pointer; }
.bs-shop-layout { display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 48px; align-items: start; }
.bs-shop-filters { position: sticky; top: 94px; }
.bs-filter-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.bs-filter-heading h2 { margin: 0; font-size: 22px; font-weight: 500; }
.bs-filter-heading a { color: var(--bs-primary); font-size: 13px; text-decoration: underline; }
.bs-sort-label { display: grid; gap: 7px; margin-bottom: 18px; font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: .05em; }
.bs-sort-label select { width: 100%; padding: 11px 12px; border: 1px solid var(--bs-divider); border-radius: 8px; background: #fff; font-size: 14px; text-transform: none; letter-spacing: 0; }
.bs-shop-filters fieldset { margin: 0; padding: 17px 0; border: 0; border-top: 1px solid var(--bs-divider); }
.bs-shop-filters legend { width: 100%; margin-bottom: 10px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.bs-shop-filters fieldset > label { display: flex; gap: 9px; align-items: center; margin: 8px 0; font-size: 14px; cursor: pointer; }
.bs-shop-filters input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--bs-primary); }
.bs-shop-filters small { color: #657386; }
.bs-price-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.bs-price-fields label { display: grid !important; gap: 4px !important; color: #657386; font-size: 11px !important; }
.bs-price-fields input { width: 100%; min-width: 0; padding: 9px 8px; border: 1px solid var(--bs-divider); border-radius: 7px; font-size: 13px; }
.bs-filter-submit { width: 100%; }
.bs-shop-results { min-width: 0; }
.bs-shop-results .woocommerce-breadcrumb, .bs-shop-results .woocommerce-products-header { display: none; }
.bs-shop-results ul.products { grid-template-columns: repeat(3,1fr); gap: 24px; }
.bs-shop-results ul.products li.product { position: relative; overflow: hidden; padding-bottom: 20px; border: 1px solid var(--bs-divider); border-radius: var(--bs-radius); background: #fff; }
.bs-shop-results ul.products li.product > a:not(.button) { display: block; }
.bs-shop-results ul.products li.product a img { margin: 0 0 16px; border-radius: 0; background: var(--bs-surface); }
.bs-shop-results ul.products li.product .woocommerce-loop-product__title, .bs-shop-results ul.products li.product .price, .bs-shop-results ul.products li.product .star-rating, .bs-shop-results ul.products li.product > a.button, .bs-product-rating { margin-right: 18px; margin-left: 18px; }
.bs-shop-results ul.products li.product .woocommerce-loop-product__title { font-size: 18px; min-height: 48px; }
.bs-shop-results ul.products li.product .price { display: block; margin-top: 14px; font-size: 18px; font-weight: 500; }
.bs-shop-results ul.products li.product > a.button { margin-top: 14px; }
.bs-product-rating { margin-bottom: 6px; color: var(--bs-primary); font-size: 13px; letter-spacing: 1px; }
.bs-product-rating small { color: #657386; letter-spacing: 0; }
.bs-demo-badge { position: absolute; z-index: 2; top: 12px; right: 12px; padding: 5px 9px; border-radius: 999px; background: var(--bs-primary); color: #fff; font-size: 10px; text-transform: uppercase; letter-spacing: .05em; }
.woocommerce .woocommerce-breadcrumb { margin-bottom: 36px; color: #657386; font-size: 14px; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom: 36px; }
.woocommerce .woocommerce-ordering select { padding: 10px 14px; border: 1px solid var(--bs-stroke); border-radius: 8px; background: #fff; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4,1fr); gap: 40px 24px; }
.woocommerce .bs-shop-results ul.products { grid-template-columns: repeat(3,1fr); gap: 24px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { float: none; width: auto; margin: 0; }
.woocommerce ul.products li.product a img { aspect-ratio: 1; object-fit: cover; margin: 0 0 20px; border-radius: var(--bs-radius); background: var(--bs-surface); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0; font-size: 22px; line-height: 1.3; }
.woocommerce ul.products li.product .price { color: var(--bs-ink); font-size: 18px; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { border-radius: 8px; background: var(--bs-primary); color: #fff; font-weight: 500; padding: 13px 18px; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--bs-ink); color: #fff; }
.single-product .woocommerce div.product { display: grid; grid-template-columns: minmax(0,1fr) minmax(420px,.8fr); gap: 64px; }
.single-product .woocommerce div.product div.images, .single-product .woocommerce div.product div.summary { float: none; width: auto; margin: 0; }
.single-product .woocommerce div.product div.images img { border-radius: var(--bs-radius); background: var(--bs-surface); }
.single-product .woocommerce div.product .product_title { font-size: clamp(44px,3vw,60px); line-height: 1.12; letter-spacing: -2px; font-weight: 500; }
.single-product .woocommerce div.product p.price, .single-product .woocommerce div.product span.price { color: var(--bs-ink); font-size: 28px; }
.single-product .woocommerce .quantity .qty { min-height: 44px; border: 1px solid var(--bs-stroke); border-radius: 8px; }
.single-product .woocommerce div.product .woocommerce-tabs, .single-product .woocommerce div.product .related, .single-product .woocommerce div.product .upsells { grid-column: 1 / -1; }
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; border-bottom: 1px solid var(--bs-divider); }
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li { border: 0; background: transparent; }
.single-product .woocommerce div.product .woocommerce-tabs .panel { max-width: 900px; padding-block: 32px; }
.woocommerce-cart table.cart img { width: 100px; border-radius: 8px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .select2-container--default .select2-selection--single { min-height: 46px; padding: 10px 12px; border: 1px solid var(--bs-stroke); border-radius: 8px; }

/* Tutor LMS — restrained overrides that preserve course logic */
.tutor-wrap, .tutor-course-details-page, .tutor-dashboard { color: var(--bs-ink); font-family: 'Outfit',sans-serif; }
.tutor-btn, .tutor-btn-primary, a.tutor-btn { border-radius: 8px !important; }
.tutor-course-card, .tutor-card { border-color: var(--bs-divider) !important; border-radius: var(--bs-radius) !important; box-shadow: none !important; }
.tutor-course-card .tutor-course-thumbnail img { border-radius: var(--bs-radius) var(--bs-radius) 0 0; }
.tutor-dashboard .tutor-dashboard-left-menu .tutor-dashboard-permalinks li.active a { background: var(--bs-surface); color: var(--bs-primary); }
.tutor-course-details-title, .tutor-course-details-page h1 { letter-spacing: -1px; }

@media (max-width: 1280px) {
  .bs-feature-grid--five { grid-template-columns: repeat(3,1fr); }
  .bs-inner-hero__grid { grid-template-columns: 1fr 1fr; gap: 48px; }
  .bs-feature-grid, .bs-contact-cards, .woocommerce ul.products { grid-template-columns: repeat(2,1fr); }
  .bs-shop-results ul.products { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 900px) {
  .bs-inner-hero__grid, .bs-contact-hero__grid, .bs-story-grid, .bs-community-grid, .bs-map-grid, .bs-featured-post, .single-product .woocommerce div.product { grid-template-columns: 1fr; }
  .bs-inner-hero__grid { min-height: auto; }
  .bs-inner-hero__media { order: -1; }
  .bs-metric-grid, .bs-service-grid, .bs-people-grid, .bs-testimonials, .bs-course-grid, .bs-post-grid, .bs-brand-grid { grid-template-columns: repeat(2,1fr); }
  .bs-gallery { grid-template-columns: 1fr 1fr; }
  .bs-gallery__large { grid-column: 1 / -1; grid-row: auto; min-height: 420px !important; }
  .bs-story-grid > .bs-media-placeholder, .bs-community-grid > .bs-media-placeholder, .bs-map-grid > .bs-media-placeholder { min-height: 460px; }
  .bs-shop-layout { grid-template-columns: 1fr; }
  .bs-shop-filters { position: static; }
}

@media (max-width: 620px) {
  .bs-inner-hero, .bs-contact-hero { padding-block: 32px 56px; }
  .bs-inner-hero h1, .bs-contact-hero h1, .bs-blog-hero h1 { font-size: 43px; }
  .bs-inner-hero__copy > p, .bs-contact-hero__grid > div > p, .bs-blog-hero p { font-size: 18px; }
  .bs-inner-hero__media { aspect-ratio: 4 / 3; }
  .bs-metric-grid, .bs-feature-grid, .bs-feature-grid--five, .bs-service-grid, .bs-people-grid, .bs-people-grid--large, .bs-testimonials, .bs-course-grid, .bs-post-grid, .bs-brand-grid, .bs-contact-cards { grid-template-columns: 1fr; }
  .bs-gallery { grid-template-columns: 1fr; }
  .bs-gallery__large { grid-column: auto; min-height: 300px !important; }
  .bs-contact-form { padding: 24px; }
  .bs-form-grid { grid-template-columns: 1fr; }
  .bs-featured-post { padding: 20px; gap: 32px; }
  .bs-featured-post > .bs-media-placeholder { min-height: 280px; }
  .bs-article__image { min-height: 340px; }
  .woocommerce ul.products { grid-template-columns: 1fr; }
  .bs-shop-hero__inner { align-items: stretch; flex-direction: column; }
  .bs-shop-search { width: 100%; }
  .bs-shop-results ul.products { grid-template-columns: 1fr; }
  .bs-date-list article { align-items: flex-start; flex-direction: column; }
  .bs-training-summary { position: static; }
}

/* Tutor LMS: ukrycie globalnego promptu web push; inne powiadomienia pozostają aktywne. */
#tutor-pn-permission { display: none !important; }

  --bs-radius: 12px;
  --bs-container: 1800px;
  --bs-page-pad: clamp(20px, 3.125vw, 60px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--bs-ink); background: var(--bs-white); font-family: 'Outfit', sans-serif; font-size: 18px; line-height: 1.5; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
.bs-container { width: min(calc(100% - (2 * var(--bs-page-pad))), var(--bs-container)); margin-inline: auto; }

.bs-topbar { background: var(--bs-surface); font-size: 14px; }
.bs-topbar__inner { min-height: 32px; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.bs-topbar__group, .bs-socials { display: flex; align-items: center; gap: 16px; }
.bs-topbar a { font-weight: 500; }

.bs-header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--bs-divider); backdrop-filter: blur(14px); }
.bs-header__inner { min-height: 64px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 32px; }
.bs-logo { font-size: 28px; line-height: 1; font-weight: 400; white-space: nowrap; }
.bs-nav { display: flex; align-items: center; justify-content: center; }
.bs-nav ul { display: flex; list-style: none; gap: 2px; padding: 0; margin: 0; }
.bs-nav a { display: block; padding: 10px 12px; font-size: 14px; font-weight: 500; }
.bs-nav-list { display: flex; align-items: center; gap: 2px; }
.bs-nav-trigger, .bs-nav-direct { min-height: 42px; padding: 10px 12px; border: 0; background: transparent; color: var(--bs-ink); font: inherit; font-size: 14px; font-weight: 500; cursor: pointer; }
.bs-nav-trigger span { display: inline-block; margin-left: 7px; font-size: 16px; transition: transform .2s ease; }
.bs-nav-trigger[aria-expanded="true"] span { transform: rotate(180deg); }
.bs-mega { position: absolute; top: 100%; right: 0; left: 0; visibility: hidden; opacity: 0; transform: translateY(-8px); border-bottom: 1px solid var(--bs-divider); background: #fff; box-shadow: 0 22px 38px rgba(18,32,52,.09); pointer-events: none; transition: opacity .18s ease, transform .18s ease, visibility .18s; }
.bs-nav-item.is-mega-open .bs-mega { visibility: visible; opacity: 1; transform: translateY(0); pointer-events: auto; }
.bs-mega__inner { display: grid; grid-template-columns: minmax(190px,.8fr) repeat(2,minmax(260px,1.35fr)); gap: 32px; align-items: stretch; padding-block: 24px 32px; }
.bs-mega__links { display: flex; flex-direction: column; align-items: flex-start; }
.bs-mega__links h2 { margin: 0 0 8px; padding: 8px 12px; font-size: 22px; line-height: 1.5; font-weight: 500; }
.bs-mega__links a { width: 100%; padding: 9px 12px; font-size: 16px; }
.bs-mega__links a:hover { color: var(--bs-primary); background: var(--bs-surface); border-radius: 8px; }
.bs-mega__cards { display: contents; }
.bs-mega-card { position: relative; min-height: 255px; overflow: hidden; padding: 0 !important; border: 1px solid var(--bs-stroke); border-radius: 16px; background: var(--bs-surface); }
.bs-mega-card__media { display: grid; min-height: 190px; place-items: center; color: #7b8795; font-size: 32px; }
.bs-mega-card__body { position: absolute; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: 1fr auto; gap: 4px 16px; align-items: center; padding: 16px 20px; background: #fff; }
.bs-mega-card__body small { grid-column: 1 / -1; color: #657386; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
.bs-mega-card__body strong { font-size: 19px; line-height: 1.3; font-weight: 500; }
.bs-mega-card__body > span { font-size: 14px; white-space: nowrap; }
#bs-mega-brands .bs-mega__inner { display: block; }
#bs-mega-brands .bs-mega__links { margin-bottom: 12px; }
#bs-mega-brands .bs-mega__links a { width: auto; }
#bs-mega-brands .bs-mega__cards { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
#bs-mega-brands .bs-mega-card { min-height: 230px; }
.bs-header__actions { display: flex; justify-content: flex-end; align-items: center; gap: 16px; }
.bs-icon-link { display: grid; width: 32px; height: 32px; place-items: center; font-size: 20px; }
.bs-menu-toggle { display: none; border: 0; background: transparent; font: inherit; }

.bs-hero { background: var(--bs-surface); overflow: hidden; }
.bs-hero__grid { min-height: 912px; display: grid; grid-template-columns: minmax(430px, 653px) minmax(0, 1fr); gap: 64px; }
.bs-hero__copy { display: flex; flex-direction: column; justify-content: center; gap: 80px; padding-block: 64px; }
.bs-hero__text { display: grid; gap: 40px; }
.bs-hero h1 { max-width: 653px; margin: 0; font-size: clamp(48px, 3.55vw, 68px); line-height: 1.2; letter-spacing: -2px; font-weight: 500; }
.bs-hero__lead { max-width: 587px; margin: 0; color: var(--bs-ink-2); font-size: 22px; }
.bs-button { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; width: fit-content; padding: 9px 20px; border-radius: 8px; border: 1px solid transparent; background: var(--bs-primary); color: #fff; font-size: 16px; font-weight: 500; transition: transform .2s ease, background .2s ease; }
.bs-button:hover { transform: translateY(-2px); background: var(--bs-ink); }
.bs-button--ghost { background: transparent; color: var(--bs-ink); border-color: var(--bs-stroke); }
.bs-rating { display: flex; align-items: center; gap: 16px; font-size: 13px; }
.bs-rating__people { display: flex; }
.bs-rating__avatar { width: 48px; height: 48px; margin-right: -16px; border: 2px solid #fff; border-radius: 50%; background: var(--bs-divider); }
.bs-rating__avatar:last-child { display: grid; place-items: center; margin-right: 0; background: #fff; font-weight: 500; }
.bs-rating__stars { color: var(--bs-primary); letter-spacing: 1px; font-size: 17px; }
.bs-rating__score { font-size: 18px; font-weight: 500; }
.bs-hero__visual { display: flex; gap: 24px; align-items: center; overflow: hidden; padding-block: 64px; position: relative; }
.bs-hero__visual::before, .bs-hero__visual::after { content: ''; position: absolute; z-index: 2; top: 0; bottom: 0; width: 150px; pointer-events: none; }
.bs-hero__visual::before { left: 0; background: linear-gradient(90deg,var(--bs-surface),transparent); }
.bs-hero__visual::after { right: 0; background: linear-gradient(270deg,var(--bs-surface),transparent); }
.bs-photo-slot { flex: 0 0 min(784px, 73vw); aspect-ratio: 1; border-radius: var(--bs-radius); background: #e8eaf0; display: grid; place-items: center; color: var(--bs-ink-2); font-size: 14px; }

.bs-section { padding-block: 80px; }
.bs-section--surface { background: var(--bs-surface); }
.bs-eyebrow { display: inline-flex; min-height: 24px; align-items: center; padding: 3px 12px; border: 1px solid var(--bs-stroke); border-radius: 999px; text-transform: uppercase; letter-spacing: .625px; font-size: 12.5px; font-weight: 500; }
.bs-title { margin: 36px 0 0; font-size: clamp(38px, 2.8vw, 54px); line-height: 1.2; letter-spacing: -2px; font-weight: 500; }
.bs-subtitle { margin: 28px 0 0; color: var(--bs-ink-2); font-size: 22px; }
.bs-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.bs-stat, .bs-card { padding: 32px; border-radius: var(--bs-radius); background: var(--bs-surface); }
.bs-stat { min-height: 253px; display: flex; flex-direction: column; justify-content: flex-end; }
.bs-stat strong { display: block; font-size: 32px; font-weight: 500; }
.bs-stat p { margin: 24px 0 0; color: var(--bs-ink-2); }
.bs-why { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: stretch; }
.bs-why__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.bs-card { min-height: 224px; display: flex; flex-direction: column; justify-content: center; }
.bs-card__icon { width: 32px; height: 32px; border: 1px solid var(--bs-ink); border-radius: 8px; margin-bottom: 28px; }
.bs-card h3 { margin: 0; font-size: 28px; line-height: 1.35; font-weight: 500; }
.bs-card p { margin: 18px 0 0; color: var(--bs-ink-2); }
.bs-centered { text-align: center; max-width: 1194px; margin-inline: auto; }
.bs-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 64px; }
.bs-pillar { min-height: 322px; padding: 32px; border-radius: var(--bs-radius); background: var(--bs-surface); display: flex; flex-direction: column; align-items: flex-start; }
.bs-pillar h3 { margin: 32px 0 0; font-size: 28px; font-weight: 500; }
.bs-pillar p { margin: 24px 0 32px; color: var(--bs-ink-2); }
.bs-pillar .bs-button { margin-top: auto; }

.bs-path { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.bs-accordion { display: grid; gap: 24px; margin-top: 56px; }
.bs-accordion details { border: 1px solid var(--bs-divider); border-radius: var(--bs-radius); padding: 22px 24px; }
.bs-accordion summary { cursor: pointer; font-size: 20px; font-weight: 500; }
.bs-accordion p { color: var(--bs-ink-2); }
.bs-path__art { min-height: 720px; border-radius: var(--bs-radius); background: var(--bs-surface); display: grid; place-items: center; color: var(--bs-ink-2); }
.bs-faq { max-width: 1194px; margin: 56px auto 0; }
.bs-cta { margin-block: 0; padding-block: 96px; background: var(--bs-primary); color: #fff; text-align: center; }
.bs-cta h2 { max-width: 900px; margin: 0 auto; font-size: clamp(40px, 4vw, 64px); line-height: 1.15; font-weight: 500; letter-spacing: -2px; }
.bs-cta p { max-width: 720px; margin: 28px auto 40px; font-size: 20px; }
.bs-cta .bs-button { background: #fff; color: var(--bs-ink); }

.bs-footer { padding-top: 80px; }
.bs-footer__grid { display: grid; grid-template-columns: minmax(300px, 694px) 1fr; gap: 64px; padding-bottom: 80px; }
.bs-footer__brand p { max-width: 540px; color: var(--bs-ink-2); }
.bs-footer__menus { display: grid; grid-template-columns: repeat(4,1fr); gap: 32px; }
.bs-footer__menus h4 { margin: 0 0 20px; text-transform: uppercase; letter-spacing: .08em; font-size: 12px; }
.bs-footer__menus ul { list-style: none; margin: 0; padding: 0; }
.bs-footer__menus li + li { margin-top: 12px; }
.bs-footer__bottom { border-top: 1px solid var(--bs-divider); padding-block: 16px; font-size: 13px; display: flex; justify-content: space-between; }

@media (max-width: 1180px) {
  .bs-topbar { display: none; }
  .bs-header__inner { grid-template-columns: 1fr auto; }
  .bs-nav { display: none; position: absolute; inset: 64px 0 auto; background: #fff; border-bottom: 1px solid var(--bs-divider); padding: 20px; }
  .bs-nav.is-open { display: block; }
  .bs-nav ul { flex-direction: column; }
  .bs-nav-list { align-items: stretch; flex-direction: column; }
  .bs-nav-trigger, .bs-nav-direct { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 12px; text-align: left; }
  .bs-mega { position: static; display: none; visibility: visible; opacity: 1; transform: none; border: 0; box-shadow: none; pointer-events: auto; transition: none; }
  .bs-nav-item.is-mega-open .bs-mega { display: block; }
  .bs-mega__inner, #bs-mega-brands .bs-mega__inner { display: grid; grid-template-columns: 1fr; gap: 12px; padding: 8px 0 20px; }
  .bs-mega__links { padding-left: 12px; }
  .bs-mega__links h2 { display: none; }
  .bs-mega__links a { padding: 8px 12px; }
  .bs-mega__cards, #bs-mega-brands .bs-mega__cards { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
  .bs-mega-card, #bs-mega-brands .bs-mega-card { min-height: 170px; }
  .bs-mega-card__media { min-height: 120px; }
  .bs-mega-card__body > span { display: none; }
  .bs-menu-toggle { display: block; }
  .bs-hero__grid { min-height: auto; grid-template-columns: 1fr; }
  .bs-hero__copy { padding-block: 80px 32px; gap: 48px; }
  .bs-hero__visual { min-height: 560px; padding-block: 0 64px; }
  .bs-stats, .bs-pillars { grid-template-columns: repeat(2, 1fr); }
  .bs-why, .bs-path { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  body { font-size: 16px; }
  .bs-header__actions .bs-icon-link:first-child { display: none; }
  .bs-hero h1 { font-size: 44px; }
  .bs-hero__lead, .bs-subtitle { font-size: 18px; }
  .bs-hero__visual { min-height: 380px; }
  .bs-photo-slot { flex-basis: 330px; }
  .bs-section { padding-block: 64px; }
  .bs-stats, .bs-pillars, .bs-why__cards { grid-template-columns: 1fr; }
  .bs-footer__grid, .bs-footer__menus { grid-template-columns: 1fr 1fr; }
  .bs-footer__grid { grid-template-columns: 1fr; }
  .bs-footer__bottom { gap: 12px; flex-direction: column; }
  .bs-mega__cards, #bs-mega-brands .bs-mega__cards { grid-template-columns: 1fr; }
}

/* Designed inner pages — Figma Wireframes */
button, input, textarea, select { font: inherit; color: inherit; }
.bs-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.bs-text-link { display: inline-flex; margin-top: auto; color: var(--bs-primary); font-weight: 500; }
.bs-section-link { margin-top: 48px; }
.bs-section-intro { max-width: 830px; }
.bs-section-intro.bs-centered { max-width: 1050px; }
.bs-media-placeholder { min-height: 320px; border-radius: var(--bs-radius); background: linear-gradient(135deg,#e4e7ec,#f0f2f5); display: grid; place-items: center; overflow: hidden; color: #657386; text-align: center; }
.bs-media-placeholder span { max-width: 240px; padding: 20px; font-size: 14px; }

.bs-inner-hero { background: var(--bs-surface); padding-block: 64px; }
.bs-inner-hero__grid { min-height: 680px; display: grid; grid-template-columns: minmax(0, .88fr) minmax(520px, 1.12fr); gap: clamp(48px, 7vw, 136px); align-items: center; }
.bs-inner-hero__copy { max-width: 720px; display: flex; flex-direction: column; align-items: flex-start; }
.bs-inner-hero h1, .bs-contact-hero h1, .bs-blog-hero h1 { margin: 36px 0 0; font-size: clamp(48px, 3.55vw, 68px); line-height: 1.16; letter-spacing: -2px; font-weight: 500; }
.bs-inner-hero__copy > p, .bs-contact-hero__grid > div > p, .bs-blog-hero p { max-width: 680px; margin: 32px 0 40px; color: var(--bs-ink-2); font-size: 22px; }
.bs-inner-hero__media { width: 100%; min-height: 0; aspect-ratio: 3 / 2; }

.bs-metric-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.bs-metric-card { min-height: 224px; padding: 32px; background: var(--bs-surface); border-radius: var(--bs-radius); display: flex; flex-direction: column; justify-content: flex-end; }
.bs-metric-card strong { font-size: clamp(30px,2.1vw,40px); line-height: 1; font-weight: 500; }
.bs-metric-card p { margin: 24px 0 0; color: var(--bs-ink-2); }

.bs-feature-grid { margin-top: 56px; display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.bs-feature-grid--five { grid-template-columns: repeat(5,1fr); }
.bs-feature-card { min-height: 282px; padding: 32px; background: #fff; border: 1px solid var(--bs-divider); border-radius: var(--bs-radius); display: flex; flex-direction: column; align-items: flex-start; }
.bs-section:not(.bs-section--surface) .bs-feature-card { background: var(--bs-surface); border-color: transparent; }
.bs-feature-card h3 { margin: 0; font-size: 26px; line-height: 1.25; font-weight: 500; }
.bs-feature-card p { margin: 18px 0 28px; color: var(--bs-ink-2); }

.bs-service-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 56px; }
.bs-service-grid article { min-height: 280px; padding: 32px; background: #fff; border-radius: var(--bs-radius); display: flex; flex-direction: column; }
.bs-service-grid article > span, .bs-contact-cards article > span { text-transform: uppercase; letter-spacing: .08em; font-size: 12px; color: var(--bs-primary); }
.bs-service-grid h3 { margin: 30px 0 0; font-size: 29px; font-weight: 500; }
.bs-service-grid p { margin: 16px 0 24px; color: var(--bs-ink-2); }
.bs-service-grid a { margin-top: auto; font-weight: 500; }

.bs-gallery { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: repeat(2, minmax(220px, 1fr)); gap: 24px; margin-top: 56px; }
.bs-gallery .bs-media-placeholder { min-height: 220px; }
.bs-gallery__large { grid-row: 1 / 3; min-height: 560px !important; }
.bs-people-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; margin-top: 56px; }
.bs-people-grid--large { grid-template-columns: repeat(3,1fr); margin-top: 0; }
.bs-people-grid article { min-width: 0; }
.bs-people-grid .bs-media-placeholder { aspect-ratio: 4 / 5; min-height: 0; }
.bs-people-grid h3 { margin: 22px 0 6px; font-size: 24px; font-weight: 500; }
.bs-people-grid p { margin: 0 0 14px; color: var(--bs-ink-2); }
.bs-people-grid a { font-weight: 500; }

.bs-story-grid, .bs-community-grid, .bs-map-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(48px,7vw,128px); align-items: center; }
.bs-story-grid > div > p { max-width: 760px; color: var(--bs-ink-2); font-size: 20px; }
.bs-story-grid > .bs-media-placeholder, .bs-community-grid > .bs-media-placeholder, .bs-map-grid > .bs-media-placeholder { min-height: 620px; }
.bs-check-list { list-style: none; padding: 0; margin: 36px 0; display: grid; gap: 18px; }
.bs-check-list li { position: relative; padding-left: 36px; }
.bs-check-list li::before { content: '✓'; position: absolute; left: 0; top: 0; display: grid; width: 24px; height: 24px; place-items: center; background: var(--bs-surface); border-radius: 50%; font-weight: 600; }

.bs-testimonials { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 56px; }
.bs-testimonials blockquote { min-height: 270px; margin: 0; padding: 36px; background: #fff; border-radius: var(--bs-radius); display: flex; flex-direction: column; justify-content: space-between; }
.bs-testimonials blockquote p { margin: 0; font-size: 22px; line-height: 1.45; }
.bs-testimonials blockquote footer { margin-top: 32px; color: var(--bs-ink-2); font-size: 15px; }

.bs-contact-hero { padding-block: 72px; background: var(--bs-surface); }
.bs-contact-hero__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(48px,7vw,128px); align-items: center; }
.bs-contact-form { padding: 40px; border-radius: var(--bs-radius); background: #fff; display: grid; gap: 20px; box-shadow: 0 24px 70px rgba(18,32,52,.06); }
.bs-contact-form label { display: grid; gap: 8px; font-size: 14px; font-weight: 500; }
.bs-contact-form input:not([type=checkbox]), .bs-contact-form textarea, .bs-contact-form select { width: 100%; border: 1px solid var(--bs-stroke); border-radius: 8px; background: #fff; padding: 13px 14px; outline: none; }
.bs-contact-form input:focus, .bs-contact-form textarea:focus, .bs-contact-form select:focus { border-color: var(--bs-primary); box-shadow: 0 0 0 3px rgba(41,76,96,.12); }
.bs-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.bs-consent { display: flex !important; grid-template-columns: auto 1fr; align-items: flex-start; font-weight: 400 !important; }
.bs-form-status { margin: 0; color: var(--bs-primary); font-size: 14px; }
.bs-contact-cards { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.bs-contact-cards article { min-height: 220px; padding: 32px; background: var(--bs-surface); border-radius: var(--bs-radius); }
.bs-contact-cards h3 { margin: 42px 0 12px; font-size: 24px; font-weight: 500; }
.bs-contact-cards p { margin: 0; color: var(--bs-ink-2); }

.bs-blog-hero { padding-block: 104px 64px; text-align: center; }
.bs-blog-hero .bs-container { display: flex; flex-direction: column; align-items: center; }
.bs-blog-hero h1 { max-width: 1000px; }
.bs-blog-filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 20px; }
.bs-blog-filters button { padding: 9px 16px; border: 1px solid var(--bs-stroke); border-radius: 999px; background: #fff; cursor: pointer; }
.bs-blog-filters button.is-active { background: var(--bs-primary); border-color: var(--bs-primary); color: #fff; }
.bs-featured-post { display: grid; grid-template-columns: 1.12fr .88fr; gap: 64px; align-items: center; padding: 32px; background: var(--bs-surface); border-radius: var(--bs-radius); }
.bs-featured-post > .bs-media-placeholder { min-height: 480px; }
.bs-featured-post h2 { margin: 32px 0 20px; font-size: clamp(36px,2.5vw,48px); line-height: 1.15; font-weight: 500; letter-spacing: -1.5px; }
.bs-featured-post p { color: var(--bs-ink-2); font-size: 20px; margin-bottom: 32px; }
.bs-post-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 48px 24px; margin-top: 64px; }
.bs-post-grid article { min-width: 0; }
.bs-post-grid .bs-media-placeholder { aspect-ratio: 4 / 3; min-height: 0; }
.bs-post-grid article > div:not(.bs-media-placeholder) { padding-top: 24px; }
.bs-post-grid h3 { margin: 12px 0; font-size: 26px; line-height: 1.25; font-weight: 500; }
.bs-post-grid p { margin: 0 0 20px; color: var(--bs-ink-2); }
.bs-post-meta { font-size: 13px; color: #657386; }

.bs-course-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 56px; }
.bs-course-card { overflow: hidden; background: #fff; border-radius: var(--bs-radius); }
.bs-course-card > .bs-media-placeholder { aspect-ratio: 16 / 10; min-height: 0; border-radius: 0; }
.bs-course-card > div { min-height: 260px; padding: 28px; display: flex; flex-direction: column; align-items: flex-start; }
.bs-course-card h3 { margin: 24px 0 12px; font-size: 26px; line-height: 1.25; font-weight: 500; }
.bs-course-card p { color: var(--bs-ink-2); }
.bs-pricing-card { max-width: 760px; margin: 72px auto 0; padding: 48px; text-align: center; border-radius: var(--bs-radius); background: var(--bs-surface); }
.bs-pricing-card h2 { margin: 32px 0 8px; font-size: 48px; font-weight: 500; }
.bs-pricing-card h2 small { display: block; margin-top: 8px; font-size: 16px; font-weight: 400; }
.bs-pricing-card strong { display: block; font-size: 28px; }
.bs-pricing-card p { margin: 24px auto 32px; max-width: 520px; color: var(--bs-ink-2); }
.bs-brand-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 72px; }
.bs-brand-grid article { border: 1px solid var(--bs-divider); border-radius: var(--bs-radius); overflow: hidden; padding-bottom: 28px; }
.bs-brand-grid .bs-media-placeholder { border-radius: 0; min-height: 300px; }
.bs-brand-grid h3, .bs-brand-grid a { margin-left: 28px; margin-right: 28px; }
.bs-brand-grid h3 { font-size: 26px; font-weight: 500; }
.bs-training-summary { align-self: start; position: sticky; top: 112px; padding: 40px; background: var(--bs-surface); border-radius: var(--bs-radius); }
.bs-training-summary h3 { margin: 32px 0 18px; font-size: 34px; font-weight: 500; }
.bs-training-summary ul { margin: 0 0 32px; padding-left: 22px; display: grid; gap: 12px; color: var(--bs-ink-2); }
.bs-date-list { display: grid; gap: 20px; }
.bs-date-list article { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 32px; border: 1px solid var(--bs-divider); border-radius: var(--bs-radius); }
.bs-date-list article span { text-transform: uppercase; letter-spacing: .08em; color: var(--bs-primary); font-size: 12px; }
.bs-date-list h2 { margin: 12px 0 4px; font-size: 30px; font-weight: 500; }
.bs-date-list p { margin: 0; color: var(--bs-ink-2); }
.bs-legal-copy { margin-top: 0; }
.bs-legal-copy h2 { margin: 48px 0 16px; font-size: 30px; font-weight: 500; }
.bs-legal-copy a { text-decoration: underline; }

.bs-article__header { padding-block: 96px 64px; text-align: center; }
.bs-article__narrow { max-width: 1080px; }
.bs-article__header .bs-eyebrow { margin-top: 48px; }
.bs-article__header h1 { margin: 36px auto 0; max-width: 980px; font-size: clamp(46px,3.4vw,66px); line-height: 1.15; letter-spacing: -2px; font-weight: 500; }
.bs-back-link { display: block; text-align: left; color: var(--bs-primary); }
.bs-article__meta { margin-top: 28px; color: #657386; }
.bs-article__image { min-height: 600px; }
.bs-entry-content { max-width: 850px; margin: 56px auto 96px; font-size: 20px; }
.bs-entry-content p { margin: 0 0 1.5em; }
.bs-empty-state { min-height: 68vh; display: grid; align-items: center; text-align: center; }
.bs-empty-state h1 { margin: 36px 0 0; font-size: clamp(48px,4vw,72px); font-weight: 500; letter-spacing: -2px; }
.bs-empty-state p { color: var(--bs-ink-2); }
.bs-empty-state .bs-actions { justify-content: center; }

/* WooCommerce — align shop and product with the Figma visual system */
.bs-shop-hero { padding-block: 54px; background: var(--bs-surface); }
.bs-shop-hero__inner { display: flex; justify-content: space-between; align-items: center; gap: 48px; }
.bs-shop-hero h1 { margin: 20px 0 2px; font-size: clamp(42px,3vw,60px); line-height: 1.15; letter-spacing: -2px; font-weight: 500; }
.bs-shop-hero p { margin: 0; color: var(--bs-ink-2); }
.bs-shop-search { display: flex; width: min(520px,45vw); }
.bs-shop-search input { width: 100%; min-height: 48px; padding: 11px 16px; border: 1px solid var(--bs-stroke); border-right: 0; border-radius: 8px 0 0 8px; background: #fff; }
.bs-shop-search button { width: 48px; border: 0; border-radius: 0 8px 8px 0; background: var(--bs-primary); color: #fff; font-size: 22px; cursor: pointer; }
.bs-shop-layout { display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 48px; align-items: start; }
.bs-shop-filters { position: sticky; top: 94px; }
.bs-filter-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.bs-filter-heading h2 { margin: 0; font-size: 22px; font-weight: 500; }
.bs-filter-heading a { color: var(--bs-primary); font-size: 13px; text-decoration: underline; }
.bs-sort-label { display: grid; gap: 7px; margin-bottom: 18px; font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: .05em; }
.bs-sort-label select { width: 100%; padding: 11px 12px; border: 1px solid var(--bs-divider); border-radius: 8px; background: #fff; font-size: 14px; text-transform: none; letter-spacing: 0; }
.bs-shop-filters fieldset { margin: 0; padding: 17px 0; border: 0; border-top: 1px solid var(--bs-divider); }
.bs-shop-filters legend { width: 100%; margin-bottom: 10px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.bs-shop-filters fieldset > label { display: flex; gap: 9px; align-items: center; margin: 8px 0; font-size: 14px; cursor: pointer; }
.bs-shop-filters input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--bs-primary); }
.bs-shop-filters small { color: #657386; }
.bs-price-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.bs-price-fields label { display: grid !important; gap: 4px !important; color: #657386; font-size: 11px !important; }
.bs-price-fields input { width: 100%; min-width: 0; padding: 9px 8px; border: 1px solid var(--bs-divider); border-radius: 7px; font-size: 13px; }
.bs-filter-submit { width: 100%; }
.bs-shop-results { min-width: 0; }
.bs-shop-results .woocommerce-breadcrumb, .bs-shop-results .woocommerce-products-header { display: none; }
.bs-shop-results ul.products { grid-template-columns: repeat(3,1fr); gap: 24px; }
.bs-shop-results ul.products li.product { position: relative; overflow: hidden; padding-bottom: 20px; border: 1px solid var(--bs-divider); border-radius: var(--bs-radius); background: #fff; }
.bs-shop-results ul.products li.product > a:not(.button) { display: block; }
.bs-shop-results ul.products li.product a img { margin: 0 0 16px; border-radius: 0; background: var(--bs-surface); }
.bs-shop-results ul.products li.product .woocommerce-loop-product__title, .bs-shop-results ul.products li.product .price, .bs-shop-results ul.products li.product .star-rating, .bs-shop-results ul.products li.product > a.button, .bs-product-rating { margin-right: 18px; margin-left: 18px; }
.bs-shop-results ul.products li.product .woocommerce-loop-product__title { font-size: 18px; min-height: 48px; }
.bs-shop-results ul.products li.product .price { display: block; margin-top: 14px; font-size: 18px; font-weight: 500; }
.bs-shop-results ul.products li.product > a.button { margin-top: 14px; }
.bs-product-rating { margin-bottom: 6px; color: var(--bs-primary); font-size: 13px; letter-spacing: 1px; }
.bs-product-rating small { color: #657386; letter-spacing: 0; }
.bs-demo-badge { position: absolute; z-index: 2; top: 12px; right: 12px; padding: 5px 9px; border-radius: 999px; background: var(--bs-primary); color: #fff; font-size: 10px; text-transform: uppercase; letter-spacing: .05em; }
.woocommerce .woocommerce-breadcrumb { margin-bottom: 36px; color: #657386; font-size: 14px; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom: 36px; }
.woocommerce .woocommerce-ordering select { padding: 10px 14px; border: 1px solid var(--bs-stroke); border-radius: 8px; background: #fff; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4,1fr); gap: 40px 24px; }
.woocommerce .bs-shop-results ul.products { grid-template-columns: repeat(3,1fr); gap: 24px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { float: none; width: auto; margin: 0; }
.woocommerce ul.products li.product a img { aspect-ratio: 1; object-fit: cover; margin: 0 0 20px; border-radius: var(--bs-radius); background: var(--bs-surface); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0; font-size: 22px; line-height: 1.3; }
.woocommerce ul.products li.product .price { color: var(--bs-ink); font-size: 18px; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { border-radius: 8px; background: var(--bs-primary); color: #fff; font-weight: 500; padding: 13px 18px; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--bs-ink); color: #fff; }
.single-product .woocommerce div.product { display: grid; grid-template-columns: minmax(0,1fr) minmax(420px,.8fr); gap: 64px; }
.single-product .woocommerce div.product div.images, .single-product .woocommerce div.product div.summary { float: none; width: auto; margin: 0; }
.single-product .woocommerce div.product div.images img { border-radius: var(--bs-radius); background: var(--bs-surface); }
.single-product .woocommerce div.product .product_title { font-size: clamp(44px,3vw,60px); line-height: 1.12; letter-spacing: -2px; font-weight: 500; }
.single-product .woocommerce div.product p.price, .single-product .woocommerce div.product span.price { color: var(--bs-ink); font-size: 28px; }
.single-product .woocommerce .quantity .qty { min-height: 44px; border: 1px solid var(--bs-stroke); border-radius: 8px; }
.single-product .woocommerce div.product .woocommerce-tabs, .single-product .woocommerce div.product .related, .single-product .woocommerce div.product .upsells { grid-column: 1 / -1; }
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; border-bottom: 1px solid var(--bs-divider); }
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li { border: 0; background: transparent; }
.single-product .woocommerce div.product .woocommerce-tabs .panel { max-width: 900px; padding-block: 32px; }
.woocommerce-cart table.cart img { width: 100px; border-radius: 8px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .select2-container--default .select2-selection--single { min-height: 46px; padding: 10px 12px; border: 1px solid var(--bs-stroke); border-radius: 8px; }

/* Tutor LMS — restrained overrides that preserve course logic */
.tutor-wrap, .tutor-course-details-page, .tutor-dashboard { color: var(--bs-ink); font-family: 'Outfit',sans-serif; }
.tutor-btn, .tutor-btn-primary, a.tutor-btn { border-radius: 8px !important; }
.tutor-course-card, .tutor-card { border-color: var(--bs-divider) !important; border-radius: var(--bs-radius) !important; box-shadow: none !important; }
.tutor-course-card .tutor-course-thumbnail img { border-radius: var(--bs-radius) var(--bs-radius) 0 0; }
.tutor-dashboard .tutor-dashboard-left-menu .tutor-dashboard-permalinks li.active a { background: var(--bs-surface); color: var(--bs-primary); }
.tutor-course-details-title, .tutor-course-details-page h1 { letter-spacing: -1px; }

@media (max-width: 1280px) {
  .bs-feature-grid--five { grid-template-columns: repeat(3,1fr); }
  .bs-inner-hero__grid { grid-template-columns: 1fr 1fr; gap: 48px; }
  .bs-feature-grid, .bs-contact-cards, .woocommerce ul.products { grid-template-columns: repeat(2,1fr); }
  .bs-shop-results ul.products { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 900px) {
  .bs-inner-hero__grid, .bs-contact-hero__grid, .bs-story-grid, .bs-community-grid, .bs-map-grid, .bs-featured-post, .single-product .woocommerce div.product { grid-template-columns: 1fr; }
  .bs-inner-hero__grid { min-height: auto; }
  .bs-inner-hero__media { order: -1; }
  .bs-metric-grid, .bs-service-grid, .bs-people-grid, .bs-testimonials, .bs-course-grid, .bs-post-grid, .bs-brand-grid { grid-template-columns: repeat(2,1fr); }
  .bs-gallery { grid-template-columns: 1fr 1fr; }
  .bs-gallery__large { grid-column: 1 / -1; grid-row: auto; min-height: 420px !important; }
  .bs-story-grid > .bs-media-placeholder, .bs-community-grid > .bs-media-placeholder, .bs-map-grid > .bs-media-placeholder { min-height: 460px; }
  .bs-shop-layout { grid-template-columns: 1fr; }
  .bs-shop-filters { position: static; }
}

@media (max-width: 620px) {
  .bs-inner-hero, .bs-contact-hero { padding-block: 32px 56px; }
  .bs-inner-hero h1, .bs-contact-hero h1, .bs-blog-hero h1 { font-size: 43px; }
  .bs-inner-hero__copy > p, .bs-contact-hero__grid > div > p, .bs-blog-hero p { font-size: 18px; }
  .bs-inner-hero__media { aspect-ratio: 4 / 3; }
  .bs-metric-grid, .bs-feature-grid, .bs-feature-grid--five, .bs-service-grid, .bs-people-grid, .bs-people-grid--large, .bs-testimonials, .bs-course-grid, .bs-post-grid, .bs-brand-grid, .bs-contact-cards { grid-template-columns: 1fr; }
  .bs-gallery { grid-template-columns: 1fr; }
  .bs-gallery__large { grid-column: auto; min-height: 300px !important; }
  .bs-contact-form { padding: 24px; }
  .bs-form-grid { grid-template-columns: 1fr; }
  .bs-featured-post { padding: 20px; gap: 32px; }
  .bs-featured-post > .bs-media-placeholder { min-height: 280px; }
  .bs-article__image { min-height: 340px; }
  .woocommerce ul.products { grid-template-columns: 1fr; }
  .bs-shop-hero__inner { align-items: stretch; flex-direction: column; }
  .bs-shop-search { width: 100%; }
  .bs-shop-results ul.products { grid-template-columns: 1fr; }
  .bs-date-list article { align-items: flex-start; flex-direction: column; }
  .bs-training-summary { position: static; }
}
