  /* =========================================================
     Ausschließlich auf #ras-umzugsrechner beschränkt (scoped),
     damit nichts mit dem restlichen Contao-Theme kollidiert.
     Farben/Schrift an robbys-allroundservice.de angelehnt:
     Dunkelblau #213a75, Akzentblau #179ce4, Hintergrund #dde5ec.
  ========================================================== */
  #ras-umzugsrechner{
    --ras-brand:#213a75;
    --ras-accent:#179ce4;
    --ras-bg:#dde5ec;
    --ras-card:#ffffff;
    --ras-text:#1f2937;
    --ras-muted:#5d6066;
    --ras-border:#bcc9d5;
    --ras-radius:12px;
    --ras-radius-btn:15px;

    font-family:"Open Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif !important;
    color:var(--ras-text) !important;
    background:var(--ras-bg) !important;
    border-radius:var(--ras-radius) !important;
    max-width:1160px !important;
    width:min(1160px, calc(100% - 24px)) !important;
    margin:24px auto !important;
    padding:0 !important;
    direction:ltr !important;
    text-align:left !important;
    isolation:isolate !important;
  }
  #ras-umzugsrechner, #ras-umzugsrechner *{ box-sizing:border-box !important; }
  #ras-umzugsrechner .ras-wrap{ padding:22px !important; }

  #ras-umzugsrechner .ras-title{
    font-size:26px !important;
    margin:0 0 6px !important;
    color:var(--ras-brand) !important;
    text-transform:uppercase !important;
    display:inline-block !important;
    padding-bottom:6px !important;
    border-bottom:2px solid var(--ras-accent) !important;
    line-height:1.25 !important;
  }
  #ras-umzugsrechner .ras-title-icon{
    width:30px !important; height:30px !important; object-fit:contain !important;
    vertical-align:middle !important; margin-right:9px !important; margin-top:-4px !important;
    display:inline-block !important;
  }
  #ras-umzugsrechner .ras-sub{
    color:var(--ras-muted) !important;
    margin:10px 0 20px !important;
    line-height:1.55 !important;
    max-width:70ch !important;
  }

  #ras-umzugsrechner .ras-grid{
    display:grid !important;
    grid-template-columns:300px minmax(0,1fr) !important;
    gap:18px !important;
    align-items:start !important;
  }
  @media (max-width: 860px){
    #ras-umzugsrechner .ras-grid{ grid-template-columns:1fr !important; }
    #ras-umzugsrechner .ras-side{ position:static !important; order:2 !important; }
    #ras-umzugsrechner .ras-main{ order:1 !important; }
  }

  #ras-umzugsrechner .ras-card{
    background:var(--ras-card) !important;
    border:1px solid var(--ras-border) !important;
    border-radius:var(--ras-radius) !important;
    box-shadow:0 10px 20px -8px rgba(33,58,117,.15) !important;
    min-width:0 !important;
  }

  /* Sidebar / Summary */
  #ras-umzugsrechner .ras-side{ padding:18px !important; position:sticky !important; top:14px !important; }
  #ras-umzugsrechner .ras-total{
    background:var(--ras-brand) !important;
    color:#fff !important;
    border-radius:var(--ras-radius) !important;
    padding:16px 18px !important;
    text-align:center !important;
    margin-bottom:14px !important;
  }
  #ras-umzugsrechner .ras-total small{ display:block !important; opacity:.85 !important; font-size:12px !important; text-transform:uppercase !important; letter-spacing:.03em !important; margin-bottom:4px !important; }
  #ras-umzugsrechner .ras-total span#rasTotal{ font-size:34px !important; font-weight:700 !important; }
  #ras-umzugsrechner .ras-total .ras-unit{ font-size:16px !important; opacity:.85 !important; }
  #ras-umzugsrechner .ras-hint{ font-size:12px !important; color:var(--ras-muted) !important; margin:0 0 14px !important; line-height:1.5 !important; }

  #ras-umzugsrechner .ras-chosen-title{ font-weight:700 !important; font-size:13px !important; text-transform:uppercase !important; color:var(--ras-brand) !important; margin-bottom:8px !important; }
  #ras-umzugsrechner .ras-chosen-list{ max-height:320px !important; overflow-y:auto !important; display:flex !important; flex-direction:column !important; gap:8px !important; margin-bottom:14px !important; }
  #ras-umzugsrechner .ras-chosen-empty{ font-size:13px !important; color:var(--ras-muted) !important; padding:10px 0 !important; }
  #ras-umzugsrechner .ras-chosen-item{ display:flex !important; justify-content:space-between !important; gap:8px !important; font-size:12.5px !important; border-bottom:1px dashed var(--ras-border) !important; padding-bottom:6px !important; }
  #ras-umzugsrechner .ras-chosen-item b{ display:block !important; color:var(--ras-text) !important; font-weight:600 !important; }
  #ras-umzugsrechner .ras-chosen-item small{ color:var(--ras-muted) !important; }
  #ras-umzugsrechner .ras-chosen-item .ras-chosen-m3{ white-space:nowrap !important; font-weight:700 !important; color:var(--ras-brand) !important; }

  #ras-umzugsrechner button{
    font-family:inherit !important;
    cursor:pointer !important;
  }
  #ras-umzugsrechner .ras-btn-primary,
  #ras-umzugsrechner .ras-btn-ghost{
    font-size:14px !important;
    font-weight:600 !important;
    text-transform:uppercase !important;
    letter-spacing:.02em !important;
    padding:12px 20px !important;
    border-radius:var(--ras-radius-btn) !important;
    border:0 !important;
    transition:.2s ease-in-out !important;
    width:100% !important;
    margin-bottom:8px !important;
  }
  #ras-umzugsrechner .ras-btn-primary{ background:var(--ras-accent) !important; color:#fff !important; }
  #ras-umzugsrechner .ras-btn-primary:hover{ background:var(--ras-brand) !important; }
  #ras-umzugsrechner .ras-btn-ghost{ background:#fff !important; color:var(--ras-brand) !important; border:1px solid var(--ras-border) !important; }
  #ras-umzugsrechner .ras-btn-ghost:hover{ background:var(--ras-bg) !important; }
  #ras-umzugsrechner button:disabled{ opacity:.6 !important; cursor:not-allowed !important; }

  /* Main column */
  #ras-umzugsrechner .ras-main{ padding:18px !important; }
  #ras-umzugsrechner .ras-step-label{ font-size:12px !important; font-weight:700 !important; color:#fff !important; background:var(--ras-accent) !important; border-radius:20px !important; padding:2px 9px !important; margin-right:8px !important; }

  #ras-umzugsrechner .ras-acc{
    border:1px solid var(--ras-border) !important;
    border-radius:var(--ras-radius) !important;
    margin-bottom:10px !important;
    overflow:hidden !important;
    background:#fff !important;
  }
  #ras-umzugsrechner .ras-acc > summary{
    list-style:none !important;
    cursor:pointer !important;
    padding:14px 16px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    font-weight:700 !important;
    color:var(--ras-brand) !important;
    background:#f7f9fb !important;
  }
  #ras-umzugsrechner .ras-acc > summary::-webkit-details-marker{ display:none !important; }
  #ras-umzugsrechner .ras-acc > summary::marker{ content:"" !important; }
  #ras-umzugsrechner .ras-acc > summary::after{
    content:"▾" !important;
    color:var(--ras-accent) !important;
    font-size:18px !important;
    transition:transform .2s ease !important;
    flex:0 0 auto !important;
  }
  #ras-umzugsrechner .ras-acc[open] > summary::after{ transform:rotate(180deg) !important; }
  #ras-umzugsrechner .ras-cat-name{ display:flex !important; align-items:center !important; gap:8px !important; }
  #ras-umzugsrechner .ras-cat-icon{
    width:23px !important; height:23px !important; object-fit:contain !important; flex:0 0 auto !important;
  }
  #ras-umzugsrechner .ras-cat-label{ display:inline-block !important; }
  #ras-umzugsrechner .ras-cat-sum{
    font-size:12.5px !important;
    font-weight:700 !important;
    color:var(--ras-accent) !important;
    background:#eaf6fd !important;
    border-radius:20px !important;
    padding:3px 10px !important;
    white-space:nowrap !important;
  }
  #ras-umzugsrechner .ras-acc-body{ padding:6px 16px 12px !important; }

  #ras-umzugsrechner .ras-row{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:14px !important;
    padding:10px 0 !important;
    border-bottom:1px solid #eef1f4 !important;
  }
  #ras-umzugsrechner .ras-row:last-child{ border-bottom:0 !important; }
  #ras-umzugsrechner .ras-info{ min-width:0 !important; }
  #ras-umzugsrechner .ras-info label{ cursor:default !important; }
  #ras-umzugsrechner .ras-info b{ display:block !important; font-weight:600 !important; font-size:14px !important; color:var(--ras-text) !important; }
  #ras-umzugsrechner .ras-info small{ color:var(--ras-muted) !important; font-size:12px !important; }

  #ras-umzugsrechner .ras-qty{ display:flex !important; align-items:center !important; gap:0 !important; flex:0 0 auto !important; border:1px solid var(--ras-border) !important; border-radius:10px !important; overflow:hidden !important; }
  #ras-umzugsrechner .ras-qty-btn{
    background:#fff !important; color:var(--ras-brand) !important; border:0 !important;
    width:34px !important; height:34px !important; font-size:18px !important; font-weight:700 !important;
    line-height:1 !important; padding:0 !important; text-transform:none !important;
  }
  #ras-umzugsrechner .ras-qty-btn:hover{ background:var(--ras-bg) !important; }
  #ras-umzugsrechner .ras-qty-input{
    width:48px !important; height:34px !important; border:0 !important; border-left:1px solid var(--ras-border) !important; border-right:1px solid var(--ras-border) !important;
    text-align:center !important; font-size:14px !important; font-weight:700 !important; color:var(--ras-text) !important;
    -moz-appearance:textfield !important; background:#fff !important;
  }
  #ras-umzugsrechner .ras-qty-input::-webkit-outer-spin-button,
  #ras-umzugsrechner .ras-qty-input::-webkit-inner-spin-button{ -webkit-appearance:none !important; margin:0 !important; }
  #ras-umzugsrechner .ras-qty-input:focus{ outline:2px solid var(--ras-accent) !important; outline-offset:-2px !important; }

  /* Contact form */
  #ras-umzugsrechner .ras-formgrid{ display:grid !important; grid-template-columns:1fr 1fr !important; gap:12px 16px !important; }
  @media (max-width:600px){ #ras-umzugsrechner .ras-formgrid{ grid-template-columns:1fr !important; } }
  #ras-umzugsrechner .ras-field{ display:flex !important; flex-direction:column !important; gap:5px !important; }
  #ras-umzugsrechner .ras-field.ras-span2{ grid-column:1 / -1 !important; }
  #ras-umzugsrechner .ras-field label{ font-size:12.5px !important; font-weight:600 !important; color:var(--ras-brand) !important; }
  #ras-umzugsrechner .ras-field input[type="text"],
  #ras-umzugsrechner .ras-field input[type="date"],
  #ras-umzugsrechner .ras-field input[type="tel"],
  #ras-umzugsrechner .ras-field input[type="email"],
  #ras-umzugsrechner .ras-field input[type="number"],
  #ras-umzugsrechner .ras-field textarea{
    border:1px solid var(--ras-border) !important; border-radius:8px !important; padding:9px 10px !important;
    font-size:14px !important; font-family:inherit !important; color:var(--ras-text) !important; background:#fff !important; width:100% !important;
  }
  #ras-umzugsrechner .ras-field input:focus,
  #ras-umzugsrechner .ras-field textarea:focus{ outline:2px solid var(--ras-accent) !important; outline-offset:0 !important; }
  #ras-umzugsrechner .ras-field-row{ display:flex !important; gap:10px !important; }
  #ras-umzugsrechner .ras-field-row .ras-field{ flex:1 1 0 !important; }
  #ras-umzugsrechner .ras-field-row .ras-field.ras-narrow{ flex:0 0 110px !important; }

  /* Access table */
  #ras-umzugsrechner .ras-acctable{ width:100% !important; border-collapse:collapse !important; font-size:13.5px !important; }
  #ras-umzugsrechner .ras-acctable caption{ text-align:left !important; font-size:12px !important; color:var(--ras-muted) !important; margin-bottom:8px !important; caption-side:top !important; }
  #ras-umzugsrechner .ras-acctable th, #ras-umzugsrechner .ras-acctable td{ padding:9px 8px !important; border-bottom:1px solid #eef1f4 !important; text-align:center !important; }
  #ras-umzugsrechner .ras-acctable thead th{ color:var(--ras-brand) !important; text-transform:uppercase !important; font-size:11.5px !important; letter-spacing:.02em !important; }
  #ras-umzugsrechner .ras-acctable th[scope="row"]{ text-align:left !important; font-weight:600 !important; color:var(--ras-text) !important; }
  #ras-umzugsrechner .ras-check{ display:inline-flex !important; align-items:center !important; justify-content:center !important; cursor:pointer !important; }
  #ras-umzugsrechner .ras-check input{ width:18px !important; height:18px !important; accent-color:var(--ras-accent) !important; cursor:pointer !important; }
  #ras-umzugsrechner .sr-only{ position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; }

  #ras-umzugsrechner .ras-actionbar{ display:flex !important; flex-wrap:wrap !important; gap:10px !important; margin-top:18px !important; }
  #ras-umzugsrechner .ras-actionbar button{ width:auto !important; flex:0 0 auto !important; margin-bottom:0 !important; }
  #ras-umzugsrechner .ras-note-small{ font-size:12px !important; color:var(--ras-muted) !important; margin-top:8px !important; }
  #ras-umzugsrechner .ras-disclaimer{ font-size:11.5px !important; color:var(--ras-muted) !important; margin-top:16px !important; line-height:1.5 !important; }


  #ras-umzugsrechner .ras-acctable-wrap{ overflow-x:auto !important; overflow-y:hidden !important; -webkit-overflow-scrolling:touch !important; touch-action:pan-x !important; }
  #ras-umzugsrechner .ras-acctable{ min-width:640px !important; width:max-content !important; }
  @media (max-width: 860px){
    #ras-umzugsrechner .ras-acctable{ min-width:640px !important; }
    #ras-umzugsrechner .ras-acctable th,
    #ras-umzugsrechner .ras-acctable td{ padding:8px 6px !important; font-size:12px !important; }
  }

  #ras-umzugsrechner .ras-faq{ margin-top:18px !important; }
  #ras-umzugsrechner .ras-faq-title{ font-size:18px !important; color:var(--ras-brand) !important; margin:0 0 10px !important; }
  #ras-umzugsrechner .ras-faq-item{ border:1px solid var(--ras-border) !important; border-radius:var(--ras-radius) !important; background:#fff !important; margin-bottom:10px !important; overflow:hidden !important; }
  #ras-umzugsrechner .ras-faq-item > summary{ list-style:none !important; cursor:pointer !important; padding:14px 16px !important; font-weight:700 !important; color:var(--ras-brand) !important; background:#f7f9fb !important; }
  #ras-umzugsrechner .ras-faq-item > summary::-webkit-details-marker{ display:none !important; }
  #ras-umzugsrechner .ras-faq-item > p{ margin:0 !important; padding:0 16px 14px !important; color:var(--ras-text) !important; line-height:1.55 !important; }


  #ras-umzugsrechner .ras-credits{ margin-top:18px !important; }
  #ras-umzugsrechner .ras-credits-text{ margin:0 0 8px !important; color:var(--ras-text) !important; line-height:1.55 !important; }
  #ras-umzugsrechner .ras-credits-list{ margin:0 !important; padding-left:20px !important; color:var(--ras-text) !important; }
  #ras-umzugsrechner .ras-credits-list li{ margin:0 0 6px !important; }
  #ras-umzugsrechner .ras-credits-list a{ color:var(--ras-brand) !important; text-decoration:underline !important; }


  #ras-umzugsrechner .ras-access-cards{ display:grid !important; grid-template-columns:1fr 1fr !important; gap:12px !important; }
  #ras-umzugsrechner .ras-access-card{ border:1px solid var(--ras-border) !important; border-radius:10px !important; padding:10px !important; background:#fff !important; }
  #ras-umzugsrechner .ras-access-card h3{ margin:0 0 10px !important; font-size:14px !important; color:var(--ras-brand) !important; }
  #ras-umzugsrechner .ras-access-help{ margin:0 0 10px !important; font-size:12.5px !important; line-height:1.45 !important; color:var(--ras-muted) !important; }
  #ras-umzugsrechner .ras-access-card .ras-check{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:10px !important;
    padding:10px 12px !important;
    margin:0 0 8px !important;
    border:1px solid #edf1f5 !important;
    border-radius:10px !important;
    cursor:pointer !important;
    transition:background .2s ease, border-color .2s ease !important;
  }
  #ras-umzugsrechner .ras-access-card .ras-check:hover{ background:#f8fbfd !important; border-color:#d9e3ec !important; }
  #ras-umzugsrechner .ras-access-card .ras-check input{
    flex:0 0 auto !important;
    margin-top:2px !important;
    width:18px !important;
    height:18px !important;
    accent-color:var(--ras-accent) !important;
  }
  #ras-umzugsrechner .ras-access-card .ras-check-text{
    display:block !important;
    font-size:13px !important;
    line-height:1.35 !important;
    color:var(--ras-text) !important;
    font-weight:600 !important;
  }
  #ras-umzugsrechner .ras-yesno{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }
  #ras-umzugsrechner .ras-yesno .ras-check{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:10px !important;
    padding:10px 12px !important;
    margin:0 !important;
    border:1px solid #edf1f5 !important;
    border-radius:10px !important;
    cursor:pointer !important;
  }
  #ras-umzugsrechner .ras-yesno .ras-check:hover{ background:#f8fbfd !important; border-color:#d9e3ec !important; }
  #ras-umzugsrechner .ras-yesno input{ width:18px !important; height:18px !important; accent-color:var(--ras-accent) !important; }
  @media (max-width: 860px){
    #ras-umzugsrechner .ras-access-cards{ grid-template-columns:1fr !important; }
  }
