:root{
  --overlay: rgba(0,0,0,.95);
  --card-bg:#F5F5F5;
  --card-border:#d7d7d7;
  --field-bg:#fff;
  --field-border:#dcdcdc;
  --field-text:#111;
  --primary:#FF0020;
  --primary-hover:#d9001a;
  --radius:2px;
  --shadow:0 28px 48px rgba(0,0,0,.35), 0 3px 10px rgba(0,0,0,.12);
  --rule:#747474;
}

/* Lock background when modal is open */
body.smead-modal-open{overflow:hidden}

/* Overlay */
.smead-modal{position:fixed;inset:0;display:grid;place-items:center;background:var(--overlay);z-index:99999}

/* Dialog Card */
.smead-dialog {
  position: relative;
  width: min(820px, 92vw);
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  box-shadow: var(--shadow);
  max-width: calc(100% - 2rem);
  max-height: calc(100% - 2rem);
  overflow-y: auto;  /* Allow scrolling when content overflows */
  -webkit-overflow-scrolling: touch;  /* smooth scrollbars */
}

.smead-dialog::before{
  content:""; position:absolute; left:38px; top:0; bottom:0; width:1px; background:var(--rule);
}
.smead-dialog::after{
  content:""; position:absolute; top:80px; left:0; width:80%; height:1px; background:var(--rule);
}

.smead-dialog-inner{padding:28px 32px 26px 70px;}

.smead-title, .smead-disclaimer-title{margin:0 0 34px;font:500 36px/1.2 "Taviraj", Georgia, serif;color:#3c4046;text-align:left}
.smead-lead,  .smead-disclaimer-text {margin:0 0 22px;line-height:1.6;color:#3c4046;font-size:15.5px}

.smead-disclaimer-title {
  margin-top: 3rem;
  margin-bottom: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  z-index: 1; /* stay above text */
  border-bottom: 1px solid var(--card-border); /* subtle separation */
  font-size: 1.75rem;
}

/* Fields grid */
.smead-fields{display:grid; gap:18px; grid-template-columns:1fr;}
@media (min-width:640px){
  .smead-fields{grid-template-columns:1fr 1fr;}
}

.smead-field label{display:block;margin:0 0 8px;font-weight:600;font-size:14px;color:#333}
.smead-select-wrap{position:relative}
.smead-select{
  width:100%;
  appearance:none;
  background:var(--field-bg);
  color:var(--field-text);
  border:1px solid var(--field-border);
  border-radius:var(--radius);
  /* padding:12px 44px 12px 14px; */
  font-size:15px;line-height:1.2;
  outline:none;
}
.smead-select-wrap::after{
  content:"";
  position:absolute; right:14px; top:50%; transform:translateY(-50%);
  width:0;height:0;
  border-left:6px solid transparent;
  border-right:6px solid transparent;
  border-top:7px solid #555;
  pointer-events:none;
}

/* Actions */
.smead-actions{display:flex;gap:12px;padding:22px 32px 28px 70px;}
.smead-btn{
  background:var(--primary); color:#fff !important; border:1px solid var(--primary);
  font-weight:700; text-transform:uppercase; font-size:13px;
  padding:12px 20px !important; min-width:132px; border-radius:2px; cursor:pointer;
}
.smead-btn:hover{background:var(--primary-hover) !important; border-color:var(--primary-hover) !important;}
.smead-btn:disabled{opacity:.45; cursor:not-allowed}

/* Take Me Back — same solid style as Continue */
#smead-go-back {
  /* inherits .smead-btn styles (solid red) */
}

#smead-go-back:hover {
  background: var(--primary-hover) !important;
  border-color: var(--primary-hover) !important;
}

/* Disclaimer */
.smead-disclaimer-text p {
  margin: 0 0 12px;
  line-height: 1.4;
}

/* Smooth fade for disclaimer */
.smead-disclaimer {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: opacity 0.5s ease, max-height 0.5s ease;
}

.smead-disclaimer.show {
  opacity: 1;
  max-height: 10000px; /* required for reveal transition, extremely large number 
                          to accommodate long disclaimers */
}

/* Mobile-specific spacing so logo remains visible */
@media (max-width: 640px) {
  .smead-dialog {
    margin-top: 12rem;
    max-height: calc(100% - 12rem - 1rem); /* adjust height so it doesn't overflow screen */
    border-radius: 6px; /* optional: soften corners for mobile */
  }
}
