/* Approved reference skin: colour and corner treatment only.
   Deliberately no layout, sizing, spacing, font or image-geometry declarations.
   This stylesheet is the first author layer so its important appearance values
   take precedence over the existing protected design/glass layers. */
@layer sofastil-reference {
 :root {
  --ref-ground:#0E0E0D!important;
  --ref-surface:#1A1917!important;
  --ref-ivory:#F2EEE6!important;
  --ref-muted:#A39D93!important;
  --ref-champagne:#D2BC94!important;
  --ref-studio:#DAD4CA!important;
  --ref-daylight:#F4F1EB!important;
  --ref-ink:#1C1B19!important;
  --ref-bronze:#806238!important;
  --ref-muted-light:#5E5850!important;
  --ref-border:color-mix(in srgb,var(--ref-ivory) 24%,transparent)!important;
  --ref-image-radius:18px!important;
  --ref-panel-radius:22px!important;
  --ref-button-radius:999px!important;
 }
 :root,body {
  --paper:var(--ref-ground)!important;--ink:var(--ref-ivory)!important;
  --muted:var(--ref-muted)!important;--line:var(--ref-border)!important;
  --soft:var(--ref-surface)!important;--olive:var(--ref-champagne)!important;
  --hintergrund:var(--ref-ground)!important;--flaeche:var(--ref-surface)!important;
  --text:var(--ref-ivory)!important;--text-leise:var(--ref-muted)!important;
  --linie:var(--ref-border)!important;--akzent:var(--ref-champagne)!important;
  --grund:var(--ref-ground)!important;--kalk:var(--ref-surface)!important;
  --kalk-tief:var(--ref-surface)!important;--tinte:var(--ref-ivory)!important;
  --grau:var(--ref-muted)!important;--gruen:var(--ref-surface)!important;
  --gruen-hell:var(--ref-ground)!important;--gruen-zart:var(--ref-muted)!important;
  --messing:var(--ref-bronze)!important;--messing-dunkel:var(--ref-bronze)!important;
  --weiss:var(--ref-ivory)!important;
  --bg:var(--ref-ground)!important;--surface:var(--ref-surface)!important;
  --surface-2:var(--ref-surface)!important;--text-muted:var(--ref-muted)!important;
  --accent:var(--ref-champagne)!important;--accent-text:var(--ref-ink)!important;
  --glas:color-mix(in srgb,var(--ref-surface) 92%,transparent)!important;
  --glas-dunkel:color-mix(in srgb,var(--ref-ground) 92%,transparent)!important;
  --glas-rand:var(--ref-border)!important;
  --backdrop:color-mix(in srgb,var(--ref-ground) 82%,transparent)!important;
  --rund-pille:var(--ref-button-radius)!important;
  --rund-bild:var(--ref-image-radius)!important;--rund-flaeche:var(--ref-panel-radius)!important;
  --sofastil-radius-image:var(--ref-image-radius)!important;
  --sofastil-radius-panel:var(--ref-panel-radius)!important;
  --sofastil-radius-dialog:var(--ref-panel-radius)!important;
  --sofastil-radius-small:var(--ref-image-radius)!important;
  color-scheme:dark!important;background-color:var(--ref-ground)!important;color:var(--ref-ivory)!important;
 }
 /* Preserve existing light sections and studio cards as light contexts. */
 :where(.fabric-section,.fabric-detail-section,.material-library,.material-detail,.fabric-atelier,
  .fabric-collection-preview,.material-photo-group,.upholstery-card,.fabric-card,dialog[data-library-dialog]),
 :where(.materials-page,.material-library,.material-detail,.fabric-atelier,[data-material-library],[data-material-detail],[data-assortment-page="fabric-overview"],.fabric-legacy-detail,sofastil-fabrics,[data-fabric-fallback]) :where(.abschnitt--kalk,.category-card__image,.studio-photo-shell,.family-visual,.hero-photo,.showcase-gallery,
  .module-image-link,.showcase-image-link,.fabric-admin-cover,.admin-image-card>a) {
  --paper:var(--ref-daylight)!important;--ink:var(--ref-ink)!important;
  --muted:var(--ref-muted-light)!important;--line:color-mix(in srgb,var(--ref-ink) 40%,transparent)!important;
  --hintergrund:var(--ref-daylight)!important;--flaeche:var(--ref-ivory)!important;
  --text:var(--ref-ink)!important;--text-leise:var(--ref-muted-light)!important;
  --linie:color-mix(in srgb,var(--ref-ink) 40%,transparent)!important;
  --grund:var(--ref-daylight)!important;--kalk:var(--ref-studio)!important;
  --tinte:var(--ref-ink)!important;--grau:var(--ref-muted-light)!important;
  --bg:var(--ref-daylight)!important;--surface:var(--ref-ivory)!important;--surface-2:var(--ref-studio)!important;
  --text-muted:var(--ref-muted-light)!important;--accent:var(--ref-bronze)!important;
  --akzent:var(--ref-bronze)!important;--accent-text:var(--ref-ivory)!important;
  color-scheme:light!important;background-color:var(--ref-daylight)!important;color:var(--ref-ink)!important;
 }
 :where(.category-card__image,.studio-photo-shell,.family-visual,.hero-photo,.showcase-gallery,
  .module-image-link,.showcase-image-link,.fabric-admin-cover,.admin-image-card>a,
  .category-media,.collection-photo,.product-image,.product-photo,.material-picture,.module-image,.module-choice-image) {
  background-color:var(--ref-studio)!important;border-color:var(--ref-border)!important;
  border-radius:var(--ref-image-radius)!important;
 }
 :where(.site-header,.menu-head,.menu-content,.site-menu,.kopf__leiste,.menue,.mega,
  .admin-sidebar,.admin-topbar,.planer__leiste,.planer__leiste-rechts,.planer__fuss,
  dialog:not([data-library-dialog]),.hn-dialog,.language-dialog,.language-panel,.contact-dock,
  .admin-panel,.hn-panel,.form-preview,.selection,.builder,.module-sheet,.fabric-sheet) {
  background-color:var(--ref-surface)!important;color:var(--ref-ivory)!important;border-color:var(--ref-border)!important;
 }
 :where(.site-footer,.hn-footer,.fuss){background-color:var(--ref-ground)!important;color:var(--ref-ivory)!important;border-color:var(--ref-border)!important;}
 :where(.kopf__leiste,.admin-panel,.hn-panel,.form-preview,.selection,.builder,dialog,.hn-dialog,.module-sheet,.fabric-sheet){border-radius:var(--ref-panel-radius)!important;}
 :where(.kopf__leiste){border-radius:var(--ref-button-radius)!important;}
 :where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,legend,label,summary,figcaption,a){color:var(--text,var(--ref-ivory))!important;}
 :where(.leise,.muted,.hn-muted,.small-note,.field-note,.eyebrow,.zeile-oben,.breadcrumbs,.breadcrumb,
  .hn-breadcrumb,.family-subtitle,.module-price-note,figcaption,small){color:var(--text-leise,var(--ref-muted))!important;}
 :where(a:hover){color:var(--akzent,var(--ref-champagne))!important;}
 /* Existing control boxes keep all widths, heights, padding and alignment.
    Image cards and true fabric/colour swatches are excluded from text actions. */
 :where(button,input[type=button],input[type=submit],input[type=reset],[role=button],a:is(.knopf,.button,.btn,.glass-action,.glass-button,.quiet-link,.service-cta,.request-submit,.consultation-link,.focus-button,.kitchen-button,.ke-glass,.plan-primary,.plan-secondary,.ss-primary,.hn-primary,.admin-primary,.kq-primary,.kq-edit,.km-add,.km-more,.ks-load-more,.google-start,.apple-start,.directions-link,.product-enquire,.language-choice,.back-control,.fabric-view-button,.home-bespoke-primary,.home-shop-primary,.family-action,.add-button)):not(:where(:has(img,picture,canvas),.family-card,.module-image-link,.showcase-image-link,.fabric-card,.fabric-option,.upholstery-card,.form-start-button,.form-selected-button,.module-choice,.swatch,[data-swatch],[data-farbe],[data-inline-zoom],.ss-swatches button,.glass-swatch,[data-glass-swatch],.colour-swatch,.color-swatch,.fabric-swatch,.upholstery-swatch,.photo-actions button,.photo-action,.photo-like,.like-button,[data-like],[data-like-toggle],[data-favorite],.favorite-button,.farbwahl button,[style*="--swatch"],[style*="--farbe"],[style*="--f:"])) {
  --k-hg:transparent!important;--k-schrift:var(--text)!important;--k-rand:var(--line)!important;
  background-color:transparent!important;background-image:none!important;
  border-color:var(--line)!important;border-radius:var(--ref-button-radius)!important;
  color:var(--text)!important;-webkit-text-fill-color:currentColor!important;box-shadow:none!important;
 }
 :where(.knopf--haupt,.service-cta,.request-submit,.consultation-link,.focus-button,.plan-primary,.ss-primary,.hn-primary,.admin-primary,.kq-primary,.km-add,.home-bespoke-primary,button[type=submit],input[type=submit],.add-button,button[data-add]) {
  --k-hg:var(--ref-champagne)!important;--k-schrift:var(--ref-ink)!important;--k-rand:var(--ref-champagne)!important;
  background-color:var(--ref-champagne)!important;background-image:none!important;
  border-color:var(--ref-champagne)!important;color:var(--ref-ink)!important;
  -webkit-text-fill-color:var(--ref-ink)!important;border-radius:var(--ref-button-radius)!important;
 }
 :where(.knopf--haupt :is(span,strong,small,svg),.service-cta :is(span,strong,small,svg),.request-submit :is(span,strong,small,svg),.consultation-link :is(span,strong,small,svg),.focus-button :is(span,strong,small,svg),.plan-primary :is(span,strong,small,svg),.ss-primary :is(span,strong,small,svg),.hn-primary :is(span,strong,small,svg),.admin-primary :is(span,strong,small,svg),.kq-primary :is(span,strong,small,svg),.km-add :is(span,strong,small,svg),.home-bespoke-primary :is(span,strong,small,svg),button[type=submit] :is(span,strong,small,svg),input[type=submit] :is(span,strong,small,svg),.add-button :is(span,strong,small,svg),button[data-add] :is(span,strong,small,svg)){color:var(--ref-ink)!important;-webkit-text-fill-color:currentColor!important;}
 :where(.knopf--hell){background-color:var(--ref-ivory)!important;border-color:var(--ref-ivory)!important;color:var(--ref-ink)!important;-webkit-text-fill-color:currentColor!important;border-radius:var(--ref-button-radius)!important;}
 /* A dark action on the existing daylight fabric sections matches the reference. */
 :where(.fabric-section,.fabric-detail-section,.material-library,.material-detail,.fabric-atelier,.materials-page .abschnitt--kalk,.material-library .abschnitt--kalk,.material-detail .abschnitt--kalk,.fabric-atelier .abschnitt--kalk,[data-material-library] .abschnitt--kalk,[data-material-detail] .abschnitt--kalk,[data-assortment-page="fabric-overview"] .abschnitt--kalk,.fabric-legacy-detail .abschnitt--kalk,sofastil-fabrics .abschnitt--kalk,[data-fabric-fallback] .abschnitt--kalk)
 :where(.knopf--haupt,.service-cta,.request-submit,.consultation-link,.focus-button,button[type=submit]) {
  background-color:var(--ref-ink)!important;border-color:var(--ref-ink)!important;
  color:var(--ref-ivory)!important;-webkit-text-fill-color:var(--ref-ivory)!important;
 }
 :where(.fabric-section,.fabric-detail-section,.material-library,.material-detail,.fabric-atelier,.materials-page .abschnitt--kalk,.material-library .abschnitt--kalk,.material-detail .abschnitt--kalk,.fabric-atelier .abschnitt--kalk,[data-material-library] .abschnitt--kalk,[data-material-detail] .abschnitt--kalk,[data-assortment-page="fabric-overview"] .abschnitt--kalk,.fabric-legacy-detail .abschnitt--kalk,sofastil-fabrics .abschnitt--kalk,[data-fabric-fallback] .abschnitt--kalk)
 :where(.knopf--haupt,.service-cta,.request-submit,.consultation-link,.focus-button,button[type=submit]) :where(span,strong,small,svg){color:var(--ref-ivory)!important;-webkit-text-fill-color:currentColor!important;}
 :where(.knopf--haupt,.knopf--hell)::before,:where(.knopf--haupt)::after{background:var(--ref-bronze)!important;box-shadow:none!important;}
 :where(.photo-actions button,.photo-action,.photo-like,.like-button,[data-like],[data-like-toggle],[data-favorite],.favorite-button){border-radius:var(--ref-button-radius)!important;}
 :where(.filter-chip,.chip,.tag-button,.filter-button,.kategorie-chip,.step-chip){border-radius:var(--ref-button-radius)!important;border-color:var(--line)!important;}
 /* Only the stroke/colour changes on selected real swatches: their fills stay real. */
 :where([aria-pressed=true],[aria-selected=true],.is-selected,.selected){border-color:var(--accent,var(--ref-champagne))!important;}
 :where(:focus-visible){outline-color:var(--accent,var(--ref-champagne))!important;}
 :where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=button]):not([type=submit]):not([type=reset]),select,textarea){
  background-color:var(--ref-daylight)!important;color:var(--ref-ink)!important;
  -webkit-text-fill-color:var(--ref-ink)!important;border-color:var(--ref-muted)!important;
 }
 :where(input,textarea)::placeholder{color:var(--ref-muted-light)!important;-webkit-text-fill-color:var(--ref-muted-light)!important;}
 :where(input[type=checkbox],input[type=radio],input[type=range]){accent-color:var(--ref-champagne)!important;}
 :where(th,td){background-color:var(--surface)!important;color:var(--text)!important;border-color:var(--line)!important;}
 /* Crop, proportions and source pixels stay untouched. Logos, flags, payment
    marks and social icons keep their existing outlines. */
 :where(img):not(:where(.brand img,.marke img,.kopf__marke img,.fuss__marke img,
  .admin-brand img,.logo img,[class*="logo"] img,img.logo,img[alt*="logo" i],img[src*="/logos/"],
  .social-link img,.social-icons img,.sprachliste img,.fuss__sprachen img,.payment-icons img,
  img[src*="/flags/"],img[src*="flag-"])) {
  border-radius:var(--ref-image-radius)!important;
  outline:1px solid color-mix(in srgb,var(--ref-ink) 12%,transparent)!important;outline-offset:-1px!important;
 }
 :where(.family-card,.fabric-card,.upholstery-card,.material-card,.fabric-collection-card){border-radius:var(--ref-panel-radius)!important;}
 :where(dialog)::backdrop{background-color:color-mix(in srgb,var(--ref-ground) 82%,transparent)!important;}
 /* The existing 2027 homepage uses these same controls and image shells. */
 :where(.home-hero__planner){background-color:var(--ref-champagne)!important;background-image:none!important;border-color:var(--ref-champagne)!important;border-radius:var(--ref-button-radius)!important;color:var(--ref-ink)!important;-webkit-text-fill-color:var(--ref-ink)!important;box-shadow:none!important;}
 :where(.home-hero__planner :is(span,svg)){color:var(--ref-ink)!important;-webkit-text-fill-color:currentColor!important;}
 :where(.bild,.home-hero__frame){background-color:var(--ref-studio)!important;border-color:var(--line)!important;border-radius:var(--ref-image-radius)!important;}
 :where(.kachel,.produktkarte,.stoffkarte,.showroom__karte){border-color:var(--line)!important;border-radius:var(--ref-panel-radius)!important;}
 ::selection{background-color:var(--ref-champagne)!important;color:var(--ref-ink)!important;}

 /* Colour repair: dark furniture surfaces; real material areas retain their previous colours. */
 :where(.category-card__image,.studio-photo-shell,.family-visual,.hero-photo,.showcase-gallery,.module-image-link,.showcase-image-link,.category-media,.collection-photo,.product-image,.product-photo,.module-image,.module-choice-image,.bild,.home-hero__frame,.galerie,.studio-gallery,.studio-photos,.collection-gallery,.product-gallery,.photo-viewer,.hn-image-dialog,.hn-gallery-full,.pswp,.hn-photo,.module-card,.family-card,.showroom__karte,.abschnitt--kalk,.abschnitt--gruen,.planerband,.mega__karte,.menue__karte):not(:where(.materials-page,.materials-page *,.material-library,.material-library *,.material-detail,.material-detail *,.fabric-atelier,.fabric-atelier *,[data-material-library],[data-material-library] *,[data-material-detail],[data-material-detail] *,[data-assortment-page="fabric-overview"],[data-assortment-page="fabric-overview"] *,.fabric-legacy-detail,.fabric-legacy-detail *,sofastil-fabrics,sofastil-fabrics *,[data-fabric-fallback],[data-fabric-fallback] *)) {
  background-color:var(--ref-ground)!important;color:var(--ref-ivory)!important;border-color:var(--ref-border)!important;
 }
 /* Labels and SVGs can set their own colour, so pair them explicitly with their control. */
 :where(button,input[type=button],input[type=submit],input[type=reset],[role=button],a:is(.knopf,.button,.btn,.glass-action,.glass-button,.quiet-link,.service-cta,.request-submit,.consultation-link,.focus-button,.kitchen-button,.ke-glass,.plan-primary,.plan-secondary,.ss-primary,.hn-primary,.admin-primary,.kq-primary,.kq-edit,.km-add,.km-more,.ks-load-more,.google-start,.apple-start,.directions-link,.product-enquire,.language-choice,.back-control,.fabric-view-button,.home-bespoke-primary,.home-shop-primary,.family-action,.add-button)):not(:where(:has(img,picture,canvas),.family-card,.module-image-link,.showcase-image-link,.fabric-card,.fabric-option,.upholstery-card,.form-start-button,.form-selected-button,.module-choice,.swatch,[data-swatch],[data-farbe],[data-inline-zoom],.ss-swatches button,.glass-swatch,[data-glass-swatch],.colour-swatch,.color-swatch,.fabric-swatch,.upholstery-swatch,.photo-actions button,.photo-action,.photo-like,.like-button,[data-like],[data-like-toggle],[data-favorite],.favorite-button,.farbwahl button,[style*="--swatch"],[style*="--farbe"],[style*="--f:"])):not(:where(.materials-page,.materials-page *,.material-library,.material-library *,.material-detail,.material-detail *,.fabric-atelier,.fabric-atelier *,[data-material-library],[data-material-library] *,[data-material-detail],[data-material-detail] *,[data-assortment-page="fabric-overview"],[data-assortment-page="fabric-overview"] *,.fabric-legacy-detail,.fabric-legacy-detail *,sofastil-fabrics,sofastil-fabrics *,[data-fabric-fallback],[data-fabric-fallback] *)) :where(span,strong,small,em,b,bdi,svg) {
  color:inherit!important;-webkit-text-fill-color:currentColor!important;
 }
 .category-card__action:not(:where(.materials-page,.materials-page *,.material-library,.material-library *,.material-detail,.material-detail *,.fabric-atelier,.fabric-atelier *,[data-material-library],[data-material-library] *,[data-material-detail],[data-material-detail] *,[data-assortment-page="fabric-overview"],[data-assortment-page="fabric-overview"] *,.fabric-legacy-detail,.fabric-legacy-detail *,sofastil-fabrics,sofastil-fabrics *,[data-fabric-fallback],[data-fabric-fallback] *)), .planner-link:not(:where(.materials-page,.materials-page *,.material-library,.material-library *,.material-detail,.material-detail *,.fabric-atelier,.fabric-atelier *,[data-material-library],[data-material-library] *,[data-material-detail],[data-material-detail] *,[data-assortment-page="fabric-overview"],[data-assortment-page="fabric-overview"] *,.fabric-legacy-detail,.fabric-legacy-detail *,sofastil-fabrics,sofastil-fabrics *,[data-fabric-fallback],[data-fabric-fallback] *)) {
  color:var(--ref-ivory)!important;-webkit-text-fill-color:currentColor!important;
  background-color:transparent!important;border-color:var(--ref-ivory)!important;
 }
 :where(.category-card__action,.planner-link):not(:where(.materials-page,.materials-page *,.material-library,.material-library *,.material-detail,.material-detail *,.fabric-atelier,.fabric-atelier *,[data-material-library],[data-material-library] *,[data-material-detail],[data-material-detail] *,[data-assortment-page="fabric-overview"],[data-assortment-page="fabric-overview"] *,.fabric-legacy-detail,.fabric-legacy-detail *,sofastil-fabrics,sofastil-fabrics *,[data-fabric-fallback],[data-fabric-fallback] *)) :where(span,svg,strong,small) {
  color:inherit!important;-webkit-text-fill-color:currentColor!important;
 }
 .knopf--glas:not(:where(.materials-page,.materials-page *,.material-library,.material-library *,.material-detail,.material-detail *,.fabric-atelier,.fabric-atelier *,[data-material-library],[data-material-library] *,[data-material-detail],[data-material-detail] *,[data-assortment-page="fabric-overview"],[data-assortment-page="fabric-overview"] *,.fabric-legacy-detail,.fabric-legacy-detail *,sofastil-fabrics,sofastil-fabrics *,[data-fabric-fallback],[data-fabric-fallback] *)) {
  --k-hg:var(--ref-ground)!important;--k-schrift:var(--ref-ivory)!important;--k-rand:var(--ref-border)!important;
  background-color:var(--ref-ground)!important;color:var(--ref-ivory)!important;-webkit-text-fill-color:currentColor!important;border-color:var(--ref-border)!important;
 }
 /* Language choices are anchors rather than the regular button component. */
 :where(.menue__sprachen,.spree-menu-languages,.sprachfeld__weitere) a {
  background-color:var(--ref-surface)!important;color:var(--ref-ivory)!important;
  -webkit-text-fill-color:currentColor!important;border-color:var(--ref-border)!important;
 }
 :where(.menue__sprachen,.spree-menu-languages,.sprachfeld__weitere) a :where(span,bdi,svg,strong) {
  color:inherit!important;-webkit-text-fill-color:currentColor!important;
 }
 :where(.menue__sprachen,.spree-menu-languages,.sprachfeld__weitere) a:is([aria-current="true"],[aria-current="page"]) {
  background-color:var(--ref-champagne)!important;color:var(--ref-ink)!important;border-color:var(--ref-champagne)!important;
 }
 :where(.fuss__sprachen,.fuss__sprachen--flaggen) a {
  color:var(--ref-ivory)!important;-webkit-text-fill-color:currentColor!important;border-color:var(--ref-border)!important;
 }
 :where(.fuss__sprachen,.fuss__sprachen--flaggen) a:is(:hover,[aria-current="true"],[aria-current="page"]),
 :where(.fuss__sprachen,.fuss__sprachen--flaggen) :where(.fuss__sprachstatus,.fuss__sprachzeichen) {
  color:var(--ref-champagne)!important;-webkit-text-fill-color:currentColor!important;border-color:var(--ref-champagne)!important;
 }
 :where(.fuss__sprachen,.fuss__sprachen--flaggen) a :where(span,bdi,svg) {
  color:inherit!important;-webkit-text-fill-color:currentColor!important;
 }
}
