/* ============================================================
   ALADDIN FORMS — Gold · Silver · Dark Green luxury identity
   Scoped under .aladdin-block so it survives any host theme.
   ============================================================ */
.aladdin-block,.aladdin-block *{box-sizing:border-box}
.aladdin-block{
  --green-900:#04140c;--green-850:#071c10;--green-800:#0a2417;--green-700:#0e3320;--green-600:#15492e;
  --green-glow:rgba(53,176,110,.35);
  --gold-100:#fbf3d6;--gold-300:#f6e7b4;--gold-400:#e8cf86;--gold-500:#d4af37;--gold-600:#b8902a;
  --silver-300:#d3dade;--silver-500:#7f8b91;
  --ink:#eaf1ec;--ink-soft:#b7c6bd;
  --gold-grad:linear-gradient(135deg,#fbf3d6 0%,#e8cf86 25%,#d4af37 55%,#b8902a 75%,#f6e7b4 100%);
  --gold-grad-soft:linear-gradient(135deg,#e8cf86,#d4af37 60%,#b8902a);
  --panel-brd:rgba(212,175,55,.28);
  --shadow-lg:0 24px 60px -18px rgba(0,0,0,.7);
  --ff-serif:'Cinzel',serif;--ff-body:'Noto Sans',system-ui,Arial,Helvetica,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);

  position:relative;max-width:1040px;margin:32px auto;padding:clamp(1.6rem,4vw,3rem);
  font-family:var(--ff-body);color:var(--ink);line-height:1.7;
  background:
    radial-gradient(900px 480px at 85% -10%, rgba(21,73,46,.55), transparent 60%),
    radial-gradient(700px 420px at 0% 0%, rgba(212,175,55,.10), transparent 55%),
    linear-gradient(160deg,var(--green-800),var(--green-900));
  border:1px solid var(--panel-brd);border-radius:24px;
  box-shadow:var(--shadow-lg);overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
}
.aladdin-block[dir=rtl]{direction:rtl;text-align:right;--ff-serif:'Tajawal',sans-serif;--ff-body:'Tajawal','Noto Sans Arabic',sans-serif}
.aladdin-block[lang=zh]{--ff-body:'Noto Sans SC',sans-serif}
.aladdin-block::before{content:"";position:absolute;top:0;inset-inline:0;height:2px;background:var(--gold-grad);opacity:.75;z-index:2}
.aladdin-block::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;
  background:linear-gradient(140deg,rgba(212,175,55,.45),transparent 38%,transparent 62%,rgba(53,176,110,.4));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  opacity:.55;pointer-events:none;z-index:2}

/* decorative depth */
.aladdin-deco{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.aladdin-deco .lamp{position:absolute;top:-30px;inset-inline-end:-30px;width:170px;height:170px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,rgba(212,175,55,.20),transparent 70%);filter:blur(6px)}
.aladdin-deco i{position:absolute;bottom:0;width:5px;height:5px;border-radius:50%;
  background:radial-gradient(circle,#fff8e1,#d4af37);box-shadow:0 0 10px 2px rgba(212,175,55,.55);
  opacity:0;animation:aladdin-float 9s linear infinite}
@keyframes aladdin-float{0%{transform:translateY(20px);opacity:0}12%{opacity:.85}88%{opacity:.5}100%{transform:translateY(-360px);opacity:0}}
.aladdin-block>*{position:relative;z-index:1}

/* language switcher */
.aladdin-langbar{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.4rem}
.aladdin-lang{display:inline-flex;align-items:center;gap:.35rem;padding:.34rem .62rem;border-radius:999px;border:1px solid var(--panel-brd);
  background:rgba(255,255,255,.03);color:var(--ink-soft);font-size:.76rem;font-weight:700;line-height:1;text-decoration:none;transition:.2s var(--ease)}
.aladdin-lang:hover{border-color:var(--gold-500);color:var(--gold-300);transform:translateY(-1px)}
.aladdin-lang .fl{font-size:.98rem;line-height:1}
.aladdin-lang.is-active{background:var(--gold-grad);color:var(--green-900);border-color:transparent;box-shadow:0 6px 16px -8px rgba(212,175,55,.8)}
.aladdin-lang.is-active .cd{color:var(--green-900)}

/* header */
.aladdin-head{margin-bottom:1.6rem}
.aladdin-kicker{display:inline-flex;align-items:center;gap:.6rem;font-weight:700;font-size:.72rem;letter-spacing:.26em;
  text-transform:uppercase;color:var(--gold-400);margin-bottom:.8rem}
.aladdin-kicker::before{content:"";width:30px;height:1px;background:var(--gold-grad-soft)}
.aladdin-block[dir=rtl] .aladdin-kicker{letter-spacing:.04em}
.aladdin-title{font-family:var(--ff-serif);font-weight:700;font-size:clamp(1.5rem,3.4vw,2.2rem);line-height:1.2;margin:0 0 .55rem}
.aladdin-block .gold-text{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.aladdin-sub{color:var(--ink-soft);font-size:1rem;margin:0;max-width:64ch}
.aladdin-sub strong,.aladdin-note strong,.aladdin-guidelines strong{color:var(--gold-300)}

/* free-consult guidelines + note */
.aladdin-guidelines{display:flex;flex-direction:column;gap:.55rem;margin:1.2rem 0;padding:0;list-style:none}
.aladdin-guidelines li{background:rgba(255,255,255,.04);border-inline-start:3px solid var(--gold-500);border-radius:10px;
  padding:.7rem 1rem;color:var(--ink-soft);font-size:.92rem}
.aladdin-note{background:rgba(212,175,55,.08);border:1px solid var(--panel-brd);border-radius:12px;padding:.9rem 1.1rem;
  color:var(--ink-soft);font-size:.9rem;margin:1rem 0 1.4rem}

/* contact info column */
.aladdin-contact-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(1.5rem,4vw,2.6rem);align-items:start}
.aladdin-info p{margin:.4rem 0;color:var(--ink-soft);font-size:.95rem}
.aladdin-info p strong{color:var(--gold-300);font-weight:700}
.aladdin-info a{color:var(--gold-300)}
.aladdin-info a:hover{color:var(--gold-100)}
.aladdin-socials{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem}
.aladdin-socials a{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
  background:rgba(212,175,55,.08);border:1px solid var(--panel-brd);color:var(--gold-300);transition:.3s var(--ease)}
.aladdin-socials a:hover{background:var(--gold-grad);color:var(--green-900);transform:translateY(-3px)}
.aladdin-socials svg{width:18px;height:18px;fill:currentColor}

/* form grid */
form.aladdin-ajax-form{margin-top:1.1rem}
.aladdin-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.2rem}
.afield{display:flex;flex-direction:column;min-width:0}
.afield--full{grid-column:1/-1}
.aladdin-block label{font-weight:600;margin-bottom:.45rem;color:var(--ink);font-size:.9rem}

.aladdin-block input[type=text],.aladdin-block input[type=email],.aladdin-block input[type=tel],
.aladdin-block textarea,.aladdin-block select{
  width:100%;padding:.85rem 1rem;font:inherit;font-size:.95rem;color:var(--ink);
  background:rgba(255,255,255,.04);border:1px solid rgba(212,175,55,.22);border-radius:12px;
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease);
  -webkit-appearance:none;appearance:none}
.aladdin-block textarea{resize:vertical;min-height:130px}
.aladdin-block input::placeholder,.aladdin-block textarea::placeholder{color:var(--silver-500)}
.aladdin-block input:focus,.aladdin-block textarea:focus,.aladdin-block select:focus{
  outline:0;border-color:var(--gold-500);background:rgba(255,255,255,.06);
  box-shadow:0 0 0 3px rgba(212,175,55,.18),0 0 22px -6px var(--green-glow)}
.afield:focus-within>label{color:var(--gold-300)}

/* styled select */
.aladdin-block select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23e8cf86' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1rem center;padding-inline-end:2.6rem}
.aladdin-block[dir=rtl] select{background-position:left 1rem center;padding-inline-end:1rem;padding-inline-start:2.6rem}
.aladdin-block option{background:#0a2417;color:var(--ink)}

/* segmented radios */
.aladdin-inline-options{display:inline-flex;gap:.5rem;flex-wrap:wrap}
.aladdin-inline-options label{display:inline-flex;align-items:center;gap:.45rem;margin:0;padding:.6rem 1.1rem;border-radius:999px;
  border:1px solid var(--panel-brd);background:rgba(255,255,255,.03);cursor:pointer;font-weight:600;font-size:.9rem;
  color:var(--ink-soft);transition:.25s var(--ease)}
.aladdin-inline-options label:hover{border-color:var(--gold-500);color:var(--gold-300)}
.aladdin-inline-options input{accent-color:var(--gold-500);width:auto;margin:0}

/* star rating (pure-CSS interactive, reverse-ordered radios) */
.aladdin-rating{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:.2rem}
.aladdin-rating input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.aladdin-rating label{cursor:pointer;font-size:1.7rem;line-height:1;margin:0;padding:0 .05rem;color:rgba(255,255,255,.16);transition:color .15s var(--ease),transform .15s var(--ease)}
.aladdin-rating label::before{content:"\2605"}
.aladdin-rating input:checked ~ label{color:var(--gold-500)}
.aladdin-rating:hover label{color:rgba(255,255,255,.16)}
.aladdin-rating label:hover,.aladdin-rating label:hover ~ label{color:var(--gold-400);transform:scale(1.08)}
.aladdin-rating input:focus-visible + label{outline:2px solid var(--gold-500);outline-offset:2px;border-radius:4px}

/* satisfaction scale (1–5) */
.aladdin-scale{display:flex;gap:.45rem;flex-wrap:wrap}
.aladdin-scale .opt{position:relative;flex:1 1 44px}
.aladdin-scale input{position:absolute;opacity:0;inset:0;cursor:pointer}
.aladdin-scale label{display:grid;place-items:center;padding:.6rem .2rem;border:1px solid var(--panel-brd);border-radius:10px;
  font-weight:700;color:var(--ink-soft);background:rgba(255,255,255,.03);transition:.2s var(--ease)}
.aladdin-scale input:checked + label{background:var(--gold-grad);color:var(--green-900);border-color:transparent}
.aladdin-scale .opt:hover label{border-color:var(--gold-500);color:var(--gold-300)}
.aladdin-scale-caps{display:flex;justify-content:space-between;font-size:.75rem;color:var(--silver-500);margin-top:.35rem}

/* consent */
.aladdin-consent{grid-column:1/-1;display:flex;align-items:flex-start;gap:.6rem;font-weight:500;color:var(--ink-soft);
  font-size:.9rem;line-height:1.5;margin-top:.2rem}
.aladdin-consent input{width:18px;height:18px;margin-top:.15rem;accent-color:var(--gold-500);flex:none}

/* char counter */
.aladdin-counter{align-self:flex-end;margin-top:.35rem;font-size:.78rem;color:var(--silver-500)}
.aladdin-block[dir=rtl] .aladdin-counter{align-self:flex-start}
.aladdin-counter.warn{color:var(--gold-400)}

/* actions */
.aladdin-actions{display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap;margin-top:1.6rem}
.aladdin-block button[type=submit]{position:relative;display:inline-flex;align-items:center;gap:.6rem;border:0;cursor:pointer;
  font:inherit;font-weight:700;font-size:.98rem;padding:.9rem 2rem;border-radius:999px;color:#3a2a05;background:var(--gold-grad);
  box-shadow:0 10px 26px -10px rgba(212,175,55,.7);overflow:hidden;transition:.3s var(--ease)}
.aladdin-block button[type=submit]:hover{transform:translateY(-2px);box-shadow:0 16px 34px -10px rgba(212,175,55,.85)}
.aladdin-block button[type=submit]::after{content:"";position:absolute;top:0;inset-inline-start:-130%;width:55%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);transform:skewX(-18deg)}
.aladdin-block button[type=submit]:hover::after{animation:aladdin-sweep .9s var(--ease)}
@keyframes aladdin-sweep{to{inset-inline-start:140%}}
.aladdin-block button[type=submit] .spin{width:16px;height:16px;border-radius:50%;border:2px solid rgba(58,42,5,.35);
  border-top-color:#3a2a05;display:none;animation:aladdin-spin .7s linear infinite}
.aladdin-block button[type=submit].loading{pointer-events:none;opacity:.9}
.aladdin-block button[type=submit].loading .spin{display:inline-block}
@keyframes aladdin-spin{to{transform:rotate(360deg)}}

/* status */
.aladdin-status{font-size:.92rem;font-weight:600;color:var(--ink-soft);transition:.25s}
.aladdin-status.is-success{color:#7be0a4}
.aladdin-status.is-error{color:#f3a6a6}

/* honeypot */
.aladdin-hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden}

/* reveal on scroll */
.aladdin-block.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.aladdin-block.reveal.in{opacity:1;transform:none}

/* responsive */
@media(max-width:820px){.aladdin-contact-layout{grid-template-columns:1fr}}
@media(max-width:680px){.aladdin-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){
  .aladdin-block.reveal{opacity:1;transform:none;transition:none}
  .aladdin-deco i{display:none}
  .aladdin-block button[type=submit]:hover::after{animation:none}
}
