/*
Theme Name: Suuri Tur Block
Theme URI: https://suur.3emexh.com/
Author: Suuri Tur LLC
Description: Lightweight Gutenberg-first block theme for Suuri Tur LLC.
Version: 2.1.1
Requires at least: 6.6
Tested up to: 7.0
Text Domain: suuri-tur
*/

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

:root {
  --st-red: #e5321e;
  --st-blue: #0879b7;
  --st-ink: #171717;
  --st-muted: #66615d;
  --st-paper: #f5f4f1;
  --st-white: #ffffff;
  --st-line: #d9d5cf;
}

/* Modernist redesign — source of truth: uploaded standalone reference. */
:root {
  --st-red: #ec3013;
  --st-blue: #ec3013;
  --st-ink: #201e1d;
  --st-muted: #6d6967;
  --st-paper: #f3f2f2;
  --st-surface: #eae9e9;
  --st-white: #f3f2f2;
  --st-line: rgba(32,30,29,.4);
}

body,
button,
input,
textarea,
select { font-family: "Archivo", Arial, Helvetica, sans-serif; }
body { background: var(--st-paper); color: var(--st-ink); font-size: 15px; }
h1,h2,h3,h4,h5,h6 { font-family: "Archivo", Arial, Helvetica, sans-serif; font-weight: 800; }
:focus-visible { outline: 2px solid var(--st-red); outline-offset: 2px; }
::selection { background: rgba(236,48,19,.28); }

.site-topbar { background: #2d2b2b; font-size: 12px; }
.site-topbar p { margin: 0; }
.site-topbar-inner { max-width: 1440px !important; min-height: 30px; padding: 6px 32px; margin-inline: auto; }
.topbar-contact { gap: 20px !important; }
.language-switch { display: flex; border: 1px solid #605d5d; line-height: 1; }
.language-switch .lang-link { display: block; padding: 4px 8px; color: #bab6b6; font-size: 10px; font-weight: 400; text-decoration: none; }
.language-switch .lang-en-link { background: var(--st-red); color: #fff; }
html[lang="mn"] .language-switch .lang-en-link { background: transparent; color: #bab6b6; }
html[lang="mn"] .language-switch .lang-mn-link { background: var(--st-red); color: #fff; }

.site-header { top: 0; border-bottom: 2px solid var(--st-line); background: rgba(243,242,242,.98); }
.site-header-inner { max-width: 1440px !important; min-height: 70px; margin-inline: auto; padding: 14px 32px; gap: 32px !important; }
.brand-lockup { gap: 12px !important; flex: none; }
.brand-lockup figure { margin: 0; }
.brand-lockup img { object-fit: contain; }
.brand-name { font-size: 19px !important; font-weight: 800; letter-spacing: -.02em; line-height: 1.05; white-space: nowrap; }
.brand-name a { color: var(--st-ink); text-decoration: none; }
.brand-tagline { margin: 2px 0 0; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.primary-nav { margin-right: auto; }
.primary-nav .wp-block-navigation__container { gap: 26px; }
.primary-nav a { color: var(--st-ink); font-size: 14px; font-weight: 400; }
.primary-nav a:hover { color: var(--st-red); }
.header-actions { gap: 12px !important; }
.header-actions .wp-block-search { width: 230px; }
.header-actions .wp-block-search__inside-wrapper { padding: 0; border: 1px solid var(--st-line); background: var(--st-surface); }
.header-actions .wp-block-search__input { min-height: 36px; padding: 6px 10px; border: 0; background: transparent; font-size: 12px; }
.header-actions .wp-block-search__button { display: none; }
.header-actions .wp-block-button__link { min-height: 36px; padding: 9px 16px; font-size: 13px; white-space: nowrap; }

.modern-shell { max-width: 1440px !important; margin-inline: auto !important; padding-inline: 32px; }
.modern-hero { display: grid !important; grid-template-columns: 1.35fr 1fr; gap: 48px !important; border-bottom: 2px solid var(--st-line); }
.modern-hero-copy { padding: 64px 0 56px; }
.modern-kicker { margin-bottom: 20px; color: #ae1800; font-size: 11px; font-weight: 400; letter-spacing: .16em; text-transform: uppercase; }
.modern-hero h1 { max-width: 15ch; margin: 0 0 24px; font-size: clamp(3.8rem,5.3vw,68px); line-height: 1.02; letter-spacing: -.03em; }
.modern-hero .modern-lead { max-width: 52ch; margin: 0 0 32px; color: rgba(32,30,29,.78); font-size: 18px; line-height: 1.5; }
.modern-hero .wp-block-buttons { gap: 12px; margin-bottom: 48px; }
.modern-hero .wp-block-button__link { padding: 12px 20px; font-size: 15px; }
.modern-stats { display: grid !important; grid-template-columns: repeat(3,1fr); gap: 0 !important; border-top: 2px solid var(--st-line); }
.modern-stat { padding: 20px 20px 4px; border-left: 1px solid var(--st-line); }
.modern-stat:first-child { padding-left: 0; border-left: 0; }
.modern-stat strong { display: block; font-size: 38px; line-height: 1.1; letter-spacing: -.03em; }
.modern-stat span { color: rgba(32,30,29,.55); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.modern-mosaic { display: grid !important; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 0 !important; border-left: 2px solid var(--st-line); }
.modern-mosaic figure { position: relative; height: 100%; margin: 0; overflow: hidden; border-right: 2px solid var(--st-line); border-bottom: 2px solid var(--st-line); background: #e8e7e7; }
.modern-mosaic figure:nth-child(even) { border-right: 0; }
.modern-mosaic figure:nth-child(n+3) { border-bottom: 0; }
.modern-mosaic img { width: 100%; height: 100%; min-height: 280px; object-fit: cover; filter: saturate(.92) contrast(1.05); transition: opacity 1.1s ease, transform 6.5s ease; }
.modern-mosaic figure:hover img { filter: saturate(1.08) contrast(1.04); }
.modern-mosaic .mosaic-rotating-layer { position: absolute; z-index: 2; inset: 0; opacity: 0; transform: scale(1.025); }
.modern-mosaic .mosaic-rotating-layer.is-visible { opacity: 1; transform: scale(1); }

@media (prefers-reduced-motion: reduce) {
	.modern-mosaic img { transition: none; }
}

.modern-section { padding-top: 56px; padding-bottom: 64px; }
.modern-section-head { align-items: baseline; gap: 20px !important; margin-bottom: 28px; }
.modern-section-head h2 { margin: 0; font-size: 30px; }
.modern-section-head p { margin: 0; color: rgba(32,30,29,.55); font-size: 13px; }
.modern-section-head .modern-view-all { margin-left: auto; }
.modern-view-all a { font-weight: 800; text-decoration: none; }

.modern-category-grid { display: grid !important; grid-template-columns: repeat(4,1fr); gap: 2px !important; padding: 2px; background: var(--st-line); }
.modern-category { min-width: 0; background: var(--st-paper); }
.modern-category figure { height: 132px; margin: 0; overflow: hidden; border-bottom: 1px solid var(--st-line); }
.modern-category img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.08); transition: transform .25s ease; }
.modern-category:hover img { transform: scale(1.025); }
.modern-category-copy { padding: 14px 16px 18px; }
.modern-category-copy h3 { margin: 0 0 6px; font-size: 16px; line-height: 1.2; }
.modern-category-copy p { margin: 0; color: rgba(32,30,29,.55); font-size: 12px; }

.modern-brand-band,
.modern-client-band { border-top: 2px solid var(--st-line); border-bottom: 2px solid var(--st-line); background: var(--st-surface); }
.modern-brand-inner,
.modern-client-inner { display: grid !important; grid-template-columns: 260px 1fr; gap: 40px !important; padding-top: 44px; padding-bottom: 44px; }
.modern-band-intro h3 { margin: 0 0 8px; font-size: 21px; }
.modern-band-intro p { margin: 0; color: rgba(32,30,29,.65); font-size: 13px; }
.modern-brand-grid { display: grid !important; grid-template-columns: repeat(4,1fr); gap: 1px !important; background: var(--st-line); }
.modern-brand { padding: 16px; background: var(--st-surface); }
.modern-brand:hover { background: var(--st-paper); }
.modern-brand strong { display: block; font-size: 15px; }
.modern-brand span { color: rgba(32,30,29,.5); font-size: 11px; }

.modern-featured-grid { display: grid !important; grid-template-columns: repeat(4,1fr); gap: 24px !important; }
.modern-product { border-top: 2px solid var(--st-line); }
.modern-product figure { height: 168px; margin: 0; overflow: hidden; background: var(--st-surface); }
.modern-product img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.08); }
.modern-product-copy { display: flex; flex-direction: column; min-height: 170px; gap: 8px; padding-top: 14px; }
.modern-product-kicker { margin: 0; color: #ae1800; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.modern-product h3 { margin: 0; font-size: 16px; line-height: 1.25; }
.modern-product-meta { margin: 0; color: rgba(32,30,29,.55); font-size: 12px; }
.modern-product-action { display: flex; align-items: center; margin-top: auto; padding-top: 6px; border-top: 1px solid var(--st-line); font-size: 12px; }
.modern-product-action a { margin-left: auto; font-weight: 800; text-decoration: none; }
.modern-product-action .catalog-quote-button { margin-left: auto; }

.modern-services { display: grid !important; grid-template-columns: repeat(3,1fr); gap: 0 !important; padding-top: 52px; padding-bottom: 52px; border-top: 2px solid var(--st-line); }
.modern-service { padding: 4px 28px; border-left: 1px solid var(--st-line); }
.modern-service:first-child { padding-left: 0; border-left: 0; }
.modern-service:last-child { padding-right: 0; }
.modern-service .modern-number { margin-bottom: 14px; color: var(--st-red); font-size: 13px; font-weight: 800; }
.modern-service h3 { margin: 0 0 10px; font-size: 22px; }
.modern-service p { margin: 0; color: rgba(32,30,29,.72); font-size: 14px; }
.modern-client-inner { align-items: center; }
.modern-client-art img { width: 100%; max-width: 760px; filter: grayscale(1) contrast(1.08); mix-blend-mode: multiply; }

.modern-poster { background: var(--st-red); color: var(--st-paper); }
.modern-poster-inner { display: grid !important; grid-template-columns: 1.4fr 1fr; gap: 48px !important; align-items: end; padding-top: 64px; padding-bottom: 64px; }
.modern-poster h2 { max-width: 22ch; margin: 0; font-size: clamp(3rem,4.2vw,54px); line-height: 1.03; letter-spacing: -.03em; }
.modern-poster p { font-size: 15px; line-height: 1.55; }
.modern-poster .wp-block-button__link { background: var(--st-paper) !important; color: var(--st-red) !important; }

.st-page-hero { background: var(--st-paper); border-bottom: 2px solid var(--st-line); }
.st-page-hero h1 { font-size: clamp(3rem,5vw,64px); }
.st-section { border-bottom: 2px solid var(--st-line); }
.st-card-grid { gap: 2px !important; border: 2px solid var(--st-line); background: var(--st-line); }
.st-card { background: var(--st-paper); }
.st-dark { background: #2d2b2b; }
.st-cta { background: var(--st-red); }
.site-footer { background: #2d2b2b; }

@media (max-width: 1100px) {
  .header-actions .wp-block-search { display: none; }
  .site-header-inner { gap: 20px !important; }
  .modern-hero { gap: 28px !important; }
  .modern-category-grid,
  .modern-brand-grid { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 782px) {
  .site-topbar { display: none; }
  .site-header-inner { min-height: 64px; padding: 12px 20px; }
  .primary-nav { order: 3; margin-left: auto; margin-right: 0; }
  .header-actions { display: none !important; }
  .modern-shell { padding-inline: 20px; }
  .modern-hero { grid-template-columns: 1fr; padding-inline: 0; }
  .modern-hero-copy { padding: 48px 20px 42px; }
  .modern-hero h1 { font-size: clamp(3rem,12vw,4.8rem); }
  .modern-mosaic { min-height: 520px; border-top: 2px solid var(--st-line); border-left: 0; }
  .modern-mosaic img { min-height: 260px; }
  .modern-category-grid { grid-template-columns: repeat(2,1fr); }
  .modern-brand-inner,
  .modern-client-inner { grid-template-columns: 1fr; }
  .modern-brand-grid { grid-template-columns: repeat(2,1fr); }
  .modern-featured-grid { grid-template-columns: repeat(2,1fr); }
  .modern-services { grid-template-columns: 1fr; }
  .modern-service { padding: 24px 0; border-top: 1px solid var(--st-line); border-left: 0; }
  .modern-poster-inner { grid-template-columns: 1fr; }
}

/* Dynamic, WordPress-managed catalog. */
.dynamic-catalog,
.dynamic-brands,
.product-detail-page { width: min(1440px,100%); margin-inline: auto; padding-inline: 32px; }
.catalog-title-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; }
.catalog-title-row h1 { margin: 0 0 6px; font-size: 44px; letter-spacing: -.03em; }
.catalog-title-row p { margin: 0; color: rgba(32,30,29,.58); }
.catalog-search { display: flex; width: min(440px,100%); margin-bottom: 2px; }
.catalog-search input,
.header-catalog-search input { min-width: 0; flex: 1; padding: 10px 12px; border: 1px solid var(--st-line); border-radius: 0; background: var(--st-surface); font: inherit; }
.catalog-search button,
.header-catalog-search button { padding: 10px 16px; border: 0; border-radius: 0; background: var(--st-red); color: #fff; font-weight: 800; cursor: pointer; }
.header-catalog-search { display: flex; width: 230px; }
.header-catalog-search input { padding: 8px 10px; font-size: 12px; }
.header-catalog-search button { padding: 8px 11px; }
.catalog-sidebar a { color: inherit; text-decoration: none; }
.catalog-filter-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 36px; padding: 7px 0; font-size: 14px; }
.catalog-filter-row > span:last-child { color: rgba(32,30,29,.48); font-size: 12px; }
.catalog-filter-row.is-active { margin-inline: -4px; padding-inline: 4px; outline: 2px solid var(--st-red); color: var(--st-red); }
.catalog-tags a { display: inline-block; margin: 0 5px 6px 0; padding: 4px 10px; border: 1px solid var(--st-line); color: rgba(32,30,29,.72); font-size: 11px; }
.catalog-tags a:hover,
.catalog-tags a.is-active { border-color: var(--st-red); background: var(--st-red); color: #fff; }
.catalog-stock-toggle { display: flex; align-items: center; gap: 9px; margin: 12px 0 24px; font-size: 14px; }
.catalog-checkbox { display: grid; width: 18px; height: 18px; border: 1px solid var(--st-line); place-items: center; color: #fff; font-size: 12px; }
.catalog-stock-toggle.is-active .catalog-checkbox { border-color: var(--st-red); background: var(--st-red); }
.dynamic-catalog .catalog-clear { display: block; padding: 10px 14px; border: 1px solid var(--st-line); font-weight: 800; }
.dynamic-catalog .catalog-clear:hover { border-color: var(--st-red); color: var(--st-red); }
.catalog-product h3 a { color: inherit; text-decoration: none; }
.catalog-product h3 a:hover { color: var(--st-red); }
.catalog-no-results { grid-column: 1/-1; min-height: 300px; padding: 48px; background: var(--st-surface); }

.product-detail-page { padding-top: 22px; padding-bottom: 72px; }
.product-breadcrumb { display: flex; flex-wrap: wrap; gap: 9px; padding: 0 0 22px; border-bottom: 1px solid var(--st-line); color: rgba(32,30,29,.56); font-size: 11px; }
.product-breadcrumb a { color: inherit; text-decoration: none; }
.product-breadcrumb a:hover { color: var(--st-red); }
.product-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 54px; padding: 36px 0 64px; border-bottom: 1px solid var(--st-line); }
.product-detail-image { margin: 0; }
.product-detail-image > img { width: 100%; height: 470px; border: 1px solid var(--st-line); object-fit: cover; filter: grayscale(1) contrast(1.06); }
.product-detail-image figcaption { margin-top: 6px; color: rgba(32,30,29,.48); font-size: 10px; }
.product-detail-copy { padding-top: 2px; }
.product-detail-copy h1 { margin: 12px 0 16px; font-size: clamp(32px,3vw,48px); line-height: 1.05; letter-spacing: -.035em; }
.product-detail-blurb { max-width: 68ch; color: rgba(32,30,29,.75); font-size: 15px; line-height: 1.55; }
.product-detail-blurb p { margin: 0; }
.product-status-tags { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 28px; }
.product-status-tags span { padding: 5px 10px; background: var(--st-surface); font-size: 11px; }
.product-status-tags .is-accent { border: 1px solid var(--st-red); color: var(--st-red); background: transparent; }
.product-spec-table { margin: 0; }
.product-spec-table > div { display: grid; grid-template-columns: 38% 1fr; border-bottom: 1px solid var(--st-line); }
.product-spec-table dt,
.product-spec-table dd { margin: 0; padding: 10px 8px; }
.product-spec-table dt { color: rgba(32,30,29,.58); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.product-spec-table dd { font-size: 13px; }
.product-detail-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.product-primary-button,
.product-secondary-button { display: inline-flex; padding: 14px 20px; border: 1px solid var(--st-line); color: var(--st-ink); font-weight: 800; text-decoration: none; }
.product-primary-button { border-color: var(--st-red); background: var(--st-red); color: #fff; }
.quote-add-button { border: 0; border-radius: 0; background: transparent; color: var(--st-red); font: inherit; font-weight: 800; cursor: pointer; }
.quote-add-button.product-primary-button { border: 1px solid var(--st-red); background: var(--st-red); color: #fff; }
.product-detail-note { margin: 20px 0 0; color: rgba(32,30,29,.48); font-size: 10px; }
.related-products { padding-top: 28px; }
.related-products h2 { margin: 0 0 22px; font-size: 23px; }
.related-products-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.related-products-grid .catalog-product { border-top: 1px solid var(--st-line); }
.related-products-grid .catalog-product figure { height: 155px; }
.related-products-grid .catalog-product-copy { min-height: 165px; padding: 14px 0; }

@media (max-width: 900px) {
  .catalog-title-row { align-items: stretch; flex-direction: column; }
  .catalog-search { width: 100%; }
  .product-detail-grid { grid-template-columns: 1fr; gap: 30px; }
  .related-products-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 600px) {
  .dynamic-catalog,
  .dynamic-brands,
  .product-detail-page { padding-inline: 20px; }
  .catalog-title-row h1 { font-size: 38px; }
  .product-detail-page { padding-top: 16px; }
  .product-detail-grid { padding-top: 24px; padding-bottom: 42px; }
  .product-detail-image > img { height: 330px; }
  .product-detail-copy h1 { font-size: 34px; }
  .product-spec-table > div { grid-template-columns: 42% 1fr; }
  .related-products-grid { grid-template-columns: 1fr; }
}

/* Homepage international distributor logo wall. */
.wp-block-post-content > .modern-distributors { width: 100% !important; max-width: none !important; margin-inline: 0 !important; }
.modern-distributors { width: 100%; max-width: none !important; border-top: 2px solid var(--st-line); background: var(--st-paper); }
.distributors-inner { padding-top: 54px; padding-bottom: 54px; }
.distributors-intro { display: grid; grid-template-columns: 260px minmax(0,1fr); gap: 8px 40px; margin-bottom: 30px; }
.distributors-intro .modern-kicker { grid-column: 1/-1; margin: 0; }
.distributors-intro h2 { margin: 0; font-size: 32px; letter-spacing: -.03em; }
.distributors-intro > p:last-child { max-width: 760px; margin: 0; color: rgba(32,30,29,.7); font-size: 15px; line-height: 1.55; }
.distributors-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--st-line); border-left: 1px solid var(--st-line); }
.distributor-logo { display: flex; min-width: 0; height: 160px; align-items: center; justify-content: center; padding: 22px; border-right: 1px solid var(--st-line); border-bottom: 1px solid var(--st-line); background: #fff; color: var(--st-ink); text-decoration: none; transition: background-color .18s ease; }
.distributor-logo:hover { background: var(--st-surface); }
.distributor-logo:focus-visible { position: relative; z-index: 1; outline: 2px solid var(--st-red); outline-offset: -2px; }
.distributor-logo img { width: 100%; height: 100%; max-width: 230px; max-height: 108px; object-fit: contain; filter: grayscale(1); transition: filter .18s ease, transform .18s ease; }
.distributor-logo:hover img { filter: grayscale(0); transform: scale(1.025); }
.distributor-logo span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }

/* PDF-directed brand carousel and refreshed customer logo wall. */
.wp-block-post-content > .modern-brand-showcase,
.wp-block-post-content > .modern-client-band { width: 100% !important; max-width: none !important; margin-inline: 0 !important; }
.modern-brand-showcase { overflow: hidden; border-bottom: 2px solid var(--st-line); background: #201e1d; color: #f3f2f2; }
.modern-brand-showcase > .modern-shell { padding-top: 52px; padding-bottom: 56px; }
.brand-showcase-head { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 26px; }
.brand-showcase-head .modern-kicker { margin: 0 0 10px; color: #ff624a; }
.brand-showcase-head h2 { max-width: 18ch; margin: 0; color: #fff; font-size: clamp(2rem,3vw,42px); line-height: 1.05; letter-spacing: -.03em; }
.brand-slider-controls { display: flex; align-items: center; gap: 12px; white-space: nowrap; }
.brand-slider-controls button { width: 42px; height: 42px; padding: 0; border: 1px solid rgba(255,255,255,.45); border-radius: 0; background: transparent; color: #fff; cursor: pointer; }
.brand-slider-controls button:hover { border-color: var(--st-red); background: var(--st-red); }
.brand-slider-controls span { min-width: 42px; color: rgba(255,255,255,.7); font-size: 12px; text-align: center; }
.brand-slider-viewport { overflow: hidden; border: 1px solid rgba(255,255,255,.28); }
.brand-slider-track { display: flex; width: 100%; transition: transform .55s cubic-bezier(.2,.7,.2,1); }
.brand-slide { position: relative; flex: 0 0 100%; min-width: 0; height: clamp(420px,52vw,650px); overflow: hidden; }
.brand-slide-photo { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78) contrast(1.06); }
.brand-slide::after { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(20,18,18,.82) 0,rgba(20,18,18,.2) 58%,transparent 100%); content: ""; }
.brand-slide-copy { position: absolute; z-index: 1; left: clamp(24px,5vw,68px); bottom: clamp(24px,5vw,62px); display: grid; grid-template-columns: 170px minmax(0,420px); align-items: center; gap: 28px; max-width: calc(100% - 48px); }
.brand-slide-copy > img { width: 100%; max-height: 92px; padding: 14px; object-fit: contain; background: #fff; }
.brand-slide-copy h3 { margin: 0 0 8px; color: #fff; font-size: clamp(2rem,4vw,54px); line-height: 1; }
.brand-slide-copy p { margin: 0; color: rgba(255,255,255,.85); font-size: 16px; line-height: 1.5; }
.modern-client-updated { padding-top: 48px; padding-bottom: 54px; }
.modern-client-updated .clients-intro { margin-bottom: 30px; }
.modern-client-updated .clients-intro h2 { font-size: 32px; }
.modern-client-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--st-line); border-left: 1px solid var(--st-line); }
.modern-client-logo { display: flex; height: 145px; align-items: center; justify-content: center; padding: 24px; border-right: 1px solid var(--st-line); border-bottom: 1px solid var(--st-line); background: #fff; }
.modern-client-logo img { width: 100%; height: 100%; max-width: 220px; max-height: 92px; object-fit: contain; filter: grayscale(1); transition: filter .2s ease, transform .2s ease; }
.modern-client-logo:hover img { filter: grayscale(0); transform: scale(1.025); }

/* Sideways-scrolling featured brand editorial rail. */
.wp-block-post-content > .brand-rail-section { max-width: none !important; }
.brand-rail-section { position: relative; left: 50%; width: 100vw !important; max-width: 100vw !important; margin-inline: -50vw !important; overflow: hidden; border-top: 1px solid var(--st-line); border-bottom: 2px solid var(--st-line); background: var(--st-surface); }
.brand-rail-shell { overflow: hidden; padding-top: clamp(42px,5vw,72px); padding-bottom: clamp(42px,5vw,72px); }
.brand-rail-heading { display: flex; min-height: 148px; align-items: flex-end; justify-content: space-between; gap: 40px; padding: 28px 0 26px; border-bottom: 2px solid var(--st-line); background: var(--st-surface); }
.brand-rail-heading .modern-kicker { margin: 0 0 12px; }
.brand-rail-heading h2 { max-width: 1000px; margin: 0; font-size: clamp(38px,4.2vw,68px); line-height: .98; letter-spacing: -.045em; }
.brand-scroll-cue { flex: 0 0 auto; margin: 0 0 8px; color: rgba(32,30,29,.48); font-size: 11px; letter-spacing: .15em; white-space: nowrap; }
.brand-rail { overflow-x: auto; overflow-y: hidden; border-right: 2px solid var(--st-line); border-bottom: 2px solid var(--st-line); border-left: 2px solid var(--st-line); overscroll-behavior-inline: contain; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-color: var(--st-red) var(--st-line); scrollbar-width: thin; }
.brand-rail:focus-visible { outline: 3px solid var(--st-red); outline-offset: -3px; }
.brand-rail-track { display: flex; width: max-content; min-width: 100%; align-items: stretch; }
.brand-rail-card { display: flex; width: clamp(340px,36vw,520px); min-height: 580px; flex: 0 0 auto; flex-direction: column; padding: 26px 30px 28px; border-right: 2px solid var(--st-line); scroll-snap-align: start; }
.brand-rail-card > header { display: flex; min-height: 50px; align-items: baseline; gap: 18px; }
.brand-rail-card > header span { color: var(--st-red); font-size: 11px; font-weight: 800; }
.brand-rail-card h3 { margin: 0; font-size: clamp(28px,2.2vw,38px); line-height: 1; letter-spacing: -.03em; }
.brand-rail-image { position: relative; height: 420px; margin: 10px 0 22px; overflow: hidden; border: 1px solid var(--st-line); background: #e8e7e7; }
.brand-rail-image > img:first-child { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.25) contrast(1.04); transition: filter .25s ease, transform .35s ease; }
.brand-rail-card:hover .brand-rail-image > img:first-child { filter: grayscale(0); transform: scale(1.015); }
.brand-rail-logo { position: absolute; left: 18px; bottom: 18px; width: 142px; height: 72px; padding: 12px; object-fit: contain; background: rgba(255,255,255,.95); box-shadow: 0 2px 12px rgba(0,0,0,.08); }
.brand-rail-card > p { margin: auto 0 0; color: rgba(32,30,29,.65); font-size: 14px; line-height: 1.5; }
.brand-rail-cta { display: flex; width: clamp(320px,28vw,420px); min-height: 580px; flex: 0 0 auto; flex-direction: column; justify-content: center; gap: 34px; padding: 46px; background: var(--st-red); color: #fff; text-decoration: none; scroll-snap-align: end; }
.brand-rail-cta strong { max-width: 11ch; font-size: clamp(34px,3.2vw,52px); line-height: .98; letter-spacing: -.04em; }
.brand-rail-cta span { align-self: flex-start; padding: 16px 22px; background: #fff; color: var(--st-red); font-size: 14px; font-weight: 800; }

@media (prefers-reduced-motion: reduce) {
	.brand-rail { scroll-behavior: auto; }
	.brand-rail-image > img:first-child { transition: none; }
}

/* Persistent quotation list drawer. */
body.quote-drawer-open { overflow: hidden; }
.quote-drawer-shell[hidden] { display: none; }
.quote-drawer-shell { position: fixed; z-index: 100000; inset: 0; }
.quote-drawer-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(22,20,19,.52); opacity: 0; cursor: default; transition: opacity .25s ease; }
.quote-drawer { position: absolute; top: 0; right: 0; display: grid; width: min(500px,100%); height: 100%; grid-template-rows: auto minmax(0,1fr) auto; overflow: hidden; background: var(--st-paper); box-shadow: -12px 0 35px rgba(0,0,0,.18); transform: translateX(100%); transition: transform .25s ease; }
.quote-drawer-shell.is-open .quote-drawer-backdrop { opacity: 1; }
.quote-drawer-shell.is-open .quote-drawer { transform: translateX(0); }
.quote-drawer-head { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 26px; border-bottom: 2px solid var(--st-line); }
.quote-drawer-head > div { display: flex; align-items: center; gap: 14px; }
.quote-drawer-head h2 { margin: 0; font-size: 22px; }
.quote-drawer-count { min-width: 26px; padding: 5px 8px; background: #fff0ed; color: var(--st-red); font-size: 12px; text-align: center; }
.quote-close { padding: 8px 15px; border: 1px solid var(--st-line); border-radius: 0; background: transparent; color: var(--st-ink); font: inherit; font-weight: 800; cursor: pointer; }
.quote-drawer-items { min-height: 0; overflow-y: auto; }
.quote-line-item { position: relative; display: grid; grid-template-columns: 66px minmax(0,1fr) auto; gap: 15px; min-height: 108px; padding: 16px 26px; border-bottom: 1px solid var(--st-line); }
.quote-line-item > img { width: 66px; height: 58px; object-fit: contain; background: #fff; filter: grayscale(1); }
.quote-line-copy h3 { margin: 0 0 3px; font-size: 14px; line-height: 1.25; }
.quote-line-copy > p { margin: 0; color: rgba(32,30,29,.55); font-size: 11px; }
.quote-quantity { display: flex; align-items: center; gap: 10px; margin-top: 12px; }
.quote-qty-button { display: grid; width: 28px; height: 28px; padding: 0; border: 1px solid var(--st-line); border-radius: 0; background: transparent; color: var(--st-ink); font: inherit; cursor: pointer; place-items: center; }
.quote-quantity span { min-width: 12px; font-size: 12px; text-align: center; }
.quote-remove { align-self: center; padding: 0; border: 0; background: transparent; color: var(--st-red); font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.quote-empty { padding: 42px 26px; text-align: center; }
.quote-empty[hidden] { display: none; }
.quote-empty p { margin: 0 0 18px; }
.quote-empty a { color: var(--st-red); font-weight: 800; }
.quote-request-form { padding: 22px 26px 20px; border-top: 2px solid var(--st-line); background: var(--st-paper); }
.quote-request-form[hidden] { display: none; }
.quote-request-form label { display: block; margin-bottom: 14px; color: rgba(32,30,29,.7); font-size: 12px; }
.quote-request-form input,
.quote-request-form textarea { display: block; width: 100%; margin-top: 6px; padding: 11px 12px; border: 1px solid var(--st-line); border-radius: 0; background: var(--st-surface); color: var(--st-ink); font: inherit; }
.quote-request-form textarea { resize: vertical; }
.quote-submit { width: 100%; padding: 14px 18px; border: 1px solid var(--st-red); border-radius: 0; background: var(--st-red); color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.quote-submit:disabled { cursor: wait; opacity: .65; }
.quote-form-status { min-height: 18px; margin: 10px 0 0; font-size: 12px; }
.quote-form-status.is-success { color: #27703c; }
.quote-form-status.is-error { color: #b0220c; }
.quote-privacy { margin: 8px 0 0; color: rgba(32,30,29,.5); font-size: 10px; }
.quote-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

@media (max-width: 900px) {
	.distributors-intro { grid-template-columns: 1fr; }
	.distributors-grid { grid-template-columns: repeat(2,1fr); }
	.modern-client-grid { grid-template-columns: repeat(2,1fr); }
	.modern-client-updated .clients-intro { grid-template-columns: 1fr; gap: 8px; }
}

@media (max-width: 600px) {
  .distributors-inner { padding-top: 40px; padding-bottom: 40px; }
  .distributors-intro h2 { font-size: 28px; }
	.distributor-logo { height: 125px; padding: 16px; }
	.brand-showcase-head { align-items: flex-start; flex-direction: column; }
	.brand-slide { height: 500px; }
	.brand-slide-copy { grid-template-columns: 1fr; gap: 18px; }
	.brand-slide-copy > img { width: 150px; max-height: 74px; }
	.quote-drawer-head { min-height: 66px; padding: 14px 18px; }
	.quote-line-item { grid-template-columns: 56px minmax(0,1fr); padding: 14px 18px; }
	.quote-line-item > img { width: 56px; height: 52px; }
	.quote-remove { position: absolute; right: 18px; bottom: 18px; }
	.quote-request-form { padding: 18px; }
	.brand-rail-shell { padding-top: 34px; padding-bottom: 34px; }
	.brand-rail-heading { min-height: 128px; align-items: flex-start; flex-direction: column; gap: 18px; padding: 26px 0 20px; }
	.brand-rail-heading h2 { font-size: 42px; }
	.brand-scroll-cue { align-self: flex-end; }
	.brand-rail-card { width: 86vw; min-height: 520px; padding: 22px 20px; }
	.brand-rail-image { height: 360px; }
	.brand-rail-cta { width: 86vw; min-height: 520px; padding: 34px; }
	.modern-client-logo { height: 116px; padding: 16px; }
}

@media (max-width: 480px) {
  .brand-tagline { display: block; font-size: 8px; }
  .brand-name { font-size: 16px !important; }
  .modern-hero-copy { padding-top: 40px; }
  .modern-hero h1 { font-size: 46px; }
  .modern-lead { font-size: 16px !important; }
  .modern-stats { grid-template-columns: 1fr; }
  .modern-stat { padding: 16px 0; border-top: 1px solid var(--st-line); border-left: 0; }
  .modern-mosaic { min-height: 400px; }
  .modern-mosaic img { min-height: 200px; }
  .modern-category-grid,
  .modern-brand-grid,
  .modern-featured-grid { grid-template-columns: 1fr; }
  .modern-category figure { height: 180px; }
  .modern-section-head { align-items: flex-start; }
  .modern-view-all { width: 100%; margin-left: 0 !important; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
a { text-underline-offset: .2em; }

.site-topbar {
  background: #262423;
  color: #fff;
  font-size: .78rem;
  letter-spacing: .02em;
}
.site-topbar .wp-block-group { min-height: 34px; }
.site-topbar a { color: #fff; text-decoration: none; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid var(--st-line);
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(10px);
}
.site-header .wp-block-navigation a { text-decoration: none; }
.brand-lockup { gap: .65rem; }
.brand-mark {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50% 50% 48% 52%;
  color: #fff;
  background: linear-gradient(140deg,var(--st-red) 0 48%,var(--st-blue) 49% 100%);
  font-weight: 900;
  font-size: 1.1rem;
}
.brand-name { line-height: 1; letter-spacing: .02em; }
.brand-tagline { margin-top: .2rem; color: var(--st-muted); font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; }

.st-hero { border-bottom: 1px solid var(--st-line); }
.st-hero-copy { min-height: 680px; padding-top: clamp(4rem,8vw,7.5rem); padding-bottom: clamp(3rem,6vw,6rem); }
.st-eyebrow { color: var(--st-red); font-size: .78rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.st-hero h1 { max-width: 850px; font-size: clamp(3.1rem,7vw,6.7rem); line-height: .93; letter-spacing: -.055em; }
.st-hero .st-lead { max-width: 710px; color: #54504d; font-size: clamp(1.05rem,1.5vw,1.35rem); line-height: 1.65; }
.st-hero-media { min-height: 680px; }
.st-hero-media img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); }

.st-stat-grid { border-top: 1px solid var(--st-line); }
.st-stat { padding: 1.75rem 1.25rem 0 0; border-right: 1px solid var(--st-line); }
.st-stat:last-child { border-right: 0; }
.st-stat strong { display: block; font-size: clamp(2rem,3vw,3rem); letter-spacing: -.04em; }
.st-stat span { color: var(--st-muted); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }

.st-section { padding-top: clamp(4.5rem,8vw,8rem); padding-bottom: clamp(4.5rem,8vw,8rem); }
.st-section-title { font-size: clamp(2.3rem,4.6vw,4.6rem); line-height: 1; letter-spacing: -.045em; }
.st-intro { max-width: 720px; color: var(--st-muted); font-size: 1.12rem; line-height: 1.65; }
.st-dark { background: #22201f; color: #fff; }
.st-dark .st-intro, .st-dark p { color: #d7d2cc; }

.st-card-grid { gap: 1px !important; background: var(--st-line); border: 1px solid var(--st-line); }
.st-card { min-height: 100%; padding: 2rem; background: var(--st-white); }
.st-card img { aspect-ratio: 4 / 3; width: 100%; object-fit: contain; background: #f0efec; }
.st-card h3 { margin-top: 1.5rem; font-size: 1.35rem; }
.st-card p { color: var(--st-muted); }
.st-card-number { color: var(--st-red); font-size: .78rem; letter-spacing: .15em; }

.st-service-row { border-top: 1px solid #5b5652; padding: 2.1rem 0; }
.st-service-row:last-child { border-bottom: 1px solid #5b5652; }
.st-service-row h3 { margin: 0; font-size: clamp(1.5rem,3vw,2.6rem); }

.st-brand-grid { gap: 0 !important; border-top: 1px solid var(--st-line); border-left: 1px solid var(--st-line); }
.st-brand { padding: 1.5rem; border-right: 1px solid var(--st-line); border-bottom: 1px solid var(--st-line); }
.st-brand strong { display: block; font-size: 1.2rem; }
.st-brand span { color: var(--st-muted); font-size: .8rem; }

.st-cta { padding: clamp(3rem,7vw,6rem); background: var(--st-red); color: #fff; }
.st-cta h2 { max-width: 900px; font-size: clamp(2.6rem,6vw,5.4rem); line-height: .98; letter-spacing: -.05em; }
.st-cta p { max-width: 700px; font-size: 1.12rem; }

.wp-block-button__link { transition: transform .18s ease, background-color .18s ease; }
.wp-block-button__link:hover { transform: translateY(-2px); }
.is-style-outline > .wp-block-button__link:not(.has-text-color) { color: var(--st-ink); }

.st-page-hero { padding-top: clamp(5rem,9vw,9rem); padding-bottom: clamp(4rem,7vw,7rem); border-bottom: 1px solid var(--st-line); }
.st-page-hero h1 { max-width: 900px; font-size: clamp(3.2rem,7vw,6.5rem); line-height: .95; letter-spacing: -.055em; }
.st-split-image img { min-height: 480px; width: 100%; object-fit: cover; filter: grayscale(.8); }
.st-contact-card { padding: 2rem; border: 1px solid var(--st-line); background: #fff; }
.st-contact-card a { color: var(--st-ink); }

.site-footer { background: #22201f; color: #fff; }
.site-footer a { color: #fff; }
.site-footer .wp-block-navigation a { text-decoration: none; }
.site-footer-meta { color: #aaa39e; font-size: .8rem; border-top: 1px solid #4c4845; }

@media (max-width: 900px) {
  .site-topbar { display: none; }
  .site-header { top: 0; }
  .site-header .wp-block-navigation__responsive-container-open { display: flex; }
  .st-hero-copy, .st-hero-media { min-height: auto; }
  .st-hero-media { aspect-ratio: 16 / 10; }
  .st-stat { border-right: 0; border-bottom: 1px solid var(--st-line); padding-bottom: 1.25rem; }
}

@media (max-width: 600px) {
  .site-header .brand-tagline { display: none; }
  .brand-mark { width: 34px; height: 34px; }
  .st-hero h1 { font-size: clamp(2.85rem,14vw,4.2rem); }
  .st-hero-copy { padding-top: 3.5rem; }
  .st-section { padding-top: 3.75rem; padding-bottom: 3.75rem; }
  .st-card { padding: 1.25rem; }
  .st-cta { padding: 2.2rem 1.4rem; }
}

/* Final cascade corrections for the redesigned global chrome. */
.site-topbar { background: #2d2b2b; color: #f3f2f2; font-size: 12px; letter-spacing: .02em; }
.site-topbar .site-topbar-inner { max-width: 1440px !important; min-height: 30px; padding: 6px 32px; margin-inline: auto; }
.site-header { position: sticky; top: 0; z-index: 50; border-bottom: 2px solid var(--st-line); background: rgba(243,242,242,.98); }
.site-header .site-header-inner { max-width: 1440px !important; min-height: 70px; margin-inline: auto; padding: 14px 32px; gap: 32px !important; }
.site-header .brand-lockup { gap: 12px !important; }
.site-header .brand-name { font-size: 19px !important; font-weight: 800; line-height: 1.05; letter-spacing: -.02em; }
.site-header .brand-tagline { display: block; margin-top: 2px; color: rgba(32,30,29,.55); font-size: 10px; letter-spacing: .12em; }
.site-header .wp-block-navigation a { color: var(--st-ink); font-weight: 400; }
.site-footer { background: #2d2b2b; }
.st-page-hero { border-bottom: 2px solid var(--st-line); }

@media (max-width: 782px) {
  .site-header .site-header-inner { min-height: 64px; padding: 12px 20px; gap: 20px !important; }
  .site-header .primary-nav { order: 3; margin-right: 0; margin-left: auto; }
  .site-header .header-actions { display: none !important; }
}

@media (max-width: 480px) {
  .site-header .brand-name { font-size: 16px !important; }
  .site-header .brand-tagline { display: block; font-size: 8px; }
}

/* Catalog, brands, about and contact reference views. */
.catalog-page-head,
.brands-page-head,
.about-modern-head,
.contact-modern-head { padding: 40px 0 26px; border-bottom: 2px solid var(--st-line); }
.catalog-page-head h1 { margin: 0 0 6px; font-size: 44px; letter-spacing: -.03em; }
.catalog-page-head p:last-child { color: rgba(32,30,29,.6); font-size: 14px; }
.catalog-layout { display: grid !important; grid-template-columns: 248px 1fr; gap: 40px !important; padding: 32px 0 72px; }
.catalog-sidebar { position: sticky; top: 100px; align-self: start; }
.catalog-sidebar h3 { margin: 0 0 12px; padding: 0 0 10px; border-bottom: 2px solid var(--st-line); font-size: 11px; font-weight: 400; letter-spacing: .12em; text-transform: uppercase; }
.catalog-sidebar h3:not(:first-child) { margin-top: 28px; }
.catalog-sidebar p { display: flex; justify-content: space-between; gap: 8px; margin: 0; padding: 7px 0; font-size: 14px; }
.catalog-sidebar p span { margin-left: auto; opacity: .5; font-size: 12px; }
.catalog-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.catalog-tags span { padding: 4px 10px; border: 1px solid var(--st-line); background: var(--st-surface); font-size: 11px; }
.catalog-clear { display: block; width: 100%; margin-top: 10px; padding: 9px 14px; border: 1px solid var(--st-line); color: var(--st-ink); font-weight: 800; text-decoration: none; }
.catalog-grid { display: grid !important; grid-template-columns: repeat(3,1fr); gap: 2px !important; padding: 2px; background: var(--st-line); }
.catalog-product { display: flex; flex-direction: column; min-width: 0; background: var(--st-paper); }
.catalog-product figure { height: 190px; margin: 0; overflow: hidden; background: var(--st-surface); }
.catalog-product img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.08); }
.catalog-product-copy { display: flex; flex: 1; flex-direction: column; min-height: 180px; gap: 8px; padding: 16px 18px 18px; }
.catalog-product-copy h3 { margin: 0; font-size: 16px; line-height: 1.25; }

.brands-page { padding-bottom: 72px; }
.brands-page-head h1 { margin: 0 0 10px; font-size: 46px; letter-spacing: -.03em; }
.brands-page-head p { max-width: 62ch; margin: 0; color: rgba(32,30,29,.74); font-size: 17px; }
.brands-page-grid { display: grid !important; grid-template-columns: repeat(3,1fr); gap: 2px !important; padding: 0 2px 2px; background: var(--st-line); }
.brands-page-card { display: flex; flex-direction: column; gap: 10px; padding: 26px 24px 22px; background: var(--st-paper); }
.brands-page-card h2 { margin: 0; font-size: 22px; letter-spacing: -.02em; }
.brands-page-card p { margin: 0; color: rgba(32,30,29,.68); font-size: 13px; }
.brands-page-card p:last-child { margin-top: auto; }
.brands-page-card a { font-weight: 800; text-decoration: none; }

.about-modern-head { padding-top: 44px; }
.about-modern-head h1 { max-width: 24ch; margin: 0; font-size: 56px; line-height: 1.04; letter-spacing: -.03em; }
.about-modern-story { gap: 56px !important; padding: 40px 0 48px; border-bottom: 2px solid var(--st-line); }
.about-modern-story p { color: rgba(32,30,29,.74); font-size: 15px; line-height: 1.6; }
.about-modern-story .about-lead { color: var(--st-ink); font-size: 17px; }
.about-modern-story figure { border: 2px solid var(--st-line); }
.about-modern-story img { width: 100%; filter: grayscale(1) contrast(1.08); }
.about-modern-stats { display: grid !important; grid-template-columns: repeat(4,1fr); gap: 1px !important; background: var(--st-line); }
.about-modern-stats p { margin: 0; padding: 34px 24px 30px; background: var(--st-paper); }
.about-modern-stats strong { display: block; font-size: 40px; letter-spacing: -.03em; }
.about-modern-stats span { color: rgba(32,30,29,.55); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.about-cap-band { border-top: 2px solid var(--st-line); border-bottom: 2px solid var(--st-line); background: var(--st-surface); }
.about-cap-band > .modern-shell { padding-top: 48px; padding-bottom: 48px; }
.about-cap-grid { display: grid !important; grid-template-columns: repeat(3,1fr); gap: 1px !important; background: var(--st-line); }
.about-cap-grid > div { padding: 24px; background: var(--st-surface); }
.about-cap-grid h3 { margin: 0 0 8px; font-size: 18px; }
.about-cap-grid p { margin: 0; color: rgba(32,30,29,.7); font-size: 13px; }
.about-clients { padding-top: 48px; padding-bottom: 48px; }
.about-clients figure { padding: 24px; border: 2px solid var(--st-line); }
.about-clients img { width: 100%; filter: grayscale(1) contrast(1.08); mix-blend-mode: multiply; }

.contact-modern { padding-bottom: 72px; }
.contact-modern-head h1 { margin: 0 0 10px; font-size: 50px; letter-spacing: -.03em; }
.contact-modern-head p { max-width: 58ch; margin: 0; color: rgba(32,30,29,.74); font-size: 17px; }
.contact-modern-layout { display: grid !important; grid-template-columns: 1fr 1.1fr; gap: 56px !important; padding-top: 36px; }
.contact-modern-details > div { padding: 18px 0; border-bottom: 1px solid var(--st-line); }
.contact-modern-details span,
.contact-modern-details strong,
.contact-modern-details small { display: block; }
.contact-modern-details span { margin-bottom: 6px; color: rgba(32,30,29,.55); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.contact-modern-details strong { font-size: 17px; }
.contact-modern-details small { color: rgba(32,30,29,.65); font-size: 13px; }
.contact-modern-details a { color: inherit; text-decoration: none; }
.suuri-contact-form,
.contact-form-success { padding: 28px; border: 2px solid var(--st-line); }
.suuri-contact-form h3 { margin: 0 0 6px; font-size: 22px; }
.suuri-contact-form > p { margin-bottom: 22px; color: rgba(32,30,29,.65); font-size: 13px; }
.contact-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.suuri-contact-form label { display: block; color: rgba(32,30,29,.7); font-size: 12px; }
.suuri-contact-form input[type="text"],
.suuri-contact-form input[type="email"],
.suuri-contact-form input[type="tel"],
.suuri-contact-form textarea { width: 100%; margin-top: 5px; padding: 8px 10px; border: 1px solid var(--st-line); border-radius: 0; background: var(--st-surface); color: var(--st-ink); font: inherit; }
.contact-purpose { display: flex; flex-wrap: wrap; gap: 20px; margin: 18px 0 22px; }
.contact-purpose label { color: var(--st-ink); font-size: 14px; }
.contact-purpose input { accent-color: var(--st-red); }
.suuri-contact-form button { padding: 13px 20px; border: 0; border-radius: 0; background: var(--st-red); color: var(--st-paper); font-weight: 800; cursor: pointer; }
.contact-honeypot { position: absolute !important; left: -9999px !important; }
.contact-form-success strong { display: grid; width: 44px; height: 44px; margin-bottom: 18px; place-items: center; background: var(--st-red); color: var(--st-paper); }

@media (max-width: 900px) {
  .catalog-layout { grid-template-columns: 1fr; }
  .catalog-sidebar { position: static; }
  .catalog-grid { grid-template-columns: repeat(2,1fr); }
  .brands-page-grid { grid-template-columns: repeat(2,1fr); }
  .about-cap-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 600px) {
  .catalog-grid,
  .brands-page-grid,
  .about-cap-grid,
  .about-modern-stats,
  .contact-modern-layout,
  .contact-form-grid { grid-template-columns: 1fr; }
  .catalog-product figure { height: 220px; }
  .about-modern-head h1,
  .contact-modern-head h1 { font-size: 42px; }
  .suuri-contact-form { padding: 20px; }
}

/*
 * Gutenberg layout normalization.
 * Core's constrained-layout block gap must not be added inside the reference
 * grids; those components own their spacing explicitly.
 */
.wp-block-post-content { margin-block-start: 0 !important; }
.wp-block-post-content > * { margin-block-start: 0 !important; }

.modern-shell > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  width: 100% !important;
  max-width: none !important;
}

.site-topbar .wp-block-group { min-height: 0; }
.site-topbar .site-topbar-inner { min-height: 30px !important; }
.site-header .site-header-inner > *,
.site-topbar .site-topbar-inner > * { margin-block-start: 0 !important; }

.modern-hero > *,
.modern-hero-copy > *,
.modern-mosaic > *,
.modern-stats > *,
.modern-section > *,
.modern-section-head > *,
.modern-category-grid > *,
.modern-category > *,
.modern-brand-inner > *,
.modern-brand-grid > *,
.modern-featured-grid > *,
.modern-product > *,
.modern-product-copy > *,
.modern-services > *,
.modern-client-inner > *,
.modern-poster-inner > *,
.catalog-page > *,
.catalog-layout > *,
.catalog-grid > *,
.catalog-product > *,
.catalog-product-copy > *,
.brands-page > *,
.brands-page-grid > *,
.brands-page-card > *,
.about-modern > *,
.about-modern-story > *,
.about-modern-stats > *,
.about-cap-grid > *,
.about-clients > *,
.contact-modern > *,
.contact-modern-layout > *,
.contact-modern-details > * {
  margin-block-start: 0 !important;
}

.modern-category > *,
.modern-product > *,
.catalog-product > *,
.brands-page-card > * {
  width: 100% !important;
  max-width: none !important;
}

.catalog-page-head { padding: 28px 0 20px; }
.brands-page-head { padding: 40px 0 26px; }
.about-modern-head { padding: 44px 0 30px; }
.contact-modern-head { padding: 44px 0 28px; }

.catalog-page-head > *,
.brands-page-head > *,
.about-modern-head > *,
.contact-modern-head > *,
.modern-band-intro > * {
  max-width: none !important;
  margin-block-start: 0 !important;
  margin-inline: 0 !important;
}

.catalog-page-head .modern-kicker { margin-bottom: 12px !important; }
.catalog-page-head h1 { margin-bottom: 6px !important; }
.catalog-page-head > p:last-child { margin-bottom: 0 !important; }

.catalog-product-copy,
.modern-product-copy,
.modern-category-copy,
.brands-page-card { align-items: stretch; text-align: left; }

.catalog-product-copy > *,
.modern-product-copy > *,
.modern-category-copy > *,
.brands-page-card > * {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  text-align: left;
}

.catalog-product-copy { margin-top: 0 !important; }
.catalog-product figure + .catalog-product-copy,
.modern-product figure + .modern-product-copy,
.modern-category figure + .modern-category-copy { margin-block-start: 0 !important; }

.site-footer {
  padding-top: 48px !important;
  padding-bottom: 28px !important;
}
.site-footer > * { margin-block-start: 0 !important; }

@media (min-width: 783px) {
  .catalog-page,
  .brands-page,
  .about-modern,
  .contact-modern,
  .modern-shell { width: min(1440px, 100%) !important; }
}

@media (max-width: 782px) {
  .modern-shell { padding-inline: 20px; }
  .catalog-page-head,
  .brands-page-head,
  .about-modern-head,
  .contact-modern-head { padding-top: 32px; padding-bottom: 24px; }
  .catalog-layout { gap: 28px !important; padding-top: 24px; padding-bottom: 48px; }
}
