/* Legacy-page shell (memory storefront/code-landing-pages.md § old-theme conversion, founder 2026-10-19: every page on the new design).
   Scope: body.is-vs-legacy = a storefront page WITHOUT its own LAB2 template (shop's own legal texts of non-cs locales, search, login/register/account,
   404 …). Header, footer, tokens (--ink --coral --fd --fb …) and the cookie/chat layer come from site.css; this file only restyles the theme's content
   (Shopware/Bootstrap classes) to the same tokens. Built by site/build_legacy.py → public/site/legacy.<hash>.css. */

/* ---- frame: the fixed pill header floats over the page, content starts below it ---- */
body.is-vs-legacy{background:var(--cream);color:var(--ink);font-family:var(--fb);font-size:1.0625rem;line-height:1.65}
body.is-vs-legacy .content-main{padding:112px 0 0!important;margin:0!important;max-width:none!important;min-height:60vh}
body.is-vs-legacy .container-main{max-width:1240px;margin:0 auto!important;padding:0 var(--gut) 72px!important}
body.is-vs-legacy .container-main .container,body.is-vs-legacy .flashbags.container{max-width:none;padding-left:0;padding-right:0}
body.is-vs-legacy .cms-section .boxed,body.is-vs-legacy .cms-section-default .boxed{max-width:none;padding-left:0;padding-right:0}
body.is-vs-legacy .cms-section{padding:0}
body.is-vs-legacy .cms-block{margin-bottom:28px}
body.is-vs-legacy .cms-block-container-row{padding:0}
body.is-vs-legacy .cms-block-container-row.row{margin-left:0;margin-right:0}
body.is-vs-legacy .cms-block-container-row.row>.col-12{padding-left:0;padding-right:0}
body.is-vs-legacy .footer-main{display:none}

/* ---- type ---- */
body.is-vs-legacy .content-main h1,body.is-vs-legacy .content-main h2,body.is-vs-legacy .content-main h3,body.is-vs-legacy .content-main h4,
body.is-vs-legacy .content-main h5,body.is-vs-legacy .content-main h6,body.is-vs-legacy .content-main .h1,body.is-vs-legacy .content-main .h2,
body.is-vs-legacy .content-main .h3,body.is-vs-legacy .content-main .h4,body.is-vs-legacy .content-main .login-card .card-title,
body.is-vs-legacy .content-main .card-title{font-family:var(--fd);font-weight:640;letter-spacing:-.02em;line-height:1.12;color:var(--ink);text-transform:none}
body.is-vs-legacy .content-main h1,body.is-vs-legacy .content-main .h1{font-size:clamp(2rem,4.2vw,3.1rem);margin:0 0 .6em}
body.is-vs-legacy .content-main h2,body.is-vs-legacy .content-main .h2{font-size:clamp(1.5rem,2.6vw,2.1rem);margin:1.4em 0 .5em}
body.is-vs-legacy .content-main h3,body.is-vs-legacy .content-main .h3{font-size:clamp(1.2rem,1.9vw,1.5rem);margin:1.2em 0 .45em}
body.is-vs-legacy .content-main h4,body.is-vs-legacy .content-main .h4,body.is-vs-legacy .content-main h5,body.is-vs-legacy .content-main h6{font-size:1.1rem;margin:1em 0 .4em}
body.is-vs-legacy .content-main p,body.is-vs-legacy .content-main li,body.is-vs-legacy .content-main td,body.is-vs-legacy .content-main th,body.is-vs-legacy .content-main label,
body.is-vs-legacy .content-main dd,body.is-vs-legacy .content-main dt,body.is-vs-legacy .content-main span,body.is-vs-legacy .content-main small{font-family:var(--fb);color:inherit}
body.is-vs-legacy .content-main p{margin:0 0 1em}
body.is-vs-legacy .content-main strong,body.is-vs-legacy .content-main b{font-weight:650}
body.is-vs-legacy .content-main a:not(.btn){color:var(--ink2);text-decoration:underline;text-decoration-color:#f9808099;text-underline-offset:3px;text-decoration-thickness:1.5px}
body.is-vs-legacy .content-main a:not(.btn):hover{color:var(--ink);text-decoration-color:var(--coral)}
body.is-vs-legacy .content-main ul,body.is-vs-legacy .content-main ol{padding-left:1.3em}
body.is-vs-legacy .content-main li::marker{color:var(--coral)}
body.is-vs-legacy .content-main img{max-width:100%;height:auto;border-radius:var(--r)}
body.is-vs-legacy .content-main hr{border:0;border-top:1px solid var(--line);margin:2em 0}

/* readable measure for the shop's own text pages (legal, imprint, certificates) */
body.is-vs-legacy .cms-element-text,body.is-vs-legacy .cms-element-html{max-width:860px}
body.is-vs-legacy .cms-element-text table,body.is-vs-legacy .cms-element-html table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:.97rem}
body.is-vs-legacy .cms-element-text th,body.is-vs-legacy .cms-element-text td,body.is-vs-legacy .cms-element-html th,body.is-vs-legacy .cms-element-html td{border:1px solid var(--line);padding:.6em .8em;text-align:left;vertical-align:top}
body.is-vs-legacy .cms-element-text th,body.is-vs-legacy .cms-element-html th{background:#fff;font-weight:650}

/* ---- breadcrumb ---- */
body.is-vs-legacy .breadcrumb{background:none;margin:0 0 1.2em;padding:0;font-size:.9rem;color:var(--ink3);flex-wrap:wrap;gap:2px 6px}
body.is-vs-legacy .breadcrumb a,body.is-vs-legacy .breadcrumb-item,body.is-vs-legacy .breadcrumb-item div{color:var(--ink3);text-decoration:none}
body.is-vs-legacy .breadcrumb a:hover{color:var(--ink)}
body.is-vs-legacy .breadcrumb-item.is-active,body.is-vs-legacy .breadcrumb-item.is-active a{color:var(--ink);font-weight:600}
body.is-vs-legacy .breadcrumb-container{margin:0}

/* ---- buttons ---- */
body.is-vs-legacy .content-main .btn{font-family:var(--fb);font-weight:650;border-radius:99px;padding:.8em 1.7em;border-width:1.5px;line-height:1.2;text-transform:none;letter-spacing:0;transition:background .25s,color .25s,border-color .25s,transform .25s}
body.is-vs-legacy .content-main .btn-primary,body.is-vs-legacy .content-main .btn-buy,body.is-vs-legacy .content-main .btn-cta{background:var(--cta);border-color:var(--cta);color:var(--ink)}
body.is-vs-legacy .content-main .btn-primary:hover,body.is-vs-legacy .content-main .btn-primary:focus,body.is-vs-legacy .content-main .btn-buy:hover,body.is-vs-legacy .content-main .btn-cta:hover{background:var(--cta-hover);border-color:var(--cta-hover);color:var(--ink)}
body.is-vs-legacy .content-main .btn-secondary,body.is-vs-legacy .content-main .btn-outline-primary,body.is-vs-legacy .content-main .btn-light,body.is-vs-legacy .content-main .btn-outline-secondary{background:#fff;border-color:var(--ink);color:var(--ink)}
body.is-vs-legacy .content-main .btn-secondary:hover,body.is-vs-legacy .content-main .btn-outline-primary:hover,body.is-vs-legacy .content-main .btn-light:hover,body.is-vs-legacy .content-main .btn-outline-secondary:hover{background:var(--ink);color:#fff}
body.is-vs-legacy .content-main .btn-link{color:var(--ink2);text-decoration:underline;border:0;padding:0;font-weight:600}
body.is-vs-legacy .content-main .btn-block{width:100%}
body.is-vs-legacy .content-main .btn:focus-visible,body.is-vs-legacy .content-main a:focus-visible,body.is-vs-legacy .content-main .form-control:focus-visible{outline:3px solid var(--teal);outline-offset:2px;box-shadow:none}

/* ---- forms ---- */
body.is-vs-legacy .content-main .form-control,body.is-vs-legacy .content-main .form-select,body.is-vs-legacy .content-main textarea,
body.is-vs-legacy .content-main input[type=text],body.is-vs-legacy .content-main input[type=email],body.is-vs-legacy .content-main input[type=password],
body.is-vs-legacy .content-main input[type=tel],body.is-vs-legacy .content-main input[type=search],body.is-vs-legacy .content-main select{font-family:var(--fb);font-size:1rem;color:var(--ink);background-color:#fff;border:1.5px solid #0f2a2933;border-radius:16px;padding:.7em 1em;min-height:50px;box-shadow:none}
body.is-vs-legacy .content-main .form-control:focus,body.is-vs-legacy .content-main .form-select:focus,body.is-vs-legacy .content-main textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #a5c4c366;outline:0}
body.is-vs-legacy .content-main .form-label,body.is-vs-legacy .content-main label{font-weight:600;color:var(--ink);margin-bottom:.35em}
body.is-vs-legacy .content-main .form-text,body.is-vs-legacy .content-main .form-field-hint{color:var(--ink3);font-size:.9rem}
body.is-vs-legacy .content-main .is-invalid,body.is-vs-legacy .content-main .form-control.is-invalid{border-color:#b3261e}
body.is-vs-legacy .content-main .invalid-feedback,body.is-vs-legacy .content-main .form-field-feedback{color:#b3261e;font-size:.9rem}
body.is-vs-legacy .content-main .form-check-input{accent-color:var(--coral);border-color:#0f2a2966}
body.is-vs-legacy .content-main .form-check-input:checked{background-color:var(--coral);border-color:var(--coral)}
body.is-vs-legacy .content-main .required,body.is-vs-legacy .content-main .form-required-label,body.is-vs-legacy .content-main .required-fields{color:var(--ink3)}

/* ---- cards / account / login ---- */
body.is-vs-legacy .content-main .card,body.is-vs-legacy .content-main .login-card,body.is-vs-legacy .content-main .register-card,body.is-vs-legacy .content-main .account-content .card{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);color:var(--ink)}
body.is-vs-legacy .content-main .card-header,body.is-vs-legacy .content-main .card-footer{background:none;border:0}
body.is-vs-legacy .content-main .card-title,body.is-vs-legacy .content-main .login-card .card-title,body.is-vs-legacy .content-main .register-card .card-title{font-size:1.35rem;border:0;padding-bottom:0;color:var(--ink)}
body.is-vs-legacy .content-main .card-body{padding:clamp(20px,3vw,34px)}
body.is-vs-legacy .content-main .login-card ul,body.is-vs-legacy .content-main .register-card ul{list-style:none;padding:0}
body.is-vs-legacy .content-main .login-card ul li{padding:.15em 0}
body.is-vs-legacy .content-main .account-aside .list-group-item,body.is-vs-legacy .content-main .account-aside-item{border:0;border-radius:14px;color:var(--ink);font-weight:550;background:none}
body.is-vs-legacy .content-main .account-aside .list-group-item.is-active,body.is-vs-legacy .content-main .account-aside-item.is-active{background:var(--mint);color:var(--ink)}
body.is-vs-legacy .content-main .table{color:var(--ink)}
body.is-vs-legacy .content-main .border,body.is-vs-legacy .content-main .border-top,body.is-vs-legacy .content-main .border-bottom{border-color:var(--line)!important}

/* ---- alerts, pagination, badges ---- */
body.is-vs-legacy .content-main .alert{border-radius:18px;border:1px solid var(--line);color:var(--ink);font-family:var(--fb)}
body.is-vs-legacy .content-main .alert-success{background:var(--mint)}
body.is-vs-legacy .content-main .alert-danger,body.is-vs-legacy .content-main .alert-warning{background:var(--blush)}
body.is-vs-legacy .content-main .alert-info{background:var(--sky)}
body.is-vs-legacy .pagination .page-link{border:0;border-radius:99px;color:var(--ink);margin:0 2px;font-weight:600;background:none}
body.is-vs-legacy .pagination .page-item.active .page-link{background:var(--ink);color:#fff}
body.is-vs-legacy .content-main .badge{border-radius:99px;font-family:var(--fb);font-weight:650}

/* ---- search page + product listings ---- */
body.is-vs-legacy .search-headline,body.is-vs-legacy .search-page h1{font-family:var(--fd)}
body.is-vs-legacy .product-box.card{border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);transition:transform .3s,box-shadow .3s}
body.is-vs-legacy .product-box.card:hover{transform:translateY(-3px);box-shadow:var(--sh-hi)}
body.is-vs-legacy .product-box .product-image-wrapper{background:var(--cream)}
body.is-vs-legacy .product-box .product-image{border-radius:0}
body.is-vs-legacy .product-box .product-name{font-family:var(--fd);font-weight:620;color:var(--ink);text-decoration:none;letter-spacing:-.01em;line-height:1.25}
body.is-vs-legacy .product-box .product-price,body.is-vs-legacy .product-box .product-price-info,body.is-vs-legacy .product-box .product-price-unit{font-family:var(--fb);color:var(--ink)}
body.is-vs-legacy .product-box .product-price{font-weight:700}
body.is-vs-legacy .product-box .product-description{color:var(--ink2);font-size:.95rem}
body.is-vs-legacy .product-box .btn{width:100%}
body.is-vs-legacy .filter-panel,body.is-vs-legacy .filter-panel-wrapper{font-family:var(--fb)}

/* ---- phone ---- */
@media (max-width:767.98px){
  body.is-vs-legacy .content-main{padding-top:92px!important}
  body.is-vs-legacy .container-main{padding-bottom:48px!important}
  body.is-vs-legacy .content-main .btn{padding:.85em 1.4em}
  body.is-vs-legacy .content-main .card-body{padding:20px}
}

/* ---- 404 (site-legacy/_404.html.twig) ---- */
body.is-vs-legacy .lc404{max-width:640px;margin:6vh auto 4vh;text-align:center}
body.is-vs-legacy .lc404-code{font-family:var(--fd);font-weight:640;font-size:clamp(4.5rem,14vw,9rem);line-height:1;letter-spacing:-.04em;color:var(--blush);margin:0 0 .1em}
body.is-vs-legacy .lc404 h1{margin-top:0}
body.is-vs-legacy .lc404-text{color:var(--ink2);margin-bottom:1.6em}
body.is-vs-legacy .lc404-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
