/* ============ Promo Code Component ============ */
.ryde-v2-promo{margin-top:0;}

/* --- State 1: closed trigger --- */
button.ryde-v2-promo-toggle,
button[type=submit].ryde-v2-promo-toggle,
button[type=button].ryde-v2-promo-toggle{
    background:none!important;border:none!important;
    font-size:14px!important;font-weight:600;color:var(--ryde--gold-deep)!important;
    letter-spacing:.03em;
    border-bottom:1px solid transparent!important;
    padding:2px 0!important;
    transition:border-color .15s ease;
}
.ryde-v2-promo-toggle:hover{border-color:var(--ryde--gold-deep);}
.ryde-v2-promo-btns {
    display: flex;
    gap: 5px;
    align-items: center;
}
/* --- State 2: open input row --- */
.ryde-v2-promo-input-row{
    display:none;
    align-items:center;gap:8px;
    margin-top:2px;
}
.ryde-v2-promo-input-row.show{display:flex;}
/* .ryde-v2-promo-field{
    flex:1;
    display:flex;align-items:center;gap:9px;
    border:1px solid var(--ryde--line);border-radius:var(--ryde--border-radius)!important;
    background:var(--ryde--card);padding:0 13px;height:44px;
    transition:border-color .15s ease, box-shadow .15s ease;
}
.ryde-v2-promo-field:focus-within{border-color:var(--ryde--gold);box-shadow:0 0 0 3px rgba(196,184,15,.14);}
.ryde-v2-promo-field svg{color:var(--ryde--gold-deep);flex:none;}
.ryde-v2-promo-field input {
    border: none !important;
    outline: none;
    background: transparent !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--ryde--ink) !important;
    width: 100% !important;
    min-width: 0;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.ryde-v2-promo-field input::placeholder{color:#a8a69d;text-transform:none;letter-spacing:normal;} */
button.ryde-v2-promo-apply,
button[type=submit].ryde-v2-promo-apply,
button[type=button].ryde-v2-promo-apply{
    flex:none;
    height:40px;padding:0 18px!important;
    background:var(--ryde--gold)!important;color:#fff;border:none;border-radius:var(--ryde--border-radius)!important;
    font-size:12px!important;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
    transition:background .15s ease;
    cursor:pointer;
}
.ryde-v2-promo-apply:hover,
.ryde-v2-promo-apply:focus{background:var(--ryde--gold-deep)!important;}
.ryde-v2-promo-apply:disabled{background:var(--ryde--line);color:var(--ryde--ink-soft);cursor:not-allowed;}
button.ryde-v2-promo-cancel,
button[type=submit].ryde-v2-promo-cancel,
button[type=button].ryde-v2-promo-cancel{
    flex:none;
    width:40px;height:40px;border-radius:var(--ryde--border-radius)!important;
    border:1px solid var(--ryde--line)!important;background:var(--ryde--card);color:var(--ryde--ink-soft)!important;
    display:flex;align-items:center;justify-content:center;
    transition:all .15s ease;
    cursor:pointer;
    padding:0!important;
}
.ryde-v2-promo-cancel:hover,
.ryde-v2-promo-cancel:focus{border-color:var(--ryde--gold-soft)!important;color:var(--ryde--gold-deep)!important;background:var(--ryde--gold-wash)!important;}
.ryde-v2-promo-error{
    display:none;
    font-size:11.5px;font-weight:600;color:#b0413e;
    margin-top:7px;
}
.ryde-v2-promo-error.show{display:block;}

/* --- State 3: applied chip --- */
.ryde-v2-promo-applied{
    display:none;
    align-items:center;justify-content:space-between;gap:10px;
    background:var(--ryde--gold-wash);border:1px solid var(--ryde--gold-soft);
    border-radius:var(--ryde--border-radius)!important;padding:11px 14px;
    margin-top:2px;
}
.ryde-v2-promo-applied.show{display:flex;}
.ryde-v2-promo-applied-info{display:flex;align-items:center;gap:10px;min-width:0;}
.ryde-v2-promo-applied-info svg{color:var(--ryde--gold-deep);flex:none;}
.ryde-v2-promo-applied-text{display:flex;flex-direction:column;line-height:1.3;min-width:0;}
.ryde-v2-promo-code-label{
    font-family:var(--ryde--serif);font-size:16px;font-weight:600;color:var(--ryde--ink);
    letter-spacing:.02em;
}
.ryde-v2-promo-savings{font-size:13px!important;font-weight:600;color:var(--ryde--gold-deep);}
button.ryde-v2-promo-remove,
button[type=submit].ryde-v2-promo-remove,
button[type=button].ryde-v2-promo-remove {
    flex: none;
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    border: 1px solid var(--ryde--gold-soft) !important;
    background: var(--ryde--card) !important;
    color: var(--ryde--ink-soft) !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    transition: all .15s ease !important;
    padding: 0 !important;
    cursor: pointer;
}
.ryde-v2-promo-remove:hover,
.ryde-v2-promo-remove:focus{background:#b0413e;border-color:#b0413e;color:#fff;}



  .ryde-v2-promo-field{display:none;margin-top:8px;}
  .ryde-v2-promo-field.show{display:block;}
  .ryde-v2-promo-inp{display:flex;align-items:center;gap:10px;border:1.5px solid var(--ryde--line);border-radius:var(--ryde--border-radius);padding:0 6px 0 14px;height:52px;background:#fff;transition:border-color .16s ease, box-shadow .16s ease;}
  .ryde-v2-promo-inp:focus-within{border-color:var(--ryde--gold);box-shadow:0 0 0 3px rgba(196,184,15,.14);}
  .ryde-v2-promo-inp.err{border-color:#a8442b;box-shadow:0 0 0 3px rgba(168,68,43,.1);}
  .ryde-v2-promo-inp .ryde-v2-ic{color:var(--ryde--gold-deep);flex:none;display:flex;}
  .ryde-v2-promo-inp input{border:none!important;outline:none!important;background:transparent!important;font-size:15px!important;font-weight:600!important;width:100%!important;min-width:0!important;font-family:var(--ryde-main-font-family)!important;text-transform:uppercase!important;letter-spacing:.04em!important;}
  .ryde-v2-promo-inp input::placeholder{text-transform:none!important;letter-spacing:0!important;font-weight:500!important;color:#aea99d!important;}
  .ryde-v2-promo-apply{flex:none;border:none;background:var(--ryde--gold);color:#fff;border-radius:10px;height:40px;padding:0 18px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .15s ease;}
  .ryde-v2-promo-apply:hover{background:var(--ryde--gold-deep);}
  .ryde-v2-promo-msg{font-size:12px;font-weight:600;margin:8px 2px 0;display:none;align-items:center;gap:6px;}
  .ryde-v2-promo-msg.show{display:flex;}
  .ryde-v2-promo-msg.err{color:#a8442b;}
  .ryde-v2-promo-applied{display:none;align-items:center;justify-content:space-between;margin-top:8px;background:var(--ryde--gold-wash);border:1px solid var(--ryde--gold-soft);border-radius:var(--ryde--border-radius);padding:12px 14px;}
  .ryde-v2-promo-applied.show{display:flex;}
  .ryde-v2-promo-applied .pa-left{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ryde--ink);}
  .ryde-v2-promo-applied .pa-left svg{color:var(--ryde--gold-deep);}
  .ryde-v2-promo-applied .pa-left b{font-weight:700;color:var(--ryde--gold-deep);letter-spacing:.03em;}
  .ryde-v2-promo-applied .pa-right{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:var(--ryde--gold-deep);}
  .ryde-v2-promo-applied .pa-remove{width:26px;height:26px;border-radius:50%;border:1px solid var(--ryde--gold-soft);background:#fff;color:var(--ryde--ink-soft);display:flex;align-items:center;justify-content:center;cursor:pointer;}
  .ryde-v2-promo-applied .pa-remove:hover{color:#a8442b;border-color:#e0b5aa;}