:root{
  --ink:#0B0B0B; --muted:#6B7280; --bg:#0A0A0A; --card:#F7FAFF;
  --accent:#BB2323; --ring:#E5E7EB; --radius:14px;
}

/* Wrapper + header */
.frr-wrap{max-width:1100px;margin:20px auto;padding:16px;}
.frr-head{background:#0B0B0B;color:#fff;border-radius:16px;padding:18px 20px;margin-bottom:18px;}
.frr-title{margin:0;font-size:clamp(22px,3.2vw,30px)}
.frr-sub{margin:4px 0 0;color:#C9CDD3;font-size:14px}

/* Steps */
.frr-step{background:#F7FAFF;border:1px solid var(--ring);border-radius:14px;padding:18px;margin-bottom:14px}
.frr-step-title{margin:0 0 12px;font-size:18px;color:#111}

/* Coach selection */
.frr-choice{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:12px}
.frr-radio{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--ring);padding:10px 12px;border-radius:10px;cursor:pointer}

/* Category list */
.frr-catlist{display:flex;flex-direction:column;gap:8px;margin:12px 0}
.frr-catrow{
  display:grid;grid-template-columns:auto 1fr 120px;align-items:center;gap:10px;
  background:#fff;border:1px solid var(--ring);border-radius:12px;padding:10px;
  transition:border-color .2s ease,background .2s ease,box-shadow .2s ease
}
.frr-catrow:hover{background:#fff;box-shadow:0 6px 18px rgba(11,11,11,.05);border-color:#dde3ef}
.frr-catname{font-weight:700}
.frr-catprice .price{font-weight:700}
@supports(selector(:has(*))){
  .frr-catrow:has(input:checked){background:#fff;border-color:var(--accent);box-shadow:0 8px 22px rgba(187,35,35,.20)}
}
.frr-catrow input:checked ~ .frr-catprice .price{color:var(--accent)}

/* Totals + buttons */
.frr-price{display:flex;align-items:center;justify-content:space-between;margin-top:12px}
.frr-price-box{display:flex;align-items:baseline;gap:8px;background:#111;color:#fff;border-radius:12px;padding:10px 14px}
.frr-next,.frr-paybtn{
  background:var(--accent);color:#fff;border:none;padding:10px 16px;border-radius:12px;cursor:pointer;font-weight:600;
  box-shadow:0 8px 18px rgba(187,35,35,.25);transition:transform .06s ease,box-shadow .2s ease
}
.frr-next:hover,.frr-paybtn:hover{box-shadow:0 10px 22px rgba(187,35,35,.32)}
.frr-next:active,.frr-paybtn:active{transform:translateY(1px)}

/* Form grid */
.frr-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.frr-grid .full{grid-column:1 / -1}
.frr-grid input,.frr-grid select,.frr-grid textarea{padding:10px;border:1px solid var(--ring);border-radius:10px;background:#fff}
.frr-grid input:focus,.frr-grid select:focus,.frr-grid textarea:focus{outline:none;border-color:#b9c3d6;box-shadow:0 0 0 3px rgba(187,35,35,.12)}
.frr-inline{grid-column:1 / -1;display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--ring);border-radius:10px;padding:10px}
.frr-note{font-size:12px;color:#374151;margin-top:6px}

/* Add-ons card (distinct) */
.frr-teamblock{
  position:relative;background:#fff;border:1px solid var(--ring);border-radius:16px;
  padding:16px;margin:14px 0 10px;box-shadow:0 6px 18px rgba(11,11,11,.06)
}
.frr-teamblock>legend{font-weight:700;color:#0B0B0B;padding:0 8px}

/* Add-on lines */
.frr-teamblock .full{
  display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;
  background:#f9fbff;border:1px dashed var(--ring);border-radius:12px;
  padding:12px 12px;margin-bottom:10px;position:relative;padding-left:56px;
}
.frr-teamblock .full:hover{background:#f3f7ff}
.frr-teamblock .full>.frr-inline{grid-column:auto;background:transparent;border:0;padding:0}
.frr-teamblock .full .frr-note{grid-column:1 / -1;margin:4px 0 0;color:var(--muted)}

/* Bold black add-on title (JS wraps it) */
.frr-addon-title{display:block;font-weight:700;color:#0B0B0B;margin-bottom:4px;line-height:1.25}

/* Qty controls */
.frr-qty{
  min-width:36px;height:36px;line-height:34px;border-radius:999px;border:1px solid var(--ring);background:#fff;
  font-weight:800;font-size:18px;display:inline-flex;align-items:center;justify-content:center;
  transition:transform .05s ease,background .2s ease,box-shadow .2s ease,border-color .2s ease
}
.frr-qty:hover{background:#f6f7fb;border-color:#d9dfeb;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.frr-qty:active{transform:scale(.96)}
#frr_add_rel,#frr_add_kids{height:36px;width:84px;text-align:center;border-radius:12px;border:1px solid var(--ring);background:#fff;font-weight:600}

/* Make the qty strip resilient on narrow screens */
.frr-inline-enhanced{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.frr-inline-enhanced .frr-qty{flex:0 0 36px}
.frr-inline-enhanced input[type="number"]{width:88px;min-width:88px}

/* Photo package checkbox (custom) */
#frr_add_photo{appearance:none;width:22px;height:22px;border:2px solid #d1d5db;border-radius:6px;display:inline-block;position:relative;vertical-align:middle;background:#fff;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}
#frr_add_photo:hover{border-color:#bfc7d6}
#frr_add_photo:checked{background:var(--accent);border-color:var(--accent);box-shadow:0 6px 16px rgba(187,35,35,.28)}
#frr_add_photo:checked::after{content:'';position:absolute;inset:4px 6px 6px 6px;border:3px solid #fff;border-top:none;border-left:none;transform:rotate(45deg)}

/* Font Awesome lead icons (no HTML change) */
.frr-teamblock .full::before{content:'';position:absolute;left:14px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:10px;background:#fff;border:1px solid var(--ring);box-shadow:0 4px 10px rgba(0,0,0,.06);display:none}
.frr-teamblock .full::after{content:"";position:absolute;left:14px;top:50%;transform:translateY(-50%);width:30px;height:30px;display:none;font:900 16px/30px "Font Awesome 6 Free";text-align:center;color:var(--accent)}
@supports(selector(:has(*))){
  .frr-teamblock .full:has(#frr_add_rel)::before, .frr-teamblock .full:has(#frr_add_rel)::after{display:block}
  .frr-teamblock .full:has(#frr_add_rel)::after{content:"\f0c0"} /* users */
  .frr-teamblock .full:has(#frr_add_kids)::before, .frr-teamblock .full:has(#frr_add_kids)::after{display:block}
  .frr-teamblock .full:has(#frr_add_kids)::after{content:"\f1ae"} /* child */
  .frr-teamblock .full:has(#frr_add_photo)::before, .frr-teamblock .full:has(#frr_add_photo)::after{display:block}
  .frr-teamblock .full:has(#frr_add_photo)::after{content:"\f030"} /* camera */
}

/* Active accent when qty>0 / photo checked */
@supports(selector(:has(*))){
  .frr-teamblock .full:has(#frr_add_photo:checked),
  .frr-teamblock .full:has(#frr_add_rel[value]:not([value="0"])),
  .frr-teamblock .full:has(#frr_add_kids[value]:not([value="0"])){
    border-color:#f0d4d4;box-shadow:0 8px 20px rgba(187,35,35,.08);background:#fff;
  }
}

/* Thank-you ticket */
.frr-ty{max-width:900px;margin:20px auto;padding:8px}
.frr-ticket{display:grid;grid-template-columns:1.2fr 0.9fr;gap:18px;background:#fff;border:1px solid var(--ring);border-radius:16px;padding:16px;box-shadow:0 10px 28px rgba(0,0,0,.06)}
.frr-ticket .muted{color:#6b7280}
.frr-ticket .rows{display:grid;gap:8px;margin:10px 0 12px}
.frr-ticket .rows .lab{display:inline-block;min-width:120px;color:#6b7280}
.frr-ticket .rows .val{font-weight:600}
.frr-ticket .code code{background:#111;color:#fff;border-radius:8px;padding:3px 6px}
.frr-ticket .actions{display:flex;gap:10px;margin-top:8px}
.frr-ticket .btn{background:var(--accent);color:#fff;border:0;padding:10px 12px;border-radius:10px;text-decoration:none;display:inline-block;box-shadow:0 8px 18px rgba(187,35,35,.25)}
.frr-ticket .btn.ghost{background:#111;color:#fff;box-shadow:none}
.frr-ticket .t-right{display:flex;align-items:center;justify-content:center}
.frr-ticket img.qr{width:260px;height:260px;object-fit:contain;border:1px dashed var(--ring);border-radius:12px;padding:10px;background:#fafafa}
.frr-ticket .mini{margin-left:8px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;padding:4px 8px;cursor:pointer}

.frr-ticket .t-right{align-items:flex-start;justify-content:flex-end}
.frr-invoice{width:100%;max-width:460px;border:1px solid var(--ring);border-radius:16px;padding:14px 14px 12px;background:#fff}
.frr-logo{max-width:220px;height:auto;display:block;margin:0 0 10px}
.frr-inv-title{margin:0 0 10px;font-size:16px;font-weight:800}
.frr-breakdown{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid #e5e7eb;border-radius:14px}
.frr-breakdown td{padding:10px 12px;border-bottom:1px solid #e5e7eb;font-size:13px}
.frr-breakdown tr:last-child td{border-bottom:0}
.frr-breakdown td.amt{text-align:right;font-weight:800;white-space:nowrap}
.frr-breakdown tr.net td{font-weight:900}
.frr-breakdown tr.total td{font-weight:900;font-size:14px}
.frr-inv-note{margin:10px 0 0;color:#6b7280;font-size:12px;font-weight:700}

/* Responsive */
@media (max-width:860px){
  .frr-ticket{grid-template-columns:1fr}
  .frr-ticket img.qr{width:220px;height:220px;margin:0 auto}
}
@media (max-width:720px){
  .frr-teamblock .full{grid-template-columns:1fr; row-gap:8px; padding-left:56px;}
  .frr-teamblock .full>.frr-inline{margin-top:2px}
  #frr_add_rel,#frr_add_kids{width:100px}
  .frr-price{gap:12px;flex-wrap:wrap}
}

/* Print */
@media print{
  body *{visibility:hidden !important}
  .frr-ticket,.frr-ticket *{visibility:visible !important}
  .frr-ticket{position:absolute;left:0;top:0;width:100%;border:1px solid #e5e7eb;box-shadow:none}
  .frr-ticket .btn,.frr-ticket .mini{display:none !important}
}

/* Force white title regardless of prior CSS */
.frr-head .frr-title, body .frr-head .frr-title, section .frr-head .frr-title{
  color:#ffffff !important; -webkit-text-fill-color:#ffffff !important;
}
/* --- Compact Add-ons spacing (Relatives / Kids / Photo) --- */
.frr-teamblock{ padding:14px; }

.frr-teamblock .full{
  /* tighter padding + smaller gaps */
  padding:10px 12px 10px 56px;     /* was 12px … */
  gap:8px;                         /* was 10px */
  row-gap:4px;                     /* trim vertical gap inside the grid */
  margin-bottom:8px;               /* was 10px */
  line-height:1.25;                /* crisper heading/line spacing */
}

/* bring the controls closer to the title line */
.frr-teamblock .full > .frr-inline{
  margin-top:2px;                  /* was 0/auto in earlier css */
}

/* bring the description closer to the line above */
.frr-teamblock .full .frr-note{
  margin-top:2px;                  /* was 6px */
}

/* nudge the icon bubble slightly in to match the tighter layout */
.frr-teamblock .full::before,
.frr-teamblock .full::after{
  left:12px;                       /* was 14px */
}

/* Mobile: make sure nothing overflows */
@media (max-width:720px){
  .frr-teamblock .full{
    padding:10px 12px 10px 56px;
    grid-template-columns:1fr;    /* keep controls below the title on small screens */
  }
  .frr-teamblock .full > .frr-inline{
    margin-top:2px;
  }
}
.price-with,
.price-without {
  display: none;
  font-weight: 700;
}

.frr-poc-mode-coach .price-with {
  display: inline-block;
}

.frr-poc-mode-self .price-without {
  display: inline-block;
}
/* ===== Add-ons block – classic row layout ===== */
.frr-addons{border:1px solid #E5E7EB; border-radius:12px; padding:12px; background:#fff; margin-top:10px}
.frr-addons legend{font-weight:700; font-size:14px; padding:0 6px}

.addon-row{display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:12px; border:1px solid #ECEFF3; border-radius:10px; background:#F9FAFB; margin:8px 0}
.addon-row .addon-left{display:flex; gap:12px; align-items:center}
.addon-row .addon-ico{width:34px; height:34px; border-radius:8px; display:grid; place-items:center; background:#FFF1F1; color:#BB2323; flex:0 0 34px}
.addon-row .addon-text .ttl{font-weight:600}
.addon-row .addon-text .ttl .muted{font-weight:500; color:#6B7280}
.addon-row .addon-right{margin-left:auto}

/* Toggle row behaves like a label */
.addon-check{cursor:pointer; user-select:none}
.addon-check input{width:22px; height:22px}

/* Qty stepper (Spectator) */
.qty{display:flex; align-items:center; gap:10px; background:#fff; border:1px solid #E5E7EB; border-radius:999px; padding:4px 10px}
.qty .val{min-width:18px; text-align:center; font-weight:600}
.qty button{width:28px; height:28px; border:0; border-radius:50%; background:#111827; color:#fff; font-size:18px; line-height:1; cursor:pointer}
.qty button:disabled{opacity:.4; cursor:not-allowed}

/* ===== Step-1 Price Breakdown (below Add-ons) ===== */
.frr-s1-break-wrap{margin-top:12px; display:flex; justify-content:flex-end}
.frr-s1-invoice{width:100%; max-width:520px; border:1px solid #E5E7EB; border-radius:14px; padding:12px; background:#fff}
.frr-s1-title{margin:0 0 10px; font-size:15px; font-weight:800}
.frr-breakdown-s1 td{font-size:13px}

@media (max-width:860px){
  .frr-s1-break-wrap{justify-content:center}
  .frr-s1-invoice{max-width:100%}
}
/* ===== MOBILE FIX ===== */
@media (max-width: 768px){
  .addon-row{
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:10px;
  }

  /* Left content: icon + text */
  .addon-row .addon-text{
    display:flex;
    align-items:center;
    gap:10px;
    width:100%;
  }

  /* Controls: quantity / checkbox */
  .addon-row .addon-control,
  .addon-row .addon-actions{
    width:100%;
    display:flex;
    justify-content:flex-end;
  }
}
/* Consent links in red (as requested) */
.frr-consent a{color:#BB2323; font-weight:700; text-decoration:underline}

/* ================== Create Account — Complete CSS (scoped) ================== */
#frr-wrap .frr-account{
  --frr-accent:#BB2323;
  --ink:#0B0B0B;
  --muted:#6B7280;
  --line:#E5E7EB;
  --bg:#FFF;
  --soft:#F8FAFC;

  position:relative;
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:16px;
  padding:34px 18px 18px;              /* top padding leaves room for legend */
  margin:14px 0 28px;                  /* bottom margin for space before policies */
  box-shadow:0 10px 28px rgba(0,0,0,.06);
  overflow:hidden;
}

/* Legend inside the card */
#frr-wrap .frr-account>legend{
  position:absolute; top:12px; left:16px;
  margin:0; padding:0; line-height:1.2;
  font-size:16px; font-weight:800; color:var(--ink);
}

/* Verified state (toggle .is-verified on fieldset) */
#frr-wrap .frr-account.is-verified{
  border-color:color-mix(in oklab,var(--frr-accent) 32%, white);
  box-shadow:0 10px 30px color-mix(in oklab,var(--frr-accent) 10%, transparent);
}
#frr-wrap .frr-account.is-verified>legend::after{
  content:" • Verified"; color:var(--frr-accent); font-weight:800;
}

/* ================== Grid ================== */
#frr-wrap .frr-account .frr-accgrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:12px;
}
#frr-wrap .frr-account .frr-accgrid .cell{ display:flex; flex-direction:column; }
#frr-wrap .frr-account .frr-accgrid .span2{ grid-column:span 2; }
#frr-wrap .frr-account .frr-accgrid .span3{ grid-column:span 3; }

/* Labels */
#frr-wrap .frr-account .frr-accgrid label{
  font-size:13px; font-weight:600; color:var(--ink); margin-bottom:6px;
}

/* Inputs (text/tel/email/number/select/textarea) */
#frr-wrap .frr-account .frr-accgrid input[type="text"],
#frr-wrap .frr-account .frr-accgrid input[type="tel"],
#frr-wrap .frr-account .frr-accgrid input[type="email"],
#frr-wrap .frr-account .frr-accgrid input[type="number"],
#frr-wrap .frr-account .frr-accgrid select,
#frr-wrap .frr-account .frr-accgrid textarea{
  appearance:none; width:100%;
  padding:12px; border:1px solid var(--line); border-radius:12px;
  background:var(--soft); color:var(--ink); font-size:14px;
  transition:border-color .2s, box-shadow .2s, background .2s;
  box-sizing:border-box;
}
#frr-wrap .frr-account .frr-accgrid input::placeholder{ color:#9AA3AF; }
#frr-wrap .frr-account .frr-accgrid input:focus,
#frr-wrap .frr-account .frr-accgrid select:focus,
#frr-wrap .frr-account .frr-accgrid textarea:focus{
  outline:none; border-color:var(--frr-accent);
  box-shadow:0 0 0 4px color-mix(in oklab,var(--frr-accent) 18%, white);
  background:#FFF;
}

/* Helper text */
#frr-wrap .frr-account .help,
#frr-wrap .frr-account small{ margin-top:6px; font-size:12px; color:var(--muted); }

/* ================== OTP Row (input + Send + Verify in one line) ================== */
#frr-wrap .frr-account .frr-accgrid .otp-row{
  grid-column:1 / -1;                   /* span full width */
  display:grid !important;              /* override .cell flex */
  grid-template-columns:1.15fr 1fr 1fr; /* input a bit wider */
  gap:14px; align-items:end;
}

/* Equal height & centering for all three controls */
#frr-wrap .frr-account .otp-row #frr_otp,
#frr-wrap .frr-account .otp-row .frr-otp-send,
#frr-wrap .frr-account .otp-row .frr-otp-verify{
  height:46px; width:100%;
  border-radius:12px; box-sizing:border-box;
  display:inline-flex; align-items:center; justify-content:center; line-height:1;
}

/* OTP input look */
#frr-wrap .frr-account .otp-row #frr_otp{
  border:1px solid var(--line); background:#F9FAFB;
  color:#6B7280; font-size:15px; font-weight:600;
  letter-spacing:.12em; text-align:center;
}
#frr-wrap .frr-account .otp-row #frr_otp::placeholder{ color:#9AA3AF; font-weight:600; }

/* OTP buttons */
#frr-wrap .frr-account .otp-row .frr-otp-send,
#frr-wrap .frr-account .otp-row .frr-otp-verify{
  border:1px solid var(--frr-accent); background:var(--frr-accent);
  color:#FFF; font-weight:700; font-size:14px; cursor:pointer;
  transition:transform .06s, box-shadow .2s, opacity .2s;
}
#frr-wrap .frr-account .otp-row .frr-otp-verify[disabled]{
  opacity:.55; cursor:not-allowed;
  background:color-mix(in oklab,var(--frr-accent) 70%, white);
  border-color:color-mix(in oklab,var(--frr-accent) 70%, white);
}
#frr-wrap .frr-account .otp-row .frr-otp-send:hover,
#frr-wrap .frr-account .otp-row .frr-otp-verify.enabled:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px color-mix(in oklab,var(--frr-accent) 22%, transparent);
}

/* Resend line (below OTP row, full width) */
#frr-wrap .frr-account .frr-otp-resend{
  grid-column:1 / -1; margin-top:8px;
  color:var(--muted); font-size:13px;
}
#frr-wrap .frr-account .frr-otp-resend.active{
  color:var(--frr-accent); font-weight:700; cursor:pointer; text-decoration:underline;
}

/* ================== Responsive ================== */
@media (max-width:900px){
  #frr-wrap .frr-account{ padding:32px 16px 16px; border-radius:14px; }
  #frr-wrap .frr-account .frr-accgrid{ grid-template-columns:1fr 1fr; }
  #frr-wrap .frr-account .frr-accgrid .span2,
  #frr-wrap .frr-account .frr-accgrid .span3{ grid-column:1 / -1; }
}
@media (max-width:760px){
  #frr-wrap .frr-account .frr-accgrid .otp-row{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  #frr-wrap .frr-account{ padding-top:36px; }
}
/* === Fix mobile: make both Username & Login Mobile full width === */
@media (max-width: 900px) {
  #frr-wrap .frr-account .frr-accgrid {
    grid-template-columns: 1fr;
  }
  #frr-wrap .frr-account .frr-accgrid .span2,
  #frr-wrap .frr-account .frr-accgrid .span3 {
    grid-column: 1 / -1;
  }
}

/* optional tighter padding for very narrow screens */
@media (max-width: 640px) {
  #frr-wrap .frr-account {
    padding: 32px 14px 16px;
  }
}

/* ================== Step-2 Payment Summary ================== */
/* Wrap bar: card look + spacing */
#frr-wrap .frr-paybar{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  background:#fff;
  border:1px solid var(--ring);
  border-radius: var(--radius);
  padding:14px 16px;
  margin-top:14px;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}

/* "Total" label + amount hierarchy */
#frr-wrap .frr-paybar .frr-total{
  display:flex; align-items:baseline; gap:10px;
  font-weight:600; color:#111827;
}
#frr-wrap .frr-paybar .frr-total::before{
  content:"Total:"; color:var(--muted); font-weight:600; font-size:14px;
}
#frr-wrap .frr-paybar .frr-total strong{
  font-size:22px; line-height:1; color:var(--accent);
  letter-spacing:.2px;
}

/* CTA button — reuse your accent + shadow language */
#frr-wrap .frr-paybar .frr-paybtn{
  background:var(--accent);
  color:#fff; border:0; cursor:pointer;
  padding:12px 20px; border-radius:12px; font-weight:700; letter-spacing:.02em;
  min-width:180px; text-transform:uppercase;
  box-shadow:0 8px 18px rgba(187,35,35,.25);
  transition:transform .06s ease, box-shadow .2s ease, background .2s ease;
}
#frr-wrap .frr-paybar .frr-paybtn:hover{
  background:#a71e1e; box-shadow:0 10px 22px rgba(187,35,35,.34);
}
#frr-wrap .frr-paybar .frr-paybtn:active{ transform:translateY(1px) }
#frr-wrap .frr-paybar .frr-paybtn:disabled{
  opacity:.55; cursor:not-allowed; box-shadow:none;
}

/* Compact / mobile */
@media (max-width:720px){
  #frr-wrap .frr-paybar{
    flex-direction:column; align-items:stretch; text-align:center; gap:10px;
  }
  #frr-wrap .frr-paybar .frr-paybtn{ width:100% }
}

/* Optional: subtle separator above the paybar for readability */
#frr-wrap .frr-step[data-step="2"] .frr-paybar{
  position:relative;
}
#frr-wrap .frr-step[data-step="2"] .frr-paybar::before{
  content:""; position:absolute; top:-10px; left:6px; right:6px; height:1px;
  background:linear-gradient(90deg, transparent, var(--ring), transparent);
}
/* Remove the extra grey "Total:" added by CSS */
#frr-wrap .frr-paybar .frr-total::before {
  content: none !important;
}
#frr-wrap .frr-account {
  border: 1px solid var(--line);
}
#frr-wrap .frr-account legend {
  border: 0; /* removes default horizontal line below "Create Account" */
}
.frr-gst-note{
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.4;
  color: #9CA3AF; /* light grey */
  font-weight: 400;
}
/* ===== Step 1 Price Breakdown: make full width like Add-ons ===== */
.frr-s1-break-wrap{
  width: 100% !important;
  max-width: 100% !important;
  margin: 14px 0 0 !important;
}

.frr-s1-break-wrap .frr-s1-invoice{
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;          /* remove right alignment */
}

/* if your inner table/card has its own max-width */
.frr-s1-break-wrap .frr-breakdown,
.frr-s1-break-wrap .frr-invoice{
  width: 100% !important;
  max-width: 100% !important;
}
/* ===== FIX 2: Print layout centering ===== */
@media print{

  /* undo the "stick to top-left full width" print layout */
  .frr-ticket{
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: 720px !important;      /* invoice width */
    max-width: 92% !important;    /* safe on small printers */
    margin: 0 auto !important;    /* center horizontally */
    box-shadow: none !important;
  }

  /* ensure single column print + centered blocks */
  .frr-ticket{
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    align-items: start !important;
  }

  .frr-ticket .t-left,
  .frr-ticket .t-right{
    width: 100% !important;
    margin: 0 auto !important;
  }

  .frr-ticket .t-right{
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
  }

  .frr-invoice{
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
/* ===== FIX 1: Thank You page desktop vertical centering ===== */
@media (min-width: 861px){
  .frr-ticket{
    align-items: center; /* grid vertical alignment of both columns */
  }

  .frr-ticket .t-left{
    display: flex;
    flex-direction: column;
    justify-content: center; /* center content vertically */
  }

  /* keep right block aligned normally */
  .frr-ticket .t-right{
    align-items: center;
    justify-content: center;
  }
}
/* THANK YOU: force two-column layout so value never shifts under label */
.frr-ty .rows > div{
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  column-gap: 18px;
  align-items: start;
}

.frr-ty .rows .lab{
  white-space: nowrap;
  opacity: .75;
}

.frr-ty .rows .val{
  min-width: 0;
  word-break: break-word;
}

/* Mobile: slightly narrower label column */
@media (max-width: 767px){
  .frr-ty .rows > div{
    grid-template-columns: 120px minmax(0, 1fr);
    column-gap: 12px;
  }
}

/* ===== Coupon field (match category cards) ===== */
.frr-coupon{margin:10px 0 18px;background:#fff;border:1px solid var(--ring);border-radius:12px;padding:12px 12px;}
.frr-coupon-field{display:block;}
.frr-coupon-field .lab{display:block;font-weight:800;margin-bottom:6px;color:#111;}
.frr-coupon-field .row{display:flex;gap:10px;align-items:center;}
.frr-coupon-field input{flex:1;min-width:180px;height:44px;border-radius:12px;border:1px solid var(--ring);padding:0 12px;}
.frr-coupon-field input:focus{outline:none;border-color:#b9c3d6;box-shadow:0 0 0 3px rgba(187,35,35,.12)}
.frr-coupon-field .btn{height:44px;padding:0 16px;border-radius:12px;border:1px solid rgba(0,0,0,.12);background:#fff;font-weight:800;cursor:pointer;white-space:nowrap;}
.frr-coupon-field .btn:hover{box-shadow:0 6px 14px rgba(11,11,11,.06)}
.frr-coupon-field .msg{display:block;margin-top:6px;font-weight:700;font-size:12px;}
.frr-coupon-field input.is-readonly{background:#f3f4f6;cursor:not-allowed;opacity:.95}
.frr-coupon-field .btn.is-remove{background:#111;color:#fff;border-color:#111}
.frr-coupon-field .btn.is-remove:hover{box-shadow:0 10px 18px rgba(17,17,17,.18)}
