/* Shared catalog theme, aligned with the approved Kvadrosim landing. */
.kvc-page {
  --kvc-blue:#20ccc1; --kvc-blue-bright:#62e4d9; --kvc-blue-soft:#1a3439;
  --kvc-paper:#070d10; --kvc-white:#10191f; --kvc-ink:#edf2f5;
  --kvc-text:#c1cdd4; --kvc-muted:#adbdc8; --kvc-line:#2c4148;
  --kvc-dark:#070d10; --kvc-dark-raised:#10191f; --kvc-dark-line:#2c4148;
  --kvc-field:#0b151b; --kvc-error:#ff9d9d;
  --kvc-shell:min(1240px,calc(100% - 64px));
  color-scheme:dark; background:var(--kvc-paper); color:var(--kvc-ink);
}
.kvc-page ::selection { background:#20ccc15c; color:#fff; }
.kvc-page :focus-visible { outline:2px solid var(--kvc-blue); outline-offset:4px; }
.kvc-page :is(h1,h2,h3,h4,legend) {
  color:var(--kvc-ink); background-image:none; -webkit-text-fill-color:currentColor;
  text-transform:none; line-height:1.2;
}
.kvc-page :is(p,li,small,figcaption,dt,dd) { color:var(--kvc-muted); }
.kvc-page :is(.kvc-header,.kvc-footer) { background:var(--kvc-paper); border-color:var(--kvc-line); }
.kvc-page :is(.kvc-header__top,.kvc-nav a,.kvc-breadcrumbs,.kvc-breadcrumbs a,.kvc-footer a,.kvc-footer__brand p,.kvc-footer__bottom) { color:var(--kvc-muted); border-color:var(--kvc-line); }
.kvc-page .kvc-header__main { min-height:68px; }
.kvc-page :is(.kvc-nav a:hover,.kvc-footer a:hover,.kvc-breadcrumbs a:hover) { color:var(--kvc-blue); }
.kvc-page .kvc-footer strong { color:var(--kvc-ink); }
.kvc-page .kvc-menu { background:var(--kvc-dark-raised); border-radius:10px; }
.kvc-page .kvc-menu span { background:var(--kvc-ink); }
.kvc-page .kvc-nav.is-open { background:var(--kvc-dark-raised); box-shadow:0 20px 50px #0005; }
.kvc-page .kvc-nav.is-open a { border-color:var(--kvc-line); color:var(--kvc-muted); }
.kvc-page :is(.kvc-button,.kvc-header__action,:where(.kvc-nav.is-open) .kvc-nav__consultation,.kvc-skip) {
  background:var(--kvc-blue); border-color:var(--kvc-blue); color:#062022 !important;
  border-radius:10px; box-shadow:none;
}
.kvc-page :is(.kvc-button,.kvc-header__action,:where(.kvc-nav.is-open) .kvc-nav__consultation):hover {
  background:var(--kvc-blue-bright); border-color:var(--kvc-blue-bright); color:#062022 !important;
}
.kvc-page :is(.kvc-button--secondary,.kvc-button--product) { background:transparent; border-color:#49616c; color:var(--kvc-ink) !important; }
.kvc-page :is(.kvc-button--secondary,.kvc-button--product):hover { background:var(--kvc-blue-soft); border-color:var(--kvc-blue); color:var(--kvc-ink) !important; }
.kvc-page .kvc-hero-actions .kvc-button { min-height:56px; border-radius:999px; }
.kvc-page :is(.kvc-catalog-hero,.kvc-product-hero) { background:radial-gradient(ellipse at 82% 35%,#143a3b 0%,#0b2022 25%,var(--kvc-paper) 70%); }
.kvc-page .kvc-product-hero__grid { gap:48px; }
.kvc-page .kvc-product-hero h1 { font-size:clamp(34px,3.8vw,56px); letter-spacing:-.035em; }
.kvc-page :is(.kvc-overview,.kvc-related,.kvc-request) { background:#0c151a; }
.kvc-page :is(.kvc-conditions,.kvc-faq,.kvc-catalog,.kvc-composition) { background:var(--kvc-paper); }
.kvc-page :is(.kvc-catalog-cta,.kvc-detail-cta) { background:#14252b; }
.kvc-page :is(.kvc-kicker,.kvc-component>span,.kvc-condition-grid span,.kvc-catalog-group__head>span) { color:var(--kvc-blue); }
.kvc-page :is(.kvc-tags span,.kvc-product-card__meta span) { color:var(--kvc-blue); border-color:#365a60; background:#10272a; }
.kvc-page :is(.kvc-task-list,.kvc-task-list li,.kvc-catalog-group__head,.kvc-product-card__composition,.kvc-product-card__composition li,.kvc-hero-composition ul,.kvc-hero-composition li) { border-color:var(--kvc-line); }
.kvc-page :is(.kvc-task-list li,.kvc-product-card__composition li,.kvc-hero-composition li) { color:var(--kvc-muted); }
.kvc-page :is(.kvc-hero-composition li strong,.kvc-component>strong) { background:#14252b; color:var(--kvc-blue); border-color:#365a60; }
.kvc-page :is(.kvc-price-panel strong,.kvc-product-card__price strong,.kvc-product-card__composition b) { color:var(--kvc-blue); }
.kvc-page :is(.kvc-price-panel small,.kvc-price-panel p,.kvc-product-card__price small,.kvc-product-gallery__note) { color:var(--kvc-muted); }
.kvc-page :is(.kvc-catalog-hero__aside,.kvc-product-card,.kvc-document,.kvc-exclusions,.kvc-lead-form,.kvc-term-tabs,.kvc-gallery__controls) {
  background:var(--kvc-dark-raised); border-color:var(--kvc-line); border-radius:14px; box-shadow:none;
}
.kvc-page :is(.kvc-product-card:hover,.kvc-document:hover) { border-color:#44676f; box-shadow:none; }
.kvc-page .kvc-product-card { height:100%; }
.kvc-page .kvc-product-card h3 { font-size:clamp(22px,2vw,27px); }
.kvc-page :is(.kvc-catalog-hero__aside dt,.kvc-component small,.kvc-component p,.kvc-exclusions ul,.kvc-section-heading--dark>p:not(.kvc-kicker)) { color:var(--kvc-muted); }
.kvc-page :is(.kvc-component h3,.kvc-exclusions>strong,.kvc-document>strong) { color:var(--kvc-ink); }
.kvc-page .kvc-term-tab { background:transparent; color:var(--kvc-muted); }
.kvc-page .kvc-term-tab :is(span,small) { color:var(--kvc-muted); }
.kvc-page .kvc-term-tab:hover { background:var(--kvc-blue-soft); }
.kvc-page .kvc-term-tab.is-active { background:var(--kvc-blue); color:#062022; }
.kvc-page .kvc-term-tab.is-active :is(strong,span,small) { color:#062022; }
.kvc-page .kvc-term-tab:focus-visible { outline-color:var(--kvc-ink); }
.kvc-page :is(.kvc-carousel-controls button,.kvc-gallery__arrows button,.kvc-gallery__thumb,.kvc-lightbox__tools button,.kvc-lightbox__footer button) {
  min-width:44px; min-height:44px; background:var(--kvc-dark-raised); color:var(--kvc-ink); border-color:var(--kvc-line);
}
.kvc-page :is(.kvc-carousel-controls button,.kvc-gallery__arrows button,.kvc-lightbox__tools button,.kvc-lightbox__footer button):hover:not(:disabled) { background:var(--kvc-blue-soft); color:var(--kvc-blue); border-color:var(--kvc-blue); }
.kvc-page :is(.kvc-gallery__stage,.kvc-gallery__slide,.kvc-gallery__open,.kvc-gallery__thumb img,.kvc-product-card__visual) { background:#10191f; box-shadow:none; }
.kvc-page .kvc-gallery__stage { border:1px solid var(--kvc-line); border-radius:16px; }
.kvc-page .kvc-gallery__open { height:clamp(300px,33vw,510px); }
.kvc-page .kvc-gallery__open img { object-fit:contain; }
.kvc-page .kvc-gallery__open>span { min-height:44px; background:#0b2022e6; border-color:#49616c; color:var(--kvc-ink); }
.kvc-page .kvc-gallery__open:hover>span { background:var(--kvc-blue-soft); }
.kvc-page .kvc-gallery__slide figcaption { color:var(--kvc-muted); }
.kvc-page .kvc-gallery__thumb.is-active { border-color:var(--kvc-blue); box-shadow:0 0 0 2px #20ccc126; }
.kvc-page .kvc-lightbox__dialog { background:var(--kvc-dark-raised); border-color:var(--kvc-line); }
.kvc-page :is(.kvc-lightbox__header,.kvc-lightbox__footer) { border-color:var(--kvc-line); }
.kvc-page :is(.kvc-lightbox__header span,.kvc-lightbox__footer p) { color:var(--kvc-muted); }
.kvc-page .kvc-faq summary { color:var(--kvc-ink); }
.kvc-page .kvc-faq details[open] { background:#10191f; }
.kvc-page :is(.kvc-form-step legend,.kvc-form-step button,.kvc-person-result strong,.kvc-field label) { color:var(--kvc-ink); }
.kvc-page :is(.kvc-form-actions button[type=button],.kvc-person-result button) { color:var(--kvc-blue); border-color:#44626a; }
.kvc-page .kvc-field :is(input,select,textarea) { background:var(--kvc-field); color:var(--kvc-ink); border-color:#49616c; }
.kvc-page .kvc-field :is(input,select,textarea)::placeholder { color:#97a9b5; }
.kvc-page .kvc-field :is(input,select,textarea):focus { border-color:var(--kvc-blue); background:#102027; box-shadow:0 0 0 3px #20ccc126; }
.kvc-page .kvc-field [aria-invalid=true] { background:#2a171c; border-color:var(--kvc-error); box-shadow:none; }
.kvc-page .kvc-consent-wrap { background:var(--kvc-field); border-color:var(--kvc-line); }
.kvc-page :is(.kvc-consent-note,.kvc-consent) { color:var(--kvc-muted); }
.kvc-page :is(.kvc-field-error,.kvc-form-status.is-error,.kvc-consent-note>span,.kvc-consent>span>span) { color:var(--kvc-error); }
.kvc-page .kvc-form-status { color:var(--kvc-ink); }
.kvc-page .kvc-form-status.is-success { color:#8ce6c4; }
.kvc-page .kvc-catalog-error { border-color:var(--kvc-error); color:var(--kvc-error); }
.kvc-page button:disabled { opacity:.5; cursor:not-allowed; }
@media(max-width:1100px) { .kvc-page { --kvc-shell:min(960px,calc(100% - 48px)); } .kvc-page .kvc-nav.is-open { top:102px; } }
@media(max-width:820px) { .kvc-page { --kvc-shell:calc(100% - 40px); } .kvc-page .kvc-product-hero__grid { gap:32px; } }
@media(max-width:620px) {
  .kvc-page { --kvc-shell:calc(100% - 28px); }
  .kvc-page .kvc-header__main { min-height:74px; }
  .kvc-page .kvc-nav.is-open { top:74px; }
  .kvc-page .kvc-product-hero h1 { font-size:clamp(30px,8.2vw,42px); }
  .kvc-page .kvc-gallery__open { height:min(78vw,360px); }
}
@media(forced-colors:active) { .kvc-page :is(a,button,input,select,textarea) { forced-color-adjust:auto; } }
.kvc-page .tw-callback {
  --tw-callback-blue:var(--kvc-blue); --tw-callback-navy:var(--kvc-ink);
  --tw-callback-border:#49616c; --tw-callback-muted:var(--kvc-muted);
}
.kvc-page :is(.tw-callback__launcher,.tw-callback__submit) { background:var(--kvc-blue); color:#062022; box-shadow:0 8px 30px #0005; }
.kvc-page :is(.tw-callback__launcher,.tw-callback__submit):hover { background:var(--kvc-blue-bright); box-shadow:0 8px 30px #0005; }
.kvc-page .tw-callback__dialog { background:var(--kvc-dark-raised); border-color:var(--kvc-line); }
.kvc-page .tw-callback__head { background:#14252b; }
.kvc-page :is(.tw-callback__close,.tw-callback__group-label,.tw-callback__field>span) { color:var(--kvc-ink); }
.kvc-page :is(.tw-callback__person-note,.tw-callback__choice span,.tw-callback__field input) { background:var(--kvc-field); color:var(--kvc-ink); border-color:#49616c; }
.kvc-page .tw-callback__choice input:checked+span { background:var(--kvc-blue-soft); color:var(--kvc-blue); }
.kvc-page .tw-callback__close:hover { background:var(--kvc-blue-soft); }
.kvc-page .tw-callback__consent { color:var(--kvc-muted); }
.kvc-page .tw-callback__consent a { color:var(--kvc-blue); }
.kvc-page .tw-callback__status { color:var(--kvc-error); }
.kvc-page .tw-callback__success-icon { background:#163d32; color:#8ce6c4; }
.kvc-page .tw-callback__field input:focus { border-color:var(--kvc-blue); box-shadow:0 0 0 3px #20ccc126; }
