/* v12.15 No-Delete Contact Premium Upgrade
   Additive layer only. No selector from previous versions is removed or disabled. */

:root{
  --b4883-v1215-navy:#071c34;
  --b4883-v1215-blue:#0e56a8;
  --b4883-v1215-blue2:#0b3e7d;
  --b4883-v1215-green:#0d8a63;
  --b4883-v1215-gold:#d7a943;
  --b4883-v1215-cream:#fff8e8;
  --b4883-v1215-card:#ffffff;
  --b4883-v1215-soft:#f3f8ff;
  --b4883-v1215-border:rgba(7,28,52,.11);
  --b4883-v1215-shadow:0 24px 70px rgba(7,28,52,.13);
  --b4883-v1215-radius:28px;
}

body.b4883-v1215-contact-premium :where(.container,.v906-container){
  width:min(1180px, calc(100% - 32px));
}

body.b4883-v1215-contact-premium :where(.page-hero-clean,.v906-contact-hero){
  background:
    radial-gradient(circle at 9% 12%, rgba(215,169,67,.22), transparent 32%),
    radial-gradient(circle at 92% 18%, rgba(13,138,99,.18), transparent 30%),
    linear-gradient(135deg, #071c34 0%, #0b356f 58%, #0e56a8 100%) !important;
  color:#fff;
  border:0;
  position:relative;
  overflow:hidden;
}

body.b4883-v1215-contact-premium :where(.page-hero-clean,.v906-contact-hero)::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:64px 64px;
  opacity:.28;
  pointer-events:none;
}

body.b4883-v1215-contact-premium :where(.page-hero-clean .container,.v906-contact-hero .v906-container){
  position:relative;
  z-index:1;
}

body.b4883-v1215-contact-premium :where(.page-hero-clean h1,.v906-contact-hero h1){
  color:#fff;
  letter-spacing:-.04em;
  text-shadow:0 14px 34px rgba(0,0,0,.18);
}

body.b4883-v1215-contact-premium :where(.page-hero-clean p,.v906-contact-hero p){
  color:rgba(255,255,255,.88) !important;
  max-width:760px;
  font-size:clamp(1.02rem, 1.8vw, 1.22rem);
}

body.b4883-v1215-contact-premium .page-hero-badge,
body.b4883-v1215-contact-premium .v906-contact-hero span{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  min-height:38px;
  padding:.44rem .86rem;
  border-radius:999px;
  color:#fff7df;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
  backdrop-filter:blur(12px);
}

/* Premium command panel inserted into contact templates */
.b4883-v1215-contact-command{
  direction:rtl;
  margin:clamp(18px, 3vw, 34px) 0;
  padding:clamp(18px, 3vw, 30px);
  border:1px solid rgba(14,86,168,.14);
  border-radius:calc(var(--b4883-v1215-radius) + 4px);
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(243,248,255,.96)),
    radial-gradient(circle at 100% 0, rgba(13,138,99,.12), transparent 34%);
  box-shadow:var(--b4883-v1215-shadow);
  position:relative;
  overflow:hidden;
}

.b4883-v1215-contact-command::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:7px;
  background:linear-gradient(180deg, var(--b4883-v1215-gold), var(--b4883-v1215-green), var(--b4883-v1215-blue));
}

.b4883-v1215-contact-command__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:22px;
  align-items:start;
}

.b4883-v1215-kicker{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-size:.88rem;
  font-weight:850;
  color:var(--b4883-v1215-blue2);
  background:rgba(14,86,168,.08);
  border:1px solid rgba(14,86,168,.12);
  border-radius:999px;
  padding:.35rem .78rem;
}

.b4883-v1215-contact-command h2,
.b4883-v1215-contact-command h3{
  color:var(--b4883-v1215-navy);
  margin:.8rem 0 .55rem;
  letter-spacing:-.035em;
}

.b4883-v1215-contact-command p{
  color:#44566b;
  line-height:2;
  margin:0;
}

.b4883-v1215-contact-command__badge{
  min-width:190px;
  text-align:center;
  border-radius:24px;
  padding:16px 18px;
  color:#0b315f;
  background:linear-gradient(135deg, #fff7df, #ffffff);
  border:1px solid rgba(215,169,67,.28);
  box-shadow:0 16px 40px rgba(130,91,14,.10);
}

.b4883-v1215-contact-command__badge strong{
  display:block;
  font-size:1.35rem;
  margin-bottom:.25rem;
}

.b4883-v1215-contact-command__badge span{
  color:#657386;
  font-size:.92rem;
}

.b4883-v1215-action-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:20px;
}

.b4883-v1215-action-row a,
.b4883-v1215-action-row button{
  appearance:none;
  border:0;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  min-height:48px;
  padding:.75rem 1.05rem;
  border-radius:999px;
  font-weight:900;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  font-family:inherit;
}

.b4883-v1215-action-row a:hover,
.b4883-v1215-action-row button:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(7,28,52,.17);
}

.b4883-v1215-action-row .is-primary{
  color:#fff;
  background:linear-gradient(135deg, var(--b4883-v1215-green), #0b7556);
}

.b4883-v1215-action-row .is-call{
  color:#fff;
  background:linear-gradient(135deg, var(--b4883-v1215-blue), var(--b4883-v1215-blue2));
}

.b4883-v1215-action-row .is-map,
.b4883-v1215-action-row .is-copy{
  color:var(--b4883-v1215-blue2);
  background:#fff;
  border:1px solid rgba(14,86,168,.16);
}

.b4883-v1215-contact-steps{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:12px;
  margin-top:22px;
}

.b4883-v1215-step{
  border-radius:22px;
  padding:16px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(7,28,52,.09);
  box-shadow:0 12px 32px rgba(7,28,52,.06);
}

.b4883-v1215-step b{
  display:flex;
  align-items:center;
  gap:.5rem;
  color:var(--b4883-v1215-navy);
  margin-bottom:.35rem;
}

.b4883-v1215-step span{
  display:block;
  color:#5c6b7d;
  line-height:1.9;
  font-size:.94rem;
}

/* Existing contact cards get a premium finish */
body.b4883-v1215-contact-premium .contact-quick-grid{
  margin-top:clamp(-28px, -3vw, -18px);
  position:relative;
  z-index:3;
}

body.b4883-v1215-contact-premium .contact-quick-card{
  border:1px solid rgba(14,86,168,.13);
  border-radius:24px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(243,248,255,.96));
  box-shadow:0 18px 46px rgba(7,28,52,.10);
  overflow:hidden;
  position:relative;
}

body.b4883-v1215-contact-premium .contact-quick-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg, var(--b4883-v1215-gold), var(--b4883-v1215-green), var(--b4883-v1215-blue));
}

body.b4883-v1215-contact-premium .contact-quick-card span{
  width:48px;
  height:48px;
  display:inline-grid;
  place-items:center;
  border-radius:18px;
  background:#edf6ff;
  box-shadow:inset 0 0 0 1px rgba(14,86,168,.08);
}

body.b4883-v1215-contact-premium .contact-grid-clean{
  align-items:start;
  gap:clamp(18px, 3vw, 32px);
}

body.b4883-v1215-contact-premium :where(.contact-info-box-clean,.contact-form-box-clean,.v906-contact-card){
  border-radius:30px;
  border:1px solid rgba(7,28,52,.10);
  background:rgba(255,255,255,.96);
  box-shadow:var(--b4883-v1215-shadow);
}

body.b4883-v1215-contact-premium .contact-info-item{
  border-radius:22px;
  padding:15px;
  background:linear-gradient(135deg, #fff, #f6faff);
  border:1px solid rgba(7,28,52,.08);
}

body.b4883-v1215-contact-premium .ci-icon{
  width:44px;
  height:44px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:#edf6ff;
}

body.b4883-v1215-contact-premium .contact-help-box,
body.b4883-v1215-contact-premium .b4883-v1215-office-note{
  border:1px solid rgba(215,169,67,.25);
  background:linear-gradient(135deg, #fff9ea, #ffffff);
  border-radius:24px;
  box-shadow:0 12px 30px rgba(130,91,14,.08);
}

body.b4883-v1215-contact-premium .contact-form-box-clean form{
  display:grid;
  gap:14px;
}

body.b4883-v1215-contact-premium :where(.form-control,input,select,textarea){
  border-radius:18px !important;
  border-color:rgba(7,28,52,.13) !important;
  background:#fbfdff !important;
  min-height:48px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}

body.b4883-v1215-contact-premium :where(.form-control,input,select,textarea):focus{
  outline:0;
  border-color:rgba(14,86,168,.42) !important;
  box-shadow:0 0 0 4px rgba(14,86,168,.10) !important;
  background:#fff !important;
}

body.b4883-v1215-contact-premium textarea{
  min-height:132px;
}

body.b4883-v1215-contact-premium .contact-submit-btn{
  width:100%;
  min-height:52px;
  border-radius:18px !important;
  background:linear-gradient(135deg, var(--b4883-v1215-blue), var(--b4883-v1215-blue2)) !important;
}

.b4883-v1215-visit-card{
  direction:rtl;
  margin:24px 0 36px;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:18px;
  align-items:stretch;
}

.b4883-v1215-visit-card__main,
.b4883-v1215-visit-card__side{
  border-radius:30px;
  border:1px solid rgba(7,28,52,.10);
  background:#fff;
  box-shadow:0 18px 52px rgba(7,28,52,.10);
  padding:clamp(18px, 2.5vw, 28px);
}

.b4883-v1215-visit-card__main{
  background:
    linear-gradient(135deg, rgba(7,28,52,.96), rgba(11,62,125,.95)),
    radial-gradient(circle at 0 100%, rgba(215,169,67,.32), transparent 36%);
  color:#fff;
  position:relative;
  overflow:hidden;
}

.b4883-v1215-visit-card__main::after{
  content:"۴۸۸۳";
  position:absolute;
  left:24px;
  bottom:-22px;
  color:rgba(255,255,255,.06);
  font-size:6rem;
  font-weight:1000;
  letter-spacing:-.08em;
}

.b4883-v1215-visit-card__main h2{
  color:#fff;
  margin:0 0 .75rem;
}

.b4883-v1215-visit-card__main p{
  color:rgba(255,255,255,.83);
  margin:0;
}

.b4883-v1215-visit-list{
  display:grid;
  gap:12px;
  margin-top:18px;
}

.b4883-v1215-visit-list div{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:12px 14px;
  border-radius:18px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.12);
}

.b4883-v1215-visit-card__side h3{
  margin:0 0 .75rem;
  color:var(--b4883-v1215-navy);
}

.b4883-v1215-hour-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px 0;
  border-bottom:1px dashed rgba(7,28,52,.13);
}

.b4883-v1215-hour-row:last-child{border-bottom:0;}
.b4883-v1215-hour-row b{color:var(--b4883-v1215-navy);}
.b4883-v1215-hour-row span{color:#56677c;}

body.b4883-v1215-contact-premium .map-section-clean{
  border-radius:32px;
  padding:clamp(18px,3vw,30px);
  background:linear-gradient(135deg, #fff, #f4f8ff);
  border:1px solid rgba(7,28,52,.10);
  box-shadow:var(--b4883-v1215-shadow);
}

body.b4883-v1215-contact-premium .map-embed,
body.b4883-v1215-contact-premium .map-embed iframe{
  border-radius:24px;
  overflow:hidden;
}

body.b4883-v1215-contact-premium .faq-list-modern .faq-item{
  border-radius:22px;
  border:1px solid rgba(7,28,52,.10);
  box-shadow:0 10px 26px rgba(7,28,52,.06);
}

.b4883-v1215-copy-toast{
  position:fixed;
  z-index:99999;
  right:20px;
  bottom:92px;
  direction:rtl;
  padding:12px 16px;
  border-radius:16px;
  color:#fff;
  background:rgba(7,28,52,.94);
  box-shadow:0 18px 42px rgba(7,28,52,.26);
  transform:translateY(12px);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}

.b4883-v1215-copy-toast.is-visible{
  transform:translateY(0);
  opacity:1;
}

@media (max-width: 900px){
  .b4883-v1215-contact-command__head,
  .b4883-v1215-visit-card{
    grid-template-columns:1fr;
  }
  .b4883-v1215-contact-steps{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
  .b4883-v1215-contact-command__badge{
    text-align:right;
  }
}

@media (max-width: 640px){
  body.b4883-v1215-contact-premium :where(.page-hero-clean,.v906-contact-hero){
    padding-block:38px !important;
  }
  .b4883-v1215-contact-command{
    border-radius:24px;
    padding:18px;
  }
  .b4883-v1215-contact-steps{
    grid-template-columns:1fr;
  }
  .b4883-v1215-action-row a,
  .b4883-v1215-action-row button{
    width:100%;
  }
  body.b4883-v1215-contact-premium .contact-quick-grid{
    margin-top:18px;
  }
  .b4883-v1215-visit-card__main::after{
    font-size:4.2rem;
  }
}

@media print{
  .b4883-v1215-action-row,
  .b4883-v1215-copy-toast{display:none !important;}
  .b4883-v1215-contact-command,
  .b4883-v1215-visit-card__main,
  .b4883-v1215-visit-card__side{
    box-shadow:none !important;
    border:1px solid #ddd !important;
    background:#fff !important;
    color:#000 !important;
  }
}
