/* DTF Factory v2.52 – ausschließlich Rollenbestellungen, kein Textil-CI. */
:root{
  --ink:#162d45;--ink-2:#10263c;--green:#2f6fa3;--green-text:#245d8a;
  --green-700:#1f567f;--lime:#77b0dc;--green-100:#e8f2fa;--green-050:#f3f8fc;
  --paper:#f3f7fb;--soft:#f0f5fa;--soft-2:#e5edf5;--line:#d5e2ed;
  --text:#203952;--muted:#5b7187;--shadow-sm:0 9px 26px color-mix(in srgb,var(--ci-primary) 7%,transparent);
}
body.dtf-home,body.dtf-cart-page,body.dtf-checkout-page,body.dtf-order-page{background:var(--ci-card);color:var(--ci-link);font-family:Inter,Roboto,Arial,sans-serif;}
.dtf-home h1,.dtf-home h2,.dtf-home h3,.dtf-cart-page h1,.dtf-checkout-page h1{color:var(--ci-link);}
.dtf-home .dtf-hero h1,.dtf-home .dtf-public-hero h1,.dtf-home .dtf-editor-intro h1{color:var(--ci-on-ink);}
:where(.dtf-home,.dtf-cart-page,.dtf-checkout-page,.dtf-order-page) :is(a,button,input,select,textarea):focus-visible{outline:3px solid var(--ci-border-accent);outline-offset:3px;}
:where(.dtf-home,.dtf-cart-page,.dtf-checkout-page,.dtf-order-page) :is(.primary-button,.btn-primary,.checkout-submit,.dtf-button){background:var(--ci-primary)!important;color:var(--ci-on-ink)!important;border-color:var(--ci-border-accent)!important;box-shadow:0 7px 18px color-mix(in srgb,var(--ci-primary) 14%,transparent)!important;text-decoration:none!important;}
:where(.dtf-home,.dtf-cart-page,.dtf-checkout-page,.dtf-order-page) :is(.primary-button,.btn-primary,.checkout-submit,.dtf-button):hover{background:var(--ci-ink)!important;border-color:var(--ci-primary)!important;}
:where(.dtf-home,.dtf-cart-page,.dtf-checkout-page,.dtf-order-page) .eyebrow{color:var(--ci-link)!important;}
:where(.dtf-home,.dtf-cart-page,.dtf-checkout-page,.dtf-order-page) a{accent-color:#25669b;}
.dtf-cart-page .cart-shell,.dtf-checkout-page .checkout-shell{padding-top:44px;}
.dtf-cart-page .cart-item,.dtf-cart-page .cart-totals,.dtf-checkout-page .checkout-card,.dtf-checkout-page .checkout-summary-card,.dtf-order-page .order-card{background:var(--ci-card);border:1px solid var(--ci-line);box-shadow:0 10px 32px color-mix(in srgb,var(--ci-primary) 7%,transparent);border-radius:16px;}
.dtf-cart-page .cart-heading p,.dtf-checkout-page .checkout-heading p{color:var(--ci-link);}
.dtf-cart-page .cart-line-total,.dtf-cart-page .cart-grand-total strong,.dtf-checkout-page .checkout-grand-total strong{color:var(--ci-link)!important;}
.dtf-cart-page .cart-size-form,.dtf-cart-page .cart-size-line{border-color:var(--ci-line);}
.dtf-cart-page :is(.secondary-action-button,.secondary-action-link),.dtf-checkout-page :is(.secondary-action-button,.secondary-action-link){color:var(--ci-link)!important;border-color:var(--ci-line)!important;}
.dtf-cart-page .cart-pricing-note,.dtf-cart-page .cart-coupon-box{background:var(--ci-card)!important;border-color:var(--ci-line)!important;color:var(--ci-link)!important;}
.dtf-cart-page .cart-item-media,.dtf-cart-page .cart-preview-output{background:var(--ci-card);}
.dtf-cart-pdf-media{display:flex;flex-direction:column;gap:9px;min-width:0;align-items:stretch;border:1px solid var(--ci-line);border-radius:14px;padding:10px;background:var(--ci-soft);}
.dtf-cart-pdf-media object{display:block;width:100%;min-height:260px;max-height:400px;aspect-ratio:3/4;border:1px solid var(--ci-line);background:var(--ci-card);border-radius:8px;}
.dtf-cart-pdf-media a{font-size:12px;text-align:center;color:var(--ci-link)!important;font-weight:800;}
.dtf-cart-pdf-fallback{padding:30px 12px;text-align:center;color:var(--ci-link);font-size:13px;}
.dtf-cart-page .cart-item{grid-template-columns:minmax(190px,255px) minmax(0,1fr);}
.dtf-cart-page .cart-size-head{color:var(--ci-link);}
.dtf-cart-page input,.dtf-checkout-page input,.dtf-checkout-page textarea,.dtf-checkout-page select{border-color:var(--ci-line);color:var(--ci-link);background:var(--ci-card);}
.dtf-cart-page input:focus,.dtf-checkout-page input:focus{border-color:var(--ci-border-accent);}
.dtf-checkout-page .checkout-shipping-badge,.dtf-checkout-page .checkout-options .checkout-option:has(input:checked){background:var(--ci-ink)!important;color:var(--ci-on-ink)!important;}
.dtf-checkout-page .checkout-shipping-badge svg{color:var(--ci-link)!important;}
.dtf-checkout-page .checkout-step span{background:var(--ci-soft)!important;color:var(--ci-link)!important;}
.dtf-checkout-page .checkout-submit{background:var(--ci-primary)!important;}
/* Saved-roll customer portal */
.dtf-account-container{width:min(1190px,calc(100% - 34px));margin:0 auto;padding:54px 0 94px;}
.dtf-account-heading{max-width:850px;margin-bottom:30px;}
.dtf-account-heading .dtf-eyebrow{color:var(--ci-link);}
.dtf-account-heading h1{font-size:clamp(35px,4.3vw,56px);line-height:1.12;font-weight:850;letter-spacing:-.035em;margin:12px 0;}
.dtf-account-heading p{color:var(--ci-link);font-size:16px;line-height:1.6;margin:0;}
.dtf-auth-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;}
.dtf-account-card{background:var(--ci-card);padding:30px;border:1px solid var(--ci-line);border-radius:19px;box-shadow:0 12px 34px color-mix(in srgb,var(--ci-primary) 6%,transparent);margin-bottom:20px;min-width:0;}
.dtf-account-card h2{font-size:clamp(21px,2vw,27px);letter-spacing:-.02em;margin:0 0 12px;line-height:1.25;}
.dtf-account-card h3{font-size:18px;}
.dtf-account-card p{font-size:14px;line-height:1.65;color:var(--ci-link);}
.dtf-account-card form{display:grid;gap:15px;}
.dtf-account-card label{display:grid;gap:7px;font-size:13px;font-weight:750;color:var(--ci-link);}
.dtf-account-card input{width:100%;min-height:45px;border:1px solid var(--ci-line);border-radius:9px;padding:10px 12px;background:var(--ci-card);color:var(--ci-link);font:inherit;font-weight:500;}
.dtf-account-card input:focus{border-color:var(--ci-border-accent);outline:3px solid var(--ci-line);outline-offset:0;}
.dtf-account-card .dtf-button{justify-content:center;min-height:46px;border-radius:9px;font-weight:800;text-align:center;}
.dtf-account-link{display:inline-flex;color:var(--ci-link)!important;font-size:13px;font-weight:800;margin-top:14px;text-decoration:underline!important;}
.dtf-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;min-width:0;}
.dtf-account-alert{padding:14px 18px;border-radius:10px;margin:0 0 18px;font-size:14px;font-weight:700;}
.dtf-account-alert.error{background:#fff1f1;border:1px solid #e6b3b3;color:#8b2f30;}
.dtf-account-alert.success{background:var(--ci-soft);border:1px solid var(--ci-line);color:var(--ci-link);}
.dtf-account-dashboard{display:grid;grid-template-columns:240px minmax(0,1fr);gap:22px;align-items:start;}
.dtf-account-menu{display:grid;gap:6px;position:sticky;top:100px;background:var(--ci-ink);border:1px solid var(--ci-primary);border-radius:17px;padding:14px;}
.dtf-account-menu a,.dtf-account-menu button{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ci-link)!important;background:transparent!important;border:0;border-radius:9px;min-height:43px;padding:10px 12px;font:inherit;font-size:13px;font-weight:750;text-align:left;text-decoration:none!important;cursor:pointer;}
.dtf-account-menu a.current,.dtf-account-menu a:hover,.dtf-account-menu button:hover{color:var(--ci-link)!important;background:var(--ci-soft)!important;}
.dtf-account-menu b{padding:2px 7px;border-radius:10px;background:rgba(255,255,255,.14);font-size:11px;}
.dtf-account-menu form{margin-top:8px;border-top:1px solid var(--ci-primary);padding-top:9px;}
.dtf-account-menu button{width:100%;}
.dtf-account-section-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px;}
.dtf-account-section-title h2{margin:0 0 4px;}
.dtf-account-section-title p{margin:0;}
.dtf-account-section-title .dtf-button{white-space:nowrap;padding:11px 16px;font-size:13px;}
.dtf-account-empty{padding:38px 24px;background:var(--ci-card);border:1px dashed var(--ci-line);border-radius:13px;text-align:center;}
.dtf-saved-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.dtf-saved-card{padding:20px;border:1px solid var(--ci-line);border-radius:13px;background:var(--ci-card);}
.dtf-saved-mark{display:inline-flex;background:var(--ci-soft);color:var(--ci-link);border-radius:7px;padding:5px 9px;font-size:12px;font-weight:850;margin-bottom:12px;}
.dtf-saved-card h3{margin:0 0 7px;overflow-wrap:anywhere;}
.dtf-saved-card p{margin:0 0 14px;font-size:12px;}
.dtf-saved-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.dtf-saved-actions .dtf-button{font-size:12px;padding:10px 13px;min-height:40px;}
.dtf-saved-actions button{background:var(--ci-card);border:1px solid #e7c6c9;border-radius:8px;color:#a23c44;padding:9px 12px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;}
.dtf-orders-list{display:grid;gap:10px;}
.dtf-orders-list>a{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px;background:var(--ci-card);border:1px solid var(--ci-line);border-radius:11px;color:var(--ci-link)!important;text-decoration:none!important;}
.dtf-orders-list>a:hover{border-color:var(--ci-line);}
.dtf-orders-list span{display:grid;gap:4px;}.dtf-orders-list small{font-size:12px;color:var(--ci-link);}
.dtf-roll-save-box{padding:16px;border:1px solid var(--ci-line);border-radius:12px;background:var(--ci-card);margin-bottom:14px;}
.dtf-roll-save-box label{display:block;font-weight:850;font-size:13px;margin-bottom:8px;color:var(--ci-link);}
.dtf-roll-save-box input{display:block;width:100%;min-height:42px;border:1px solid var(--ci-line);border-radius:9px;background:var(--ci-card);padding:9px 12px;color:var(--ci-link);margin-bottom:10px;}
.dtf-roll-save-box button{width:100%;margin-top:3px;min-height:42px;}
.dtf-roll-save-box p{margin:10px 0 0;}
@media(max-width:910px){.dtf-cart-page .cart-item{grid-template-columns:minmax(0,1fr);}.dtf-cart-pdf-media{max-width:340px;}.dtf-account-dashboard{grid-template-columns:1fr;}.dtf-account-menu{position:static;display:flex;flex-wrap:wrap;}}
@media(max-width:700px){.dtf-auth-layout,.dtf-account-grid,.dtf-saved-grid{grid-template-columns:1fr;}.dtf-account-container{padding-top:28px;}.dtf-account-card{padding:22px;}.dtf-account-section-title{align-items:flex-start;flex-direction:column;}.dtf-cart-pdf-media{max-width:none;}}
/* DTF information pages, account/checkout and legacy neutral components – blue only. */
body.dtf-content-page{color:var(--ci-link);background:var(--ci-card);font-family:Inter,Roboto,Arial,sans-serif;}
.dtf-content-page :is(h1,h2,h3,h4){color:var(--ci-link);}
.dtf-content-page .dtf-public-hero h1{color:var(--ci-on-ink);}
.dtf-content-page .dtf-public-hero{background:linear-gradient(120deg,var(--ci-ink) 0%,var(--ci-ink) 100%);}
.dtf-content-page .dtf-location-card{border-color:var(--ci-line);box-shadow:0 9px 26px color-mix(in srgb,var(--ci-primary) 7%,transparent);}
.dtf-content-page .dtf-location-top{background:var(--ci-soft);}
.dtf-content-page :is(.dtf-location-label,.dtf-online-kicker){color:var(--ci-link);}
.dtf-content-page .dtf-location-top p,.dtf-content-page .dtf-online-card p,.dtf-content-page .dtf-location-body ul,.dtf-content-page .dtf-online-card ul{color:var(--ci-link);}
.dtf-content-page .dtf-location-body a,.dtf-content-page .dtf-article a{color:var(--ci-link)!important;}
.dtf-content-page .dtf-location-link{color:var(--ci-link)!important;border-color:var(--ci-line)!important;}
.dtf-content-page .dtf-page-sidebar{background:var(--ci-soft);border-color:var(--ci-line);}
.dtf-content-page .dtf-page-sidebar strong{color:var(--ci-link);}
.dtf-content-page .dtf-page-sidebar a{color:var(--ci-link)!important;}
.dtf-content-page .dtf-page-sidebar a[aria-current="page"],.dtf-content-page .dtf-page-sidebar a:hover{background:var(--ci-soft);color:var(--ci-link)!important;}
.dtf-content-page .dtf-article{color:var(--ci-link);}
.dtf-content-page .dtf-article h2{color:var(--ci-link);}
.dtf-content-page .dtf-online-card .dtf-button{background:var(--ci-primary)!important;color:var(--ci-on-ink)!important;border-color:var(--ci-border-accent)!important;}
.dtf-content-page .dtf-online-card .dtf-button-outline{color:var(--ci-link)!important;border-color:var(--ci-line)!important;}
.dtf-content-page :is(a,button,input,textarea,select):focus-visible{outline:3px solid var(--ci-border-accent);outline-offset:3px;}
.dtf-cart-page .cart-item-title,.dtf-checkout-page .checkout-heading h1,.dtf-order-page .order-heading h1{color:var(--ci-link)!important;}
.dtf-cart-page .cart-item .cart-item-preview{background:var(--ci-card)!important;}
.dtf-checkout-page .checkout-section h2,.dtf-checkout-page .checkout-card h2{color:var(--ci-link)!important;}

/* v2.53: kompakte Warenkorb-Bedienung und klare Rollenbearbeitung */
.dtf-cart-page .cart-item-actions{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap;margin-top:12px;}
.dtf-cart-page .cart-item-actions :is(.secondary-action-button,.secondary-action-link){display:inline-flex;align-items:center;justify-content:center;min-height:35px;width:auto;min-width:0;padding:8px 12px;border-radius:8px;font-size:12px;line-height:1.2;font-weight:750;letter-spacing:0;white-space:nowrap;background:var(--ci-card);color:var(--ci-link)!important;border:1px solid var(--ci-line)!important;box-shadow:none!important;text-decoration:none!important;}
.dtf-cart-page .cart-item-actions .dtf-cart-edit-button{background:var(--ci-primary)!important;border-color:var(--ci-border-accent)!important;color:var(--ci-on-ink)!important;}
.dtf-cart-page .cart-item-actions :is(.secondary-action-button,.secondary-action-link):hover{background:var(--ci-soft)!important;color:var(--ci-link)!important;}
.dtf-cart-page .cart-item-actions .dtf-cart-edit-button:hover{background:var(--ci-ink)!important;border-color:var(--ci-primary)!important;color:var(--ci-on-ink)!important;}
.dtf-cart-page .cart-size-line input[type=number]{min-height:35px;height:35px;max-width:98px;font-size:13px;padding:6px 9px;border-radius:8px;}
.dtf-cart-page .dtf-cart-next-roll{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin-top:12px!important;}
.dtf-cart-page .dtf-cart-next-roll .secondary-action-link{display:inline-flex;align-items:center;justify-content:center;width:auto;padding:8px 11px;min-height:35px;border:1px solid var(--ci-line)!important;border-radius:8px;background:var(--ci-card);color:var(--ci-link)!important;font-size:12px;font-weight:750;line-height:1.2;text-decoration:none!important;white-space:normal;}
.dtf-cart-page .dtf-cart-next-roll .secondary-action-link:hover{background:var(--ci-soft);}
.dtf-cart-page .dtf-cart-next-roll small{display:block;flex-basis:100%;margin-top:1px;font-size:11px;line-height:1.5;color:var(--ci-link);}
.dtf-cart-page .cart-remove-form button{font-size:12px;font-weight:750;padding:5px 0;color:#a34242;background:transparent;border:0;box-shadow:none;}
.dtf-cart-page .cart-remove-form button:hover{text-decoration:underline;opacity:1;}
@media(max-width:540px){.dtf-cart-page .cart-item-actions{align-items:stretch;}.dtf-cart-page .cart-item-actions :is(.secondary-action-button,.secondary-action-link){flex:1;white-space:normal;}.dtf-cart-page .cart-size-line input[type=number]{max-width:74px;}}

/* v2.54: stronger accessible contrast for all DTF cart/checkout text. */
body.dtf-cart-page :is(.cart-totals,.cart-service-hint,.cart-coupon-box,.cart-item,.cart-pricing-note),
body.dtf-checkout-page :is(.checkout-card,.checkout-summary,.checkout-summary-card,.checkout-option){color:var(--ci-link)!important;}
body.dtf-cart-page :is(.cart-totals,.cart-service-hint,.cart-coupon-box,.cart-pricing-note) :is(p,small,span,a),
body.dtf-checkout-page :is(.checkout-card,.checkout-summary,.checkout-summary-card,.checkout-option) :is(p,small,span,a){color:var(--ci-link)!important;}
body.dtf-cart-page :is(.cart-service-hint,.cart-coupon-box){background:var(--ci-soft)!important;border:1px solid var(--ci-line)!important;}
body.dtf-cart-page .cart-service-hint :is(strong,svg){color:var(--ci-link)!important;}
body.dtf-checkout-page :is(.checkout-step p,.checkout-heading p,.checkout-card p,.checkout-option small,.checkout-summary-card small,.checkout-summary small,.checkout-fields small,.checkout-check small,.rights-check small){color:var(--ci-link)!important;line-height:1.55;}
body.dtf-checkout-page .checkout-card a:not(.button):not(.btn-primary),body.dtf-cart-page .cart-totals a{color:var(--ci-link)!important;text-decoration:underline;text-underline-offset:2px;}
body.dtf-checkout-page .checkout-option:has(input:checked){background:var(--ci-ink)!important;border-color:var(--ci-border-accent)!important;color:var(--ci-on-ink)!important;}
body.dtf-checkout-page .checkout-option:has(input:checked) :is(span,strong,small,b,p){color:var(--ci-on-ink)!important;}
body.dtf-checkout-page .checkout-speedprint{background:var(--ci-card);border:1px solid var(--ci-line);border-radius:14px;padding:14px;margin:14px 0;color:var(--ci-link);}
body.dtf-checkout-page .checkout-speedprint :is(strong,small,b,span){color:var(--ci-link)!important;}
body.dtf-checkout-page :is(.checkout-summary-row,.checkout-summary-card>div,.checkout-option,.checkout-fields,.checkout-step){row-gap:10px;}
body.dtf-checkout-page .checkout-card{padding:clamp(18px,3vw,28px);}
body.dtf-checkout-page .checkout-card :is(.checkout-step,.checkout-options,.checkout-fields){margin-bottom:12px;}
body.dtf-cart-page .cart-totals .cart-delivery-note{background:var(--ci-soft);color:var(--ci-link)!important;}
body.dtf-cart-page .cart-totals :is(.cart-delivery-note,.cart-coupon-box) a{color:var(--ci-link)!important;}

/* v2.54: delivery notices and voucher controls use the same industrial blue palette. */
body.dtf-cart-page .delivery-time-notice,body.dtf-checkout-page .delivery-time-notice{background:var(--ci-card)!important;border:1px solid var(--ci-line)!important;color:var(--ci-link)!important;padding:18px!important;gap:14px!important;}
body.dtf-cart-page .delivery-time-icon,body.dtf-checkout-page .delivery-time-icon{background:var(--ci-soft)!important;color:var(--ci-link)!important;}
body.dtf-cart-page .delivery-time-icon :is(svg,.ui-icon),body.dtf-checkout-page .delivery-time-icon :is(svg,.ui-icon){color:var(--ci-link)!important;}
body.dtf-cart-page .delivery-time-copy>strong,body.dtf-checkout-page .delivery-time-copy>strong{color:var(--ci-link)!important;}
body.dtf-cart-page .delivery-time-copy :is(p,small),body.dtf-checkout-page .delivery-time-copy :is(p,small){color:var(--ci-link)!important;line-height:1.55!important;}
body.dtf-checkout-page .checkout-delivery-option.shipping:before{background:var(--ci-primary)!important;color:var(--ci-on-ink)!important;}
body.dtf-checkout-page .checkout-delivery-option.shipping{background:var(--ci-card)!important;border-color:var(--ci-line)!important;}
body.dtf-checkout-page .checkout-delivery-option.shipping:has(input:checked){background:var(--ci-ink)!important;border-color:var(--ci-border-accent)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--ci-primary) 15%,transparent)!important;}
body.dtf-checkout-page .checkout-option:has(input:checked) :is(strong,small,span,b),body.dtf-checkout-page .checkout-delivery-option.shipping:has(input:checked) :is(strong,small,span,b){color:var(--ci-on-ink)!important;}
body.dtf-cart-page .cart-coupon-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px!important;}
body.dtf-cart-page .cart-coupon-form input{width:100%!important;min-width:0!important;padding:10px!important;}
body.dtf-cart-page .cart-coupon-form button{width:auto!important;padding:10px 12px!important;font-size:13px!important;background:var(--ci-ink)!important;color:var(--ci-on-ink)!important;border-radius:9px!important;}
body.dtf-cart-page .cart-coupon-help,body.dtf-cart-page .cart-coupon-box p{color:var(--ci-link)!important;font-size:12px!important;line-height:1.55!important;}
body.dtf-checkout-page .checkout-step{align-items:flex-start!important;gap:14px!important;}
body.dtf-checkout-page .checkout-step>div{min-width:0!important;display:grid!important;gap:5px!important;}
body.dtf-checkout-page .checkout-step p{margin:0 0 4px!important;}
body.dtf-checkout-page .checkout-option{gap:14px!important;padding:17px 18px!important;}
body.dtf-order-page .order-speedprint-note{background:var(--ci-soft)!important;color:var(--ci-link)!important;border-color:var(--ci-line)!important;}

/* DTF v2.55: konsistente Kontraste und ruhige Rabatthervorhebung */
body.dtf-home :is(.cart-totals,.checkout-summary,.checkout-card,.cart-item) :is(p,small,span,a){color:var(--ci-link)!important;}
body.dtf-home :is(.checkout-card,.checkout-summary,.cart-totals,.cart-item) a{color:var(--ci-link)!important;}
body.dtf-home :is(.cart-totals,.checkout-summary) .discount,
body.dtf-home :is(.cart-totals,.checkout-summary) .checkout-summary-row.muted{background:var(--ci-soft);border:1px solid var(--ci-line);border-radius:10px;padding:12px 13px;margin:8px 0;gap:14px;align-items:flex-start;color:var(--ci-link)!important;}
body.dtf-home :is(.cart-totals,.checkout-summary) .discount * ,
body.dtf-home .checkout-summary-row.muted *{color:var(--ci-link)!important;}
body.dtf-home .checkout-summary-row>span,body.dtf-home .cart-totals>div>span{min-width:0;overflow-wrap:anywhere;flex:1;}
body.dtf-home .checkout-summary-row>strong,body.dtf-home .cart-totals>div>strong{flex:0 0 auto;white-space:nowrap;text-align:right;}
body.dtf-home .checkout-summary-items>div{gap:18px;align-items:baseline;}
body.dtf-home .checkout-summary-items>div>span{min-width:0;overflow-wrap:anywhere;}
body.dtf-home .checkout-summary-items>div>strong{flex:0 0 auto;white-space:nowrap;}
body.dtf-home .dtf-tax-hint{font-size:13px;line-height:1.5;color:var(--ci-link)!important;margin:6px 0 15px;}
body.dtf-home .checkout-summary-total{border-top:2px solid var(--ci-line);padding-top:14px;}
body.dtf-home .checkout-summary-total span,body.dtf-home .checkout-summary-total strong{color:var(--ci-link)!important;}
body.dtf-home :is(.checkout-card,.cart-totals,.checkout-summary) :is(input,select,textarea){color:var(--ci-link)!important;}
body.dtf-home .checkout-step>div>p{color:var(--ci-link)!important;}
body.dtf-home :is(.checkout-card,.cart-item,.cart-totals) a:focus-visible{outline:3px solid var(--ci-border-accent);outline-offset:3px;}
body.dtf-home .checkout-option:has(input:checked){background:var(--ci-soft);border-color:var(--ci-border-accent);}
body.dtf-home .checkout-option:has(input:checked) :is(strong,small,b,span){color:var(--ci-link)!important;}
body.dtf-home .cart-service-hint{background:var(--ci-soft)!important;color:var(--ci-link)!important;}

body.dtf-checkout-page .checkout-option:has(input:checked){background:var(--ci-soft)!important;color:var(--ci-link)!important;border-color:var(--ci-border-accent)!important;}
body.dtf-checkout-page .checkout-option:has(input:checked) :is(span,strong,small,b,p){color:var(--ci-link)!important;}
body.dtf-checkout-page .checkout-option:has(input:checked) small{color:var(--ci-link)!important;}
body.dtf-order-page .order-summary .order-summary-row.discount{background:var(--ci-soft);border:1px solid var(--ci-line);padding:12px;border-radius:10px;color:var(--ci-link)!important;gap:12px;}
body.dtf-order-page .order-summary .order-summary-row.discount *{color:var(--ci-link)!important;}
body.dtf-order-page .order-summary-row{gap:16px;}
body.dtf-order-page .order-summary-row>span{min-width:0;overflow-wrap:anywhere;flex:1;}
body.dtf-order-page .order-summary-row>strong{white-space:nowrap;flex:0 0 auto;}

/* v2.61 · editable website imagery and accessible contrast */
.dtf-hero-custom img{max-width:100%;max-height:440px;object-fit:contain;border-radius:18px;box-shadow:0 18px 55px rgba(5,22,42,.25)}
.dtf-editor-intro-image{display:block;max-width:min(720px,100%);max-height:220px;object-fit:contain;object-position:left;margin:14px 0;border-radius:12px}
.dtf-filialen-hero-image{display:block;max-width:min(900px,100%);max-height:300px;object-fit:contain;object-position:left;margin-bottom:22px;border-radius:14px}
body.dtf-home .dtf-order-path{color:var(--ci-text)!important}
body.dtf-home .dtf-order-path strong{color:var(--ci-text)!important}
body.dtf-home .dtf-order-path small,body.dtf-home .dtf-order-path b{color:var(--ci-link)!important}

/* v2.61 · protected roll previews in customer accounts */
.dtf-saved-preview-wrap{min-height:250px;background:var(--ci-soft);border:1px solid var(--ci-line);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:14px;margin-bottom:12px}
.dtf-saved-preview-wrap>small{font-size:11px;color:var(--ci-muted)}
.dtf-saved-preview-paper{position:relative;overflow:hidden;background:white;border:1px solid #aac0d7;box-shadow:0 6px 15px rgba(5,30,55,.12)}
.dtf-saved-preview-paper img{position:absolute;display:block;object-fit:fill;transform-origin:center center}

/* v2.61 · Restored marketing popups: derive visible text/button contrast from CI. */
.dtf-home .marketing-popup--light{background:var(--ci-card);color:var(--ci-text)}
.dtf-home .marketing-popup--dark{background:var(--ci-ink);color:var(--ci-on-ink)}
.dtf-home .marketing-popup--green{background:var(--ci-primary);color:var(--ci-on-primary)}
.dtf-home .marketing-popup--dark :is(h2,.marketing-popup-eyebrow,.marketing-popup-text,.marketing-popup-text p,.marketing-popup-text li,.marketing-popup-text a,.marketing-popup-text strong,.marketing-popup-text h2,.marketing-popup-text h3,.marketing-popup-text h4){color:var(--ci-on-ink)!important}
.dtf-home .marketing-popup--green :is(h2,.marketing-popup-eyebrow,.marketing-popup-text,.marketing-popup-text p,.marketing-popup-text li,.marketing-popup-text a,.marketing-popup-text strong,.marketing-popup-text h2,.marketing-popup-text h3,.marketing-popup-text h4){color:var(--ci-on-primary)!important}
.dtf-home .marketing-popup-cta,.dtf-home .marketing-popup--dark .marketing-popup-cta{background:var(--ci-primary);color:var(--ci-on-primary)!important}
.dtf-home .marketing-popup--green .marketing-popup-cta{background:var(--ci-ink);color:var(--ci-on-ink)!important}
.dtf-home .marketing-popup--dark .marketing-popup-code button{background:var(--ci-primary);color:var(--ci-on-primary)}
.dtf-home .marketing-popup--green .marketing-popup-code button{background:var(--ci-ink);color:var(--ci-on-ink)}

/* v2.62 · hochwertiges schräges Hero-Motiv, CI-Farben und lesbare CTA */
.dtf-hero-product{position:relative;min-width:0;padding:18px 13px 90px;isolation:isolate}
.dtf-hero-product .dtf-hero-demo{transform:rotate(-6deg);transform-origin:50% 50%;min-height:345px;filter:drop-shadow(16px 22px 26px rgba(3,16,33,.22))}
.dtf-hero-product .dtf-hero-custom img{width:100%;max-width:min(100%,520px);max-height:450px;display:block;object-fit:contain;box-shadow:0 20px 50px rgba(5,22,42,.24);border:8px solid color-mix(in srgb,var(--ci-card) 90%,transparent);border-radius:15px}
.dtf-hero-banner{position:absolute;z-index:3;display:flex;flex-direction:column;gap:3px;padding:13px 17px;border:1px solid color-mix(in srgb,var(--ci-on-ink) 15%,transparent);border-radius:11px;box-shadow:0 12px 35px rgba(0,0,0,.22);max-width:min(90%,340px)}
.dtf-hero-banner-price{background:var(--ci-primary);color:var(--ci-on-primary);right:0;bottom:60px;transform:rotate(2deg)}
.dtf-hero-banner-quality{background:var(--ci-card);color:var(--ci-text);left:0;bottom:2px;transform:rotate(-3deg)}
.dtf-hero-banner small{font-size:10px;letter-spacing:.06em;font-weight:850;color:inherit}
.dtf-hero-banner strong{font-size:clamp(17px,1.8vw,25px);line-height:1.2;color:inherit!important}
.dtf-hero-banner span{font-size:11px;line-height:1.4;color:inherit}
/* Erstes Bestellangebot: immer hell auf dunkel, auch bei eigener CI-Palette. */
body.dtf-home .dtf-order-path:first-child{color:var(--ci-on-ink)!important}
body.dtf-home .dtf-order-path:first-child :is(span,strong,small,b){color:var(--ci-on-ink)!important;opacity:1!important}
body.dtf-home .dtf-order-path:first-child:focus-visible{outline:3px solid var(--ci-primary);outline-offset:4px}
@media(max-width:680px){.dtf-hero-product{padding-bottom:115px}.dtf-hero-product .dtf-hero-demo{min-height:245px}.dtf-hero-banner-price{right:0;bottom:60px}.dtf-hero-banner-quality{bottom:5px}}

/* First card always dark enough for white text independent of customer's bright CI color. */
body.dtf-home .dtf-order-path:first-child{background:linear-gradient(120deg,rgba(8,27,48,.92),rgba(13,39,68,.84)),var(--ci-primary)!important;border-color:var(--ci-line)!important;color:#ffffff!important}
body.dtf-home .dtf-order-path:first-child :is(span,strong,small,b){color:#ffffff!important;opacity:1!important}

/* Leichte perspektivische Neigung auch für weitere editierbare Website-Motive. */
.dtf-editor-intro-image,.dtf-filialen-hero-image{transform:rotate(-2.5deg);transform-origin:50% 50%;box-shadow:0 15px 35px rgba(0,18,42,.14);margin:20px 14px 22px 8px}

/* v2.62 · Lesbare Hero-Typografie auf dem dunklen CI-Hintergrund. */
body.dtf-home .dtf-hero h1,body.dtf-home .dtf-hero h1 em{color:var(--ci-on-ink)!important}
body.dtf-home .dtf-hero h1 em{opacity:.86}
body.dtf-home .dtf-hero p,body.dtf-home .dtf-hero .dtf-eyebrow{color:var(--ci-on-ink)!important;opacity:.92}

/* v2.63: nur ein dynamisches Preislabel auf dem Hero-Bild. */
.dtf-hero-product{padding-bottom:70px}
.dtf-hero-banner-price{right:0;bottom:12px;max-width:min(88%,325px)}
.dtf-auto-length-info{background:var(--ci-surface, #edf4fb);border:1px solid var(--ci-line,#cbd9e7);border-radius:12px;padding:16px 18px;color:var(--ci-text,#17324d)}
.dtf-auto-length-info p{margin:7px 0 0;line-height:1.65}
@media(max-width:680px){.dtf-hero-product{padding-bottom:72px}.dtf-hero-banner-price{bottom:2px}}

/* v2.64 – price cards show both the applicable rate per lfm and the full roll price. */
.dtf-home .dtf-pricing{grid-template-columns:minmax(225px,1.08fr) repeat(2,minmax(0,1fr));align-items:stretch;}
.dtf-home .dtf-price-highlight{grid-row:span 2;min-height:100%;}
.dtf-home .dtf-price-row{gap:20px;min-height:188px;flex-direction:column;justify-content:space-between;}
.dtf-home .dtf-price-amount{display:grid;gap:5px;min-width:0;}
.dtf-home .dtf-price-amount>small:first-child{font-size:11px;color:var(--ci-muted);font-weight:650;}
.dtf-home .dtf-price-amount>strong{font-size:clamp(21px,2vw,27px);line-height:1.2;color:var(--ci-heading);white-space:normal;}
.dtf-home .dtf-price-per-meter{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;align-items:baseline;padding-top:12px;margin-top:6px;border-top:1px solid var(--ci-line);}
.dtf-home .dtf-price-per-meter span{font-size:12px;font-weight:650;color:var(--ci-muted);}
.dtf-home .dtf-price-per-meter b{font-size:15px;color:var(--ci-link);white-space:nowrap;letter-spacing:0;}
.dtf-home .dtf-price-amount>small:last-child{font-size:11px;color:var(--ci-muted);line-height:1.5;}
@media(max-width:960px){.dtf-home .dtf-pricing{grid-template-columns:repeat(2,minmax(0,1fr));}.dtf-home .dtf-price-highlight{grid-row:auto;grid-column:span 2;min-height:145px;}}
@media(max-width:590px){.dtf-home .dtf-pricing{grid-template-columns:minmax(0,1fr);}.dtf-home .dtf-price-highlight{grid-row:auto;grid-column:1;}.dtf-home .dtf-price-row{min-height:165px;flex-direction:column;gap:16px;}}
/* The highlighted meter-price card is always readable on its dark CI surface. */
.dtf-home .dtf-price-highlight>span,
.dtf-home .dtf-price-highlight>small,
.dtf-home .dtf-price-highlight>strong{color:var(--ci-on-ink)!important;}

/* v2.65: dark actions and selected payment options must use white type. */
body.dtf-cart-page .cart-totals a.primary-button,
body.dtf-cart-page .cart-totals a.primary-button:link,
body.dtf-cart-page .cart-totals a.primary-button:visited,
body.dtf-checkout-page button.checkout-submit,
body.dtf-checkout-page button.checkout-submit :is(span,strong),
body.dtf-checkout-page .checkout-option:has(input:checked),
body.dtf-checkout-page .checkout-option:has(input:checked) :is(span,strong,small,b,p) {
    color:#fff!important;
}
body.dtf-checkout-page .checkout-option:has(input:checked) {background:#11243b!important;border-color:#3a79b1!important;}
body.dtf-checkout-page .dtf-invoice-locked {background:#edf3f8;border:1px dashed #b9c8d8;opacity:1;cursor:not-allowed;}
body.dtf-checkout-page .dtf-invoice-locked :is(strong,small,span) {color:#40566c!important;}
body.dtf-checkout-page .dtf-invoice-locked input {cursor:not-allowed;}

/* v2.68 – Payment options: separate label and explanation, no inline collisions. */
body.dtf-checkout-page .checkout-options .checkout-option > span,
body.dtf-checkout-page .checkout-options .checkout-delivery-option > span {
  display:flex!important;flex-direction:column!important;align-items:flex-start;gap:5px!important;
  min-width:0;line-height:1.45;
}
body.dtf-checkout-page .checkout-options .checkout-option > span > strong,
body.dtf-checkout-page .checkout-options .checkout-delivery-option > span > strong {
  display:block;line-height:1.35;margin:0!important;
}
body.dtf-checkout-page .checkout-options .checkout-option > span > small,
body.dtf-checkout-page .checkout-options .checkout-delivery-option > span > small {
  display:block;line-height:1.5;margin:0!important;white-space:normal;overflow-wrap:anywhere;
}
body.dtf-checkout-page .checkout-options .checkout-option:has(input:checked) > span > small,
body.dtf-checkout-page .checkout-options .checkout-option:has(input:checked) > span > strong {color:#fff!important;}
body.dtf-checkout-page .checkout-summary-row.muted,
body.dtf-cart-page .cart-totals .discount {
  background:var(--ci-soft)!important;border:1px solid var(--ci-line)!important;
  border-radius:10px!important;padding:12px 13px!important;
  color:var(--ci-text)!important;
}
body.dtf-checkout-page .checkout-summary-row.muted :is(span,strong),
body.dtf-cart-page .cart-totals .discount :is(span,strong) {color:var(--ci-text)!important;}
body.dtf-checkout-page .checkout-summary-row.checkout-method-row {font-size:13px;gap:12px;align-items:baseline;}
body.dtf-checkout-page .checkout-summary-row.checkout-method-row strong {text-align:right;}

/* v2.69 – kompakte Gutschein- und Versandinformation im DTF-Warenkorb */
body.dtf-cart-page .cart-totals>.cart-coupon-box{padding:17px!important;margin-top:20px;border-radius:15px;background:var(--ci-soft)!important;border:1px solid var(--ci-line)!important;}
body.dtf-cart-page .dtf-coupon-heading{display:flex;gap:12px;align-items:center;margin-bottom:14px;}
body.dtf-cart-page .dtf-coupon-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:10px;background:var(--ci-card);color:var(--ci-link)!important;font-size:19px;font-weight:800;border:1px solid var(--ci-line);}
body.dtf-cart-page .dtf-coupon-heading .cart-coupon-title{display:block;margin:0 0 2px;font-size:15px;color:var(--ci-text)!important;line-height:1.25;}
body.dtf-cart-page .dtf-coupon-heading small{display:block;font-size:12px;color:var(--ci-muted)!important;}
body.dtf-cart-page .cart-coupon-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:9px;}
body.dtf-cart-page .cart-coupon-form input{min-width:0;width:100%;min-height:44px;height:44px;padding:9px 12px;border:1px solid var(--ci-line);border-radius:9px;color:var(--ci-text);background:var(--ci-card);font-size:14px;}
body.dtf-cart-page .cart-coupon-form button{width:auto;min-width:93px;min-height:44px;height:44px;padding:0 15px;border:1px solid var(--ci-ink);border-radius:9px;background:var(--ci-ink);color:var(--ci-on-ink)!important;font-size:13px;font-weight:800;}
body.dtf-cart-page .cart-coupon-form button:hover{filter:brightness(1.12);}
body.dtf-cart-page .cart-coupon-help{font-size:12px!important;line-height:1.5!important;margin:10px 0 0!important;color:var(--ci-muted)!important;}
body.dtf-cart-page .cart-totals>.dtf-cart-next-step{display:block;margin:14px 0 17px;padding:15px 16px;border:1px solid var(--ci-line);background:var(--ci-card);border-radius:13px;color:var(--ci-text);}
body.dtf-cart-page .dtf-cart-next-step strong{display:block;margin-bottom:6px;font-size:14px;color:var(--ci-text)!important;}
body.dtf-cart-page .dtf-cart-next-step p{margin:0 0 8px;font-size:12px;line-height:1.55;color:var(--ci-muted)!important;}
body.dtf-cart-page .dtf-cart-next-step a{display:inline-block;font-size:12px;line-height:1.5;color:var(--ci-link)!important;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere;}
body.dtf-cart-page .cart-totals>a.primary-button{display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;margin-top:15px;border-radius:11px;color:var(--ci-on-accent)!important;background:var(--ci-primary)!important;font-weight:800;text-align:center;}
@media(max-width:420px){body.dtf-cart-page .cart-coupon-form{grid-template-columns:1fr;}body.dtf-cart-page .cart-coupon-form button{width:100%;}}
body.dtf-cart-page .cart-totals>.dtf-cart-next-step,body.dtf-cart-page .dtf-cart-next-step strong{text-align:left!important;}

/* v2.71: Dynamic payment/shipping disclosures follow the current CI colors. */
.dtf-live-payment,.dtf-live-speedprint{margin-block:1.5rem;padding:1.2rem;border:1px solid var(--dtf-line,#d5e2ed);border-radius:14px;background:var(--dtf-panel,#fff);color:var(--dtf-ink,#203952)}
.dtf-live-payment .shipping-rate-row{display:grid;grid-template-columns:minmax(9rem,.55fr) minmax(0,1.45fr);gap:.8rem;align-items:start;padding:.85rem 0;border-bottom:1px solid var(--dtf-line,#d5e2ed)}
.dtf-live-payment .shipping-rate-row:last-child{border-bottom:0}
.dtf-live-payment .shipping-rate-row span{color:var(--dtf-ink,#203952);line-height:1.55}
@media(max-width:640px){.dtf-live-payment .shipping-rate-row{grid-template-columns:1fr;gap:.25rem}}

/* v2.73: redaktionelle DTF-Unterseiten, konsistent zum CI. */
.dtf-content-page .dtf-article{color:var(--ci-text)!important;}
.dtf-content-page .dtf-article h2,.dtf-content-page .dtf-article h3{color:var(--ci-text)!important;}
.dtf-content-page .dtf-article a{color:var(--ci-link)!important;text-decoration-thickness:1px;text-underline-offset:3px;}
.dtf-article-hero{margin:0 0 32px;border-radius:16px;overflow:hidden;background:var(--ci-soft);border:1px solid var(--ci-line);}
.dtf-article-hero img{display:block;width:100%;max-height:420px;object-fit:cover;}
.dtf-content-page .dtf-article ol li,.dtf-content-page .dtf-article ul li{margin:0 0 10px;}
.dtf-content-page .dtf-article p,.dtf-content-page .dtf-article li{color:var(--ci-text);}
.dtf-quality-more{margin:25px 0 0;color:var(--ci-text);font-size:15px;line-height:1.7;}
.dtf-quality-more a{color:var(--ci-link);font-weight:750;text-underline-offset:3px;}

/* v2.75: Lighthouse AA-Kontrast auf hellen Infokarten und Vorlagen-Hinweisen.
   CI-Textfarbe wird im Backend gegen den Seitenhintergrund geprüft. */
.dtf-home .dtf-auto-length-info p,
.dtf-home .dtf-summary p,
.dtf-home .dtf-template-note,
.dtf-home .dtf-quality-more {color:var(--ci-text-on-background);}
