/* Diwali claim journey: one scroll surface, restrained navy and warm ivory. */
.app-modal.modal-diwali-claim{width:min(1040px,calc(100vw - 48px));height:auto;max-height:calc(100dvh - 48px);border:1px solid #dddcd6;border-radius:20px;background:#fbfaf7;box-shadow:0 24px 90px #0c193d38;overflow:hidden;display:flex;flex-direction:column}
.app-modal.modal-diwali-claim.hidden{display:none}
.app-modal.modal-diwali-claim>header{flex:none;padding:22px 28px;background:#fff;border-bottom:1px solid #e6e4de;gap:16px}
.app-modal.modal-diwali-claim>header h2{font-size:24px;line-height:1.3;letter-spacing:-.035em;margin:5px 0 0;color:#172b46}
.app-modal.modal-diwali-claim>header .eyebrow{font-size:10px;letter-spacing:.15em;color:#806832}
.app-modal.modal-diwali-claim>header .icon-button{width:44px;height:44px;flex:none;background:#f5f5f2;border:1px solid #e5e4de;border-radius:50%}
.app-modal.modal-diwali-claim .modal-body{min-height:0;max-height:none;padding:0;overflow-y:auto;overscroll-behavior:contain;background:#fbfaf7;scroll-padding:24px}
.modal-diwali-claim *, .modal-diwali-claim *:before,.modal-diwali-claim *:after{box-sizing:border-box}
.modal-diwali-claim .diwali-claim-shell{grid-template-columns:300px minmax(0,1fr);min-height:0;align-items:stretch}
.modal-diwali-claim .diwali-claim-reward-panel{padding:28px;gap:24px;background:#182b44;color:#fff}
.modal-diwali-claim .diwali-claim-reward-panel:after{display:none}
.modal-diwali-claim .diwali-claim-reward-image{aspect-ratio:1/1;border-radius:12px;border:0;box-shadow:none}
.modal-diwali-claim .diwali-claim-reward-image>span{font-size:10px;padding:7px 10px;left:12px;bottom:12px}
.modal-diwali-claim .diwali-claim-reward-panel>div:last-child{gap:12px;align-content:start}
.modal-diwali-claim .diwali-claim-reward-panel .eyebrow{font-size:10px;letter-spacing:.14em;color:#ddc89b}
.modal-diwali-claim .diwali-claim-reward-panel h3{font-size:24px;line-height:1.25;font-weight:600;color:#fff}
.modal-diwali-claim .diwali-claim-reward-panel p{font-size:13px;line-height:1.65;color:#c7d0dc}
.modal-diwali-claim .diwali-reward-value{font-size:18px;color:#e1c995}
.modal-diwali-claim .diwali-claim-reward-panel ul{margin-top:12px;padding-top:20px;gap:14px}
.modal-diwali-claim .diwali-claim-reward-panel li{font-size:12px;line-height:1.5;align-items:flex-start}
.modal-diwali-claim .diwali-claim-reward-panel li svg{width:16px;height:16px;flex:none;margin-top:2px}
.modal-diwali-claim .diwali-claim-form{gap:24px;padding:28px;background:#fbfaf7;min-width:0}
.modal-diwali-claim .diwali-claim-steps{position:static;margin:0;padding:0 0 4px;background:none;gap:12px;grid-template-columns:auto 1fr auto 1fr auto}
.modal-diwali-claim .diwali-claim-steps>span{font-size:12px;gap:8px;color:#677384}
.modal-diwali-claim .diwali-claim-steps>span>b{height:28px;width:28px;font-size:12px}
.modal-diwali-claim .diwali-claim-steps>span.active{color:#182b44}
.modal-diwali-claim .diwali-claim-steps>span.active>b{background:#182b44;border-color:#182b44}
.modal-diwali-claim .diwali-claim-section{padding:0 0 24px;border:0;border-bottom:1px solid #e4e1d9;border-radius:0;background:transparent;gap:20px}
.modal-diwali-claim .diwali-claim-section-title{grid-template-columns:36px 1fr;gap:12px;align-items:start}
.modal-diwali-claim .diwali-claim-section-title>span{height:36px;width:36px;background:#efede6;color:#806832;border-radius:10px}
.modal-diwali-claim .diwali-claim-section-title>span svg{width:18px;height:18px}
.modal-diwali-claim .diwali-claim-section-title>div{gap:4px}
.modal-diwali-claim .diwali-claim-section-title strong{font-size:16px;color:#20334b;line-height:1.4}
.modal-diwali-claim .diwali-claim-section-title small{font-size:12px;line-height:1.5;color:#697485}
.modal-diwali-claim .diwali-claim-fields{gap:18px 16px;align-items:start}
.modal-diwali-claim .diwali-claim-fields label{font-size:12px;line-height:1.4;font-weight:600;gap:7px;color:#36475c;min-width:0}
.modal-diwali-claim .diwali-claim-fields label>small{font-size:11px;font-weight:400;color:#6e7886}
.modal-diwali-claim .diwali-claim-fields input{min-height:48px;height:48px;font-size:15px;padding:12px;border-radius:8px;border:1px solid #cfd3d7;background:#fff;color:#20334b;box-shadow:none}
.modal-diwali-claim .diwali-claim-fields input:focus{border-color:#796236;box-shadow:0 0 0 3px #b39a6024}
.modal-diwali-claim .diwali-claim-fields input[readonly]{background:#eeefed;color:#5c6877}
.modal-diwali-claim .diwali-delivery-options{gap:12px}
.modal-diwali-claim .diwali-delivery-option>span{padding:16px;min-height:106px;grid-template-columns:1fr;gap:5px;background:#fff;border-color:#d6d7d5;border-radius:10px}
.modal-diwali-claim .diwali-delivery-option>span>svg{grid-row:auto;width:22px;height:22px;padding:0;background:none;color:#776137;border-radius:0;margin-bottom:4px}
.modal-diwali-claim .diwali-delivery-option b{font-size:13px;color:#20334b}
.modal-diwali-claim .diwali-delivery-option small{font-size:11px;line-height:1.5;color:#697485}
.modal-diwali-claim .diwali-delivery-option.selected>span{border-color:#8c7443;background:#f7f3e9;box-shadow:inset 0 0 0 1px #8c7443}
.modal-diwali-claim .diwali-delivery-option.selected:after{content:'✓';position:absolute;right:12px;top:12px;background:#806832;color:white;border-radius:50%;width:18px;height:18px;text-align:center;line-height:18px;font-size:11px;pointer-events:none}
.modal-diwali-claim .diwali-delivery-option:focus-within>span{outline:3px solid #b39a6066;outline-offset:3px}
.modal-diwali-claim .diwali-digital-delivery-note{padding:18px;background:#f1f4f6;border-color:#dde3e8;align-items:start}
.modal-diwali-claim .diwali-digital-delivery-note strong{font-size:14px}
.modal-diwali-claim .diwali-digital-delivery-note span{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.modal-diwali-claim .diwali-claim-form-actions{position:static;margin:0;padding:0;gap:12px;background:none;flex-wrap:wrap}
.modal-diwali-claim .diwali-claim-form-actions button{min-height:48px;padding:12px 20px;border-radius:9px;font-size:13px;font-weight:600;line-height:1.4;justify-content:center}
.modal-diwali-claim .diwali-claim-form-actions .diwali-primary-cta{background:#182b44;color:#fff;box-shadow:none;border:1px solid #182b44}
.modal-diwali-claim .diwali-claim-form-actions .secondary-button{background:#fff;color:#314156;border:1px solid #cfd3d7}
.modal-diwali-claim button:focus-visible,.modal-diwali-claim input:focus-visible{outline:2px solid #967c45;outline-offset:3px}
.modal-diwali-claim .diwali-claim-review{max-width:780px;padding:30px;gap:24px}
.modal-diwali-claim .diwali-review-reward{grid-template-columns:140px 1fr;gap:24px;padding:16px;border-color:#e2dfd5;border-radius:14px}
.modal-diwali-claim .diwali-review-reward img{width:140px;height:140px;border-radius:9px}
.modal-diwali-claim .diwali-review-reward>div{gap:8px;min-width:0}
.modal-diwali-claim .diwali-review-reward .eyebrow{font-size:10px;color:#806832}
.modal-diwali-claim .diwali-review-reward h3{font-size:22px;line-height:1.3}
.modal-diwali-claim .diwali-review-reward p{font-size:13px;line-height:1.6;color:#697485}
.modal-diwali-claim .diwali-review-reward strong{font-size:16px;color:#806832}
.modal-diwali-claim .diwali-review-grid{gap:12px}
.modal-diwali-claim .diwali-review-grid article{padding:20px;gap:8px;border-color:#e2dfd5;border-radius:10px;min-width:0}
.modal-diwali-claim .diwali-review-grid small{font-size:10px;color:#697485;letter-spacing:.09em}
.modal-diwali-claim .diwali-review-grid strong{font-size:15px;overflow-wrap:anywhere}
.modal-diwali-claim .diwali-review-grid span{font-size:13px;line-height:1.6;color:#5e6d80}
.modal-diwali-claim .diwali-confirm-form{gap:24px}
.modal-diwali-claim .diwali-acknowledgement{padding:20px;gap:12px;grid-template-columns:20px 1fr;border-color:#e5d9ba;background:#f7f3e9}
.modal-diwali-claim .diwali-acknowledgement input{width:20px;height:20px;accent-color:#182b44}
.modal-diwali-claim .diwali-acknowledgement strong{font-size:14px;color:#4e432c}
.modal-diwali-claim .diwali-acknowledgement small{font-size:12px;line-height:1.6;color:#71664e}
.modal-diwali-claim .diwali-privacy-note{font-size:11px;line-height:1.5;text-align:left;align-items:flex-start;color:#697485}
.modal-diwali-claim .diwali-privacy-note svg{flex:none;margin-top:2px}
.modal-diwali-claim .diwali-claim-success{max-width:620px;padding:48px 32px;gap:18px}
.modal-diwali-claim .diwali-claim-success .eyebrow{font-size:10px;letter-spacing:.12em}
.modal-diwali-claim .diwali-claim-success h3{font-size:28px;line-height:1.25;letter-spacing:-.03em}
.modal-diwali-claim .diwali-claim-success>p{font-size:14px;line-height:1.6}
.modal-diwali-claim .diwali-success-code{padding:16px 24px;gap:8px;max-width:100%;min-width:0}
.modal-diwali-claim .diwali-success-code small{font-size:10px}
.modal-diwali-claim .diwali-success-code strong{font-size:20px;overflow-wrap:anywhere}
.modal-diwali-claim .diwali-success-next{padding:16px;gap:12px}
.modal-diwali-claim .diwali-success-next strong{font-size:14px}
.modal-diwali-claim .diwali-success-next small{font-size:12px;line-height:1.5}
@media(max-width:800px){
 .modal-diwali-claim .diwali-claim-shell{grid-template-columns:1fr}
 .modal-diwali-claim .diwali-claim-reward-panel{grid-template-columns:112px 1fr;padding:20px;gap:20px;align-items:center}
 .modal-diwali-claim .diwali-claim-reward-panel h3{font-size:20px}
 .modal-diwali-claim .diwali-claim-reward-panel ul,.modal-diwali-claim .diwali-claim-reward-image>span{display:none}
 .modal-diwali-claim .diwali-claim-reward-panel p{font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .modal-diwali-claim .diwali-claim-reward-panel>div:last-child{gap:7px}
}
@media(max-width:760px){
 .app-modal.modal-diwali-claim{top:0;bottom:auto;left:0;transform:none;width:100%;height:100dvh;max-height:100dvh;border-radius:0;border:0}
 .app-modal.modal-diwali-claim>header{padding:16px 20px}
 .app-modal.modal-diwali-claim>header h2{font-size:21px}
 .app-modal.modal-diwali-claim .modal-body{max-height:none;padding-bottom:env(safe-area-inset-bottom)}
 .modal-diwali-claim .diwali-claim-form,.modal-diwali-claim .diwali-claim-review{padding:24px 20px;gap:24px}
 .modal-diwali-claim .diwali-claim-reward-panel{grid-template-columns:88px 1fr;gap:16px}
 .modal-diwali-claim .diwali-claim-reward-panel h3{font-size:18px}
 .modal-diwali-claim .diwali-claim-reward-panel .eyebrow{font-size:9px}
 .modal-diwali-claim .diwali-reward-value{font-size:15px}
 .modal-diwali-claim .diwali-claim-fields{grid-template-columns:1fr;gap:18px}
 .modal-diwali-claim .diwali-claim-fields input{font-size:16px}
 .modal-diwali-claim .diwali-delivery-options{grid-template-columns:1fr 1fr;gap:10px}
 .modal-diwali-claim .diwali-delivery-option>span{padding:14px 12px;min-height:125px;align-content:start}
 .modal-diwali-claim .diwali-claim-steps{gap:8px}
 .modal-diwali-claim .diwali-claim-steps>span{font-size:11px;gap:6px}
 .modal-diwali-claim .diwali-claim-form-actions button{flex:1;min-width:0;padding:12px}
 .modal-diwali-claim .diwali-review-reward{grid-template-columns:80px 1fr;gap:14px;padding:12px}
 .modal-diwali-claim .diwali-review-reward img{width:80px;height:96px}
 .modal-diwali-claim .diwali-review-reward h3{font-size:18px}
 .modal-diwali-claim .diwali-review-reward p{font-size:12px}
 .modal-diwali-claim .diwali-review-grid{grid-template-columns:1fr}
 .modal-diwali-claim .diwali-review-grid article,.modal-diwali-claim .diwali-acknowledgement{padding:18px}
 .modal-diwali-claim .diwali-claim-success{padding:36px 24px}
 .modal-diwali-claim .diwali-claim-success h3{font-size:25px}
 body.mobile-keyboard-open .app-modal.modal-diwali-claim{display:block}
 body.mobile-keyboard-open .app-modal.modal-diwali-claim .modal-body{overflow:visible}
}
.modal-diwali-claim #modalTitle:focus{outline:none}

.modal-diwali-claim .diwali-delivery-availability{margin:0;font-size:12px;line-height:1.6;color:#697485}

/* Diwali 2026 photo catalogue + employee-selected brand preferences */
.diwali-gift-image-wrap{background:#f4f6f8}
.diwali-gift-image-wrap img{object-fit:contain;object-position:center;background:#f4f6f8;image-rendering:auto}
.diwali-gift-card:hover .diwali-gift-image-wrap img{transform:none}
.diwali-brand-hint{display:inline-flex;align-items:center;gap:5px;align-self:start;margin-top:4px;color:#325a8b;font-size:11px;font-weight:650;line-height:1.5}
.diwali-brand-hint:before{content:"✓";font-weight:800;color:#27745f}
.diwali-photo-note{margin:16px 2px 0;font-size:11px;line-height:1.55;color:#778394}
.diwali-photo-note a{color:#45628a;text-decoration:underline;text-underline-offset:2px}
.modal-diwali-claim .diwali-claim-fields select{width:100%;min-height:48px;height:48px;font-size:15px;padding:12px 34px 12px 12px;border-radius:8px;border:1px solid #cfd3d7;background:#fff;color:#20334b;box-shadow:none;outline:none}
.modal-diwali-claim .diwali-claim-fields select:focus{border-color:#796236;box-shadow:0 0 0 3px #b39a6024}
.modal-diwali-claim .diwali-brand-section{background:#f9fafc;border:1px solid #e4eaf1;border-radius:12px;padding:20px}
.modal-diwali-claim .diwali-brand-disclaimer{margin:4px 0 0;font-size:12px;line-height:1.6;color:#667789}
@media(max-width:600px){.modal-diwali-claim .diwali-brand-section{padding:16px}.diwali-photo-note{font-size:10px}}
