/* Express Checkout — button + modal */
.ec-btn{
  display:flex !important;align-items:center;justify-content:center;gap:10px;
  width:100% !important;clear:both;float:none !important;margin:12px 0 0 !important;
  background:#fff !important;border:2px solid #2c3e50 !important;color:#2c3e50 !important;
  font-weight:700;border-radius:6px;padding:13px 22px !important;font-size:16px;line-height:1.2;
  cursor:pointer;box-sizing:border-box;text-transform:none;
}
.ec-btn:hover{background:#2c3e50 !important;color:#fff !important}
.ec-btn:disabled{opacity:.5;cursor:not-allowed}
.ec-btn:disabled:hover{background:#fff !important;color:#2c3e50 !important}
.ec-btn .ec-lock{font-size:14px;line-height:1}
.ec-icons{display:block;width:100%;text-align:center;margin:7px 0 0;font-size:12px;color:#8a94a3;letter-spacing:.02em}

/* modal */
.ec-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center}
.ec-modal[hidden]{display:none}
.ec-overlay{position:absolute;inset:0;background:rgba(15,23,42,.55)}
.ec-box{position:relative;width:min(460px,92vw);max-height:90vh;overflow:auto;background:#fff;
  border-radius:12px;padding:24px;box-shadow:0 24px 60px rgba(0,0,0,.35);
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.ec-x{position:absolute;top:10px;right:12px;border:0;background:none;font-size:26px;line-height:1;color:#94a3b8;cursor:pointer}
.ec-x:hover{color:#475569}
.ec-head h3{margin:0 0 6px;font-size:19px;color:#11202a}
.ec-prod{display:flex;justify-content:space-between;gap:12px;align-items:baseline;
  border-bottom:1px solid #eef1f5;padding-bottom:12px;margin-bottom:16px;color:#334155;font-size:14.5px}
.ec-prod strong{font-size:17px;color:#11202a;white-space:nowrap}

.ec-field{margin-bottom:12px}
.ec-field label{display:block;font-size:12.5px;font-weight:600;color:#475569;margin-bottom:4px}
.ec-field .req{color:#dc2626}
.ec-field input,.ec-addr-grid input,.ec-addr-grid select{
  width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:7px;font-size:15px;color:#11202a;background:#fff}
.ec-field input:focus,.ec-addr-grid input:focus,.ec-addr-grid select:focus{outline:0;border-color:#2c3e50;box-shadow:0 0 0 3px rgba(44,62,80,.12)}

.ec-addr{margin:4px 0 14px;border:1px solid #eef1f5;border-radius:8px;padding:0 12px}
.ec-addr summary{cursor:pointer;padding:11px 0;font-size:13.5px;color:#475569;font-weight:600;list-style:none}
.ec-addr summary::-webkit-details-marker{display:none}
.ec-addr summary::before{content:"+ ";color:#2c3e50;font-weight:700}
.ec-addr[open] summary::before{content:"– "}
.ec-addr-grid{display:grid;gap:8px;padding:2px 0 12px}

.ec-pay{width:100%;background:#2c3e50;color:#fff;border:0;border-radius:7px;
  padding:14px 20px;font-size:16px;font-weight:600;cursor:pointer}
.ec-pay:hover{background:#1d2c39}
.ec-pay:disabled{opacity:.6;cursor:default}
.ec-err{margin:10px 0 0;color:#b91c1c;font-size:13.5px}
.ec-secure{margin:12px 0 0;text-align:center;font-size:12px;color:#94a3b8}
#ec-stripe{min-height:320px}

/* fields step: optional markers, delivery textarea, confirm prompt */
.ec-field .ec-opt{font-weight:400;color:#94a3b8;font-size:11.5px}
.ec-field textarea{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:7px;font-size:15px;color:#11202a;background:#fff;resize:vertical;font-family:inherit}
.ec-field textarea:focus{outline:0;border-color:#2c3e50;box-shadow:0 0 0 3px rgba(44,62,80,.12)}
#ec-confirm{margin-top:6px;background:#f8fafc;border:1px solid #e3e9f1;border-radius:8px;padding:14px}
.ec-confirm-q{margin:0 0 10px;font-size:14px;color:#16263d;font-weight:600}
.ec-confirm-row{display:flex;gap:10px}
.ec-confirm-row .ec-pay{flex:1;margin:0}
.ec-ghost{flex:1;background:#fff;color:#2c3e50;border:1px solid #cbd5e1;border-radius:7px;padding:14px 16px;font-size:15px;font-weight:600;cursor:pointer}
.ec-ghost:hover{background:#f1f5f9}

/* v1.0.19: theme-mode wrapper — keeps the button and its payment-icons caption
   together as one unit so the caption sits directly under the button (instead
   of being squeezed beside the theme's "Add to cart" button). */
.ec-after{display:inline-flex;flex-direction:column;align-items:stretch;gap:6px;vertical-align:top}
.ec-after .ec-icons{white-space:nowrap;margin:0;text-align:center}

/* Add-on rows im Express Checkout Modal */
.ec-addons {
    margin: 12px 0 8px;
    border-top: 1px solid #e2e8f0;
    padding-top: 10px;
}
.ec-addon-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 4px;
    cursor: pointer;
    border-radius: 5px;
    transition: background 0.1s;
}
.ec-addon-row:hover { background: #f8fafc; }
.ec-addon-row input[type="checkbox"] {
    width: 16px; height: 16px; flex-shrink: 0;
    accent-color: #2c3e50;
}
.ec-addon-label { flex: 1; font-size: 14px; color: #334155; font-weight: 500; }
.ec-addon-price { font-size: 13px; color: #64748b; white-space: nowrap; }

/* Proceed-Button im Express Checkout Modal */
.ec-proceed-btn {
    display: block;
    width: 100%;
    padding: 13px 20px;
    background: #2c3e50;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
}
.ec-proceed-btn:hover { background: #1a252f; }
.ec-proceed-btn:disabled { opacity: 0.65; cursor: not-allowed; }
