/* AI Offerte Wizard Modern Styles */
.aiqw-container,
.wrap {
    background: #fff;
    border-radius: 2rem;
    box-shadow: 0 4px 28px 0 rgba(40,60,80,.14);
    max-width: 740px;
    margin: 40px auto 24px auto;
    padding: 36px 24px 30px 24px;
    font-family: 'Segoe UI', 'Inter', Arial, sans-serif;
    color: #263246;
    position: relative;
    transition: box-shadow 0.2s;
}

.aiqw-header {
    text-align: center;
    margin-bottom: 32px;
}
.aiqw-header img {
    max-height: 70px;
    margin-bottom: 12px;
    filter: drop-shadow(0 2px 8px #e6ebf5);
}
.aiqw-title {
    font-size: 2.1rem;
    font-weight: 800;
    color: #223147;
    letter-spacing: -1px;
    margin: 0 0 5px 0;
}

.aiqw-progress {
    width: 100%;
    height: 8px;
    background: #f3f7fb;
    border-radius: 20px;
    overflow: hidden;
    margin: 0 0 24px 0;
}
.aiqw-progress-bar {
    height: 100%;
    background: linear-gradient(90deg, #3b82f6 0%, #69d0fa 100%);
    border-radius: 20px;
    width: 0%;
    transition: width .4s cubic-bezier(.58,1.53,.26,1);
}

#aiqw-step-indicator {
    color: #3b82f6;
    font-size: 1.2rem;
    letter-spacing: 1.2px;
    margin-bottom: 8px;
}

.aiqw-step {
    display: none;
}
.aiqw-step.aiqw-step--active {
    display: block;
    animation: fadeIn .4s cubic-bezier(.52,1.5,.31,1.19);
}
@keyframes fadeIn {
    from {opacity: 0;}
    to   {opacity: 1;}
}
.aiqw-label {
    font-weight: 600;
    font-size: 1.1em;
    margin-bottom: 8px;
    color: #284a80;
    display: block;
}
.aiqw-input,
.aiqw-select,
.aiqw-textarea {
    width: 100%;
    border: 1.5px solid #e3e7ee;
    border-radius: 10px;
    font-size: 1.06em;
    padding: 10px 14px;
    margin-bottom: 12px;
    transition: border 0.18s;
    background: #fbfcff;
    color: #18273b;
}
.aiqw-input:focus,
.aiqw-select:focus,
.aiqw-textarea:focus {
    border: 1.5px solid #3b82f6;
    outline: none;
}
.aiqw-error {
    border-color: #ee3b3b !important;
    background: #fff5f5 !important;
}
.aiqw-btn,
.aiqw-footer-btn {
    display: inline-block;
    border: none;
    border-radius: 1.3em;
    background: linear-gradient(90deg,#3870e8 0%,#32bbfa 100%);
    color: #fff;
    font-weight: 700;
    font-size: 1.12em;
    padding: 10px 26px;
    margin: 8px 0 0 0;
    cursor: pointer;
    box-shadow: 0 2px 10px 0 rgba(60,90,210,.04);
    transition: background 0.19s, box-shadow 0.2s;
}
.aiqw-btn:disabled,
.aiqw-footer-btn:disabled {
    opacity: 0.62;
    pointer-events: none;
}
.aiqw-btn--prev {
    background: linear-gradient(90deg,#b8c6e5 0%,#c6e2fa 100%);
    color: #244;
}
.aiqw-btn:hover,
.aiqw-footer-btn:hover {
    filter: brightness(1.10) drop-shadow(0 3px 15px #d1ecff88);
}
.aiqw-actions {
    display: flex;
    justify-content: center;
    gap: 18px;
    margin-top: 18px;
    flex-wrap: wrap;
}
.aiqw-footer-btn {
    background: #264cc5;
    padding: 9px 22px;
    font-size: 1.08em;
}
.aiqw-footer-btn#aiqw-edit-offerte {
    background: #a9b2d1;
    color: #29374d;
}
.aiqw-footer-btn#aiqw-edit-offerte:hover {
    background: #b5c8eb;
}

.aiqw-logo-option {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 20px;
    padding: 12px 0 2px 0;
}
.aiqw-switch {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 26px;
}
.aiqw-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}
.aiqw-slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background: #dde8f7;
    transition: .3s;
    border-radius: 22px;
}
.aiqw-switch input:checked + .aiqw-slider {
    background: #3b82f6;
}
.aiqw-slider:before {
    position: absolute;
    content: "";
    height: 19px; width: 19px;
    left: 4px; bottom: 3.5px;
    background: #fff;
    transition: .3s;
    border-radius: 50%;
    box-shadow: 0 2px 7px 0 #dbeafe55;
}
.aiqw-switch input:checked + .aiqw-slider:before {
    transform: translateX(17px);
}

.page-stepper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-bottom: 18px;
}
.page-stepper input[type="number"] {
    text-align: center;
    font-size: 1.25em;
    width: 110px;
    border: 2.2px solid #223147;
    border-radius: 8px;
    background: #fff;
    margin: 0 12px;
    height: 40px;
    outline: none;
    box-shadow: 0 2px 7px #eaf2fd44;
    transition: border .18s;
}
.page-stepper input[type="number"]:focus {
    border: 2.2px solid #3b82f6;
}
.page-stepper .step-btn {
    width: 50px; height: 50px;
    border: none;
    border-radius: 50%;
    background: #f5f7fd;
    color: #3970e7;
    font-size: 2em;
    font-weight: 700;
    transition: background .15s, color .17s;
    box-shadow: 0 2px 8px #e3ecfa55;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
}
.page-stepper .step-btn:active {
    background: #e6edfd;
    color: #264cc5;
}
.page-stepper .step-btn:hover {
    background: #d1e9ff;
    color: #124a94;
}

.aiqw-offerte-modern {
    box-shadow: 0 2px 16px #d1e8fd29;
    border: 1px solid #EDF000;
    overflow: hidden;
    max-width: 690px;
}
.aiqw-offerte-modern h2 {
    color: #233;
    font-size: 2em;
    margin-bottom: 0.1em;
}
.aiqw-offerte-modern table {
    background: #fff;
    border-radius: 10px;
    font-size: 1.01em;
    margin: 20px 0 12px 0;
    box-shadow: 0 1px 6px 0 #e1e7ef2b;
}
.aiqw-offerte-modern th,
.aiqw-offerte-modern td {
    padding: 12px 16px;
}

.aiqw-offer-toast {
    display: flex;
    align-items: center;
    gap: 13px;
    background: #ecf4ff;
    color: #133259;
    border-radius: 14px;
    padding: 12px 26px 12px 18px;
    box-shadow: 0 2px 12px #b3dbfa44;
    position: fixed;
    left: 24px; bottom: 32px;
    z-index: 99999;
    font-size: 1.12em;
    min-width: 250px;
    max-width: 86vw;
    animation: slideIn 0.33s cubic-bezier(.57,1.6,.22,1.23);
}
@keyframes slideIn {
    from {opacity:0; transform: translateY(80px);}
    to {opacity:1; transform: translateY(0);}
}
.aiqw-offer-emoji {
    font-size: 2.2em;
    margin-right: 7px;
    filter: drop-shadow(0 2px 4px #cbe1fb);
}
.aiqw-offer-time {
    color: #3988e6;
    margin-left: 7px;
    font-size: 0.96em;
}
.aiqw-offer-dienst {
    color: #2767e7;
    font-weight: 600;
}

/* Spinner */
.aiqw-spinner {
    width: 44px;
    height: 44px;
    border: 4.5px solid #d6e6fa;
    border-top: 4.5px solid #3883f6;
    border-radius: 50%;
    animation: spin 1.1s linear infinite;
    margin: 0 auto 10px auto;
}
@keyframes spin {
    0%   {transform: rotate(0);}
    100% {transform: rotate(360deg);}
}

/* Admin Table */
.wp-list-table.widefat.fixed.striped {
    background: #fff;
    border-radius: 14px;
    font-size: 1.04em;
    margin-top: 16px;
    box-shadow: 0 1px 12px 0 #e9f3ff48;
    overflow: hidden;
}
.wp-list-table th, .wp-list-table td {
    padding: 12px 10px !important;
    text-align: left;
}
.wp-list-table .button-danger {
    background: #f34646 !important;
    color: #fff !important;
    border: none;
    border-radius: 7px !important;
    padding: 5px 13px !important;
    transition: background 0.18s;
}
.wp-list-table .button-danger:hover {
    background: #b71515 !important;
    color: #fff !important;
}

@media (max-width: 700px) {
    .aiqw-container, .wrap { 
        padding: 12px 5vw 26px 5vw; 
        max-width: 100vw; 
        border-radius: 1.1em;
    }
    .aiqw-title { font-size: 1.45em; }
    .aiqw-header img { max-height: 44px; }
    .wp-list-table th, .wp-list-table td {
        font-size: 0.97em !important;
        padding: 7px 3vw !important;
    }
    .aiqw-offerte-modern {
        border-radius: 9px;
        padding: 0;
        max-width: 99vw;
    }
}
/* --- Service pills --- */
.aiqw-service-group {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin: 8px 0 6px;
}

.aiqw-service-pill {
  appearance: none;
  border: 2px solid #e7eef6;
  background: #fff;
  color: #1d2b3a;
  padding: 12px 22px;
  border-radius: 9999px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
  box-shadow: 0 0 0 0 rgba(0,0,0,0);
}

.aiqw-service-pill:hover {
  border-color: #cfd9e6;
  background: #fafcff;
}

.aiqw-service-pill.is-active,
.aiqw-service-pill[aria-checked="true"] {
  background: #ecfff4;       /* light green */
  border-color: #2e7d32;     /* green border */
  color: #1b5e20;            /* darker green text */
  box-shadow: inset 0 0 0 2px rgba(46,125,50,.1);
}

.aiqw-service-pill:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(46,125,50,.25);
}

/* Hide the original select when pill UI is present */
.aiqw-select[hidden] { display: none !important; }
.aiqw-error { border-color:#d93025 !important; outline-color:#d93025; }
.aiqw-error-msg { color:#d93025; font-size:12px; margin-top:6px; }
.aiqw-footer-btn, .aiqw-btn { transition: transform .06s ease, box-shadow .15s ease; }
.aiqw-btn:active, .aiqw-footer-btn:active { transform: translateY(1px); }

