


.galerie-modular { aspect-ratio: 3 / 2; }
.galerie-modular img { object-fit: cover; padding: 0; }
.galerie-modular .galerie-schita { background: #FFFFFF; }

.galerie-mici-modular { display: flex; gap: var(--sp-2); overflow-x: auto; scrollbar-width: thin; padding-bottom: var(--sp-1); }
.galerie-mici-modular .mica { position: relative; flex: 0 0 72px; width: 72px; height: 48px; }   
.galerie-mici-modular .mica img { object-fit: cover; }
.nota-poze { margin: var(--sp-2) 0 0; font-size: var(--s14); color: var(--secundar); }



.nota-pret { margin: var(--sp-2) 0 0; font-size: var(--s14); color: var(--secundar); }
.nota-pret[hidden], .orientare[hidden], .mica[hidden] { display: none; }
.modele { border: 0; margin: 0 0 var(--sp-4); padding: 0; min-width: 0; }
.modele legend { font-weight: 700; padding: 0; margin-bottom: var(--sp-2); }
.modele-grila { display: grid; grid-template-columns: minmax(0, 1fr); grid-auto-rows: 1fr; gap: var(--sp-2); }
.model-opt { position: relative; cursor: pointer; min-width: 0; }
.model-opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.model-card { display: grid; grid-template-columns: 88px minmax(0, 1fr); align-items: center; height: 100%; border: 1px solid #8A857E; border-radius: var(--raza); background: #FFFFFF; overflow: hidden; }
.model-opt input:checked + .model-card { border-color: var(--petrol); box-shadow: 0 0 0 2px var(--petrol); }
.model-opt input:focus-visible + .model-card { outline: 3px solid var(--auriu); outline-offset: 3px; }
.model-poza { position: relative; display: block; align-self: stretch; min-height: 72px; background: #F4F2EE; }
.model-poza img { display: block; width: 100%; height: 100%; object-fit: cover; }
.model-poza .mini-vedere { position: absolute; right: 4px; bottom: 4px; width: 36px; height: 30px; padding: 3px; background: rgba(255,255,255,.94); border-radius: var(--raza); }
.model-info { display: grid; gap: 2px; align-content: center; padding: var(--sp-2); font-size: var(--s14); color: var(--secundar); }
.model-info strong { font-size: var(--s14); color: var(--text); line-height: 1.3; text-wrap: balance; }
.model-info small { font-size: var(--s14); }   
.model-info .model-pret { font-size: var(--s14); font-weight: 700; color: var(--text); }
.mv-piesa { fill: #F2EEE7; stroke: #6B6258; stroke-width: 6; }
.mv-masuta { fill: #C9A96A; stroke: #6B6258; stroke-width: 6; }
.orientare .varianta span { align-items: center; text-align: center; }
.mv-parte { width: 72px; height: 52px; margin-bottom: var(--sp-1); }
.pas-culoare { border: 0; margin: 0 0 var(--sp-4); padding: 0; min-width: 0; }
.pas-culoare legend { display: flex; width: 100%; font-weight: 700; padding: 0; margin-bottom: var(--sp-2); }
.pas-culoare .mic { margin: var(--sp-2) 0 0; font-size: var(--s14); color: var(--secundar); }
.pas-culoare .spre-vizita { font-weight: 700; color: #7A6015; text-underline-offset: 4px; }
.spre-compune { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 0 var(--sp-3); margin: 0 0 var(--sp-4); padding: var(--sp-3) var(--sp-4);
  min-height: 44px; border: 1px solid var(--petrol); border-radius: var(--raza); background: var(--fundal-alt); color: var(--text); text-decoration: none; }
.spre-compune strong { font-size: var(--s16); }
.spre-compune span { grid-column: 1; font-size: var(--s14); color: var(--secundar); text-decoration: underline; text-underline-offset: 4px; }
.spre-compune .sag { grid-column: 2; grid-row: 1 / span 2; width: 12px; height: 12px; fill: none; stroke: var(--petrol); stroke-width: 2; }
.spre-compune:focus-visible { outline: 3px solid var(--auriu); outline-offset: 2px; }


.compune { border-top: 1px solid var(--linie); margin-top: var(--sp-7); }
.cfg-cap { margin-bottom: var(--sp-5); }
.cfg-cap h2 { font-size: var(--s24); }
.cfg-cap .sub { max-width: 60ch; }
.cfg-grila { display: grid; gap: var(--sp-5); align-items: start; }
.vedere { background: #FFFFFF; border: 1px solid var(--linie); border-radius: var(--raza); padding: var(--sp-3); }
[data-vedere] svg { width: 100%; height: auto; max-height: 420px; display: block; }
[data-vedere] rect { stroke: #6B6258; stroke-width: 2; }
[data-vedere] .p-modul { fill: #F2EEE7; }
[data-vedere] .p-brat { fill: #E6DFD3; }
[data-vedere] .p-colt { fill: #EAE3D7; }
[data-vedere] .p-masuta { fill: #C9A96A; }
[data-vedere] text { font: 700 24px "Lato", system-ui, sans-serif; fill: #5B5752; }
[data-vedere] .cota { stroke: var(--auriu); stroke-width: 2; fill: none; }
[data-vedere] .t-cota { font-size: 30px; fill: #1B1B1B; }

[data-vedere] .spatar, [data-vedere] .brat { fill: #D6CCBC; stroke: #6B6258; stroke-width: 1.5; }
.cfg-vizual .mic, .cfg-pasi .mic { margin: var(--sp-2) 0 0; font-size: var(--s14); color: var(--secundar); }

.cfg-vizual { position: sticky; top: 0; z-index: 10; background: var(--fundal); padding: var(--sp-2) 0; }
.cfg-vizual .vedere svg { max-height: 26vh; }
.cfg-vizual .mic { margin-top: var(--sp-1); }

.cfg-pasi { display: grid; gap: var(--sp-4); }
.pas-cfg { border: 1px solid var(--linie); border-radius: var(--raza); background: var(--fundal-alt); margin: 0; padding: var(--sp-4); }
.pas-cfg .legenda { font-family: "Gilda Display", Georgia, serif; font-size: var(--s18); font-weight: 400; margin: 0 0 var(--sp-3); }
.aleasa { font: 700 var(--s14)/1.6 "Lato", system-ui, sans-serif; color: var(--secundar); margin-left: auto; }

.latura { border: 0; border-top: 1px solid var(--linie); margin: 0; padding: var(--sp-3) 0; }
.latura:first-child { border-top: 0; padding-top: 0; }
.latura legend { font-weight: 700; font-size: var(--s16); padding: 0; margin-bottom: var(--sp-2); }
.latura legend .mic { font-weight: 400; }
.piese { list-style: none; margin: 0 0 var(--sp-2); padding: 0; display: grid; gap: var(--sp-2); }
.piese li { display: grid; grid-template-columns: 64px 1fr 44px; gap: var(--sp-3); align-items: center; background: #FFFFFF; border: 1px solid var(--linie); border-radius: var(--raza); padding: var(--sp-1) var(--sp-2); }
.piese img { width: 64px; height: 43px; object-fit: contain; }
.piese span { display: grid; font-size: var(--s14); }
.piese small { color: var(--secundar); font-size: var(--s14); }

.piese .piesa-fixa { background: var(--fundal); border-style: dashed; min-height: 53px; }
.scoate-piesa { width: 44px; height: 44px; border: 0; background: none; font-size: var(--s18); cursor: pointer; color: var(--secundar); }   
.adauga { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.btn-piesa { min-height: 44px; padding: 0 var(--sp-3); border: 1px solid var(--petrol); border-radius: 999px; background: #FFFFFF; color: var(--petrol); font: 700 var(--s14)/1 "Lato", system-ui, sans-serif; cursor: pointer; }
.btn-piesa:disabled { border-color: var(--linie); color: #8A857E; background: transparent; cursor: not-allowed; }
.motiv { margin: var(--sp-2) 0 0; font-size: var(--s14); color: #6B4E00; }
.fotolii { display: flex; justify-content: space-between; align-items: center; gap: var(--sp-3); padding-top: var(--sp-3); border-top: 1px solid var(--linie); }
.fotolii span small { display: block; color: var(--secundar); font-size: var(--s14); }
.contor-f { display: flex; align-items: center; gap: var(--sp-2); }
.contor-f button { width: 44px; height: 44px; border: 1px solid var(--petrol); border-radius: 50%; background: #FFFFFF; font-size: var(--s18); cursor: pointer; }


.mostre { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-2); }
.mostra-opt { position: relative; cursor: pointer; }
.mostra-opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.mostra-opt > span { display: block; padding: 4px; border: 1px solid var(--linie); border-radius: var(--raza); background: #FFFFFF; }
.mostra-opt img { display: block; width: 100%; height: 34px; object-fit: cover; border-radius: 2px; }
.mostra-opt input:checked + span { border-color: var(--petrol); box-shadow: inset 0 0 0 2px var(--petrol); }
.mostra-opt input:focus-visible + span { outline: 3px solid var(--auriu); outline-offset: 2px; }

.rezumat-lista { list-style: none; margin: 0 0 var(--sp-3); padding: 0; display: grid; gap: var(--sp-1); font-size: var(--s14); }
.rezumat-lista li { display: flex; justify-content: space-between; gap: var(--sp-3); }
.rezumat .btn { width: 100%; margin-top: var(--sp-3); }
.rezumat .sumar-total { margin-top: var(--sp-3); }
.rezumat .sumar-total strong { font-size: var(--s24); }   

.trimite-cfg { margin-top: var(--sp-5); padding: var(--sp-4); border: 1px solid var(--linie); border-radius: var(--raza); background: var(--fundal); }
.trimite-titlu { margin: 0; font-family: "Gilda Display", Georgia, serif; font-size: var(--s18); color: var(--text); }
.trimite-text { text-wrap: pretty; margin: var(--sp-1) 0 var(--sp-3); font-size: var(--s14); color: var(--secundar); }
.trimite-butoane { display: grid; gap: var(--sp-2); }
.btn-trimite { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: var(--sp-2); padding: 0 var(--sp-4); border: 1px solid var(--petrol); border-radius: var(--raza); background: #FFFFFF; color: var(--petrol); font: 700 var(--s14)/1 "Lato", system-ui, sans-serif; text-decoration: none; cursor: pointer; }
.btn-trimite:hover { background: var(--fundal-alt); box-shadow: inset 0 0 0 1px var(--petrol); }
.btn-trimite:focus-visible { outline: 3px solid var(--auriu); outline-offset: 2px; }
.btn-trimite svg { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.puncte-descriere .punct div { padding-left: 0; }
.schita-cadru .vedere { border: 0; padding: 0; background: none; }
.tabel-derulant { overflow-x: auto; margin-top: var(--sp-5); }
.tabel-module caption { text-align: left; font-weight: 700; font-size: var(--s16); padding-bottom: var(--sp-2); }
.tabel-module { width: 100%; border-collapse: collapse; font-size: var(--s14); min-width: 520px; }
.tabel-module th, .tabel-module td { text-align: left; padding: var(--sp-2) var(--sp-3); border-bottom: 1px solid var(--linie); }
.tabel-module thead th { color: var(--secundar); font-weight: 700; }
.tabel-module tbody th { font-weight: 700; }

.cfg-cap .mic { margin: var(--sp-2) 0 0; font-size: var(--s14); color: var(--secundar); }
.nota-vedere { display: none; }

.latura legend { float: left; width: 100%; }
.latura legend + * { clear: both; }

@media (min-width: 640px) {
  .modele-grila { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .galerie-mici-modular { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); overflow: visible; padding-bottom: 0; }
  .galerie-mici-modular .mica { width: 100%; height: auto; aspect-ratio: 3 / 2; min-height: 44px; }
  .mostre { grid-template-columns: repeat(8, minmax(0, 1fr)); }
}
@media (min-width: 1024px) and (max-width: 1279px) {
  .mostre { grid-template-columns: repeat(4, minmax(0, 1fr)); }   
}
@media (min-width: 1024px) {
  .rezumat .sumar-total strong { font-size: var(--s30); }
  .cfg-cap h2 { font-size: var(--s30); }
  .cfg-grila { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: var(--sp-7); }
  .cfg-vizual { top: calc(var(--antet-h) + var(--sp-4)); z-index: auto; background: none; padding: 0; }
  .cfg-vizual .vedere svg { max-height: 420px; }
  .nota-vedere { display: block; }
  .bara-cfg { display: none; }
}


.pas-cfg, .latura, .cfg-pasi, .cfg-vizual, .variante, .galerie, .cumpara { min-width: 0; }
