/* Nur Pur Geschenkbox-Konfigurator Styles */

.np-konfig-wrap{max-width:1280px;margin:0 auto;padding:40px 24px 80px}

/* Hero */
.np-konfig-hero{text-align:center;padding:40px 0 48px}
.np-konfig-hero h1{font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,5vw,3rem);font-weight:700;color:#5C4A38;margin:0 0 12px}
.np-konfig-hero p{font-size:1.05rem;color:#8A6241;max-width:560px;margin:0 auto;line-height:1.6}

/* Sections */
.np-konfig-section{margin-bottom:56px;position:relative;padding-top:20px}
.np-konfig-hidden{display:none}

.np-konfig-step-num{width:36px;height:36px;border-radius:50%;background:#B78759;color:#fff;font-family:"Nunito Sans",sans-serif;font-size:1rem;font-weight:600;display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.np-konfig-step-title{font-family:"Cormorant Garamond",serif;font-size:clamp(1.4rem,3vw,1.8rem);font-weight:700;color:#5C4A38;margin:0 0 24px}

/* Box Grid */
.np-box-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.np-box-card{background:#FFF;border-radius:16px;padding:24px;text-align:center;border:2px solid transparent;box-shadow:0 2px 12px rgba(92,74,56,.08);cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex;flex-direction:column}
.np-box-card .np-box-card-price{margin-top:auto;margin-bottom:16px}
.np-box-card:hover{box-shadow:0 4px 20px rgba(92,74,56,.15);transform:translateY(-2px)}
.np-box-card.np-box-selected{border-color:#B78759;box-shadow:0 4px 20px rgba(183,135,89,.25)}
.np-box-card-img{width:120px;height:120px;margin:0 auto 16px;border-radius:12px;overflow:hidden;background:#F0E6D5}
.np-box-card-img img{width:100%;height:100%;object-fit:cover}
.np-box-card h3{font-family:"Cormorant Garamond",serif;font-size:1.3rem;font-weight:700;color:#5C4A38;margin:0 0 4px}
.np-box-card-desc{font-size:.9rem;color:#8A6241;margin:0 0 8px}
.np-box-card-price{font-size:1.1rem;font-weight:600;color:#5C4A38;margin:0 0 16px}
.np-box-select-btn{background:#5C4A38;color:#F0E6D5;border:none;padding:10px 24px;border-radius:10px;font-family:"Nunito Sans",sans-serif;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s}
.np-box-card.np-box-selected .np-box-select-btn{background:#B78759}
.np-box-select-btn:hover{background:#8A6241}

/* Fill Bar */
.np-fill-bar-wrap{margin-bottom:24px}
.np-fill-bar-wrap.np-fill-sticky{position:sticky;top:8px;z-index:50;background:#F5EBDD;padding:12px 16px;border-radius:12px;box-shadow:0 2px 10px rgba(92,74,56,0.15)}/* t_fe107383: ganzer Status klebt (Plätze-Text + Gesamt-CHF + Balken) — nichts kollabiert */.np-fill-sticky .np-fill-bar-info{white-space:nowrap;gap:12px;min-height:18px}.np-fill-sticky .np-fill-text{flex-shrink:0;overflow:visible;text-overflow:clip}.np-fill-sticky .np-fill-total{flex-shrink:0;margin-left:auto;font-size:.9rem}body.admin-bar .np-fill-bar-wrap.np-fill-sticky{top:46px}
@media (max-width:768px){.np-fill-bar-wrap.np-fill-sticky{padding:10px 12px}.np-fill-sticky .np-fill-bar-info{flex-wrap:wrap;white-space:normal;row-gap:2px}.np-fill-sticky .np-fill-text{font-size:.82rem}}@media (max-width:480px){.np-fill-sticky .np-fill-total{font-size:.8rem}}
.np-fill-bar-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.9rem;color:#5C4A38}
.np-fill-bar-track{height:12px;background:#E0D0BC;border-radius:6px;overflow:hidden}
.np-fill-bar-fill{height:100%;border-radius:6px;transition:width .3s ease}
.np-fill-ok{background:#B78759}
.np-fill-warn{background:#D4A056}
/* t_023a352e: Set voll -> rot (vorher #5C4A38 dunkelbraun — Flo wollte klare rote Rückmeldung);
   Text-Zähler parallel rot via .np-fill-bar-info, Kontrast auf #F5EBDD gegeben (Weiss-Text auf Rot) */
.np-fill-full{background:#B02E2E}
.np-fill-bar-wrap.np-fill-is-full .np-fill-bar-info{color:#B02E2E; font-weight:700}
.np-fill-bar-wrap.np-fill-is-full .np-fill-capacity{color:#B02E2E}

/* Filter */
.np-konfig-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.np-filter-btn{padding:8px 16px;border:1.5px solid #DCC5A8;border-radius:20px;background:transparent;color:#8A6241;font-family:"Nunito Sans",sans-serif;font-size:.85rem;cursor:pointer;transition:all .2s}
.np-filter-btn:hover{border-color:#B78759}
.np-filter-btn.np-filter-active{background:#5C4A38;color:#F0E6D5;border-color:#5C4A38}

/* Product Grid */
.np-konfig-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}
.np-konfig-product{background:#FFF;border-radius:12px;padding:16px;text-align:center;border:1px solid #E0D0BC;transition:box-shadow .2s;display:flex;flex-direction:column}
.np-konfig-product .np-konfig-product-name{margin:0 0 4px}
.np-konfig-product .np-konfig-product-price{margin-top:auto;margin-bottom:10px}
.np-konfig-product:hover{box-shadow:0 2px 12px rgba(92,74,56,.12)}
.np-konfig-product-img{width:100%;aspect-ratio:1;overflow:hidden;border-radius:8px;margin-bottom:12px;background:#F0E6D5}
.np-konfig-product-img img{width:100%;height:100%;object-fit:cover}
.np-konfig-product-name{font-family:"Cormorant Garamond",serif;font-size:1.1rem;font-weight:700;color:#5C4A38;margin:0 0 4px}
.np-konfig-product-desc{font-size:.75rem;color:#8A6241;margin:0 0 6px;line-height:1.3}
.np-konfig-product-price{font-size:.95rem;font-weight:600;color:#5C4A38;margin:0 0 10px}
.np-konfig-add-btn{width:100%;padding:8px 12px;background:#F0E6D5;border:1.5px solid #B78759;border-radius:8px;color:#5C4A38;font-family:"Nunito Sans",sans-serif;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s}
.np-konfig-add-btn:hover{background:#B78759;color:#fff}

/* Summary */
.np-summary-layout{display:grid;grid-template-columns:1fr 320px;gap:32px;align-items:start}
.np-summary-box{background:#FFF;border-radius:16px;padding:24px;box-shadow:0 2px 12px rgba(92,74,56,.08)}
.np-summary-box h3{font-family:"Cormorant Garamond",serif;font-size:1.3rem;font-weight:700;color:#5C4A38;margin:0 0 16px}
.np-summary-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #F0E6D5}
.np-summary-item-img{width:48px;height:48px;border-radius:8px;object-fit:cover;flex-shrink:0}
.np-summary-item-info{flex:1;min-width:0}
.np-summary-item-name{font-size:.9rem;font-weight:600;color:#5C4A38;margin:0}
.np-summary-item-price{font-size:.8rem;color:#8A6241;margin:0}
.np-summary-item-qty{display:flex;align-items:center;gap:6px;font-size:.9rem;color:#5C4A38}
.np-summary-item-qty button{width:24px;height:24px;border:1px solid #DCC5A8;background:#F0E6D5;border-radius:4px;cursor:pointer;color:#5C4A38;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center}
.np-summary-item-qty button:hover{background:#B78759;color:#fff}
.np-summary-item-remove{background:none;border:none;color:#B78759;cursor:pointer;font-size:1rem;padding:4px}
.np-summary-item-remove:hover{color:#8A6241}
.np-summary-divider{border-top:1px solid #E0D0BC;margin:16px 0}
.np-summary-row{display:flex;justify-content:space-between;font-size:.9rem;color:#5C4A38;padding:4px 0}
.np-summary-total{font-size:1.1rem;font-weight:700;margin-top:8px}
.np-summary-total-val{color:#5C4A38}

.np-summary-giftcard{background:#FFF;border-radius:16px;padding:20px;box-shadow:0 2px 12px rgba(92,74,56,.08)}
.np-summary-giftcard label{display:flex;align-items:center;gap:8px;font-size:.9rem;color:#5C4A38;cursor:pointer;font-weight:600;margin-bottom:12px}
.np-summary-giftcard input[type="checkbox"]{accent-color:#B78759;width:18px;height:18px}
.np-summary-giftcard textarea{width:100%;border:1.5px solid #DCC5A8;border-radius:8px;padding:10px;font-family:"Nunito Sans",sans-serif;font-size:.85rem;color:#5C4A38;resize:vertical;min-height:80px}
.np-summary-giftcard textarea:focus{outline:none;border-color:#B78759}

.np-summary-actions{grid-column:1 / -1;display:flex;gap:12px;justify-content:flex-end;margin-top:16px}
.np-btn-secondary{padding:12px 24px;border:1.5px solid #B78759;background:transparent;color:#5C4A38;border-radius:10px;font-family:"Nunito Sans",sans-serif;font-size:.9rem;font-weight:600;cursor:pointer}
.np-btn-secondary:hover{background:#F0E6D5}
.np-btn-primary{padding:12px 32px;background:#5C4A38;color:#F0E6D5;border:none;border-radius:10px;font-family:"Nunito Sans",sans-serif;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s}
.np-btn-primary:hover{background:#8A6241}
.np-btn-primary:disabled{opacity:.6;cursor:wait}

.np-summary-msg{grid-column:1 / -1;padding:12px;border-radius:8px;font-size:.85rem;display:none}
.np-summary-msg-error{background:#FDE8E8;color:#B85450;border:1px solid #F5C6C6}
.np-summary-msg-ok{background:#E8F5E8;color:#4A7C4A;border:1px solid #C6E0C6}

/* Wunschdatum */
.np-konfig-hero-delivery{font-size:.9rem;color:#B78759;margin-top:10px}
.np-summary-wunschdatum{background:#F5EBDD;border:1.5px dashed #B78759;border-radius:12px;padding:14px 16px;font-size:.85rem;color:#5C4A38;line-height:1.5}
.np-summary-wunschdatum label{display:block;font-weight:600;margin-bottom:8px;font-size:.9rem}
.np-summary-wunschdatum input[type="date"]{width:100%;border:1.5px solid #DCC5A8;border-radius:8px;padding:9px 10px;font-family:"Nunito Sans",sans-serif;font-size:.9rem;color:#5C4A38;background:#FFF}
.np-summary-wunschdatum input[type="date"]:focus{outline:none;border-color:#B78759}
.np-summary-wunschdatum-hint{margin:8px 0 0;font-size:.78rem;color:#8A6241}

/* Responsive */
@media (max-width: 768px) {
    .np-konfig-wrap{padding:24px 16px 60px}
    .np-box-grid{grid-template-columns:1fr}
    .np-konfig-product-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
    .np-summary-layout{grid-template-columns:1fr}
    .np-summary-actions{flex-direction:column}
    .np-btn-primary,.np-btn-secondary{width:100%;text-align:center}
}