/* Bright-yellow brand, registration layouts, image swaps and location contacts. */
:root { --gold:#ffe338; --gold-h:#fff175; --gold-grad:linear-gradient(135deg,#ffe338,#fff175); --gold-soft:rgba(255,227,56,.24); --india-gold:#ffe338; --india-accent:#ffe338; }
.btn-gold,.gold-btn,.wizard-page .btn-gold,.thankyou-page .btn-primary { background: #ffe338 !important; color: #12151d !important; border-color: #ffe338 !important; }
.btn-gold:hover,.gold-btn:hover { background: #fff175 !important; }
.agency-badge-top { background: #ffe338 !important; color: #16191e !important; }
.service-pill { border-color: #ffe338aa !important; color: #ffe338 !important; background: #ffe33812 !important; }

/* Two-image hover swap is only enabled when a second authorized gallery image exists. */
.india-profile-image { position: relative; overflow: hidden; perspective: 700px; }
.india-profile-image > img.ia-profile-second-photo { position: absolute; z-index: 1; inset: 0; display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; opacity: 0; transform: rotateY(-12deg) scale(1.045); backface-visibility: hidden; transition: opacity .38s ease, transform .5s ease; pointer-events: none; }
.india-profile-image:hover > img.ia-profile-second-photo,.india-profile-image:focus-visible > img.ia-profile-second-photo { opacity: 1; transform: rotateY(0deg) scale(1); }
.india-profile-image > .india-diamond-label { position: absolute; z-index: 3; }
.india-hero-slide { position: relative; overflow: hidden; }
.india-hero-slide .ia-slide-main-photo { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; z-index: 0; }
.india-hero-slide .ia-slide-hover-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; opacity: 0; transition: opacity .4s ease, transform .5s ease; transform: scale(1.05); }
.india-hero-slide:hover .ia-slide-hover-photo,.india-hero-slide:focus-visible .ia-slide-hover-photo { opacity: 1; transform: scale(1); }
.india-hero-slide::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(0deg,rgba(8,10,22,.90),transparent 65%); pointer-events:none; }
.india-hero-slide .india-slide-badge,.india-hero-slide .india-slide-details { position: relative; z-index: 2; }
.ipd-actions .ia-profile-private-chat {display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #ffe338!important;background:#292e37!important;color:#ffe338!important}
.ipd-actions .ia-profile-private-chat:not(.is-offline):hover {background:#ffe338!important;color:#111!important}
.ipd-actions .ia-profile-private-chat.is-offline {opacity:.65;cursor:not-allowed}
.ia-chat-status-dot {display:inline-block;width:8px;height:8px;border-radius:50%;background:#b7bbc5}
.ia-chat-status-dot.is-online {background:#5be184;box-shadow:0 0 0 3px #5be18433}
.ia-chat-availability {font-size:.67rem;white-space:nowrap}
.ia-chat-unread-badge{display:inline-grid;place-items:center;min-width:20px;min-height:20px;border-radius:16px;background:#ffe338;color:#111;font-size:.7rem;font-weight:900;padding:2px 5px;margin-left:4px}
.ia-chat-unread-badge[hidden]{display:none}
@media(max-width:980px){.india-top-header .top-right>a[href*="/private-chat/"]{display:none}}

/* One fluid style for all supported registration wizards. */
main.wizard-page,main.ia-user-register { width: 100%; max-width: none !important; min-height: calc(100vh - 90px); margin: 0 !important; padding: clamp(12px,1.8vw,30px) !important; background: #0c101c; color: #f6f7fa; box-sizing: border-box; }
main.wizard-page *,main.ia-user-register * { box-sizing: border-box; }
main.wizard-page > form { width: 100%; max-width: none !important; margin: 0 !important; }
main.wizard-page .wizard-wrap { position: relative !important; display: block !important; align-items: initial !important; width: 100% !important; max-width: none !important; min-height: 0 !important; margin: 0 auto !important; padding: clamp(12px,2vw,36px) !important; border: 1px solid #3b445a; border-radius: 16px; background: linear-gradient(160deg,#1a2031,#111724); box-shadow: 0 20px 55px #0005; overflow: visible; }
main.wizard-page .wizard-card { display: none !important; position: relative !important; left: auto !important; top: auto !important; width: 100% !important; max-width: none !important; min-height: 0; margin: 0 !important; transform: none !important; opacity: 1 !important; pointer-events: auto !important; padding: clamp(13px,2vw,32px) !important; border-radius: 12px; background: #1b2334; border: 1px solid #343d55; box-shadow: none; }
main.wizard-page .wizard-card.active { display: block !important; animation: ia-register-appear .35s ease both; }
@keyframes ia-register-appear { from { opacity: 0; translate: 0 9px; } to { opacity: 1; translate: 0 0; } }
main.wizard-page .wizard-title { color: #fff; font-size: clamp(23px,2vw,35px); font-weight: 850; letter-spacing: -.025em; }
main.wizard-page .wizard-sub { color: #bec7db; font-size: 14px; }
main.wizard-page .form-row { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(220px,100%),1fr)); gap: clamp(9px,1.2vw,20px); }
main.wizard-page .field { min-width: 0; width: 100%; }
main.wizard-page .field :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { width: 100%; max-width: none; min-width: 0; border: 1px solid #59637b; border-radius: 9px; padding: 11px 12px; min-height: 43px; background: #101725; color: #f9fafb; font-size: 15px; }
main.wizard-page :is(input[type=checkbox],input[type=radio]) { width: auto; max-width: none; accent-color: #ffe338; }
main.wizard-page :is(input,select,textarea):focus-visible { border-color: #ffe338 !important; outline: 2px solid #ffe33899; outline-offset: 1px; }
main.wizard-page .step-actions { display: flex; gap: 9px; flex-wrap: wrap; justify-content: flex-end; padding-block: 18px; }
main.wizard-page :is(.btn-gold,button[type=submit],.next-step) { min-height: 42px; border-radius: 8px; font-weight: 800; }
main.wizard-page .progress-dots { max-width: 100%; overflow-x: auto; padding: 8px 0; }

.ia-user-register { display: grid; place-items: start center; }
.ia-user-register-panel { width: 100%; max-width: 980px; padding: clamp(18px,3vw,45px); border: 1px solid #414a5d; border-radius: 18px; background: linear-gradient(125deg,#252e43,#161c2b); }
.ia-user-register-panel h1 { margin: 0 0 12px; font-size: clamp(28px,3vw,43px); }
.ia-user-register-panel p { color: #c8cbd5; line-height: 1.65; }
.ia-user-register-panel form { display: grid; gap: 13px; margin: 23px 0; }
.ia-user-register-panel form > label { display: grid; gap: 7px; font-size: 13px; font-weight: 800; }
.ia-user-register-panel input:not([type=checkbox]) { width: 100%; min-height: 46px; padding: 12px 13px; background: #111725; border: 1px solid #505c73; color: #fff; border-radius: 9px; font-size: 15px; }
.ia-user-register-panel .ia-adult-confirm { display: flex; gap: 10px; align-items: center; }
.ia-user-register-panel input[type=checkbox] { accent-color: #ffe338; width: 17px; height: 17px; }
.ia-user-register-panel button { background: #ffe338; color: #16191c; min-height: 47px; border: 0; font-weight: 900; border-radius: 9px; cursor: pointer; }
.ia-user-register-help a { color: #ffe338; }

/* A side-by-side Call Now and WhatsApp dock. WhatsApp opens the enquiry popup. */
.ia-location-contact-dock { position: fixed; z-index: 100200; right: clamp(10px,2vw,28px); bottom: max(12px,env(safe-area-inset-bottom) + 8px); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; gap: 8px; width: min(375px,calc(100vw - 20px)); font-family: Inter,system-ui,sans-serif; }
.ia-location-contact-dock.ia-dock-single { width: min(220px,calc(100vw - 20px)); grid-template-columns: 1fr; }
.ia-floating-location-contact { position: relative; width: 100%; min-width: 0; color: #fff; }
.ia-contact-quick-call,.ia-floating-location-contact summary { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 100%; min-height: 49px; box-sizing: border-box; padding: 9px 12px; border-radius: 999px; font-size: 13px; line-height: 1.2; font-weight: 900; text-align: center; text-decoration: none; white-space: normal; box-shadow: 0 10px 25px #0009; transition: transform .22s ease,background .22s ease,box-shadow .22s ease; }
.ia-contact-quick-call { background: #10131c; color: #ffe338 !important; border: 2px solid #ffe338; }
.ia-contact-quick-call span { font-size: 20px; line-height: 1; }
.ia-contact-quick-call:hover { background: #222737; transform: translateY(-2px); box-shadow: 0 15px 30px #000b; }
.ia-floating-location-contact summary { cursor: pointer; list-style: none; background: #ffe338; color: #090b11; border: 2px solid #090b11; }
.ia-floating-location-contact summary::-webkit-details-marker { display: none; }
.ia-floating-location-contact summary:hover { transform: translateY(-2px); background: #ffed66; box-shadow: 0 0 0 2px #ffe338,0 16px 32px #000b; }
.ia-floating-location-contact summary:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.ia-contact-trigger-icon { display: grid; flex: 0 0 25px; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: #090b11; color: #ffe338; font-size: 10px; font-weight: 950; line-height: 1; }
.ia-floating-contact-overlay { position: fixed; z-index: 100201; inset: 0; display: grid; place-items: center; padding: clamp(10px,2vw,28px); }
.ia-contact-dialog-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: none; background: #03050bd9; cursor: default; }
.ia-floating-contact-panel { position: relative; width: min(520px,100%); max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); overflow-y: auto; border: 2px solid #ffe338; border-radius: 22px; background: #11141e; color: #f8fafc; box-shadow: 0 28px 85px #000c; }
.ia-contact-modal-header { display: flex; align-items: center; gap: 13px; padding: 21px 22px; background: #ffe338; color: #0a0b0e; }
.ia-contact-modal-icon { flex: 0 0 55px; width: 55px; height: 55px; display: grid; place-items: center; border-radius: 16px; background: #0e111a; color: #ffe338; font-size: 32px; }
.ia-contact-modal-brand { display: grid; gap: 5px; flex: 1; min-width: 0; }
.ia-contact-modal-brand strong { display: block; font-size: clamp(19px,2vw,23px); line-height: 1.2; font-weight: 900; overflow-wrap: anywhere; }
.ia-contact-modal-brand small { display: block; font-size: 12px; line-height: 1.35; color: #292b30; overflow-wrap: anywhere; }
.ia-floating-contact-close { flex: 0 0 39px; width: 39px; height: 39px; display: grid; place-items: center; border: 1px solid #090b11; border-radius: 50%; background: #151820; color: #ffe338; cursor: pointer; font-size: 26px; line-height: 1; }
.ia-floating-contact-close:hover,.ia-floating-contact-close:focus-visible { background: #303746; outline-color: #090b11; }
.ia-contact-modal-body { padding: 21px 22px 18px; }
.ia-contact-modal-notice { padding: 18px 19px; border: 1px solid #666026; border-radius: 16px; background: #20232d; color: #f4f5f7; }
.ia-contact-modal-notice p { margin: 0; font-size: 14px; line-height: 1.65; font-weight: 650; }
.ia-contact-modal-notice p + p { margin-top: 17px; }
.ia-contact-modal-details { display: grid; gap: 12px; margin: 18px 0; }
.ia-contact-modal-details > div { display: grid; gap: 3px; min-width: 0; }
.ia-contact-modal-details span { color: #adb2c1; font-size: 11px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.ia-contact-modal-details a { color: #ffe338; font-size: 16px; font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
.ia-contact-modal-details a:hover { text-decoration: underline; }
.ia-floating-contact-actions { display: grid; grid-template-columns: 1fr; gap: 10px; }
.ia-floating-contact-actions.ia-contact-actions-dual { grid-template-columns: repeat(2,minmax(0,1fr)); }
.ia-floating-contact-actions a { min-height: 47px; display: flex; align-items: center; justify-content: center; text-align: center; border-radius: 11px; font-size: 13px; line-height: 1.25; font-weight: 900; padding: 10px; text-decoration: none; transition: transform .2s ease,background .2s ease; }
.ia-floating-contact-actions a:hover { transform: translateY(-2px); }
.ia-floating-contact-actions .ia-wa-action { color: #0c0e13 !important; background: #ffe338; }
.ia-floating-contact-actions .ia-wa-action:hover { background: #fff08c; }
.ia-floating-contact-actions .ia-mail-action { grid-column: 1 / -1; color: #ffe338 !important; background: transparent; border: 1px solid #ffe338; }
.ia-floating-contact-actions .ia-call-action { color: #ffe338 !important; background: #171b26; border: 1px solid #ffe338; }
.ia-contact-modal-footer { display: flex; justify-content: center; align-items: center; gap: 7px; padding: 12px; border-top: 1px solid #505360; background: #191c28; color: #d4d5df; font-size: 11px; font-weight: 800; text-align: center; }
.ia-contact-modal-footer span { color: #ffe338; font-size: 14px; }
body.ia-contact-dialog-open { overflow: hidden !important; }

/* Resend form on registration completion screen. */
.ia-resend-email-form { margin-top: 16px; padding: 15px; border-radius: 11px; background: #172033; border: 1px solid #39475d; text-align: left; }
.ia-resend-email-form label { color: #fff; font-size: 13px; display: block; margin-bottom: 9px; }
.ia-resend-email-inline { display: flex; flex-wrap: wrap; gap: 8px; }
.ia-resend-email-inline input { flex: 1 1 170px; min-width: 0; padding: 10px; min-height: 40px; border: 1px solid #65718b; background: #101725; color: #fff; border-radius: 8px; }
.ia-resend-email-inline button { flex: 0 1 auto; background: #ffe338; color: #15171c; padding: 10px 15px; border-radius: 8px; border: 0; font-weight: 850; cursor: pointer; }

@media(max-width:650px) {
  main.wizard-page,main.ia-user-register { padding: 9px !important; }
  main.wizard-page .wizard-wrap,main.wizard-page .wizard-card { padding: 12px !important; border-radius: 9px; }
  main.wizard-page .form-row { grid-template-columns: 1fr; gap: 10px; }
  main.wizard-page .step-actions > * { flex: 1 1 115px; }
  .ia-location-contact-dock { right: 9px; bottom: max(9px,env(safe-area-inset-bottom) + 8px); width: min(375px,calc(100vw - 18px)); gap: 7px; }
  .ia-location-contact-dock.ia-dock-single { width: min(220px,calc(100vw - 18px)); }
  .ia-floating-location-contact summary,.ia-contact-quick-call { min-height: 46px; padding: 9px 10px; font-size: 12px; }
  .ia-floating-contact-overlay { padding: 9px; }
  .ia-floating-contact-panel { border-radius: 17px; max-height: calc(100vh - 18px); max-height: calc(100dvh - 18px); }
  .ia-contact-modal-header { gap: 10px; padding: 14px; }
  .ia-contact-modal-icon { flex-basis: 44px; width: 44px; height: 44px; border-radius: 12px; font-size: 25px; }
  .ia-contact-modal-brand strong { font-size: 18px; }
  .ia-contact-modal-body { padding: 13px; }
  .ia-contact-modal-notice { padding: 13px; border-radius: 12px; }
  .ia-contact-modal-notice p { font-size: 12px; }
  .ia-contact-modal-details { margin: 13px 0; }
  .ia-contact-modal-details a { font-size: 14px; }
  .ia-floating-contact-actions { gap: 7px; }
  .ia-floating-contact-actions a { min-height: 43px; font-size: 12px; }
}
@media(max-width:350px) {
  .ia-location-contact-dock { gap: 5px; }
  .ia-floating-location-contact summary,.ia-contact-quick-call { font-size: 11px; gap: 5px; padding: 8px 6px; }
  .ia-contact-trigger-icon { width: 22px; height: 22px; flex-basis: 22px; }
  .ia-floating-contact-actions a { padding-inline: 6px; font-size: 11px; }
}
@media(max-width:270px) {
  .ia-location-contact-dock { grid-template-columns: 1fr; width: calc(100vw - 12px); right: 6px; }
  .ia-floating-contact-actions.ia-contact-actions-dual { grid-template-columns: 1fr; }
}
@media(prefers-reduced-motion:reduce) {
  .india-profile-image .ia-profile-second-photo,.india-hero-slide .ia-slide-hover-photo { transition: none; transform: none; }
  .bsr-top-banner-item::after { animation: none !important; }
  main.wizard-page .wizard-card.active { animation: none; }
  .ia-floating-location-contact summary,.ia-contact-quick-call,.ia-floating-contact-actions a { transition: none; }
}
