:root{
    --tmr-deep:#0D1B2A;
    --tmr-deep2:#132235;
    --tmr-gold:#C9A84C;
    --tmr-cream:#EFE3C2;
    --tmr-error:#e07b85;
    --tmr-green:#1A3A2A;
}

/* ── Layout ── */
.tmr-wrap{max-width:720px;margin:0 auto;padding:32px 16px}
.tmr-form-section{
    background:var(--tmr-deep2);
    border:1px solid rgba(201,168,76,.15);
    border-radius:6px;
    padding:28px 24px;
    margin-bottom:16px
}
.tmr-section-title{font-family:"Playfair Display",serif;font-size:1.2rem;color:#FDFAF3;margin:0 0 6px}
.tmr-section-desc{font-size:.85rem;color:rgba(245,237,214,.5);margin:0 0 18px}

/* ── Grid ── */
.tmr-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:580px){.tmr-grid{grid-template-columns:1fr;gap:14px}}
.tmr-group{display:flex;flex-direction:column;gap:6px}
.tmr-label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tmr-gold);font-weight:600}
.tmr-req{color:var(--tmr-error)}

/* ── Inputs ── */
.tmr-input{
    background:#0D1B2A;
    border:1px solid rgba(201,168,76,.25);
    border-radius:4px;
    color:#EFE3C2;
    padding:12px 14px;
    font-size:1rem;       /* 1rem prevents iOS auto-zoom on focus */
    width:100%;
    box-sizing:border-box;
    transition:border-color .2s;
    font-family:inherit;
    -webkit-appearance:none;
}
.tmr-input:focus{border-color:var(--tmr-gold);outline:none;box-shadow:0 0 0 3px rgba(201,168,76,.12)}
.tmr-input::placeholder{color:rgba(245,237,214,.3)}

/* ── Select ── */
.tmr-select{
    background-color:#0D1B2A;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C9A84C' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 14px center;
    background-size:12px 8px;
    border:1px solid rgba(201,168,76,.25);
    border-radius:4px;
    color:#EFE3C2;
    padding:12px 40px 12px 14px;
    font-size:1rem;       /* prevents iOS auto-zoom */
    font-family:inherit;
    width:100%;
    box-sizing:border-box;
    transition:border-color .2s;
    -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;
    cursor:pointer;
}
.tmr-select:focus{border-color:var(--tmr-gold);outline:none;box-shadow:0 0 0 3px rgba(201,168,76,.12)}
.tmr-select option{background-color:#0D1B2A !important;color:#EFE3C2 !important}
.tmr-select option:checked,.tmr-select option:hover{background-color:#1a2f45 !important;color:#FDFAF3 !important}

/* ── Attendee rows ── */
.tmr-attendee-row{
    background:#0D1B2A;
    border:1px solid rgba(201,168,76,.1);
    border-radius:4px;
    padding:16px;
    margin-bottom:12px;
    position:relative
}
.tmr-attendee-row .tmr-remove{
    position:absolute;top:12px;right:12px;
    background:rgba(139,38,53,.15);
    border:1px solid rgba(139,38,53,.3);
    border-radius:4px;
    color:var(--tmr-error);
    cursor:pointer;
    font-size:.9rem;
    line-height:1;
    padding:4px 8px;
    transition:background .2s;
}
.tmr-attendee-row .tmr-remove:hover{background:rgba(139,38,53,.3)}
.tmr-add-btn{
    background:none;
    border:1px dashed rgba(201,168,76,.4);
    border-radius:4px;
    color:var(--tmr-gold);
    padding:13px 20px;
    cursor:pointer;
    font-size:.88rem;
    width:100%;
    transition:all .2s;
    margin-top:4px;
    font-family:inherit;
    min-height:48px;   /* easier tap target on mobile */
}
.tmr-add-btn:hover{background:rgba(201,168,76,.07);border-color:var(--tmr-gold)}

/* ── T-shirt rows ── */
#tmr-tshirt-rows .tmr-group{
    background:#0D1B2A;
    border:1px solid rgba(201,168,76,.1);
    border-radius:4px;
    padding:12px 14px;
    margin-bottom:10px;
}

/* ── Order Summary ── */
.tmr-summary{
    background:rgba(201,168,76,.06);
    border:1px solid rgba(201,168,76,.25);
    border-radius:6px;
    padding:22px 20px;
    margin-bottom:16px
}
.tmr-summary__title{font-family:"Playfair Display",serif;font-size:1rem;color:#FDFAF3;margin-bottom:14px;font-weight:700}
.tmr-summary__line{display:flex;justify-content:space-between;font-size:.87rem;color:rgba(245,237,214,.6);padding:6px 0;border-bottom:1px solid rgba(201,168,76,.08)}
.tmr-summary__total{display:flex;justify-content:space-between;font-size:1.1rem;font-weight:700;color:#FDFAF3;padding-top:14px;margin-top:4px}

/* ── Payment tabs ── */
.tmr-pay-tabs{display:flex;gap:10px;margin-bottom:18px}
.tmr-tab{
    flex:1;
    background:rgba(13,27,42,.8);
    border:1px solid rgba(201,168,76,.2);
    border-radius:6px;
    color:rgba(245,237,214,.55);
    padding:14px 10px;
    cursor:pointer;
    font-size:.88rem;
    font-family:inherit;
    font-weight:600;
    transition:all .2s;
    min-height:52px;    /* bigger tap target */
    line-height:1.3;
    -webkit-tap-highlight-color:transparent;
}
.tmr-tab:focus{outline:none}
.tmr-tab--active{
    background:rgba(201,168,76,.12);
    border-color:var(--tmr-gold);
    border-width:2px;
    color:#FDFAF3;
}
.tmr-tab:not(.tmr-tab--active):hover{
    background:rgba(201,168,76,.07);
    border-color:rgba(201,168,76,.4);
    color:rgba(245,237,214,.8);
}

/* ── Stripe card element ── */
.tmr-card-element{
    background:#0D1B2A;
    border:1px solid rgba(201,168,76,.25);
    border-radius:6px;
    padding:16px 14px;
    min-height:52px;
    transition:border-color .2s;
}
.tmr-card-element.StripeElement--focus{
    border-color:var(--tmr-gold);
    box-shadow:0 0 0 3px rgba(201,168,76,.12);
}
.tmr-card-element.StripeElement--invalid{
    border-color:var(--tmr-error);
}
.tmr-card-errors{color:var(--tmr-error);font-size:.83rem;margin-top:8px;min-height:18px}

/* ── PayPal panel ── */
#tmr-paypal-button-container{min-height:48px}

/* ── Submit button ── */
.tmr-submit-btn{
    width:100%;
    background:linear-gradient(135deg,var(--tmr-gold),#a8882a);
    border:none;
    border-radius:6px;
    color:#0D1B2A;
    font-size:.92rem;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
    padding:18px;
    cursor:pointer;
    margin-top:6px;
    transition:opacity .2s,transform .1s;
    font-family:inherit;
    min-height:56px;
    -webkit-tap-highlight-color:transparent;
}
.tmr-submit-btn:hover{opacity:.88}
.tmr-submit-btn:active{transform:scale(.99)}
.tmr-submit-btn:disabled{opacity:.5;cursor:not-allowed}
.tmr-secure-note{text-align:center;font-size:.72rem;color:rgba(245,237,214,.3);margin-top:10px;line-height:1.6}

/* ── Messages ── */
.tmr-error{
    background:rgba(139,38,53,.15);
    border:1px solid rgba(139,38,53,.4);
    border-radius:4px;
    color:#f5c6cb;
    padding:14px 18px;
    font-size:.87rem;
    margin-bottom:16px;
    line-height:1.6;
}
.tmr-success{
    background:rgba(26,58,42,.3);
    border:1px solid rgba(26,58,42,.6);
    border-radius:6px;
    padding:36px 24px;
    text-align:center
}
.tmr-success h3{font-family:"Playfair Display",serif;color:#FDFAF3;font-size:1.5rem;margin:0 0 8px}
.tmr-success p{color:rgba(245,237,214,.6);font-size:.9rem;margin:6px 0}

/* ── Mobile overrides ── */
@media(max-width:480px){
    .tmr-wrap{padding:20px 12px}
    .tmr-form-section{padding:22px 16px}
    .tmr-summary{padding:18px 16px}
    .tmr-section-title{font-size:1.1rem}
    .tmr-pay-tabs{flex-direction:column;gap:8px}
    .tmr-tab{min-height:48px;font-size:.9rem}
    .tmr-submit-btn{font-size:.85rem;padding:16px}
    .tmr-summary__total{font-size:1rem}
    .tmr-card-element{padding:14px 12px}
}
