/* Smart Cases Site: forms, configurator, product summary, FAQ. Colours follow the Elementor kit (accent 1 = logo blue). */
:root { --sc-blue: var(--e-global-color-vamtam_accent_1, #1A77BC); --sc-ink: var(--e-global-color-vamtam_accent_6, #000); --sc-line: var(--e-global-color-vamtam_accent_7, #E6E9EB); --sc-soft: var(--e-global-color-vamtam_accent_2, #F7F7F7); }

/* WooCommerce pages inside Fabrik: the theme leaves them full-bleed, so give them the site container. */
.single-product #main > .page-wrapper,
.tax-product_cat #main > .limit-wrapper,
.post-type-archive-product #main > .limit-wrapper,
.tax-product_cat #main > .page-wrapper,
.post-type-archive-product #main > .page-wrapper { max-width: var(--vamtam-site-max-width, 1280px); margin-inline: auto !important; padding-inline: 40px !important; box-sizing: content-box; }
.tax-product_cat .page-header, .post-type-archive-product .page-header { max-width: var(--vamtam-site-max-width, 1280px); margin-inline: auto; padding: 56px 40px 8px; box-sizing: content-box; }
.tax-product_cat .page-header .desc, .tax-product_cat .page-header p, .post-type-archive-product .page-header p { max-width: 780px; font-size: 18px; line-height: 1.55; }
/* Category photo beside the title and description; the header keeps room for it on the right. */
.tax-product_cat .page-header:has(.sc-cat-hero) { position: relative; max-width: calc(var(--vamtam-site-max-width, 1280px) - 408px); padding-right: calc(40px + 360px + 48px); min-height: 272px; }
.sc-cat-hero { position: absolute; top: 56px; right: 40px; width: 360px; margin: 0; }
.sc-cat-hero img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; background: #fff; border: 1px solid var(--sc-line); padding: 10px; box-sizing: border-box; }
.sc-breadcrumbs { max-width: var(--vamtam-site-max-width, 1280px); margin: 0 auto; padding: 22px 40px 6px; box-sizing: content-box; font-size: 13px; }
.single-product .page-wrapper .sc-breadcrumbs, .tax-product_cat .limit-wrapper .sc-breadcrumbs, .post-type-archive-product .limit-wrapper .sc-breadcrumbs { padding-inline: 0; }
@media (max-width: 767px) { .sc-breadcrumbs { padding-inline: 20px; } }
.sc-breadcrumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 0; }
.sc-breadcrumbs li:not(:last-child)::after { content: "/"; margin: 0 8px; color: #9aa0a4; }
.sc-breadcrumbs a { color: #55595c; text-decoration: none; }
.sc-breadcrumbs a:hover { color: var(--sc-blue); }
.single-product div.product { padding-top: 24px; padding-bottom: 60px; }
.single-product div.product .product_title { font-size: clamp(30px, 3.4vw, 46px) !important; line-height: 1.08 !important; margin-bottom: 18px !important; }
.single-product div.product .woocommerce-product-gallery { background: var(--sc-soft); }
.single-product div.product .woocommerce-product-gallery img { object-fit: contain; }
.single-product .woocommerce-product-details__short-description p { font-size: 17px; line-height: 1.55; }
.single-product .product_meta { margin-top: 18px; font-size: 13px; }
.single-product .woocommerce-tabs { clear: both; padding-top: 50px; max-width: 900px; }
.single-product .woocommerce-tabs .panel p { font-size: 17px; line-height: 1.65; }
.single-product .related.products > h2 { margin: 50px 0 24px; }

/* Mega menu: the specialist list runs in two columns */
.sc-menu-2col ul.elementor-nav-menu { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
.sc-footer-cta { display: inline-block; margin-top: 6px; padding: 14px 22px; background: var(--sc-blue); color: #fff !important; font-weight: 700; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
.sc-footer-cta:hover { background: #fff; color: var(--sc-ink) !important; }

/* Product and category tiles */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 24px; margin: 30px 0 60px !important; padding: 0 !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; padding: 0 !important; display: flex; flex-direction: column; }
.woocommerce ul.products li.product a img { aspect-ratio: 4 / 3; width: 100% !important; height: auto !important; object-fit: contain; background: #fff; border: 1px solid var(--sc-line); padding: 10px; box-sizing: border-box; margin: 0 0 14px !important; transition: transform .3s, border-color .3s; }
.woocommerce ul.products li.product a:hover img { border-color: #c2c5c7; }
.woocommerce ul.products li.product a:hover img { transform: translateY(-3px); }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-category__title { font-size: 16px !important; line-height: 1.25 !important; padding: 0 !important; margin: 0 0 6px !important; text-transform: uppercase; letter-spacing: .02em; }
.woocommerce ul.products li.product-category .woocommerce-loop-category__title::after { content: " \2192"; color: var(--sc-blue); }
.woocommerce ul.products li.product .sc-view-case { margin-top: auto !important; align-self: flex-start; }

.sc-btn, a.button.sc-btn, button.sc-btn { display: inline-flex; align-items: center; justify-content: center; gap: .6em; padding: 18px 28px; border: 1px solid var(--sc-blue); border-radius: 0; font-family: inherit; font-weight: 700; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; cursor: pointer; transition: background .2s, color .2s; line-height: 1.2; }
.sc-btn--primary { background: var(--sc-blue) !important; color: #fff !important; border-color: var(--sc-blue) !important; }
.sc-btn--primary:hover, .sc-btn--primary:focus-visible { background: var(--sc-ink) !important; border-color: var(--sc-ink) !important; color: #fff !important; }
.sc-btn--ghost { background: transparent !important; color: var(--sc-ink) !important; border-color: var(--sc-ink) !important; }
.sc-btn--ghost:hover, .sc-btn--ghost:focus-visible { background: var(--sc-ink) !important; color: #fff !important; }
.woocommerce ul.products li.product a.sc-view-case { background: transparent !important; color: var(--sc-ink) !important; border: 1px solid var(--sc-ink) !important; padding: 12px 18px !important; font-size: 12px !important; }
.woocommerce ul.products li.product a.sc-view-case:hover { background: var(--sc-blue) !important; border-color: var(--sc-blue) !important; color: #fff !important; }

/* Product page */
.sc-summary { margin-top: 24px; }
.sc-summary__title { font-size: 16px !important; letter-spacing: .04em; margin: 0 0 12px !important; }
.sc-features { list-style: none; margin: 0 0 18px; padding: 0; border-top: 1px solid var(--sc-line); }
.sc-features li { padding: 10px 0 10px 26px; border-bottom: 1px solid var(--sc-line); position: relative; }
.sc-features li::before { content: ""; position: absolute; left: 4px; top: 18px; width: 10px; height: 2px; background: var(--sc-blue); }
.sc-dims, .sc-made-to-order { margin: 0 0 10px; }
.sc-made-to-order { font-weight: 700; }
.sc-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.sc-illustration-note { font-size: 13px; color: #6b6f72; margin: 0 0 14px; }
.sc-category-cta { margin: 18px 0 30px; }
.sc-empty { background: var(--sc-soft); padding: 28px; margin: 10px 0 40px; }
.sc-empty p:last-child { margin-bottom: 0; }
.sc-empty__title { margin: 10px 0 24px; }
.woocommerce ul.products li.product .sc-view-case { margin-top: 10px; }

/* Forms */
.sc-form-wrap { max-width: 980px; }
.sc-form-wrap.sc-config { max-width: none; }
.sc-form .sc-fieldset { border: 0; border-top: 1px solid var(--sc-line); margin: 0 0 28px; padding: 22px 0 0; }
.sc-form legend { font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: 15px; padding: 0 12px 0 0; display: flex; align-items: center; gap: 10px; }
.sc-step { display: inline-grid; place-items: center; width: 28px; height: 28px; background: var(--sc-blue); color: #fff; font-size: 13px; }
.sc-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
.sc-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sc-field { margin: 0 0 16px; }
.sc-field label, .sc-checks__label { display: block; font-size: 13px; font-weight: 700; margin-bottom: 6px; }
.sc-form input[type=text], .sc-form input[type=email], .sc-form input[type=tel], .sc-form input[type=number], .sc-form select, .sc-form textarea { width: 100%; box-sizing: border-box; border: 1px solid #c2c5c7; background: #fff; padding: 13px 14px; font: inherit; font-size: 16px; border-radius: 0; }
.sc-form input:focus, .sc-form select:focus, .sc-form textarea:focus { outline: 2px solid var(--sc-blue); outline-offset: 0; border-color: var(--sc-blue); }
.sc-hint, .sc-required-note { font-size: 14px; color: #55595c; }
.sc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.sc-consent label { font-size: 14px; display: block; position: relative; padding-left: 28px; line-height: 1.5; }
.sc-consent input { position: absolute; left: 0; top: 3px; margin: 0; }
.sc-notice { padding: 16px 20px; margin: 0 0 24px; border-left: 4px solid var(--sc-blue); background: var(--sc-soft); }
.sc-notice--error { border-left-color: #b3261e; }
.sc-notice ul { margin: 8px 0 0 18px; }
.sc-context { display: flex; gap: 16px; align-items: center; background: var(--sc-soft); padding: 14px; margin-bottom: 24px; }
.sc-context img { width: 72px; height: 72px; object-fit: contain; background: #fff; }
.sc-context span { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: #55595c; }
.sc-context a { font-weight: 700; color: var(--sc-ink); }

/* Configurator */
.sc-types { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.sc-type { position: relative; display: flex; flex-direction: column; border: 1px solid var(--sc-line); padding: 10px; cursor: pointer; background: #fff; transition: border-color .2s, box-shadow .2s; }
.sc-type input { position: absolute; opacity: 0; pointer-events: none; }
.sc-type__img { display: block; aspect-ratio: 1; background: var(--sc-soft); margin-bottom: 10px; overflow: hidden; }
.sc-type__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sc-type__label { font-weight: 700; font-size: 14px; line-height: 1.25; }
.sc-type__hint { font-size: 12px; color: #55595c; margin-top: 4px; line-height: 1.35; }
.sc-type:hover { border-color: #9aa0a4; }
.sc-type:has(input:checked) { border-color: var(--sc-blue); box-shadow: inset 0 0 0 2px var(--sc-blue); }
.sc-type:has(input:focus-visible) { outline: 2px solid var(--sc-blue); outline-offset: 2px; }
.sc-config__size { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 28px; align-items: start; }
.sc-preview { margin: 0; background: var(--sc-soft); padding: 12px; }
.sc-preview__svg { width: 100%; height: auto; display: block; }
.sc-preview__caption { font-size: 12px; color: #55595c; text-align: center; }
.sc-checks { margin: 4px 0 18px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.sc-checks__label { flex-basis: 100%; margin: 0; }
.sc-chip { cursor: pointer; }
.sc-chip input { position: absolute; opacity: 0; }
.sc-chip span { display: inline-block; padding: 9px 14px; border: 1px solid #c2c5c7; font-size: 14px; background: #fff; }
.sc-chip input:checked + span { background: var(--sc-blue); border-color: var(--sc-blue); color: #fff; }
.sc-chip input:focus-visible + span { outline: 2px solid var(--sc-blue); outline-offset: 2px; }
.sc-summary-box { background: var(--sc-ink); color: #fff; padding: 18px 20px; margin: 0 0 28px; font-size: 15px; }

/* Case builder (layout follows the reference designer: materials row, options | drawing | quote, description) */
.scb { --scb-bar: #191817; --scb-w: min(1440px, calc(100vw - 64px)); width: var(--scb-w); margin: 10px 0 40px calc(50% - var(--scb-w) / 2); box-sizing: border-box; position: relative; z-index: 2; background: #fff; box-shadow: 0 0 0 16px #fff; }
.sc-form-wrap { position: relative; z-index: 2; background: #fff; }
.scb-bar { background: var(--scb-bar); color: #fff !important; font-size: 14px !important; line-height: 1.2 !important; letter-spacing: .04em; text-transform: uppercase; padding: 9px 12px !important; margin: 0 0 14px !important; }
.scb-bar--wide { margin-top: 34px !important; }
.scb-materials { list-style: none; margin: 0 0 26px; padding: 0; display: grid; grid-template-columns: repeat(20, minmax(0, 1fr)); gap: 8px; }
.scb-material { display: flex; flex-direction: column; align-items: center; cursor: pointer; text-align: center; }
.scb-material input { position: absolute; opacity: 0; pointer-events: none; }
.scb-material__swatch { display: block; width: 100%; aspect-ratio: 1; border: 2px solid transparent; box-shadow: 0 0 0 1px #c9ccd0; overflow: hidden; }
.scb-material__swatch svg { display: block; width: 100%; height: 100%; }
.scb-material__label { font-size: 11px; line-height: 1.2; margin-top: 5px; color: #333; }
.scb-material input:checked + .scb-material__swatch { border-color: var(--sc-blue); box-shadow: 0 0 0 2px var(--sc-blue); }
.scb-material input:focus-visible + .scb-material__swatch { outline: 2px solid var(--sc-blue); outline-offset: 3px; }
.scb-layout { display: grid; grid-template-columns: 380px minmax(0, 1fr) 300px; gap: 36px; align-items: start; }
.scb-dims { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 12px; margin-bottom: 14px; }
.scb-num { display: flex; flex-direction: column; justify-content: flex-end; }
.scb-num span { display: block; font-size: 13px; color: #444; margin-bottom: 6px; white-space: nowrap; }
.scb-num input, .scb-num select, .scb-qty input { width: 100%; height: 44px; box-sizing: border-box; border: 1px solid #c2c5c7; padding: 0 10px; font: inherit; font-size: 15px; line-height: 42px; border-radius: 0; background: #fff; }
/* The theme pads selects 17px top and bottom at 12px type, which clips the text inside a 44px field. */
.scb .scb-num select, .scb .scb-num input, .scb .scb-qty input { height: 44px !important; padding: 0 12px !important; font-size: 15px !important; line-height: 42px !important; }
.scb .scb-num select { padding-right: 32px !important; }
.scb-ext { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; margin: 6px 0 18px; font-size: 14px; }
.scb-ext small { color: #666; }
.scb-ext__val { font-size: 15px; white-space: nowrap; }
.scb-warning { background: #fff4e5; border-left: 4px solid #e2691f; padding: 10px 12px; font-size: 14px; margin: 0 0 16px; }
.scb-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 12px; margin-bottom: 24px; }
.scb-check { white-space: nowrap; align-items: center !important; }
.scb-left .scb-bar, .scb-right .scb-bar { margin-bottom: 16px !important; }
.scb-right .scb-request { width: 100%; }
.scb-qty input { max-width: none !important; }
.scb-check, .scb-radios label { font-size: 14px; display: flex; gap: 8px; align-items: flex-start; cursor: pointer; }
.scb-radios { display: grid; gap: 10px; margin-bottom: 20px; }
.scb-check input, .scb-radios input { margin-top: 3px; accent-color: var(--sc-blue); }
.scb-stage { position: relative; aspect-ratio: 667 / 428; padding: 50px 54px; box-sizing: content-box; }
.scb-canvas { position: absolute; inset: 50px 54px; }
.scb-canvas svg, .scb-types__img svg, .scb-dialog__thumb svg { display: block; width: 100%; height: 100%; }
.scb .scb-cam { position: absolute; width: 44px !important; height: 44px !important; min-width: 0 !important; border-radius: 50% !important; border: 0 !important; background: var(--sc-blue) !important; color: #fff !important; font-size: 22px !important; line-height: 44px !important; text-align: center; cursor: pointer; padding: 0 !important; z-index: 2; box-shadow: 0 2px 6px rgba(0,0,0,.18); }
.scb .scb-cam:hover, .scb .scb-cam:focus-visible { background: var(--sc-ink) !important; }
.scb-cam[hidden] { display: none; }
.scb-cam--up { top: 0; left: 50%; transform: translateX(-50%); }
.scb-cam--down { bottom: 0; left: 50%; transform: translateX(-50%); }
.scb-cam--left { left: 0; top: 50%; transform: translateY(-50%); }
.scb-cam--right { right: 0; top: 50%; transform: translateY(-50%); }
.scb-view { position: absolute; right: 52px; bottom: 6px; background: #6b6f73; color: #fff; padding: 4px 10px; font-size: 15px; text-transform: uppercase; letter-spacing: .04em; }
.scb-quote { display: grid; gap: 14px; }
.scb-quote__note { font-size: 14px; margin: 0; }
.scb-qty span { display: block; font-size: 13px; margin-bottom: 4px; }
.scb-qty input { max-width: 110px; }
.scb-request:disabled { opacity: .45; cursor: not-allowed; }
.scb-desc { max-width: none; }
.scb-desc p, .scb-desc li { font-size: 16px; line-height: 1.6; }
.scb-types { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px 22px; margin: 10px 0 30px; }
.scb-types__item { display: flex; flex-direction: column; gap: 10px; text-decoration: none; color: var(--sc-ink); }
.scb-types__img { display: block; aspect-ratio: 667 / 428; background: #fff; border: 1px solid var(--sc-line); transition: border-color .2s, box-shadow .2s; }
.scb-types__img, .scb-dialog__thumb { position: relative; overflow: hidden; }
.scb-types__img svg, .scb-dialog__thumb svg { position: absolute; inset: 0; }
.scb-types__item:hover .scb-types__img { border-color: var(--sc-blue); box-shadow: 0 0 0 1px var(--sc-blue); }
.scb-types__label { font-weight: 700; text-transform: uppercase; font-size: 14px; letter-spacing: .03em; }
.scb-types__label::after { content: " \2192"; color: var(--sc-blue); }
.scb-screen { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, 1fr); gap: 34px; align-items: start; }
.scb-screen__preview { position: relative; aspect-ratio: 667 / 428; }
.scb-screen__preview .scb-canvas { inset: 0; }
.scb-screen__form select, .scb-screen__form input[type=text] { width: 100%; box-sizing: border-box; border: 1px solid #c2c5c7; padding: 11px 12px; font: inherit; font-size: 16px; border-radius: 0; background: #fff; }
.scb-screen__form small { font-size: 12px; color: #666; }
.scb-screen__form .scb-qty { margin: 6px 0 16px; }
.scb-dialog { border: 0; padding: 0; width: min(760px, calc(100vw - 32px)); max-height: calc(100vh - 32px); box-shadow: 0 20px 60px rgba(0,0,0,.35); }
.scb-dialog::backdrop { background: rgba(0,0,0,.55); }
.scb-dialog__form { padding: 24px 26px 10px; }
.scb-dialog__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.scb-dialog__head h2 { margin: 0 !important; font-size: 24px !important; }
.scb .scb-dialog__close { border: 0 !important; background: none !important; color: var(--sc-ink) !important; font-size: 34px !important; line-height: 1 !important; cursor: pointer; padding: 0 6px !important; min-width: 0 !important; width: auto !important; height: auto !important; }
.scb-dialog__summary { display: grid; grid-template-columns: 220px 1fr; gap: 18px; background: var(--sc-soft); padding: 14px; margin-bottom: 18px; font-size: 14px; }
.scb-dialog__summary:not(:has(.scb-dialog__thumb)) { grid-template-columns: 1fr; }
.scb-dialog__thumb { aspect-ratio: 667 / 428; background: #fff; }
.scb-dialog__summary dl { margin: 0; }
.scb-dialog__summary dl div { display: grid; grid-template-columns: 150px 1fr; gap: 8px; padding: 3px 0; }
.scb-dialog__summary dt { font-weight: 700; }
.scb-dialog__summary dd { margin: 0; }
@media (max-width: 1360px) { .scb-layout { grid-template-columns: 340px minmax(0, 1fr) 260px; gap: 28px; } }
@media (max-width: 1200px) { .scb-materials { grid-template-columns: repeat(10, minmax(0, 1fr)); } .scb-layout { grid-template-columns: 340px minmax(0, 1fr); } .scb-right { grid-column: 1 / -1; } }
@media (max-width: 900px) { .scb-layout, .scb-screen { grid-template-columns: 1fr; } .scb-center { order: -1; } .scb-types { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .scb-materials { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .scb-center { margin-inline: -24px; }
  .scb-stage { padding: 36px 32px; } .scb-canvas { inset: 36px 32px; } .scb-view { right: 36px; bottom: 0; font-size: 12px; }
  .scb .scb-cam { width: 34px !important; height: 34px !important; line-height: 34px !important; font-size: 18px !important; }
  .elementor-widget-heading.elementor-widget__width-initial { max-width: 100% !important; }
  .elementor-widget-heading h1.elementor-heading-title { overflow-wrap: break-word; }
  .scb-dialog__summary { grid-template-columns: 1fr; }
  .scb-dialog__summary dl div { grid-template-columns: 1fr; gap: 0; }
}

/* FAQ */
.sc-faq__item { border-bottom: 1px solid var(--sc-line); }
.sc-faq__item summary { cursor: pointer; list-style: none; padding: 20px 40px 20px 0; position: relative; }
.sc-faq__item summary::-webkit-details-marker { display: none; }
.sc-faq__item summary::after { content: "+"; position: absolute; right: 6px; top: 16px; font-size: 26px; color: var(--sc-blue); }
.sc-faq__item[open] summary::after { content: "\2212"; }
.sc-faq__item summary h3 { display: inline; font-size: 18px !important; margin: 0 !important; text-transform: none; letter-spacing: 0; }
.sc-faq__item p { margin: 0 0 20px; max-width: 760px; }

/* Company facts */
.sc-facts { margin: 0; }
.sc-facts div { display: grid; grid-template-columns: 180px 1fr; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--sc-line); }
.sc-facts dt { font-weight: 700; }
.sc-facts dd { margin: 0; }

@media (max-width: 1024px) {
  .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sc-types { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sc-config__size { grid-template-columns: 1fr; }
  .sc-preview { max-width: 360px; }
}
@media (max-width: 767px) {
  .single-product #main > .page-wrapper, .tax-product_cat #main > .limit-wrapper, .post-type-archive-product #main > .limit-wrapper,
  .tax-product_cat #main > .page-wrapper, .post-type-archive-product #main > .page-wrapper { padding-inline: 20px !important; }
  .tax-product_cat .page-header, .post-type-archive-product .page-header { padding: 32px 20px 0; }
  .tax-product_cat .page-header:has(.sc-cat-hero) { max-width: none; padding-right: 20px; min-height: 0; }
  .sc-cat-hero { position: static; width: 100%; max-width: 420px; margin: 18px 0 0; }
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product .woocommerce-loop-category__title { font-size: 14px !important; }
}
@media (max-width: 640px) {
  .sc-grid, .sc-grid--3 { grid-template-columns: 1fr; }
  .sc-types { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sc-facts div { grid-template-columns: 1fr; gap: 2px; }
  .sc-actions .sc-btn { width: 100%; }
}

/* Customer reviews ([smartcases_reviews]) */
.sc-reviews__summary { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; font-size: 17px; margin: 0 0 28px; }
.sc-reviews__summary a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.sc-reviews__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.sc-review { border: 1px solid var(--sc-line, #e6e9eb); background: #fff; padding: 22px 22px 18px; display: flex; flex-direction: column; gap: 12px; }
.sc-review__head { display: flex; gap: 12px; align-items: center; }
.sc-review__pic { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; flex: 0 0 48px; background: #eef0f2; }
.sc-review__pic--initials { display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 16px; color: #1a77bc; }
.sc-review__name { margin: 0; font-weight: 700; font-size: 16px; line-height: 1.3; }
.sc-review__meta { margin: 2px 0 0; font-size: 13px; color: #5a5f64; }
.sc-review__stars { color: #e7a614; letter-spacing: 1px; }
.sc-review__text { margin: 0; padding: 0; border: 0; font-size: 16px; line-height: 1.55; font-style: normal; }
.sc-review__text p { margin: 0; }
.sc-review__note { margin: auto 0 0; font-size: 12px; color: #7a8086; }
.sc-reviews__more { margin: 28px 0 0; }
@media (max-width: 1024px) { .sc-reviews__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .sc-reviews__grid { grid-template-columns: 1fr; } .sc-review { padding: 18px; } .sc-reviews__summary { flex-direction: column; align-items: flex-start; } .sc-reviews__summary > span { display: none; } }

/* Home reviews carousel (theme testimonials section): quote in the theme's Quote style, arrows as the theme's white square buttons under it */
.elementor-element.sc-reviews-carousel .elementor-main-swiper { padding-bottom: 89px; }
.elementor-element.sc-reviews-carousel .elementor-swiper-button { top: auto !important; bottom: 0 !important; transform: none !important; margin: 0 !important; width: 59px; height: 59px; display: flex; align-items: center; justify-content: center; background: #fff; transition: background .2s; }
.elementor-element.sc-reviews-carousel .elementor-swiper-button-prev { left: 0 !important; right: auto !important; }
.elementor-element.sc-reviews-carousel .elementor-swiper-button-next { left: 59px !important; right: auto !important; }
.elementor-element.sc-reviews-carousel .elementor-swiper-button:hover { background: #000; }
.elementor-element.sc-reviews-carousel .elementor-testimonial__text { font-style: normal; }
.elementor-element.sc-reviews-carousel .elementor-testimonial__title { font-size: 14px; margin-top: 4px; }
.elementor .elementor-element.elementor-element-5c7e2a6 a, .elementor .elementor-element.elementor-element-5c7e2a6 a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
/* Closing call to action (theme's blue panel): the configurator link in the panel text */
.elementor-section.sc-cta .elementor-widget-text-editor a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
/* Home "High Fives": the live Facebook and Google numbers in the site blue */
.elementor-widget-text-editor .sc-stat, .elementor-widget-text-editor .sc-stat:hover { color: var(--e-global-color-vamtam_accent_1, #1A77BC); text-decoration: none; }
/* Home reviews (5c7e2a1): on desktop the two columns split 50/50 so the quotes run wide and the section stays low, and the text of
   both columns lines up with the 1280 px content of the other sections even when the section is full width. Set here, not in the
   page, so saving the page in Elementor keeps it. */
@media (min-width: 1025px) {
  .elementor .elementor-section.elementor-element-5c7e2a1 .elementor-column.elementor-element-5c7e2a2,
  .elementor .elementor-section.elementor-element-5c7e2a1 .elementor-column.elementor-element-5c7e2a3 { width: 50% !important; }
  .elementor .elementor-element.elementor-element-5c7e2a3 > .elementor-widget-wrap { padding: 90px max(48px, calc((100vw - 1280px) / 2 - 30px)) 90px 7% !important; }
  .elementor .elementor-section-full_width.elementor-element-5c7e2a1 .elementor-element-5c7e2a2 > .elementor-widget-wrap { padding-left: max(0px, calc((100vw - 1280px) / 2 - 30px)) !important; }
}
@media (min-width: 768px) and (max-width: 1024px) { .elementor .elementor-element.elementor-element-5c7e2a3 > .elementor-widget-wrap { padding: 60px 30px !important; } }
@media (max-width: 767px) { .elementor .elementor-element.elementor-element-5c7e2a3 > .elementor-widget-wrap { padding: 45px 20px !important; } }
/* every review sits in the middle of the fixed-height box, so the carousel looks even and keeps its height while it turns */
.elementor-element.sc-reviews-carousel .swiper-slide { display: flex; align-items: center; height: auto; }
.elementor-element.sc-reviews-carousel .swiper-slide > .elementor-testimonial { width: 100%; }
.elementor-element.sc-reviews-carousel .swiper-wrapper { align-items: stretch; }
/* Home "Choose how your case is built" (be3003a): the section is set to overflow hidden in Elementor, but the big case photo still
   pushed the page sideways (horizontal scroll bar); clip it here */
.elementor .elementor-section.elementor-element-be3003a { overflow: hidden !important; overflow: clip !important; }
/* 3D case builder (plugin smartcases-builder): as tall as the screen under the theme header (88px on desktop, 71px on
   tablet and phone), so the whole builder is in view when the page opens; a height="" on the shortcode still wins */
.smartcases-builder { --sc-height: calc(100svh - 71px); }
@media (min-width: 1025px) { .smartcases-builder { --sc-height: calc(100svh - 88px); } }
/* Profile page [smartcases_account] (/my-account/): sign in or open a profile with a code by email */
.sc-account { max-width: 560px; }
.sc-account__tabs { display: flex; gap: 0; margin: 0 0 24px; border-bottom: 1px solid var(--e-global-color-vamtam_accent_7, #E6E9EB); }
.elementor-kit-5 .sc-account__tabs button, .elementor-kit-5 .sc-account__tabs button:hover, .elementor-kit-5 .sc-account__tabs button:focus { background: transparent; color: var(--e-global-color-vamtam_accent_6, #000); padding: 14px 20px; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.elementor-kit-5 .sc-account__tabs button[aria-selected="true"], .elementor-kit-5 .sc-account__tabs button[aria-selected="true"]:hover, .elementor-kit-5 .sc-account__tabs button[aria-selected="true"]:focus { border-bottom-color: var(--e-global-color-vamtam_accent_1, #1A77BC); color: var(--e-global-color-vamtam_accent_1, #1A77BC); }
.sc-account .sc-field input { width: 100%; }
.sc-account__intro, .sc-account__sent { margin: 0 0 16px; }
.sc-account__msg { color: #b3261e; }
.elementor-kit-5 .sc-account__back, .elementor-kit-5 .sc-account__back:hover, .elementor-kit-5 .sc-account__back:focus { background: transparent; color: var(--e-global-color-vamtam_accent_1, #1A77BC); text-decoration: underline; padding: 12px 8px; }
.sc-account__quotes { margin: 0 0 24px; padding-left: 1.2em; }
.sc-account__actions { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; margin-top: 24px; }
.sc-account .sc-field input { background: #fff; }
/* Workshop posts (inc/posts.php): the theme turns off the WordPress gallery styles, so a post gallery is laid out here,
   three across on desktop, two on phones, square-cropped thumbnails like the theme's loop cards */
.single-post .gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 24px 0; }
.single-post .gallery .gallery-item { margin: 0; width: auto !important; max-width: none; }
.single-post .gallery .gallery-icon img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.single-post .gallery br { display: none; }
@media (max-width: 767px) { .single-post .gallery { grid-template-columns: repeat(2, 1fr); } }
.single-post .elementor-widget-theme-post-content blockquote { margin: 24px 0; padding: 16px 20px; border-left: 3px solid var(--e-global-color-vamtam_accent_1, #1A77BC); background: var(--e-global-color-vamtam_accent_2, #F7F7F7); }
.single-post .elementor-widget-theme-post-content blockquote p { margin: 0 0 8px; }
.single-post .elementor-widget-theme-post-content blockquote cite { font-style: normal; font-weight: 600; }
/* Workshop posts have no tags: the template's "Tags:" row (section a4c5d4f of Single Post 9209) shows only when a tag exists */
.single-post .elementor-element-a4c5d4f:not(:has(.elementor-post-info__terms-list-item)) { display: none; }
/* Photos on the quote form: the file input lies over the button, so a click anywhere opens the picker and the browser's own check stays */
.sc-field .sc-photos__pick { position: relative; display: inline-block; margin: 0 14px 8px 0; font-size: inherit; font-weight: inherit; vertical-align: middle; }
.sc-form .sc-photos__input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; opacity: 0; cursor: pointer; }
.sc-photos__input:focus-visible + .sc-btn { outline: 2px solid var(--sc-blue); outline-offset: 2px; }
.sc-photos__names { display: inline-block; font-size: 14px; vertical-align: middle; overflow-wrap: anywhere; }
.sc-photos__names.is-error { color: #b42318; font-weight: 600; }
.sc-photos .sc-hint { display: block; margin-top: 2px; }
/* Mega menus (scripts/42): a group of the shop in bold, its kinds of case under it */
.elementor-nav-menu .sc-mega-head > a.elementor-item { font-weight: 700 !important; }
.elementor-nav-menu--layout-vertical .sc-mega-head:not(:first-child) { margin-top: 12px; }

/* mobile header: profile icon and language flag (inc/i18n.php [sc_lang_switch], header 180, 19.10.2026) */
.sc-lang-switch{display:inline-flex;align-items:center;line-height:0}
.sc-lang-switch img{width:22px;height:22px;border-radius:50%;object-fit:cover}

/* mobile and tablet header (Nikola, 20.10.2026: everything on one line with the menu button): the row is centred as a whole,
   with no top or bottom margins of its own, so it stays aligned at every width; the glyph nudges below are measured on the
   rendered pixels (the menu and search glyphs do not sit in the middle of their boxes) */
@media (max-width:1024px){
.elementor-180 .elementor-element-4a732e2 > .elementor-container{align-items:center}
.elementor-180 .elementor-element-4a732e2 > .elementor-container > .elementor-column{align-self:center}
.elementor-180 .elementor-element-4a732e2 .elementor-column > .elementor-widget-wrap{align-items:center;align-content:center;padding-top:0;padding-bottom:0}
.elementor-180 .elementor-element-4a732e2 .elementor-widget-wrap > .elementor-element{margin-top:0 !important;margin-bottom:0 !important;align-self:center !important}
.elementor-180 .elementor-element-a6a36b6 .elementor-menu-toggle{padding-top:0 !important;padding-bottom:0 !important}
}
@media (max-width:767px){
.elementor-180 .elementor-element-2bd452e .elementor-icon{transform:translateY(2px)}
.elementor-180 .sc-mobile-account .elementor-icon{transform:translateY(3.5px)}
.elementor-180 .sc-lang-switch{transform:translateY(2.5px)}
.elementor-180 .elementor-element-a6a36b6 .elementor-menu-toggle{transform:translateY(7px)}
}
@media (min-width:768px) and (max-width:1024px){
.elementor-180 .elementor-element-2bd452e .elementor-icon,.elementor-180 .sc-mobile-account .elementor-icon{transform:translateY(2px)}
.elementor-180 .sc-lang-switch{transform:translateY(2.2px)}
}
/* phones: categories and products in one column, so the pictures are large (Nikola, 20.10.2026) */
@media (max-width:767px){.woocommerce ul.products,.woocommerce-page ul.products,ul.products[class*="columns-"]{grid-template-columns:minmax(0,1fr) !important}}
/* "Share your opinion": Google review button wherever reviews are shown (inc/reviews.php, 22.10.2026) */
.sc-reviews__write{margin:14px 0 28px}
/* the home clone carries the original's class, so Elementor's own per-device styles for 5c7e2a8 apply to it;
   the section's bottom spacing moves from the original to the clone */
.elementor-17 .elementor-element.elementor-element-5c7e2a8:not(.sc-review-write){margin-bottom:0}
.elementor-17 .elementor-element.elementor-element-5c7e2a8.sc-review-write{margin-top:18px}
