/*
 * Spain Residency Landing Page - Alpha 3.3.2
 * Full-width premium layout aligned with Parastooseir Visa brand.
 * No page-level boxed container; only local content components use cards where useful.
 */

body.ps-spain-page .ps-main{
  padding-top:0 !important;
}
body.ps-spain-page .ps-main > .ps-container{
  width:100% !important;
  max-width:none !important;
  padding:0 !important;
  margin:0 !important;
}

.ps-spain{
  --ps-spain-primary:#485a85;
  --ps-spain-primary-deep:#2f3f67;
  --ps-spain-primary-soft:#eef2f8;
  --ps-spain-gold:#d6a75e;
  --ps-spain-gold-soft:#fbf4e9;
  --ps-spain-ink:#172033;
  --ps-spain-muted:#657089;
  --ps-spain-line:#e5e9f0;
  --ps-spain-soft:#f7f9fc;
  position:relative;
  width:100%;
  max-width:none;
  color:var(--ps-spain-ink);
  background:#fff;
  font-family:var(--ps-font-base,inherit);
  overflow:hidden;
}
.ps-spain *{box-sizing:border-box}
.ps-spain-shell{
  width:min(1240px,calc(100% - 48px));
  margin-inline:auto;
}
.ps-spain-shell--narrow{width:min(920px,calc(100% - 48px))}

/* ---------- Hero: full bleed, not a card ---------- */
.ps-spain-hero{
  position:relative;
  isolation:isolate;
  padding:82px 0 86px;
  background:
    radial-gradient(circle at 12% 22%,rgba(214,167,94,.22),transparent 31%),
    radial-gradient(circle at 88% 12%,rgba(72,90,133,.18),transparent 35%),
    linear-gradient(118deg,#f7f9fd 0%,#eef3fa 48%,#fff8ee 100%);
  border-bottom:1px solid rgba(72,90,133,.08);
}
.ps-spain-hero::before{
  content:"";
  position:absolute;
  inset:auto -8vw -190px auto;
  width:500px;
  height:500px;
  border:1px solid rgba(72,90,133,.10);
  border-radius:50%;
  box-shadow:0 0 0 70px rgba(255,255,255,.15),0 0 0 140px rgba(214,167,94,.04);
  z-index:-1;
}
.ps-spain-hero::after{
  content:"";
  position:absolute;
  right:0;
  left:0;
  bottom:0;
  height:4px;
  background:linear-gradient(90deg,#aa151b 0 22%,#f1bf00 22% 78%,#aa151b 78% 100%);
  opacity:.72;
}
.ps-spain-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);
  gap:68px;
  align-items:center;
}
.ps-spain-hero__content{position:relative;z-index:2}
.ps-spain-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:8px 14px;
  border:1px solid rgba(72,90,133,.10);
  border-radius:999px;
  background:rgba(255,255,255,.68);
  backdrop-filter:blur(8px);
  color:var(--ps-spain-primary);
  font-size:14px;
  font-weight:800;
  box-shadow:0 8px 24px rgba(31,45,77,.05);
  margin-bottom:20px;
}
.ps-spain-eyebrow::before{
  content:"";
  width:8px;height:8px;border-radius:50%;
  background:var(--ps-spain-gold);
  box-shadow:0 0 0 5px rgba(214,167,94,.13);
}
.ps-spain-hero h1{
  margin:0 0 20px;
  max-width:760px;
  color:#202b44;
  font-size:clamp(38px,4.35vw,64px);
  font-weight:900;
  line-height:1.22;
  letter-spacing:-.02em;
}
.ps-spain-hero__lead{
  max-width:700px;
  color:#58647b;
  font-size:18px;
  line-height:2;
}
.ps-spain-hero__lead p{margin:0}
.ps-spain-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.ps-spain-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 24px;
  border-radius:12px;
  font-weight:800;
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease;
}
.ps-spain-btn--primary{
  background:linear-gradient(135deg,var(--ps-spain-primary),var(--ps-spain-primary-deep));
  color:#fff;
  box-shadow:0 14px 32px rgba(72,90,133,.24);
}
.ps-spain-btn--primary:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(72,90,133,.29);color:#fff}
.ps-spain-btn--ghost{
  border:1px solid rgba(72,90,133,.20);
  background:rgba(255,255,255,.74);
  color:var(--ps-spain-primary);
  box-shadow:0 10px 28px rgba(31,45,77,.05);
}
.ps-spain-btn--ghost:hover{background:#fff;transform:translateY(-2px)}
.ps-spain-hero__media{
  position:relative;
  min-height:470px;
  margin:0;
  border-radius:34px 86px 34px 34px;
  overflow:hidden;
  background:#dfe5ef;
  border:1px solid rgba(255,255,255,.8);
  box-shadow:0 34px 80px rgba(31,45,77,.20);
  transform:rotate(-.5deg);
}
.ps-spain-hero__media::before{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:25px 70px 25px 25px;
  z-index:2;
  pointer-events:none;
}
.ps-spain-hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.ps-spain-hero__media:hover img{transform:scale(1.025)}

/* ---------- Section language ---------- */
.ps-spain-section{position:relative;padding:82px 0;background:#fff}
.ps-spain-section--soft{
  background:
    radial-gradient(circle at 100% 0,rgba(72,90,133,.06),transparent 28%),
    var(--ps-spain-soft);
}
.ps-spain-section--accent{
  padding:0;
  background:linear-gradient(135deg,#263653,#3c4e78);
  color:#fff;
}
.ps-spain-section h2,.ps-spain-faq h2,.ps-spain-final h2{
  position:relative;
  margin:0 0 22px;
  padding-right:22px;
  color:#222e49;
  font-size:clamp(28px,3vw,42px);
  font-weight:900;
  line-height:1.35;
}
.ps-spain-section h2::before,.ps-spain-faq h2::before{
  content:"";
  position:absolute;
  right:0;
  top:.28em;
  width:7px;
  height:1.15em;
  border-radius:99px;
  background:linear-gradient(180deg,var(--ps-spain-gold),#e8c58c);
}
.ps-spain-section__lead,.ps-spain-richtext{max-width:920px;color:var(--ps-spain-muted);font-size:17px;line-height:2.05}
.ps-spain-richtext p:first-child,.ps-spain-section__lead p:first-child{margin-top:0}
.ps-spain-richtext p:last-child,.ps-spain-section__lead p:last-child{margin-bottom:0}

/* Intro facts: open, airy statistics rather than a large enclosing box */
.ps-spain-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin-top:38px;
  border-top:1px solid var(--ps-spain-line);
  border-bottom:1px solid var(--ps-spain-line);
}
.ps-spain-fact{
  position:relative;
  min-height:150px;
  padding:28px 26px;
  background:transparent;
  border-left:1px solid var(--ps-spain-line);
}
.ps-spain-fact:last-child{border-left:0}
.ps-spain-fact::before{content:"";position:absolute;right:26px;top:-2px;width:56px;height:3px;border-radius:99px;background:var(--ps-spain-gold)}
.ps-spain-fact span{display:block;margin-bottom:7px;color:var(--ps-spain-muted);font-size:13px;font-weight:700}
.ps-spain-fact strong{display:block;color:var(--ps-spain-primary);font-size:24px;font-weight:900}
.ps-spain-fact p{margin:9px 0 0;color:#707a8f;line-height:1.8;font-size:14px}

/* Benefits */
.ps-spain-cards{counter-reset:spain-benefit;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:34px}
.ps-spain-card{
  counter-increment:spain-benefit;
  position:relative;
  min-height:205px;
  overflow:hidden;
  padding:30px 28px 26px;
  border:1px solid rgba(72,90,133,.10);
  border-radius:20px;
  background:rgba(255,255,255,.92);
  box-shadow:0 14px 40px rgba(36,50,83,.055);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.ps-spain-card::before{
  content:counter(spain-benefit,decimal-leading-zero);
  position:absolute;
  left:18px;
  top:9px;
  color:rgba(72,90,133,.07);
  font-size:58px;
  font-weight:900;
  line-height:1;
}
.ps-spain-card::after{content:"";display:block;width:44px;height:4px;border-radius:99px;background:var(--ps-spain-gold);margin-top:22px}
.ps-spain-card:hover{transform:translateY(-4px);border-color:rgba(72,90,133,.18);box-shadow:0 22px 48px rgba(36,50,83,.09)}
.ps-spain-card h3,.ps-spain-list__item h3,.ps-spain-doc h3,.ps-spain-step h3{position:relative;margin:0 0 9px;color:#273552;font-size:18px;font-weight:850}
.ps-spain-card p,.ps-spain-doc p,.ps-spain-step p{position:relative;margin:0;color:var(--ps-spain-muted);line-height:1.95}

/* Conditions: editorial list, less boxy */
.ps-spain-list{counter-reset:spain-condition;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 34px;margin-top:34px}
.ps-spain-list__item{
  counter-increment:spain-condition;
  position:relative;
  padding:20px 54px 20px 0;
  border:0;
  border-bottom:1px solid var(--ps-spain-line);
  background:transparent;
}
.ps-spain-list__item::before{
  content:counter(spain-condition);
  position:absolute;
  right:0;
  top:19px;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:12px;
  background:var(--ps-spain-primary-soft);
  color:var(--ps-spain-primary);
  font-weight:900;
}
.ps-spain-list__item div{color:var(--ps-spain-muted);line-height:1.95}
.ps-spain-list__item p{margin:0}

/* Financial section becomes a full-width premium band */
.ps-spain-featurebox{
  position:relative;
  padding:68px 0;
  color:#fff;
  background:transparent;
  border:0;
  border-radius:0;
}
.ps-spain-featurebox::after{
  content:"€";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  color:rgba(255,255,255,.055);
  font-size:190px;
  font-weight:900;
  line-height:1;
  pointer-events:none;
}
.ps-spain-featurebox h2{color:#fff!important;max-width:850px}
.ps-spain-featurebox h2::before{background:var(--ps-spain-gold)!important}
.ps-spain-featurebox .ps-spain-richtext{max-width:900px;color:#e8edf7}
.ps-spain-note{position:relative;z-index:1;max-width:900px;margin-top:24px;padding:16px 20px;border-right:4px solid var(--ps-spain-gold);border-radius:0 12px 12px 0;background:rgba(255,255,255,.08);color:#fff;line-height:1.95}
.ps-spain-note p{margin:0}

/* Documents */
.ps-spain-docs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:32px}
.ps-spain-doc{
  display:flex;
  gap:15px;
  align-items:flex-start;
  padding:20px 22px;
  border:1px solid var(--ps-spain-line);
  border-radius:15px;
  background:#fff;
  box-shadow:0 9px 28px rgba(31,45,77,.035);
}
.ps-spain-doc__mark{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:11px;background:rgba(214,167,94,.15);color:#9b6d24;font-weight:900}

/* Process: connected timeline */
.ps-spain-steps{position:relative;display:grid;gap:0;margin-top:34px;padding-right:6px}
.ps-spain-steps::before{content:"";position:absolute;right:28px;top:22px;bottom:22px;width:2px;background:linear-gradient(var(--ps-spain-primary),rgba(72,90,133,.10))}
.ps-spain-step{position:relative;display:grid;grid-template-columns:58px 1fr;gap:18px;align-items:start;padding:0 0 30px;background:transparent;border:0;border-radius:0}
.ps-spain-step:last-child{padding-bottom:0}
.ps-spain-step>span{position:relative;z-index:1;display:grid;place-items:center;width:46px;height:46px;margin-top:2px;border:4px solid #fff;border-radius:15px;background:linear-gradient(135deg,var(--ps-spain-primary),var(--ps-spain-primary-deep));color:#fff;box-shadow:0 7px 20px rgba(72,90,133,.18);font-size:17px;font-weight:900}
.ps-spain-step>div{padding-top:5px}

.ps-spain-warning{padding:27px 28px;border:1px solid rgba(214,167,94,.35);border-right:4px solid var(--ps-spain-gold);border-radius:16px;background:linear-gradient(90deg,#fffaf2,#fff);box-shadow:0 12px 30px rgba(80,60,30,.045)}
.ps-spain-warning h2{font-size:24px;margin-bottom:10px;padding-right:0}.ps-spain-warning h2::before{display:none}.ps-spain-warning>div{color:#6a5b45;line-height:1.95}.ps-spain-warning p{margin:0}

/* ---------- Form: full-width section; form itself is not wrapped in a big card ---------- */
.ps-spain-form-section{
  background:
    radial-gradient(circle at 0 100%,rgba(214,167,94,.12),transparent 30%),
    linear-gradient(180deg,#f6f8fc 0%,#fff 100%);
  border-top:1px solid rgba(72,90,133,.06);
  border-bottom:1px solid rgba(72,90,133,.06);
}
.ps-spain-form-head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(280px,.38fr);gap:28px;align-items:end;margin-bottom:34px;padding-bottom:24px;border-bottom:1px solid var(--ps-spain-line)}
.ps-spain-form-kicker{display:inline-block;margin-bottom:8px;color:var(--ps-spain-gold);font-size:13px;font-weight:900}
.ps-spain-form-head h2{margin-bottom:8px}
.ps-spain-form-head>div:last-child{color:var(--ps-spain-muted);line-height:1.9}
.ps-spain-form-content{width:100%;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.ps-spain-form-note{margin-top:22px;padding:16px 18px;border-right:4px solid var(--ps-spain-gold);border-radius:10px;background:#fffaf2;color:var(--ps-spain-muted);line-height:1.9}
.ps-spain-form-note p{margin:0}
.ps-spain-admin-note{padding:14px 16px;border:1px solid #f0d28a;border-radius:12px;background:#fff6d8}

/* Gravity Forms visual contract, aligned with existing Visa request forms */
.ps-spain-residency-gf .gform_wrapper{margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.ps-spain-residency-gf .gform_fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px 18px!important}
.ps-spain-residency-gf .gfield{grid-column:1/-1;margin:0!important}
.ps-spain-residency-gf .gf_left_half,.ps-spain-residency-gf .gf_right_half,.ps-spain-residency-gf .ps-idl-col-3,.ps-spain-residency-gf .ps-spain-col-2{grid-column:auto!important;width:auto!important}
.ps-spain-residency-gf .gfield_label{margin-bottom:8px!important;color:#283654!important;font-weight:800!important}
.ps-spain-residency-gf .gfield_required{color:#e64a34!important;font-weight:600!important}
.ps-spain-residency-gf input:not([type=radio]):not([type=checkbox]):not([type=submit]),.ps-spain-residency-gf textarea,.ps-spain-residency-gf select{
  width:100%!important;
  min-height:54px!important;
  padding-inline:15px!important;
  border:1px solid #d7deea!important;
  border-radius:12px!important;
  outline:0!important;
  background:#fff!important;
  box-shadow:0 6px 22px rgba(31,45,77,.035)!important;
  transition:border-color .18s ease,box-shadow .18s ease!important;
}
.ps-spain-residency-gf input:focus,.ps-spain-residency-gf textarea:focus,.ps-spain-residency-gf select:focus{border-color:rgba(72,90,133,.55)!important;box-shadow:0 0 0 4px rgba(72,90,133,.08)!important}
.ps-spain-residency-gf textarea{min-height:130px!important;padding-top:13px!important}
.ps-spain-residency-gf .gfield_radio,.ps-spain-residency-gf .gfield_checkbox{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important}
.ps-spain-residency-gf .gchoice{position:relative;display:flex!important;align-items:center!important;min-height:58px;padding:12px 15px;border:1px solid #dce2ec;border-radius:12px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.ps-spain-residency-gf .gchoice:hover{border-color:rgba(72,90,133,.30);box-shadow:0 8px 22px rgba(31,45,77,.045);transform:translateY(-1px)}
.ps-spain-residency-gf .gchoice input{margin:0 0 0 9px!important;accent-color:var(--ps-spain-primary)}
.ps-spain-residency-gf .gchoice label{margin:0!important;color:#273552!important;font-weight:700!important}
.ps-spain-residency-gf .gform_footer{margin-top:26px!important;padding:0!important;justify-content:flex-start!important}
.ps-spain-residency-gf .gform_button{
  min-width:230px!important;
  min-height:52px!important;
  border:0!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,var(--ps-spain-primary),var(--ps-spain-primary-deep))!important;
  color:#fff!important;
  padding:0 28px!important;
  box-shadow:0 13px 28px rgba(72,90,133,.20)!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.ps-spain-residency-gf .gform_button:disabled,.ps-spain-residency-gf .gform_button[disabled]{background:#aeb6c5!important;box-shadow:none!important;cursor:not-allowed!important;opacity:1!important}
.ps-spain-residency-gf .gform_validation_errors{border-radius:12px!important}.ps-spain-residency-gf .gfield_error input,.ps-spain-residency-gf .gfield_error textarea{border-color:#d63d52!important}

/* FAQ */
.ps-spain-faq{background:#fff}
.ps-spain-faq__list{display:grid;gap:10px;margin-top:28px}
.ps-spain-faq__item{overflow:hidden;border:0;border-bottom:1px solid var(--ps-spain-line);border-radius:0;background:transparent}
.ps-spain-faq__item:first-child{border-top:1px solid var(--ps-spain-line)}
.ps-spain-faq__item summary{position:relative;cursor:pointer;list-style:none;padding:20px 2px 20px 54px;color:#283654;font-size:16px;font-weight:800}
.ps-spain-faq__item summary::-webkit-details-marker{display:none}
.ps-spain-faq__item summary::before{content:"+";position:absolute;left:4px;top:50%;display:grid;place-items:center;width:34px;height:34px;transform:translateY(-50%);border-radius:11px;background:var(--ps-spain-primary-soft);color:var(--ps-spain-primary);font-size:22px}
.ps-spain-faq__item[open] summary::before{content:"−"}
.ps-spain-faq__item>div{padding:0 2px 22px;color:var(--ps-spain-muted);line-height:2}.ps-spain-faq__item>div p{margin:0}

/* Final CTA: full bleed band rather than another inner box */
.ps-spain-final{padding:0;background:linear-gradient(135deg,#222f4d,#35476f);color:#fff}
.ps-spain-final__box{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:50px 0;background:transparent;border-radius:0;color:#fff}
.ps-spain-final h2{margin-bottom:7px;padding-right:0;color:#fff;font-size:30px}.ps-spain-final p{margin:0;color:#dfe5ef;line-height:1.9}
.ps-spain-final .ps-spain-btn--primary{background:var(--ps-spain-gold);color:#273552;box-shadow:0 12px 28px rgba(0,0,0,.12)}

@media (max-width:980px){
  .ps-spain-shell{width:min(100% - 36px,1240px)}
  .ps-spain-hero{padding:60px 0 66px}
  .ps-spain-hero__grid{grid-template-columns:1fr;gap:34px}
  .ps-spain-hero__media{min-height:390px;max-width:720px;width:100%;margin-inline:auto;border-radius:30px}
  .ps-spain-facts,.ps-spain-cards{grid-template-columns:1fr 1fr}
  .ps-spain-list{grid-template-columns:1fr}
  .ps-spain-docs{grid-template-columns:1fr}
  .ps-spain-form-head{grid-template-columns:1fr;gap:8px}
}

@media (max-width:640px){
  .ps-spain-shell,.ps-spain-shell--narrow{width:min(100% - 24px,1240px)}
  .ps-spain-hero{padding:40px 0 46px}
  .ps-spain-hero h1{font-size:clamp(34px,11vw,46px)}
  .ps-spain-hero__lead{font-size:16px}
  .ps-spain-hero__media{min-height:285px;border-radius:24px;transform:none}
  .ps-spain-hero__media::before{inset:12px;border-radius:18px}
  .ps-spain-hero__actions{display:grid}.ps-spain-btn{width:100%}
  .ps-spain-section{padding:54px 0}
  .ps-spain-facts,.ps-spain-cards{grid-template-columns:1fr}
  .ps-spain-fact{border-left:0;border-bottom:1px solid var(--ps-spain-line)}.ps-spain-fact:last-child{border-bottom:0}
  .ps-spain-featurebox{padding:50px 0}.ps-spain-featurebox::after{font-size:120px}
  .ps-spain-residency-gf .gform_fields{grid-template-columns:1fr!important}
  .ps-spain-residency-gf .gf_left_half,.ps-spain-residency-gf .gf_right_half,.ps-spain-residency-gf .ps-idl-col-3,.ps-spain-residency-gf .ps-spain-col-2{grid-column:1/-1!important}
  .ps-spain-residency-gf .gfield_radio,.ps-spain-residency-gf .gfield_checkbox{grid-template-columns:1fr!important}
  .ps-spain-residency-gf .gform_button{width:100%!important}
  .ps-spain-final__box{display:grid;padding:38px 0}.ps-spain-final .ps-spain-btn{width:100%}
}


/* =========================================================
   Alpha 3.4 — REAL Gravity Form / OTP contract
   Scoped to the Spain page; independent from the imported form CSS class.
========================================================= */
#spain-residency-form{scroll-margin-top:116px}
#spain-residency-form .gform_wrapper,
#spain-residency-form form{max-width:none!important;width:100%!important;margin:0!important}
#spain-residency-form .gform_heading{display:none!important}
#spain-residency-form .gform_fields{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:22px 18px!important;
  align-items:start!important;
}
#spain-residency-form .gfield{
  grid-column:1/-1!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
}
/* name / mobile / age / residency choice = two-column desktop */
#spain-residency-form .gfield[id$="_2"],
#spain-residency-form .gfield[id$="_3"],
#spain-residency-form .gfield[id$="_4"],
#spain-residency-form .gfield[id$="_23"]{
  grid-column:span 1!important;
}
/* travel history = full width */
#spain-residency-form .gfield[id$="_7"]{grid-column:1/-1!important}
/* system fields from the imported Alpha2 form */
#spain-residency-form .gfield[id$="_11"],
#spain-residency-form .gfield[id$="_42"],
#spain-residency-form .gfield[id$="_43"],
#spain-residency-form .gfield_visibility_hidden,
#spain-residency-form .gfield--visibility-hidden,
#spain-residency-form .gfield--type-hidden{display:none!important}
/* OTP must only live in the modal */
#spain-residency-form .gfield[id$="_12"]{display:none!important}
#spain-residency-form .send-otp-btn{display:none!important}

#spain-residency-form .gfield_label{
  display:block!important;
  margin:0 0 9px!important;
  color:#253451!important;
  font-size:14px!important;
  font-weight:850!important;
  line-height:1.75!important;
}
#spain-residency-form .gfield_required{color:#e34b36!important;font-size:12px!important}
#spain-residency-form input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="hidden"]),
#spain-residency-form textarea,
#spain-residency-form select{
  width:100%!important;
  min-height:56px!important;
  padding:12px 15px!important;
  border:1px solid #d8deea!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#23314d!important;
  box-shadow:0 8px 24px rgba(31,45,77,.035)!important;
  outline:0!important;
}
#spain-residency-form textarea{min-height:145px!important;resize:vertical!important}
#spain-residency-form input:focus,
#spain-residency-form textarea:focus,
#spain-residency-form select:focus{
  border-color:#8798bf!important;
  box-shadow:0 0 0 4px rgba(72,90,133,.08)!important;
}

/* Phone field */
#spain-residency-form .iti{width:100%!important;direction:ltr!important}
#spain-residency-form input[type="tel"],
#spain-residency-form input.iti__tel-input{direction:ltr!important;text-align:left!important}
#spain-residency-form .iti__country-container,
#spain-residency-form .iti__flag-container{left:0!important;right:auto!important}

/* residency radio cards */
#spain-residency-form .gfield[id$="_23"] .gfield_radio{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
#spain-residency-form .gfield[id$="_23"] .gchoice{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:56px!important;
  padding:12px 15px!important;
  border:1px solid #d8deea!important;
  border-radius:14px!important;
  background:#fff!important;
  transition:.18s ease!important;
}
#spain-residency-form .gfield[id$="_23"] .gchoice:hover{
  border-color:#9cabc9!important;
  box-shadow:0 8px 24px rgba(31,45,77,.05)!important;
}
#spain-residency-form .gfield[id$="_23"] input{accent-color:#485a85!important;margin:0!important}
#spain-residency-form .gfield[id$="_23"] label{margin:0!important;color:#253451!important;font-weight:750!important}

/* submit */
#spain-residency-form .gform_footer{
  display:flex!important;
  justify-content:flex-start!important;
  margin-top:28px!important;
  padding:0!important;
}
#spain-residency-form .gform_button{
  min-width:260px!important;
  min-height:54px!important;
  border:0!important;
  border-radius:14px!important;
  padding:0 30px!important;
  background:linear-gradient(135deg,#485a85,#304066)!important;
  color:#fff!important;
  box-shadow:0 14px 30px rgba(72,90,133,.20)!important;
  font-weight:900!important;
  cursor:pointer!important;
}
#spain-residency-form .gform_button:disabled,
#spain-residency-form .gform_button[disabled]{
  background:#aeb6c5!important;
  color:#fff!important;
  box-shadow:none!important;
  cursor:not-allowed!important;
  opacity:1!important;
}

/* validation */
#spain-residency-form .gform_validation_errors{border-radius:14px!important}
#spain-residency-form .validation_message{font-size:13px!important}

/* Shared OTP modal now gets .ps-otp-modal from visa-request-modal.js */
body.ps-spain-page .ps-otp-modal{
  position:fixed!important;
  inset:0!important;
  z-index:100000!important;
  display:none;
  direction:rtl;
}
body.ps-spain-page .ps-otp-modal.is-open{display:block!important}
body.ps-spain-page .ps-otp-modal .ps-otp-backdrop{
  position:absolute;inset:0;background:rgba(12,17,29,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)
}
body.ps-spain-page .ps-otp-modal .ps-otp-dialog{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:min(560px,calc(100% - 28px));
  padding:22px 22px 18px;
  border:1px solid rgba(214,167,94,.38);
  border-radius:22px;
  background:linear-gradient(180deg,#fff,#fffdf8);
  box-shadow:0 30px 110px rgba(0,0,0,.40);
  color:#1f2a44;
}
body.ps-spain-page .ps-otp-modal .ps-otp-x{
  position:absolute;top:12px;left:12px;width:38px;height:38px;border:1px solid rgba(72,90,133,.12);
  border-radius:12px;background:#f4f6fa;color:#263654;font-size:20px;cursor:pointer
}
body.ps-spain-page .ps-otp-modal .ps-otp-title{padding-right:16px;margin:1px 0 7px;font-size:18px;font-weight:900;color:#202d49;position:relative}
body.ps-spain-page .ps-otp-modal .ps-otp-title:before{content:"";position:absolute;right:0;top:10px;width:7px;height:7px;border-radius:50%;background:#d6a75e}
body.ps-spain-page .ps-otp-modal .ps-otp-sub{margin-bottom:14px;color:#68748b;line-height:1.8;font-size:13px}
body.ps-spain-page .ps-otp-modal .ps-otp-body{padding:15px;border:1px solid #e3e7ef;border-radius:16px;background:#fff}
body.ps-spain-page .ps-otp-modal .gfield{display:block!important}
body.ps-spain-page .ps-otp-modal .gfield_label{display:none!important}
body.ps-spain-page .ps-otp-modal .ginput_container_otp{display:flex!important;justify-content:center!important;gap:10px!important;direction:ltr!important}
body.ps-spain-page .ps-otp-modal .otp-input{
  width:58px!important;min-width:58px!important;height:58px!important;padding:0!important;text-align:center!important;
  border:1px solid #d5dcea!important;border-radius:14px!important;font-size:22px!important;font-weight:900!important;color:#263654!important
}
body.ps-spain-page .ps-otp-modal .otp-input:focus{border-color:#d6a75e!important;box-shadow:0 0 0 4px rgba(214,167,94,.16)!important;outline:0!important}

@media(max-width:720px){
  #spain-residency-form .gform_fields{grid-template-columns:1fr!important}
  #spain-residency-form .gfield[id$="_2"],
  #spain-residency-form .gfield[id$="_3"],
  #spain-residency-form .gfield[id$="_4"],
  #spain-residency-form .gfield[id$="_23"],
  #spain-residency-form .gfield[id$="_7"]{grid-column:1/-1!important}
  #spain-residency-form .gfield[id$="_23"] .gfield_radio{grid-template-columns:1fr!important}
  #spain-residency-form .gform_button{width:100%!important;min-width:0!important}
}


/* =========================================================
   Alpha 3.4.1 - Form header, phone alignment, required state
   ========================================================= */
#spain-residency-form .ps-spain-form-head{
  display:block!important;
  margin-bottom:34px!important;
  padding-bottom:24px!important;
  text-align:right!important;
}
#spain-residency-form .ps-spain-form-kicker{
  display:block!important;
  margin:0 0 8px!important;
  text-align:right!important;
}
#spain-residency-form .ps-spain-form-head h2{
  width:100%!important;
  max-width:none!important;
  margin:0 0 12px!important;
  padding-right:22px!important;
  text-align:right!important;
  font-size:clamp(30px,3vw,42px)!important;
  line-height:1.35!important;
}
#spain-residency-form .ps-spain-form-head .ps-spain-section__lead{
  width:100%!important;
  max-width:820px!important;
  margin:0!important;
  text-align:right!important;
}

/* phone: force the country picker to the left and reserve real space for it */
#spain-residency-form .gfield[id$="_3"] .iti{
  width:100%!important;
  direction:ltr!important;
  display:block!important;
}
#spain-residency-form .gfield[id$="_3"] input.iti__tel-input,
#spain-residency-form .gfield[id$="_3"] input[type="tel"]{
  direction:ltr!important;
  text-align:left!important;
  padding-left:100px!important;
  padding-right:16px!important;
  unicode-bidi:plaintext!important;
}
#spain-residency-form .gfield[id$="_3"] .iti__country-container,
#spain-residency-form .gfield[id$="_3"] .iti__flag-container{
  left:0!important;
  right:auto!important;
  direction:ltr!important;
  z-index:4!important;
}
#spain-residency-form .gfield[id$="_3"] .iti__selected-country,
#spain-residency-form .gfield[id$="_3"] .iti__selected-flag{
  min-width:78px!important;
  padding-inline:10px!important;
}

/* deterministic disabled state; JS also hard-blocks incomplete clicks */
#spain-residency-form form.ps-spain-form-incomplete .gform_button,
#spain-residency-form .gform_button.ps-spain-submit-disabled,
#spain-residency-form .gform_button[aria-disabled="true"]{
  background:#aeb6c5!important;
  color:#fff!important;
  box-shadow:none!important;
  cursor:not-allowed!important;
  pointer-events:none!important;
  opacity:1!important;
}
#spain-residency-form form.ps-spain-form-ready .gform_button,
#spain-residency-form .gform_button.ps-spain-submit-ready{
  background:linear-gradient(135deg,#485a85,#304066)!important;
  color:#fff!important;
  box-shadow:0 14px 30px rgba(72,90,133,.20)!important;
  cursor:pointer!important;
  pointer-events:auto!important;
}

/* residency radios: selected card gets a visible state */
#spain-residency-form .gfield[id$="_23"] .gchoice:has(input:checked){
  border-color:#7185b3!important;
  background:#f3f6fb!important;
  box-shadow:0 0 0 3px rgba(72,90,133,.08)!important;
}

@media(max-width:720px){
  #spain-residency-form .ps-spain-form-head h2{font-size:30px!important}
  #spain-residency-form .gfield[id$="_3"] input.iti__tel-input,
  #spain-residency-form .gfield[id$="_3"] input[type="tel"]{padding-left:92px!important}
}
