
/* Daisy Druckdatencheck 0.6 */

#nbd-m-upload-design-wrap.daisy-simple-active,
#nbd-nbu-upload-design-wrap.daisy-simple-active{
    align-items:flex-start !important;
    justify-content:center !important;
    overflow:auto !important;
    padding:36px 18px 80px !important;
    background:#f5f7fa !important;
    box-sizing:border-box !important;
}

.daisy-simple-active .nbd-upload-inner{
    width:min(900px,100%) !important;
    max-width:900px !important;
    margin:0 auto !important;
    padding:0 0 24px !important;
    text-align:center !important;
}

#daisy-simple-preflight{
    width:100%;
    margin:0 0 16px;
    background:#fff;
    border:1px solid #dfe6ef;
    border-radius:16px;
    box-shadow:0 10px 34px rgba(28,41,61,.09);
    overflow:hidden;
    text-align:left;
    color:#263142;
    box-sizing:border-box;
}

#daisy-simple-preflight *{
    box-sizing:border-box;
}

#daisy-simple-preflight .daisy-head{
    display:flex;
    align-items:center;
    gap:14px;
    padding:20px 22px 15px;
}

#daisy-simple-preflight .daisy-icon{
    width:52px;
    height:52px;
    border-radius:13px;
    background:#eaf3ff;
    color:#235f9d;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
}

#daisy-simple-preflight .daisy-title{
    font-size:22px;
    line-height:1.2;
    font-weight:750;
}

#daisy-simple-preflight .daisy-subtitle{
    margin-top:4px;
    color:#6d7888;
    font-size:13px;
    line-height:1.4;
}

#daisy-simple-preflight .daisy-specs{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
    padding:0 22px 16px;
}

#daisy-simple-preflight .daisy-specs > div{
    background:#f5f7fa;
    border-radius:10px;
    padding:10px 12px;
}

#daisy-simple-preflight .daisy-specs span,
#daisy-simple-preflight .daisy-specs strong{
    display:block;
}

#daisy-simple-preflight .daisy-specs span{
    color:#7b8695;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.03em;
    margin-bottom:3px;
}

#daisy-simple-preflight .daisy-specs strong{
    color:#303a48;
    font-size:12px;
    line-height:1.35;
}

#daisy-results{
    border-top:1px solid #edf0f4;
    padding:14px 22px 18px;
}

.daisy-ready{
    display:flex;
    gap:10px;
    align-items:center;
    color:#6a7585;
}

.daisy-ready > b{
    width:31px;
    height:31px;
    border-radius:50%;
    background:#eaf7ef;
    color:#267247;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
}

.daisy-ready strong,
.daisy-ready span{
    display:block;
}

.daisy-ready strong{
    color:#303a48;
    margin-bottom:2px;
}

.daisy-file{
    display:flex;
    gap:12px;
    padding:12px 0;
    border-bottom:1px solid #edf0f4;
}

.daisy-file:last-child{
    border-bottom:0;
}

.daisy-pdf{
    width:43px;
    height:43px;
    border-radius:9px;
    background:#fff0ef;
    color:#a23d34;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    font-size:11px;
    font-weight:800;
}

.daisy-image-icon{
    background:#edf5ff;
    color:#275f97;
}

.daisy-file-body{
    flex:1;
    min-width:0;
}

.daisy-file-name{
    font-size:13px;
    font-weight:700;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    margin-bottom:4px;
}

.daisy-meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    color:#677386;
    font-size:12px;
    margin-bottom:7px;
}

.daisy-badges{
    display:flex;
    flex-wrap:wrap;
    gap:5px;
}

.daisy-badge{
    display:inline-flex;
    align-items:center;
    padding:4px 8px;
    border-radius:999px;
    font-size:10px;
    font-weight:650;
}

.daisy-badge-ok{
    background:#eaf7ef;
    color:#267247;
}

.daisy-badge-warn{
    background:#fff0eb;
    color:#a64a2e;
}

.daisy-badge-neutral{
    background:#f0f2f5;
    color:#6d7785;
}

.daisy-error{
    color:#a6402d;
    font-size:12px;
    font-weight:650;
}

.daisy-mixed{
    margin-top:7px;
}

.daisy-summary{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:12px;
}

.daisy-summary > div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:#f5f7fa;
    border-radius:9px;
    padding:10px 12px;
}

.daisy-summary span{
    color:#707b8b;
    font-size:11px;
}

.daisy-summary strong{
    font-size:17px;
}

.daisy-price-note{
    margin-top:8px;
    padding:9px 11px;
    border-radius:9px;
    background:#eef5ff;
    color:#365b82;
    font-size:11px;
}

.daisy-fit{
    margin-top:9px;
    padding:10px;
    background:#fff8e8;
    border:1px solid #eeddaa;
    border-radius:9px;
}

.daisy-fit strong,
.daisy-fit small{
    display:block;
}

.daisy-fit select{
    width:100%;
    margin:6px 0;
    min-height:36px;
    border-radius:6px;
}

.daisy-image-actions{
    display:flex;
    align-items:center;
    gap:9px;
    margin-top:9px;
}

.daisy-image-actions span{
    color:#7b8593;
    font-size:10px;
}

.daisy-crop-open{
    appearance:none;
    border:0;
    border-radius:8px;
    background:#315f92;
    color:#fff;
    padding:7px 11px;
    font-size:11px;
    font-weight:700;
    cursor:pointer;
}

/* Originale NBDesigner-Zone */
.daisy-simple-active .nbu-upload-zone{
    width:100% !important;
    max-width:900px !important;
    margin:0 auto 14px !important;
    background:#fff !important;
    border:2px dashed #bdc9d8 !important;
    border-radius:16px !important;
    min-height:210px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-shadow:none !important;
}

.daisy-simple-active .nbu-inputfile + label{
    width:100% !important;
    min-height:206px !important;
    border-radius:14px !important;
    color:#33455d !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex-direction:column !important;
    cursor:pointer !important;
    padding:30px !important;
}

.daisy-simple-active .nbu-inputfile + label svg{
    width:34px !important;
    height:30px !important;
    margin-bottom:10px !important;
    fill:#376b9f !important;
}

.daisy-simple-active .nbu-inputfile + label span:first-of-type{
    font-size:16px !important;
    line-height:1.5 !important;
    color:#33455d !important;
}

.daisy-simple-active .nbu-inputfile + label em{
    font-style:normal !important;
    font-size:12px !important;
    color:#7a8595 !important;
    font-weight:400 !important;
}

.daisy-simple-active .nbu-inputfile + label small{
    color:#8792a1 !important;
    font-size:10px !important;
}

.daisy-simple-active .upload-design-preview{
    max-width:900px !important;
    margin:14px auto !important;
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    gap:10px !important;
}

.daisy-simple-active .nbd-upload-items{
    margin:0 !important;
}

.daisy-simple-active .submit-upload-design{
    height:44px !important;
    line-height:44px !important;
    padding:0 22px !important;
    border-radius:999px !important;
    background:#315f92 !important;
    color:#fff !important;
    box-shadow:0 6px 16px rgba(49,95,146,.22) !important;
    text-transform:none !important;
}

/* -------------------------------------------------------------------------
 * Bildzuschnitt
 * ---------------------------------------------------------------------- */

#daisy-crop-modal{
    position:fixed;
    inset:0;
    z-index:999999;
    display:none;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:rgba(12,22,34,.72);
}

#daisy-crop-modal.is-open{
    display:flex;
}

.daisy-crop-dialog{
    width:min(860px,96vw);
    max-height:94vh;
    overflow:auto;
    background:#fff;
    border-radius:16px;
    padding:18px;
    box-shadow:0 20px 60px rgba(0,0,0,.30);
    color:#293544;
}

.daisy-crop-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:15px;
}

.daisy-crop-head strong,
.daisy-crop-head span{
    display:block;
}

.daisy-crop-head strong{
    font-size:19px;
}

.daisy-crop-head span{
    color:#748091;
    font-size:11px;
    margin-top:3px;
}

.daisy-crop-close{
    border:0;
    background:#f0f2f5;
    width:34px;
    height:34px;
    border-radius:50%;
    font-size:22px;
    line-height:1;
    cursor:pointer;
}

.daisy-crop-help{
    color:#6e7988;
    font-size:12px;
    margin:10px 0 14px;
}

#daisy-crop-stage{
    position:relative;
    overflow:hidden;
    margin:0 auto;
    background:#1c232c;
    border-radius:8px;
    cursor:grab;
    touch-action:none;
    box-shadow:inset 0 0 0 2px rgba(255,255,255,.8);
}

#daisy-crop-stage:active{
    cursor:grabbing;
}

#daisy-crop-img{
    position:absolute;
    max-width:none !important;
    user-select:none;
    pointer-events:none;
}

.daisy-crop-controls{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:14px;
    flex-wrap:wrap;
}

.daisy-crop-controls label{
    display:flex;
    align-items:center;
    gap:8px;
    flex:1 1 260px;
    font-size:12px;
}

#daisy-crop-zoom{
    width:100%;
}

.daisy-crop-controls button{
    border:0;
    border-radius:8px;
    padding:9px 13px;
    cursor:pointer;
    font-weight:650;
}

.daisy-crop-reset{
    background:#eef1f4;
    color:#344252;
}

.daisy-crop-save{
    background:#315f92;
    color:#fff;
}

.daisy-crop-save:disabled{
    opacity:.55;
    cursor:wait;
}

#daisy-crop-status{
    color:#a6402d;
    font-size:12px;
    font-weight:650;
    margin-top:8px;
}

/* Uploadvorschauen im Warenkorb zusätzlich klein halten. */
.nbd-cart-item-upload-preview{
    width:auto !important;
    height:auto !important;
    max-width:120px !important;
    max-height:120px !important;
    object-fit:contain !important;
}

@media(max-width:700px){
    #daisy-simple-preflight .daisy-specs{
        grid-template-columns:1fr;
    }

    .daisy-summary{
        grid-template-columns:1fr;
    }

    #daisy-simple-preflight .daisy-head{
        align-items:flex-start;
    }

    #nbd-m-upload-design-wrap.daisy-simple-active,
    #nbd-nbu-upload-design-wrap.daisy-simple-active{
        padding:15px 8px 60px !important;
    }

    #daisy-crop-modal{
        padding:8px;
    }

    .daisy-crop-dialog{
        padding:12px;
    }
}


/* 0.7: CutContour / Mengenlogik */
.daisy-badge[title]{
    cursor:help;
}


/* 0.7.1 – Warenkorb-Metadaten sauber lesbar */
.woocommerce-cart-form dl.variation,
.woocommerce-mini-cart dl.variation{
    display:grid;
    grid-template-columns:minmax(145px, max-content) minmax(0, 1fr);
    column-gap:10px;
    row-gap:4px;
    align-items:start;
}

.woocommerce-cart-form dl.variation dt,
.woocommerce-cart-form dl.variation dd,
.woocommerce-mini-cart dl.variation dt,
.woocommerce-mini-cart dl.variation dd{
    float:none !important;
    clear:none !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
}

.woocommerce-cart-form dl.variation dd p,
.woocommerce-mini-cart dl.variation dd p{
    margin:0 !important;
    overflow-wrap:anywhere;
    word-break:break-word;
}

.woocommerce-cart-form dl.variation dt,
.woocommerce-mini-cart dl.variation dt{
    font-weight:700;
}


/* 0.7.2 – Dateiname unter der Upload-Vorschau ausblenden.
   Der Dateiname steht bereits separat bei "Druckdaten". */
.woocommerce-cart-form .nbu-cart-item-uploaded-image > p,
.woocommerce-cart-form .nbd-file-title,
.woocommerce-cart-form .nbd-upload-item-title,
.woocommerce-checkout-review-order .nbu-cart-item-uploaded-image > p,
.woocommerce-checkout-review-order .nbd-file-title{
    display:none !important;
}


/* 0.7.3 – "Druckdaten übernehmen" erst nach Upload + Datencheck */
.daisy-simple-active .submit-upload-design{
    display:none !important;
}

.daisy-simple-active.daisy-data-ready:not(.is-loading) .submit-upload-design{
    display:inline-block !important;
}

/* Während Upload/Preflight keinerlei versehentliche Freigabe */
.daisy-simple-active.is-loading .submit-upload-design{
    display:none !important;
}

/*
 * Atomion/WooCommerce Warenkorb:
 * Jetzt wird diese CSS-Datei tatsächlich auch auf Warenkorb/Checkout geladen.
 */
.woocommerce-cart-form dl.variation,
.woocommerce-checkout-review-order dl.variation{
    display:grid !important;
    grid-template-columns:minmax(150px, max-content) minmax(0, 1fr) !important;
    column-gap:12px !important;
    row-gap:5px !important;
    align-items:start !important;
}

.woocommerce-cart-form dl.variation dt,
.woocommerce-cart-form dl.variation dd,
.woocommerce-checkout-review-order dl.variation dt,
.woocommerce-checkout-review-order dl.variation dd{
    float:none !important;
    clear:none !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}

.woocommerce-cart-form dl.variation dd p,
.woocommerce-checkout-review-order dl.variation dd p{
    margin:0 !important;
    padding:0 !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
}

/* Dateiname direkt unter der Vorschau weg – er bleibt bei "Druckdaten". */
.woocommerce-cart-form .nbd-upload-item-title,
.woocommerce-cart-form .nbd-file-title,
.woocommerce-cart-form .nbu-cart-item-uploaded-image > p,
.woocommerce-checkout-review-order .nbd-upload-item-title,
.woocommerce-checkout-review-order .nbd-file-title,
.woocommerce-checkout-review-order .nbu-cart-item-uploaded-image > p{
    display:none !important;
}


/* 0.7.5 – Warenkorb kompakter:
   Add Design, "Datei hochladen" + rotes X und Reupload Design ausblenden.
   Die Dateivorschau bleibt sichtbar. */
.woocommerce-cart-form .nbd-cart-item-add-design,
.woocommerce-cart-form .nbd-create-design,
.woocommerce-cart-form .nbd-cart-item-upload-file > p,
.woocommerce-cart-form .nbd-cart-item-remove-file,
.woocommerce-cart-form .nbd-reup-design,
.woocommerce-checkout-review-order .nbd-cart-item-add-design,
.woocommerce-checkout-review-order .nbd-create-design,
.woocommerce-checkout-review-order .nbd-cart-item-upload-file > p,
.woocommerce-checkout-review-order .nbd-cart-item-remove-file,
.woocommerce-checkout-review-order .nbd-reup-design{
    display:none !important;
}

/* Durch die entfernten Bedienelemente keine unnötigen Abstände stehen lassen. */
.woocommerce-cart-form .nbd-cart-upload-file,
.woocommerce-checkout-review-order .nbd-cart-upload-file{
    margin-top:0 !important;
    margin-bottom:6px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
}

.woocommerce-cart-form .nbd-cart-item-upload-preview-wrap,
.woocommerce-checkout-review-order .nbd-cart-item-upload-preview-wrap{
    margin-top:0 !important;
}


/* 0.8 – Buch & Schulungsunterlagen */
.daisy-book-controls{
    margin:0 22px 14px;
    padding:12px 14px;
    border-radius:10px;
    background:#f0f6ff;
    border:1px solid #d7e6f8;
    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
}

.daisy-book-controls > div:first-child{
    display:flex;
    align-items:center;
    gap:9px;
}

.daisy-book-controls span{
    font-size:11px;
    color:#607089;
    font-weight:700;
}

.daisy-book-controls select{
    min-height:34px;
    border-radius:7px;
    border:1px solid #b9c9da;
    background:#fff;
    padding:5px 9px;
}

.daisy-book-note{
    color:#6f7b8b;
    font-size:10px;
    line-height:1.4;
}

.daisy-book-summary{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:8px;
}

.daisy-book-summary > div{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:9px 11px;
    border-radius:9px;
    background:#f6f8fb;
}

.daisy-book-summary span{
    color:#6f7b8b;
    font-size:11px;
}

.daisy-book-summary strong{
    font-size:16px;
}

@media(max-width:700px){
    .daisy-book-controls{
        margin-left:12px;
        margin-right:12px;
    }
    .daisy-book-summary{
        grid-template-columns:1fr;
    }
}


/* 0.8.2 – Studenten/Buch: Vorab-Kalkulation + Upload als Wahrheit */
#daisy-book-student-note{
    margin:12px 0 16px;
    padding:13px 15px;
    border:1px solid #cfe0f2;
    border-radius:10px;
    background:#f5f9fe;
    display:flex;
    flex-direction:column;
    gap:4px;
}

#daisy-book-student-note strong{
    font-size:14px;
}

#daisy-book-student-note span{
    font-size:12px;
    line-height:1.45;
    color:#5e6b78;
}

.daisy-book-config-locked{
    display:none !important;
}

.daisy-book-cart-locked{
    opacity:.45 !important;
    cursor:not-allowed !important;
}

.daisy-color-pages-list{
    display:inline-flex;
    align-items:center;
    padding:4px 8px;
    border-radius:999px;
    background:#fff4dc;
    color:#795c16;
    font-size:10px;
    font-weight:700;
}

.daisy-book-correction,
.daisy-book-verified{
    margin-top:8px;
    border-radius:8px;
    padding:9px 11px;
    font-size:11px;
    line-height:1.4;
}

.daisy-book-correction{
    background:#fff4dc;
    color:#6e5313;
}

.daisy-book-verified{
    background:#eef8ef;
    color:#2f6b38;
}


/* 0.8.3 – Fix: kein Deadlock mehr vor Upload */
#daisy-book-estimator{
    margin:14px 0 16px;
    padding:15px;
    border:1px solid #cddceb;
    border-radius:10px;
    background:#f7fafe;
    max-width:620px;
}

.daisy-book-estimator-head{
    display:flex;
    flex-direction:column;
    gap:3px;
    margin-bottom:12px;
}

.daisy-book-estimator-head strong{
    font-size:15px;
}

.daisy-book-estimator-head span,
.daisy-book-estimator-uploadhint{
    color:#667482;
    font-size:12px;
    line-height:1.45;
}

.daisy-book-estimator-grid{
    display:grid;
    grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) auto;
    gap:9px;
    align-items:end;
}

.daisy-book-estimator-grid label{
    display:flex;
    flex-direction:column;
    gap:4px;
    margin:0;
}

.daisy-book-estimator-grid label span{
    font-size:11px;
    font-weight:700;
    color:#526171;
}

.daisy-book-estimator-grid input{
    min-height:39px;
    border:1px solid #c3cfdb;
    border-radius:7px;
    padding:6px 9px;
    background:#fff;
}

#daisy-book-calc-btn{
    min-height:39px;
    border:0;
    border-radius:7px;
    padding:7px 13px;
    font-weight:700;
    cursor:pointer;
}

#daisy-book-estimator-message{
    margin-top:8px;
    font-size:11px;
    line-height:1.4;
    color:#356a3c;
}

#daisy-book-estimator-message.is-error{
    color:#b3261e;
}

.daisy-book-estimator-or{
    display:flex;
    align-items:center;
    gap:8px;
    margin:10px 0 7px;
    color:#84909c;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.daisy-book-estimator-or:before,
.daisy-book-estimator-or:after{
    content:"";
    height:1px;
    flex:1;
    background:#dce5ed;
}

.daisy-book-source-field-hidden{
    display:none !important;
}

.daisy-book-premature-notice{
    display:none !important;
}

@media(max-width:760px){
    .daisy-book-estimator-grid{
        grid-template-columns:1fr 1fr;
    }

    #daisy-book-calc-btn{
        grid-column:1 / -1;
    }
}


/* 0.8.4 – Buchworkflow:
   1 Seiten/Druckdaten -> 2 Konfiguration -> 3 Stückzahl/Preis -> 4 Bestellen */

#daisy-book-workflow-top{
    margin:0 0 18px;
    padding:0;
}

.daisy-book-step-heading{
    display:flex;
    align-items:center;
    gap:10px;
    margin:18px 0 10px;
    padding:10px 12px;
    border-radius:9px;
    background:#f1f5f9;
    border:1px solid #dfe7ef;
}

.daisy-book-step-heading > span{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 28px;
    width:28px;
    height:28px;
    border-radius:50%;
    background:#0b5f9e;
    color:#fff;
    font-weight:800;
    font-size:13px;
}

.daisy-book-step-heading > div{
    display:flex;
    flex-direction:column;
    gap:1px;
}

.daisy-book-step-heading strong{
    font-size:14px;
    line-height:1.2;
}

.daisy-book-step-heading small{
    color:#6b7784;
    font-size:11px;
    line-height:1.35;
}

#daisy-book-workflow-top .daisy-book-first-step{
    margin-top:0;
}

#daisy-book-estimator{
    max-width:none;
    margin:0;
    padding:14px;
    border:1px solid #cddceb;
    border-radius:10px;
    background:#f8fbff;
}

#daisy-book-direct-upload{
    display:block;
    width:100%;
    min-height:42px;
    border:0;
    border-radius:8px;
    background:#1769aa;
    color:#fff;
    font-weight:800;
    cursor:pointer;
    text-transform:none;
}

#daisy-book-direct-upload:hover{
    filter:brightness(.95);
}

#daisy-book-product-status{
    display:flex;
    flex-direction:column;
    gap:2px;
    margin-top:10px;
    padding:10px 12px;
    border-radius:8px;
    font-size:11px;
    line-height:1.4;
}

#daisy-book-product-status strong{
    font-size:12px;
}

#daisy-book-product-status.is-idle{
    background:#f2f4f6;
    color:#59636d;
}

#daisy-book-product-status.is-ok{
    background:#edf8ef;
    color:#2f6b38;
}

#daisy-book-product-status.is-warn{
    background:#fff4dc;
    color:#735716;
}

/* Der originale NBDesigner-Button bleibt als technischer Trigger im DOM. */
.daisy-book-original-upload-trigger{
    display:none !important;
}

/* Die Original-NBO-Felder für Seiten/Farbseiten sind nur noch interne Preisfelder. */
.daisy-book-source-field-hidden{
    display:none !important;
}

/* Konfigurationsüberschrift erst zeigen, wenn Konfiguration freigeschaltet ist. */
body.daisy-book-config-locked-body #daisy-book-config-heading,
body.daisy-book-config-locked-body #daisy-book-price-heading,
body.daisy-book-config-locked-body #daisy-book-cart-heading{
    display:none !important;
}

.daisy-book-cart-step{
    margin-bottom:8px;
}

@media(max-width:760px){
    #daisy-book-estimator{
        padding:12px;
    }
}


/* 0.8.5 – kompakter/stabiler Buch-Kalkulator */
#daisy-book-workflow-top,
#daisy-book-estimator,
.daisy-book-step-heading{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
}

#daisy-book-estimator .daisy-book-estimator-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:10px !important;
    align-items:end !important;
}

#daisy-book-estimator .daisy-book-estimator-grid label{
    min-width:0;
}

#daisy-book-estimator .daisy-book-estimator-grid input{
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box;
}

#daisy-book-calc-btn{
    grid-column:1 / -1 !important;
    width:100% !important;
    min-width:0 !important;
    white-space:normal !important;
    line-height:1.25 !important;
    padding:10px 12px !important;
}

#daisy-book-direct-upload{
    width:100% !important;
    box-sizing:border-box;
}

.daisy-book-estimator-or{
    margin:9px 0 !important;
}

@media(max-width:520px){
    #daisy-book-estimator .daisy-book-estimator-grid{
        grid-template-columns:1fr !important;
    }

    #daisy-book-calc-btn{
        grid-column:1 !important;
    }
}


/* 0.9.0 – Buchlayout stabil + normale WooCommerce-Menge unten ausblenden */
body.daisy-book-mode-active #daisy-book-workflow-top{
    display:block !important;
    float:none !important;
    clear:both !important;
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
    flex:0 0 100% !important;
    grid-column:1 / -1 !important;
    align-self:stretch !important;
    box-sizing:border-box !important;
}

body.daisy-book-mode-active #daisy-book-estimator,
body.daisy-book-mode-active .daisy-book-step-heading{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    float:none !important;
    box-sizing:border-box !important;
}

body.daisy-book-mode-active .summary.entry-summary,
body.daisy-book-mode-active div.product .summary,
body.daisy-book-mode-active form.cart,
body.daisy-book-mode-active form.variations_form{
    min-width:0 !important;
}

/* Untere WooCommerce-Stückzahl: Menge wird bei Büchern über die NBO-Tabelle gewählt. */
body.daisy-book-mode-active form.cart > .quantity,
body.daisy-book-mode-active form.cart > div.quantity{
    display:none !important;
}

#daisy-book-live-price-note{
    margin:8px 0 10px;
    padding:9px 11px;
    border-radius:8px;
    background:#eef6ff;
    border:1px solid #d6e6f6;
    font-size:11px;
    line-height:1.4;
    color:#38536c;
}


/* 0.9.1 – tatsächlichen Elterncontainer stabilisieren */
body.daisy-book-mode-active .daisy-book-workflow-parent{
    display:block !important;
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
    flex:0 0 100% !important;
    grid-column:1 / -1 !important;
    float:none !important;
    clear:both !important;
    box-sizing:border-box !important;
}

body.daisy-book-mode-active .daisy-hide-book-woo-quantity{
    display:none !important;
}

#daisy-book-debug{
    margin-top:8px;
    padding:6px 8px;
    border-radius:6px;
    background:#fff7dc;
    border:1px dashed #d5b45a;
    color:#67531a;
    font-size:9px;
    line-height:1.35;
    overflow-wrap:anywhere;
}


/* 0.9.2 – korrigierte Preisvorschau direkt in den echten NBO-Zellen.
   Der originale Zellinhalt bleibt technisch vollständig erhalten. */
.daisy-book-priced-cell{
    position:relative !important;
    min-height:62px !important;
}

/* Nur optisch verstecken; DOM/Angular/Click-Handler bleiben vorhanden. */
.daisy-book-priced-cell > *{
    visibility:hidden !important;
}

.daisy-book-priced-cell{
    color:transparent !important;
    text-shadow:none !important;
}

.daisy-book-priced-cell::before,
.daisy-book-priced-cell::after{
    visibility:visible !important;
    position:absolute !important;
    left:4px !important;
    right:4px !important;
    text-align:center !important;
    color:#2d3137 !important;
    pointer-events:none !important;
    white-space:nowrap !important;
}

.daisy-book-priced-cell::before{
    content:attr(data-daisy-total);
    top:11px !important;
    font-size:16px !important;
    line-height:1.15 !important;
    font-weight:700 !important;
}

.daisy-book-priced-cell::after{
    content:attr(data-daisy-unit);
    top:36px !important;
    font-size:10px !important;
    line-height:1.2 !important;
    font-weight:400 !important;
    color:#68727d !important;
}

/* Auswahlhintergrund der echten NBO-Zelle bleibt sichtbar. */
.daisy-book-priced-cell.active::before,
.daisy-book-priced-cell.selected::before,
.daisy-book-priced-cell.nbo-active::before{
    color:inherit !important;
}


/* 0.9.3 – Digitalversion-Zusatzdatei */
#daisy-digital-version-box{
    margin:8px 0 12px;
    padding:11px 12px;
    border:1px solid #d6e4f1;
    border-radius:8px;
    background:#f7fbff;
    font-size:11px;
    line-height:1.4;
}

.daisy-digital-version-title{
    margin-bottom:7px;
    font-size:12px;
}

.daisy-digital-same{
    display:flex;
    align-items:center;
    gap:6px;
    cursor:pointer;
    margin:0 0 7px;
}

#daisy-digital-separate-file{
    margin:8px 0;
}

#daisy-digital-separate-file input[type="file"]{
    display:block;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    margin-bottom:4px;
}

.daisy-digital-hint,
#daisy-digital-separate-file small{
    color:#667482;
}

/* Extra Sicherheitsgurt: niemals einen großen gemeinsamen NBO-Container
   durch die Source-Field-Klasse verschwinden lassen. */
.daisy-book-source-field-hidden{
    display:none !important;
}


/* 0.9.4 – Buchoptionen IMMER sichtbar */
body.daisy-book-mode-active .daisy-book-config-locked{
    display:block !important;
}

/* Die Schritte 2 und 3 werden nie mehr vom Uploadstatus versteckt. */
body.daisy-book-config-locked-body #daisy-book-config-heading,
body.daisy-book-config-locked-body #daisy-book-price-heading{
    display:flex !important;
}

/* Schritt 4 + Warenkorbbutton erst nach echter PDF-Prüfung. */
body.daisy-book-upload-not-verified #daisy-book-cart-heading{
    display:none !important;
}

body.daisy-book-upload-not-verified .single_add_to_cart_button{
    display:none !important;
}

body.daisy-book-upload-verified #daisy-book-cart-heading{
    display:flex !important;
}

/* Nach "Druckdaten übernehmen" kurz markieren, wohin es weitergeht. */
.daisy-book-return-highlight{
    animation:daisyBookReturnPulse 1.6s ease-out 1;
}

@keyframes daisyBookReturnPulse{
    0%{
        box-shadow:0 0 0 0 rgba(23,105,170,.32);
        background:#e8f4ff;
    }
    55%{
        box-shadow:0 0 0 9px rgba(23,105,170,0);
        background:#e8f4ff;
    }
    100%{
        box-shadow:none;
    }
}


/* 0.10.0 – Poster / CAD m² */
#daisy-area-panel{
    margin:12px 0 16px;
    padding:13px 14px;
    border:1px solid #d3e2ef;
    border-radius:10px;
    background:#f7fbff;
    box-sizing:border-box;
}

.daisy-area-head{
    display:flex;
    flex-direction:column;
    gap:2px;
    margin-bottom:10px;
}

.daisy-area-head strong{font-size:14px;}
.daisy-area-head span,
.daisy-area-formula,
.daisy-area-empty{
    font-size:11px;
    color:#667482;
    line-height:1.4;
}

.daisy-area-finish{
    display:flex;
    flex-direction:column;
    gap:4px;
    margin:0 0 10px;
}

.daisy-area-finish > span{
    font-size:11px;
    font-weight:700;
}

#daisy-area-finish{
    width:100%;
    min-height:38px;
    box-sizing:border-box;
}

.daisy-area-grid,
.daisy-area-summary{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
}

.daisy-area-grid > div,
.daisy-area-summary > div{
    display:flex;
    justify-content:space-between;
    gap:8px;
    align-items:center;
    padding:8px 10px;
    background:#fff;
    border-radius:7px;
    border:1px solid #e1e8ef;
}

.daisy-area-grid span,
.daisy-area-summary span{
    font-size:10px;
    color:#6a7682;
}

.daisy-area-grid strong,
.daisy-area-summary strong{
    font-size:12px;
}

.daisy-area-total{
    grid-column:1 / -1;
    background:#edf7ef !important;
    border-color:#d4e8d7 !important;
}

.daisy-area-total strong{font-size:15px;}
.daisy-area-formula{margin-top:8px;}

@media(max-width:620px){
    .daisy-area-grid,
    .daisy-area-summary{
        grid-template-columns:1fr;
    }
    .daisy-area-total{grid-column:1;}
}


/* 0.10.1 – CAD Datei-/Breitenbegrenzung */
.daisy-area-warning{
    margin-top:8px;
    padding:9px 10px;
    border-radius:7px;
    background:#fff3df;
    border:1px solid #efd49d;
    color:#71520d;
    font-size:11px;
    line-height:1.4;
}


/* 0.10.2 – Live-Vorschau */
#daisy-live-preview{
    margin-top:14px;
    padding-top:14px;
    border-top:1px solid #e1e7ed;
}

.daisy-preview-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    margin-bottom:10px;
}

.daisy-preview-head > div{
    display:flex;
    flex-direction:column;
    gap:2px;
}

.daisy-preview-head strong{
    font-size:14px;
}

.daisy-preview-head span{
    font-size:11px;
    color:#687581;
}

.daisy-preview-head a{
    font-size:11px;
    font-weight:700;
    text-decoration:none;
    white-space:nowrap;
}

.daisy-preview-tabs{
    display:flex;
    gap:6px;
    overflow-x:auto;
    padding:0 0 8px;
    scrollbar-width:thin;
}

.daisy-preview-file{
    flex:0 0 auto;
    display:flex;
    flex-direction:column;
    gap:1px;
    max-width:180px;
    padding:7px 9px;
    border:1px solid #d9e2ea;
    border-radius:7px;
    background:#fff;
    text-align:left;
    cursor:pointer;
}

.daisy-preview-file span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:10px;
    font-weight:700;
}

.daisy-preview-file small{
    color:#75818c;
    font-size:9px;
}

.daisy-preview-file.is-active{
    border-color:#1769aa;
    box-shadow:0 0 0 1px #1769aa inset;
    background:#f2f8fd;
}

.daisy-preview-current{
    border:1px solid #dbe4eb;
    border-radius:9px;
    overflow:hidden;
    background:#fff;
}

.daisy-preview-current-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    padding:8px 10px;
    border-bottom:1px solid #e4e9ee;
    background:#f7f9fb;
}

.daisy-preview-current-head strong{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:11px;
}

.daisy-preview-current-head span{
    flex:0 0 auto;
    font-size:10px;
    color:#6d7984;
}

.daisy-preview-stage{
    position:relative;
    width:100%;
    height:430px;
    background:#eef2f5;
    overflow:hidden;
}

.daisy-preview-object{
    display:block;
    width:100%;
    height:100%;
    border:0;
    background:#fff;
}

.daisy-preview-image{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    background:#fff;
}

.daisy-preview-fallback{
    display:flex;
    align-items:center;
    justify-content:center;
    height:100%;
    padding:24px;
    text-align:center;
    color:#6d7984;
    font-size:11px;
}

@media(max-width:700px){
    .daisy-preview-stage{
        height:320px;
    }

    .daisy-preview-head{
        align-items:flex-start;
    }

    .daisy-preview-current-head{
        align-items:flex-start;
        flex-direction:column;
        gap:3px;
    }
}


/* 0.10.3 – sichere, reine Live-Vorschau */
.daisy-preview-confirm{
    display:flex;
    align-items:center;
    gap:7px;
    margin:10px 0 0;
    padding:9px 10px;
    border-radius:8px;
    background:#f4f8fb;
    border:1px solid #dce6ee;
    cursor:pointer;
    font-size:11px;
    font-weight:700;
}

.daisy-preview-confirm input{
    margin:0;
}

.daisy-preview-save-note{
    margin-top:6px;
    color:#6b7783;
    font-size:10px;
    line-height:1.4;
}


/* 0.10.4 – Stückzahl direkt im Warenkorb */
.daisy-cart-qty-editor{
    margin:10px 0 8px;
    padding:9px 10px;
    width:max-content;
    max-width:100%;
    border:1px solid #dce5ec;
    border-radius:8px;
    background:#f7f9fb;
}

.daisy-cart-qty-label{
    display:block;
    margin-bottom:5px;
    font-size:11px;
    font-weight:700;
}

.daisy-cart-qty-control{
    display:flex;
    align-items:center;
    gap:0;
}

.daisy-cart-qty-control button{
    width:32px;
    height:32px;
    margin:0;
    padding:0;
    border:1px solid #cfd8df;
    background:#fff;
    font-size:18px;
    line-height:30px;
    text-align:center;
    cursor:pointer;
}

.daisy-cart-qty-minus{border-radius:6px 0 0 6px;}
.daisy-cart-qty-plus{border-radius:0 6px 6px 0;}

.daisy-cart-qty-control .quantity{
    margin:0 !important;
}

.daisy-cart-qty-control input.qty,
.daisy-cart-qty-input{
    width:58px !important;
    height:32px !important;
    min-height:32px !important;
    margin:0 !important;
    padding:4px 6px !important;
    border-left:0 !important;
    border-right:0 !important;
    border-radius:0 !important;
    text-align:center !important;
    box-sizing:border-box !important;
}

.daisy-cart-qty-editor small{
    display:block;
    margin-top:5px;
    color:#6d7882;
    font-size:9px;
    line-height:1.35;
}

.daisy-cart-qty-fixed{
    display:inline-block;
    min-width:42px;
    padding:5px 8px;
    text-align:center;
    border:1px solid #d5dde4;
    border-radius:6px;
    background:#fff;
}


/* 0.10.5 – automatische Warenkorb-Neuberechnung */
.daisy-cart-qty-status.is-busy{
    font-weight:700;
    color:#1769aa;
}

.daisy-cart-qty-editor.is-updating{
    opacity:.72;
    pointer-events:none;
}
