.tirolig-formular{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:22px}.tirolig-formular h3{margin-bottom:0}.tirolig-formular label{display:block;font-weight:600;margin-bottom:6px}.tirolig-formular input,.tirolig-formular textarea,.tirolig-formular select{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid rgba(0,0,0,.18);border-radius:8px;background:#fff}.tirolig-section{display:flex;flex-direction:column;gap:12px}.tirolig-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tirolig-grid-small{grid-template-columns:1fr 1fr 1fr;gap:10px 12px}.tirolig-wide{grid-column:span 2}.tirolig-address-box{border:1px solid rgba(0,0,0,.14);border-radius:14px;padding:16px;background:rgba(0,0,0,.025)}.tirolig-address-box legend{padding:0 8px;font-weight:700;font-size:.95rem}.tirolig-address-box label{font-size:.86rem;margin-bottom:4px}.tirolig-address-box input{padding:8px 10px;font-size:.95rem}.tirolig-calculation-box{display:grid;grid-template-columns:1fr;gap:14px}.tirolig-calculation-box>div{border:1px solid rgba(0,0,0,.12);border-radius:14px;padding:16px;background:rgba(0,0,0,.03)}.tirolig-calculation-box span{display:block;font-size:.9rem;opacity:.75}.tirolig-calculation-box strong{display:block;margin-top:4px;font-size:1.35rem}.tirolig-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px}.tirolig-gallery-item{border:1px solid rgba(0,0,0,.15);border-radius:12px;padding:8px;cursor:pointer;background:#fff}.tirolig-gallery-item input{width:auto;margin-bottom:6px}.tirolig-gallery-item img{display:block;width:100%;height:90px;object-fit:cover;border-radius:8px}.tirolig-gallery-title{display:block;margin-top:6px;font-size:.85rem;font-weight:600;line-height:1.25;text-align:center;opacity:.9}.tirolig-muted{opacity:.7;margin:0}.tirolig-submit{align-self:flex-start;padding:13px 24px;border:none;border-radius:999px;cursor:pointer;font-weight:700}.tirolig-hp{position:absolute!important;left:-9999px!important;opacity:0!important}.tirolig-success-message{max-width:760px;margin:24px auto;padding:22px;border-radius:14px;border:1px solid rgba(0,0,0,.12);background:rgba(0,0,0,.035)}@media(max-width:760px){.tirolig-grid,.tirolig-grid-small,.tirolig-calculation-box{grid-template-columns:1fr}.tirolig-wide{grid-column:span 1}}

/* Tirolig v1.1.0: gezielte Formatierung der Berechnungsbox */
.tirolig-calculation-box > div > .tirolig-calc-label{
  display:block;
  font-size:.9rem;
  font-weight:400;
  opacity:.75;
}

.tirolig-calculation-box strong{
  display:block;
  margin-top:4px;
  font-size:1.35rem;
  font-weight:700;
  line-height:1.25;
}

.tirolig-calculation-box strong [data-tirolig-price],
.tirolig-calculation-box strong [data-tirolig-thickness]{
  display:inline;
  font-size:inherit;
  font-weight:inherit;
  opacity:1;
}

.tirolig-calculation-box strong .tirolig-unit{
  display:inline;
  font-size:.9rem;
  font-weight:400;
  opacity:1;
  white-space:nowrap;
}

/* Tirolig v1.2.2: Formularfelder bis zur Bildauswahl sperren */
.tirolig-formular-locked .tirolig-grid,
.tirolig-formular-locked .tirolig-calculation-box,
.tirolig-formular-locked .tirolig-address-box,
.tirolig-formular-locked .tirolig-address-box + .tirolig-section,
.tirolig-formular-locked .tirolig-submit{
  opacity:.48;
}

.tirolig-formular input:disabled,
.tirolig-formular textarea:disabled,
.tirolig-formular select:disabled,
.tirolig-formular button:disabled{
  cursor:not-allowed;
}

/* Tirolig v1.2.4: Uploadfeld schmäler + skalierte Bildvorschau */
.tirolig-upload-preview-row{
  display:grid;
  grid-template-columns:minmax(220px,320px) minmax(160px,1fr);
  gap:14px;
  align-items:start;
}

.tirolig-upload-field input[type="file"]{
  width:100%;
}

.tirolig-upload-hint{
  margin:6px 0 0;
  font-size:.86rem;
  opacity:.7;
}

.tirolig-selected-preview{
  min-height:150px;
  border:1px dashed rgba(0,0,0,.22);
  border-radius:12px;
  background:rgba(0,0,0,.025);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
  box-sizing:border-box;
  overflow:hidden;
}

.tirolig-selected-preview img{
  display:none;
  max-width:100%;
  max-height:220px;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:8px;
}

.tirolig-selected-preview.tirolig-has-preview img{
  display:block;
}

.tirolig-selected-preview.tirolig-has-preview .tirolig-preview-placeholder{
  display:none;
}

.tirolig-preview-placeholder{
  font-size:.9rem;
  text-align:center;
  opacity:.65;
}

@media(max-width:760px){
  .tirolig-upload-preview-row{
    grid-template-columns:1fr;
  }
}


/* Tirolig v1.4.0: freie Ausschnittwahl für eigene Uploads */
.tirolig-selected-preview{position:relative;flex-direction:column;gap:10px}
.tirolig-edit-crop{border:0;border-radius:8px;padding:8px 12px;cursor:pointer}
.tirolig-crop-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.78);box-sizing:border-box}
.tirolig-crop-modal.tirolig-open{display:flex}
.tirolig-crop-dialog{width:min(1100px,100%);max-height:96vh;overflow:auto;background:#fff;border-radius:14px;padding:14px;box-sizing:border-box;box-shadow:0 20px 70px rgba(0,0,0,.45)}
.tirolig-crop-header{display:flex;align-items:center;justify-content:space-between;font-size:1.15rem;margin-bottom:4px}
.tirolig-crop-close{border:0;background:transparent;font-size:2rem;line-height:1;cursor:pointer;padding:2px 8px}
.tirolig-crop-help{margin:4px 0 12px;font-size:.92rem;opacity:.75}
.tirolig-crop-stage{position:relative;width:100%;height:min(68vh,680px);min-height:320px;background:#181818;overflow:hidden;touch-action:none;user-select:none}
.tirolig-crop-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.tirolig-crop-box{position:absolute;border:2px solid #fff;box-shadow:0 0 0 9999px rgba(0,0,0,.55);box-sizing:border-box;cursor:move;touch-action:none}
.tirolig-crop-handle{position:absolute;width:28px;height:28px;border:3px solid #fff;background:rgba(0,0,0,.3);border-radius:50%;box-sizing:border-box;touch-action:none}
.tirolig-crop-handle[data-handle="nw"]{left:-15px;top:-15px;cursor:nwse-resize}
.tirolig-crop-handle[data-handle="ne"]{right:-15px;top:-15px;cursor:nesw-resize}
.tirolig-crop-handle[data-handle="sw"]{left:-15px;bottom:-15px;cursor:nesw-resize}
.tirolig-crop-handle[data-handle="se"]{right:-15px;bottom:-15px;cursor:nwse-resize}
.tirolig-crop-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:12px}
.tirolig-crop-actions button{min-height:44px;border:0;border-radius:9px;padding:10px 16px;cursor:pointer;font-weight:600}
.tirolig-crop-apply{background:#663300;color:#fff}
.tirolig-grid small{display:block;margin-top:5px;font-size:.8rem;opacity:.68}
#tirolig-hoehe[readonly]{background:rgba(0,0,0,.055);cursor:default}
body.tirolig-crop-no-scroll{overflow:hidden}
@media(max-width:760px){
  .tirolig-crop-modal{padding:0;align-items:stretch}
  .tirolig-crop-dialog{width:100%;max-height:none;height:100%;border-radius:0;display:flex;flex-direction:column;padding:12px}
  .tirolig-crop-stage{flex:1;height:auto;min-height:0}
  .tirolig-crop-help{font-size:.85rem}
  .tirolig-crop-actions{justify-content:stretch}
  .tirolig-crop-actions button{flex:1 1 30%;padding:10px 8px}
  .tirolig-crop-handle{width:36px;height:36px}
  .tirolig-crop-handle[data-handle="nw"]{left:-19px;top:-19px}
  .tirolig-crop-handle[data-handle="ne"]{right:-19px;top:-19px}
  .tirolig-crop-handle[data-handle="sw"]{left:-19px;bottom:-19px}
  .tirolig-crop-handle[data-handle="se"]{right:-19px;bottom:-19px}
}

.tirolig-size-error{margin-top:10px;padding:10px 12px;border:1px solid #b32d2e;background:#fff2f2;color:#8a1f1f;border-radius:4px;font-weight:600}

/* Tirolig v1.4.2: ungültige Maße ohne Preisberechnung */
.tirolig-calculation-result[hidden]{display:none!important}
.tirolig-size-error{color:#b00020!important;font-weight:700!important;border:2px solid #b00020!important;background:#fff1f2!important}
.tirolig-size-error strong{font-size:1em!important;margin:0!important;display:inline!important}

.tirolig-product-options{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid rgba(0,0,0,.12);border-radius:14px;background:rgba(0,0,0,.025)}.tirolig-formular .tirolig-checkbox-option{display:flex;align-items:flex-start;gap:10px;margin:0;font-weight:600;cursor:pointer}.tirolig-formular .tirolig-checkbox-option input[type="checkbox"]{width:auto;min-width:18px;margin:2px 0 0;padding:0}.tirolig-formular .tirolig-checkbox-option span{line-height:1.35}
