/* 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-hover-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; 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: .88; transform: scale(1); }
.india-hero-slide .india-slide-badge,.india-hero-slide .india-slide-details { position: relative; z-index: 2; }

/* 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; }

/* Floating location-specific advertising enquiry panel, active site-wide. */
.ia-floating-location-contact { position: fixed; z-index: 10020; right: clamp(10px,2vw,28px); bottom: clamp(12px,1.8vw,26px); width: min(355px,calc(100vw - 20px)); font-family: Inter,system-ui,sans-serif; color: #fff; filter: drop-shadow(0 13px 28px #0008); }
.ia-floating-location-contact summary { display: flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer; list-style: none; margin-left: auto; width: max-content; max-width: 100%; background: #ffe338; color: #141821; padding: 12px 16px; border-radius: 999px; font-size: 13px; font-weight: 900; box-shadow: 0 0 0 2px #1b2331; }
.ia-floating-location-contact summary::-webkit-details-marker { display:none; }
.ia-floating-location-contact summary span { font-size: 20px; line-height: 1; }
.ia-floating-location-contact[open] summary { margin-bottom: 8px; }
.ia-floating-contact-panel { padding: 16px; background: #1a2132; border: 1px solid #697184; border-radius: 14px; }
.ia-floating-contact-panel > strong { display: block; font-size: 18px; }
.ia-floating-contact-panel > p { margin: 6px 0 13px; color: #d6dce7; font-size: 12px; line-height: 1.5; }
.ia-floating-contact-actions { display: grid; gap: 7px; grid-template-columns: repeat(auto-fit,minmax(110px,1fr)); }
.ia-floating-contact-actions a { min-height: 41px; display: flex; align-items: center; justify-content: center; text-align: center; border-radius: 9px; font-size: 12px; font-weight: 850; padding: 8px 10px; text-decoration: none; }
.ia-wa-action { color: #092e17 !important; background: #8de1a0; }
.ia-call-action { color: #15191d !important; background: #ffe338; }
.ia-mail-action { color: #fff !important; background: #36435d; }
.ia-floating-contact-panel small { color: #abb5ca; display: block; margin-top: 12px; font-size: 10px; }

/* 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-floating-location-contact { right: 9px; bottom: 9px; }
}
@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; }
}
