/* merxa 0.1.0 – Produktseite, Kundenkonto, Shopseite */

/* ---------- Produktseite ---------- */
.merxa-product-box{margin-top:12px;padding:14px;border:1px solid #d7e3e1;border-radius:8px;background:#f5faf9}
.merxa-product-box .button{width:100%}
.merxa-help{margin:.5em 0 0;color:#555;font-size:13px}
.merxa-modal[hidden]{display:none!important}
.merxa-modal{position:fixed;inset:0;z-index:999999}
.merxa-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.merxa-modal-panel{position:relative;box-sizing:border-box;width:min(980px,calc(100% - 24px));max-height:calc(100vh - 32px);overflow:auto;margin:16px auto;background:#fff;border-radius:12px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.merxa-modal-panel *{box-sizing:border-box}
.merxa-modal-panel h3{margin:0 40px 14px 0}
.merxa-close{position:absolute;top:10px;right:12px;width:36px;height:36px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#333}
body.merxa-modal-open{overflow:hidden}
.merxa-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.merxa-col{min-width:0}
.merxa-col label{display:block;font-weight:600;margin-bottom:4px}
.merxa-col input[type=text],.merxa-col textarea{width:100%;max-width:100%}
.merxa-check label{font-weight:400;display:flex;gap:8px;align-items:flex-start;font-size:14px}
.merxa-check input{margin-top:3px;flex:0 0 auto}
.merxa-config-list{margin:0 0 12px;padding:10px 12px 10px 28px;background:#f7f8fa;border-radius:8px;font-size:14px}
.merxa-calc{margin:0 0 14px;padding:12px 14px;border:1px solid #d7e3e1;border-radius:8px;background:#f5faf9;font-size:14px}
.merxa-calc-row{display:flex;justify-content:space-between;gap:12px;padding:3px 0}
.merxa-calc-prov{border-top:1px solid #d7e3e1;margin-top:6px;padding-top:8px;font-size:15px}
.merxa-calc-prov strong{color:#0b6e4f}
.merxa-calc-prov.is-bad strong{color:#b42318}
.merxa-calc-loading{color:#666}
.merxa-stage{position:relative;background:#f4f5f7;border-radius:10px;overflow:hidden;aspect-ratio:1/1;touch-action:none}
.merxa-stage-product{display:block;width:100%;height:100%;object-fit:contain}
.merxa-stage-motif{position:absolute;transform:translate(-50%,-50%);cursor:move;max-width:none;user-select:none;outline:1px dashed rgba(0,0,0,.35)}
.merxa-stage-motif[hidden]{display:none}
.merxa-actions{margin-top:8px}
.merxa-error{color:#b42318;font-weight:600}
.merxa-ok{color:#0b6e4f;font-weight:600}
@media (max-width:760px){.merxa-grid{grid-template-columns:1fr}.merxa-col:last-child{order:-1}.merxa-modal-panel{padding:18px;margin:8px auto;max-height:calc(100vh - 16px)}}

/* ---------- Kundenkonto ---------- */
.merxa-account h3{margin-top:28px}
.merxa-form p{margin:0 0 14px}
.merxa-form label{display:block;font-weight:600;margin-bottom:4px}
.merxa-form small{display:block;color:#666;font-weight:400;margin-top:3px}
.merxa-form input[type=text],.merxa-form input[type=email],.merxa-form textarea,.merxa-form select{width:100%;max-width:560px}
.merxa-sub{display:flex;align-items:center;gap:4px;max-width:560px;flex-wrap:wrap}
.merxa-sub input{flex:1 1 160px;min-width:0}
.merxa-notice{padding:14px 16px;border-left:4px solid #0e7c74;background:#f2f8f7;border-radius:6px;margin:0 0 18px}
.merxa-notice--warn{border-left-color:#d48806;background:#fff8e6}
.merxa-notice p{margin:.4em 0 0}
.merxa-badge{display:inline-block;padding:2px 8px;border-radius:99px;background:#fff1d6;color:#7a4b00;font-size:12px;font-weight:600}
.merxa-table td,.merxa-table th{vertical-align:middle}
.merxa-inline{display:inline-flex;gap:6px;align-items:center;margin:0}
.merxa-inline input[type=text]{width:80px}
.merxa-inline-label{display:inline;font-weight:400}
.merxa-products ul{columns:2;margin:10px 0 0 18px}
@media (max-width:600px){.merxa-products ul{columns:1}.merxa-table{display:block;overflow-x:auto}}

/* ---------- Shopseite ---------- */
body.merxa-store{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#1d2327;background:#f6f7f9;line-height:1.5}
.merxa-store *{box-sizing:border-box}
.merxa-wrap{max-width:1120px;margin:0 auto;padding:0 16px}
.merxa-preview-bar{background:#fff1d6;color:#7a4b00;text-align:center;font-size:13px;padding:6px 12px;font-weight:600}
.merxa-store-header{background:#fff;border-bottom:1px solid #e5e7eb}
.merxa-store-header .merxa-wrap{display:flex;align-items:center;min-height:72px}
.merxa-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;font-weight:700;font-size:20px}
.merxa-brand img{max-height:52px;max-width:180px;width:auto}
.merxa-theme-farbig .merxa-store-header{background:var(--merxa-accent);border-bottom:0}
.merxa-theme-farbig .merxa-brand{color:var(--merxa-on-accent)}
.merxa-theme-dunkel{background:#15181c}
.merxa-theme-dunkel .merxa-store-header{background:#15181c;border-bottom:3px solid var(--merxa-accent)}
.merxa-theme-dunkel .merxa-brand,.merxa-theme-dunkel .merxa-intro,.merxa-theme-dunkel .merxa-back a,.merxa-theme-dunkel .merxa-store-footer{color:#e8e8e8}
.merxa-main{padding-top:28px;padding-bottom:40px;min-height:60vh}
.merxa-intro{font-size:17px;max-width:46em;margin:0 0 24px}
.merxa-grid-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.merxa-card{display:flex;flex-direction:column;gap:6px;background:#fff;border-radius:12px;padding:12px;text-decoration:none;color:inherit;box-shadow:0 1px 2px rgba(0,0,0,.06);transition:transform .15s,box-shadow .15s}
.merxa-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.merxa-card strong{font-size:15px}
.merxa-card span{color:var(--merxa-accent);font-weight:700}
.merxa-theme-dunkel .merxa-card span{color:#fff}
.merxa-mockup{position:relative;background:#f4f5f7;border-radius:8px;overflow:hidden;aspect-ratio:1/1}
.merxa-mockup-base{display:block;width:100%;height:100%;object-fit:contain}
.merxa-mockup-motif{position:absolute;transform:translate(-50%,-50%);max-width:none}
.merxa-back{margin:0 0 14px}
.merxa-back a{color:inherit}
.merxa-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;background:#fff;border-radius:14px;padding:24px}
.merxa-item h1{margin:0 0 8px;font-size:28px;line-height:1.2}
.merxa-price{font-size:24px;font-weight:700;margin:0 0 14px}
.merxa-price small{display:block;font-size:13px;font-weight:400;color:#666}
.merxa-specs{padding-left:18px;color:#444}
.merxa-item label{display:block;font-weight:600;margin-bottom:4px}
.merxa-item select{min-width:140px;padding:8px}
.merxa-btn{display:inline-block;background:var(--merxa-accent,#14302C);color:var(--merxa-on-accent,#fff);border:0;border-radius:8px;padding:12px 22px;font-size:16px;font-weight:600;text-decoration:none;cursor:pointer}
.merxa-btn[disabled]{opacity:.55;cursor:not-allowed}
.merxa-seller{font-size:13px;color:#666}
.merxa-empty{text-align:center;padding:60px 16px;color:#555}
.merxa-store-footer{border-top:1px solid #e5e7eb;padding:20px 0;font-size:13px;color:#555;background:#fff}
.merxa-theme-dunkel .merxa-store-footer{background:#15181c;border-top-color:#2a2f36}
.merxa-store-footer p{margin:4px 0}
.merxa-store-footer a{color:inherit}
.merxa-hero{background:#fff;border-radius:16px;padding:40px 32px;text-align:center}
.merxa-hero h1{font-size:clamp(30px,5vw,48px);line-height:1.1;margin:0 0 16px}
.merxa-hero h1 span{color:#e8431d}
.merxa-hero>p{max-width:40em;margin:0 auto 18px;font-size:17px;color:#3d4650}
.merxa-steps{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:left}
.merxa-steps li{background:#f6f7f9;border-radius:10px;padding:14px}
.merxa-steps strong{display:block}
@media (max-width:760px){.merxa-item{grid-template-columns:1fr;padding:16px;gap:18px}.merxa-steps{grid-template-columns:1fr}.merxa-hero{padding:28px 18px}}

/* ---------- 0.2.0: Warenkorb, Kasse, Bezahlseite ---------- */
.merxa-store-header .merxa-wrap{justify-content:space-between;gap:12px}
.merxa-cart-link{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:99px;background:var(--merxa-accent);color:var(--merxa-on-accent);text-decoration:none;font-weight:600;font-size:14px;white-space:nowrap}
.merxa-theme-farbig .merxa-cart-link{background:var(--merxa-on-accent);color:var(--merxa-accent)}
.merxa-cart-count{display:inline-block;min-width:22px;padding:0 6px;border-radius:99px;background:rgba(255,255,255,.25);text-align:center}
.merxa-theme-farbig .merxa-cart-count{background:rgba(0,0,0,.08)}
.merxa-add input[type=number]{width:90px;padding:8px}
.merxa-added{color:#0b6e4f;font-weight:600}
.merxa-main h1{margin-top:0}
.merxa-checkout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px;align-items:start}
.merxa-cart-box,.merxa-checkout-form,.merxa-legal-page,.merxa-pay{background:#fff;border-radius:14px;padding:20px}
.merxa-cart-box{position:sticky;top:16px}
.merxa-cart-box h2,.merxa-checkout-form h2{font-size:18px;margin:0 0 12px}
.merxa-line{display:grid;grid-template-columns:56px minmax(0,1fr) 64px 80px 28px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #eee}
.merxa-line img{width:56px;height:56px;object-fit:contain;background:#f4f5f7;border-radius:6px}
.merxa-line-info{display:flex;flex-direction:column;font-size:14px;min-width:0}
.merxa-line-info strong{overflow-wrap:anywhere}
.merxa-line-info span{color:#666;font-size:13px}
.merxa-line-qty{width:64px;padding:6px}
.merxa-line-sum{text-align:right;font-weight:600}
.merxa-line-rm{border:0;background:transparent;font-size:22px;line-height:1;cursor:pointer;color:#888}
.merxa-cart-total{display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding-top:12px;font-size:14px;color:#555}
.merxa-cart-total strong{font-size:18px;color:#1d2327}
.merxa-cart-empty{color:#666}
.merxa-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.merxa-fields p,.merxa-checkout-form p{margin:0 0 12px}
.merxa-fields .merxa-full{grid-column:1/-1}
.merxa-fields[hidden]{display:none}
.merxa-fields label,.merxa-add label{display:block;font-weight:600;font-size:14px;margin-bottom:4px}
.merxa-fields input,.merxa-fields select{width:100%;padding:9px 10px;border:1px solid #cfd5dc;border-radius:6px;font-size:15px;background:#fff}
.merxa-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.merxa-summary{margin:14px 0;padding:14px 16px;background:#f6f7f9;border-radius:10px}
.merxa-summary h2{font-size:16px!important}
.merxa-summary dl{display:grid;grid-template-columns:120px 1fr;gap:6px 12px;margin:0;font-size:14px}
.merxa-summary dt{font-weight:600}
.merxa-summary dd{margin:0}
.merxa-store .merxa-check label{display:flex;gap:8px;align-items:flex-start;font-size:14px;font-weight:400}
.merxa-buy{width:100%;font-size:17px}
.merxa-buy[disabled]{opacity:.5}
.merxa-error-box{padding:12px 14px;background:#fdecec;border-left:4px solid #b42318;border-radius:6px;color:#7a1c13;font-weight:600}
.merxa-legal-page{max-width:820px}
.merxa-pay{max-width:900px;margin:0 auto}
.merxa-pay table.shop_table{width:100%;border-collapse:collapse;margin:0 0 18px}
.merxa-pay table.shop_table th,.merxa-pay table.shop_table td{padding:8px;border-bottom:1px solid #eee;text-align:left}
.merxa-pay #payment{background:#f6f7f9;border-radius:10px;padding:14px}
.merxa-pay #payment ul.payment_methods{list-style:none;margin:0 0 12px;padding:0}
.merxa-pay #payment li.wc_payment_method{padding:10px 0;border-bottom:1px solid #e5e7eb}
.merxa-pay #payment li.wc_payment_method>label{font-weight:600;cursor:pointer}
.merxa-pay #payment .payment_box{margin:8px 0 0;padding:10px 12px;background:#fff;border-radius:8px;font-size:14px}
.merxa-pay #place_order,.merxa-pay .button{background:var(--merxa-accent);color:var(--merxa-on-accent);border:0;border-radius:8px;padding:12px 22px;font-size:16px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block}
.merxa-pay .woocommerce-error,.merxa-pay .woocommerce-message,.merxa-pay .woocommerce-info{list-style:none;padding:12px 14px;border-radius:8px;background:#f2f8f7;margin:0 0 14px}
.merxa-pay .woocommerce-error{background:#fdecec}
.merxa-pay .woocommerce-thankyou-order-received{font-size:20px;font-weight:700}
.merxa-pay ul.order_details{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:12px 24px}
.merxa-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 10px}
.merxa-stats div{background:#f5faf9;border:1px solid #d7e3e1;border-radius:8px;padding:10px 12px}
.merxa-stats span{display:block;font-size:12px;color:#555}
.merxa-stats strong{font-size:18px}
.merxa-share input{width:min(420px,100%)}
@media (max-width:860px){.merxa-checkout{grid-template-columns:1fr}.merxa-cart-box{position:static}}
@media (max-width:600px){.merxa-fields{grid-template-columns:1fr}.merxa-line{grid-template-columns:48px minmax(0,1fr) 56px 24px}.merxa-line img{width:48px;height:48px}.merxa-line-sum{grid-column:2/4;text-align:left}.merxa-summary dl{grid-template-columns:1fr}.merxa-stats{grid-template-columns:1fr 1fr}.merxa-cart-link{padding:6px 10px}}
