/* LULYGraphics V14 — payment modal + contact page refinement */

/* ---------------- Payment info modal ---------------- */
.luly-payment-dialog{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100dvh !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:24px !important;
  border:0 !important;
  background:rgba(3,3,4,.78) !important;
  overflow:auto !important;
  z-index:10050 !important;
  color:#fff7ee;
}
.luly-payment-dialog[open],
.luly-payment-dialog.is-open{
  display:grid !important;
  place-items:center !important;
}
.luly-payment-dialog::backdrop{
  background:rgba(2,2,3,.78);
  backdrop-filter:blur(12px) saturate(.85);
}
.luly-payment-dialog-card{
  width:min(720px,100%) !important;
  max-height:calc(100dvh - 48px);
  overflow:auto;
  margin:auto !important;
  padding:34px !important;
  border-radius:28px !important;
  border:1px solid rgba(255,132,28,.28) !important;
  background:
    radial-gradient(circle at 88% 6%,rgba(255,112,18,.18),transparent 30%),
    linear-gradient(145deg,rgba(24,19,17,.98),rgba(9,9,11,.99) 62%) !important;
  box-shadow:0 34px 90px rgba(0,0,0,.58),0 0 0 1px rgba(255,255,255,.025) inset,0 0 70px rgba(255,107,0,.08) !important;
  position:relative;
  isolation:isolate;
}
.luly-payment-dialog-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(110deg,rgba(255,255,255,.055),transparent 30%,transparent 70%,rgba(255,122,20,.04));
  z-index:-1;
}
.luly-payment-dialog .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  margin:0 0 15px;
  padding:.55rem .8rem;
  border-radius:999px;
  border:1px solid rgba(255,127,22,.35);
  background:rgba(255,111,15,.08);
  color:#ff9b45;
  letter-spacing:.1em;
}
.luly-payment-dialog .eyebrow::before{
  content:"";
  width:7px;height:7px;border-radius:50%;
  background:#ff7a16;
  box-shadow:0 0 14px rgba(255,122,22,.9);
}
.luly-payment-dialog h2{
  max-width:610px;
  margin:0;
  color:#fff8f0;
  font-size:clamp(2rem,4.4vw,3.45rem);
  line-height:.98;
  letter-spacing:-.045em;
}
.luly-payment-dialog .payment-dialog-lead{
  max-width:610px;
  margin:16px 0 24px;
  color:rgba(255,244,235,.68);
  font-size:.98rem;
  line-height:1.7;
}
.luly-payment-dialog .payment-dialog-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:0;
  counter-reset:paystep;
}
.luly-payment-dialog .payment-dialog-steps>div{
  min-height:154px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
  padding:18px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.075);
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.022));
  position:relative;
  overflow:hidden;
}
.luly-payment-dialog .payment-dialog-steps>div::after{
  content:"";
  position:absolute;
  left:18px;right:18px;bottom:0;height:2px;
  background:linear-gradient(90deg,#ff7a16,transparent);
  opacity:.55;
}
.luly-payment-dialog .payment-dialog-steps i{
  width:42px;height:42px;
  display:grid;place-items:center;
  border-radius:13px;
  color:#ff9138;
  background:rgba(255,115,18,.11);
  border:1px solid rgba(255,126,26,.2);
  font-size:1rem;
}
.luly-payment-dialog .payment-dialog-steps span{display:block}
.luly-payment-dialog .payment-dialog-steps strong{
  display:block;
  color:#fff8f0;
  font-size:.98rem;
  margin-bottom:5px;
}
.luly-payment-dialog .payment-dialog-steps small{
  display:block;
  color:rgba(255,244,235,.57);
  font-size:.78rem;
  line-height:1.55;
}
.luly-payment-dialog .payment-dialog-note{
  margin-top:14px;
  padding:13px 15px;
  border-radius:16px;
  border:1px solid rgba(255,127,22,.18);
  background:rgba(255,112,16,.055);
  color:rgba(255,244,235,.68);
}
.luly-payment-dialog .payment-dialog-note i{color:#ff8d31}
.luly-payment-dialog .payment-dialog-note p{margin:0}
.luly-payment-dialog .payment-dialog-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  margin-top:18px;
}
.luly-payment-dialog .payment-dialog-actions .btn{min-height:46px;border-radius:999px;padding:.72rem 1.15rem}
.luly-payment-dialog .payment-dialog-actions .luly-btn-primary{box-shadow:0 10px 28px rgba(255,101,0,.2)}
.luly-payment-dialog .payment-dialog-close{
  position:absolute !important;
  top:18px !important;
  right:18px !important;
  width:40px !important;
  height:40px !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  border-radius:50% !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:rgba(255,255,255,.05) !important;
  color:#fff !important;
  line-height:1 !important;
}
.luly-payment-dialog .payment-dialog-close:hover{background:rgba(255,122,22,.14) !important;border-color:rgba(255,122,22,.34) !important}

/* ---------------- Contact page ---------------- */
body.contact-page{
  background:#060607;
}
body.contact-page .contact-v14{
  position:relative;
  min-height:calc(100vh - 70px);
  padding:150px 0 82px;
  overflow:hidden;
  isolation:isolate;
}
body.contact-page .contact-v14::before{
  content:"";
  position:absolute;
  inset:-20%;
  z-index:-4;
  background:
    radial-gradient(circle at 72% 30%,rgba(255,110,17,.15),transparent 28%),
    radial-gradient(circle at 12% 78%,rgba(255,96,0,.08),transparent 26%),
    linear-gradient(180deg,#090807 0%,#070708 54%,#050506 100%);
}
body.contact-page .contact-v14::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  opacity:.18;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,black,transparent 86%);
}
body.contact-page .contact-v14-glow{
  position:absolute;
  width:460px;height:460px;
  left:var(--contact-x,72%);top:var(--contact-y,30%);
  transform:translate(-50%,-50%);
  z-index:-2;
  pointer-events:none;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,111,13,.17),rgba(255,96,0,.04) 40%,transparent 70%);
  filter:blur(10px);
  transition:left .18s ease-out,top .18s ease-out;
}
body.contact-page .contact-v14-orbit{
  position:absolute;
  right:-130px;top:105px;
  width:460px;height:460px;
  border:1px solid rgba(255,126,30,.10);
  border-radius:50%;
  z-index:-1;
  animation:contactOrbitFloat 9s ease-in-out infinite;
}
body.contact-page .contact-v14-orbit::before,body.contact-page .contact-v14-orbit::after{
  content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,126,30,.08)
}
body.contact-page .contact-v14-orbit::before{inset:70px}
body.contact-page .contact-v14-orbit::after{inset:145px;background:rgba(255,116,20,.035);box-shadow:0 0 60px rgba(255,101,0,.06) inset}
@keyframes contactOrbitFloat{50%{transform:translate3d(-12px,16px,0) rotate(4deg)}}
body.contact-page .contact-v14-grid{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(560px,1.12fr);
  gap:72px;
  align-items:start;
}
body.contact-page .contact-v14-copy{position:sticky;top:120px;padding-top:20px}
body.contact-page .contact-v14-copy .eyebrow{margin-bottom:18px}
body.contact-page .contact-v14-copy h1{
  max-width:650px;
  margin:0;
  font-size:clamp(3.2rem,6vw,6.7rem);
  line-height:.88;
  letter-spacing:-.065em;
  color:#fff7ef;
}
body.contact-page .contact-v14-copy h1 em{font-style:normal;color:#ff7b18;text-shadow:0 0 28px rgba(255,104,0,.18)}
body.contact-page .contact-v14-copy>p{
  max-width:600px;
  margin:24px 0 28px;
  color:rgba(255,246,238,.64);
  font-size:1.02rem;
  line-height:1.75;
}
body.contact-page .contact-v14-direct{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  max-width:610px;
}
body.contact-page .contact-v14-direct-item{
  min-height:118px;
  padding:16px 17px;
  border-radius:19px;
  border:1px solid rgba(255,255,255,.075);
  background:rgba(255,255,255,.025);
  backdrop-filter:blur(10px);
}
body.contact-page .contact-v14-direct-item small{display:block;color:#ff8d32;text-transform:uppercase;letter-spacing:.1em;font-size:.67rem;font-weight:800;margin-bottom:8px}
body.contact-page .contact-v14-direct-item strong{display:block;color:#fff7ef;font-size:.94rem;margin-bottom:6px}
body.contact-page .contact-v14-direct-item p,body.contact-page .contact-v14-direct-item span{display:block;margin:0;color:rgba(255,245,236,.5);font-size:.78rem;line-height:1.5}
body.contact-page .contact-v14-direct-item a{color:#fff7ef;text-decoration:none}
body.contact-page .contact-v14-direct-item a:hover{color:#ff8b31}
body.contact-page .contact-v14-copy-note{
  max-width:610px;
  display:flex;gap:12px;align-items:flex-start;
  margin-top:12px;padding:14px 16px;
  border-radius:17px;
  border:1px solid rgba(255,125,26,.14);
  background:rgba(255,105,0,.045);
  color:rgba(255,245,236,.58);
  font-size:.8rem;
}
body.contact-page .contact-v14-copy-note i{color:#ff8a30;margin-top:2px}
body.contact-page .contact-v14-form-card{
  position:relative;
  padding:28px;
  border-radius:30px;
  border:1px solid rgba(255,133,32,.2);
  background:linear-gradient(145deg,rgba(22,20,19,.9),rgba(10,10,12,.93));
  box-shadow:0 30px 90px rgba(0,0,0,.38),0 0 60px rgba(255,99,0,.045);
  backdrop-filter:blur(18px);
  overflow:hidden;
}
body.contact-page .contact-v14-form-card::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 92% 2%,rgba(255,119,20,.11),transparent 28%),linear-gradient(120deg,rgba(255,255,255,.035),transparent 32%);
}
body.contact-page .contact-v14-form-head{position:relative;margin-bottom:22px;padding-right:70px}
body.contact-page .contact-v14-form-kicker{display:inline-flex;gap:8px;align-items:center;color:#ff8c32;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
body.contact-page .contact-v14-form-kicker::before{content:"";width:7px;height:7px;border-radius:50%;background:#ff7a16;box-shadow:0 0 14px rgba(255,122,22,.8)}
body.contact-page .contact-v14-form-head h2{margin:10px 0 8px;color:#fff8f0;font-size:clamp(1.8rem,3vw,2.75rem);letter-spacing:-.035em}
body.contact-page .contact-v14-form-head p{margin:0;color:rgba(255,245,236,.55);font-size:.88rem;line-height:1.65}
body.contact-page .contact-v14 .luly-contact-form{position:relative}
body.contact-page .contact-v14 .luly-contact-row{display:grid !important;grid-template-columns:1fr 1fr !important;gap:12px !important}
body.contact-page .contact-v14 .wrap-input100{margin-bottom:12px !important;background:transparent !important;border-radius:0 !important}
body.contact-page .contact-v14 .luly-field-label{display:block !important;margin:0 0 7px !important;color:rgba(255,244,236,.72) !important;font-size:.72rem !important;font-weight:700 !important;letter-spacing:.025em !important;text-transform:none !important}
body.contact-page .contact-v14 .input100,
body.contact-page .contact-v14 input.input100,
body.contact-page .contact-v14 textarea.input100,
body.contact-page .contact-v14 select.input100{
  width:100% !important;
  height:50px !important;
  padding:0 15px !important;
  border:1px solid rgba(255,255,255,.09) !important;
  border-radius:14px !important;
  background:rgba(255,255,255,.035) !important;
  color:#fff7ee !important;
  font-size:.88rem !important;
  box-shadow:none !important;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease !important;
}
body.contact-page .contact-v14 textarea.input100{height:auto !important;min-height:150px !important;padding:14px 15px !important;resize:vertical}
body.contact-page .contact-v14 .input100:focus{border-color:rgba(255,132,34,.48) !important;background:rgba(255,255,255,.05) !important;box-shadow:0 0 0 3px rgba(255,106,0,.06) !important}
body.contact-page .contact-v14 .focus-input100{display:none !important}
body.contact-page .contact-v14 .luly-select-input{appearance:auto}
body.contact-page .contact-v14 .contact100-form-btn{
  width:auto !important;min-width:165px !important;height:48px !important;
  padding:0 22px !important;border-radius:999px !important;
  background:#ff7b17 !important;color:#0b0908 !important;font-weight:800 !important;text-transform:none !important;
  box-shadow:0 12px 32px rgba(255,104,0,.18) !important;
}
body.contact-page .contact-v14 .contact100-form-btn:hover{transform:translateY(-1px);background:#ff8b2b !important}
body.contact-page .contact-v14 .container-contact100-form-btn{justify-content:flex-start !important;padding-top:4px !important}
body.contact-page .contact-v14 .contact-order-hint{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:4px 0 12px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,126,26,.13);background:rgba(255,113,18,.04);font-size:.78rem}
body.contact-page .contact-v14 .contact-order-hint span{color:rgba(255,245,236,.5)}
body.contact-page .contact-v14 .contact-order-hint a{color:#ff943f;font-weight:700;text-decoration:none}
body.contact-page .contact-v14-help{
  position:relative;
  margin-top:16px;
  padding:22px 0 0;
}
body.contact-page .contact-v14-help-label{color:rgba(255,245,236,.45);font-size:.7rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800;margin-bottom:10px}
body.contact-page .contact-v14-help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
body.contact-page .contact-v14-help-grid div{padding:13px;border-radius:15px;border:1px solid rgba(255,255,255,.065);background:rgba(255,255,255,.025)}
body.contact-page .contact-v14-help-grid strong{display:block;color:#fff4ea;font-size:.78rem;margin-bottom:3px}
body.contact-page .contact-v14-help-grid span{display:block;color:rgba(255,245,236,.44);font-size:.7rem;line-height:1.45}
body.contact-page .contact-v14-bottom{padding:0 0 92px;position:relative}
body.contact-page .contact-v14-bottom-card{
  display:flex;align-items:center;justify-content:space-between;gap:30px;
  padding:28px 30px;border-radius:26px;
  border:1px solid rgba(255,255,255,.075);
  background:linear-gradient(110deg,rgba(255,255,255,.035),rgba(255,117,20,.035));
}
body.contact-page .contact-v14-bottom-card h2{margin:0 0 6px;color:#fff7ef;font-size:clamp(1.45rem,2.5vw,2.2rem);letter-spacing:-.035em}
body.contact-page .contact-v14-bottom-card p{margin:0;color:rgba(255,245,236,.54);font-size:.85rem}
body.contact-page .contact-v14-bottom-actions{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}

@media(max-width:991.98px){
  body.contact-page .contact-v14{padding-top:125px}
  body.contact-page .contact-v14-grid{grid-template-columns:1fr;gap:34px}
  body.contact-page .contact-v14-copy{position:relative;top:auto;padding-top:0}
  body.contact-page .contact-v14-copy h1{font-size:clamp(3.1rem,11vw,5.6rem)}
}
@media(max-width:767.98px){
  .luly-payment-dialog{padding:12px !important}
  .luly-payment-dialog-card{padding:25px 18px 18px !important;border-radius:23px !important;max-height:calc(100dvh - 24px)}
  .luly-payment-dialog .payment-dialog-steps{grid-template-columns:1fr}
  .luly-payment-dialog .payment-dialog-steps>div{min-height:0;flex-direction:row;align-items:flex-start}
  .luly-payment-dialog .payment-dialog-actions{flex-direction:column-reverse}
  .luly-payment-dialog .payment-dialog-actions>*{width:100%}
  body.contact-page .contact-v14{padding:112px 0 56px}
  body.contact-page .contact-v14-direct{grid-template-columns:1fr}
  body.contact-page .contact-v14-form-card{padding:20px 15px;border-radius:22px}
  body.contact-page .contact-v14 .luly-contact-row{grid-template-columns:1fr !important}
  body.contact-page .contact-v14-help-grid{grid-template-columns:1fr}
  body.contact-page .contact-v14-bottom{padding-bottom:60px}
  body.contact-page .contact-v14-bottom-card{align-items:flex-start;flex-direction:column;padding:22px}
}
@media(prefers-reduced-motion:reduce){body.contact-page .contact-v14-orbit{animation:none}}


/* === V7 payment step icon cleanup === */
.luly-payment-dialog .payment-dialog-steps .payment-step-icon{
  width:50px;
  height:50px;
  flex:0 0 50px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#ff9a45;
  background:linear-gradient(145deg,rgba(255,127,32,.16),rgba(255,103,0,.07));
  border:1px solid rgba(255,137,48,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
}
.luly-payment-dialog .payment-dialog-steps .payment-step-icon svg{
  width:23px;
  height:23px;
  display:block;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
/* Font Awesome rule from the earlier modal no longer controls the three step icons. */
.luly-payment-dialog .payment-dialog-steps>div>.payment-step-icon{margin:0;}
