.choice-grid{display:grid;gap:10px;margin-top:24px}.choice-button{width:100%;min-height:60px;padding:14px;border:1px solid #d6e0ed;border-radius:10px;background:#fff;color:#14233e;font:700 1rem "Noto Sans Thai",sans-serif;text-align:left;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,transform .12s ease}.choice-button:hover,.choice-button:focus{border-color:#063b83;background:#eef5ff}.choice-button:active{transform:scale(.98)}#brand-choices{grid-template-columns:repeat(auto-fill,minmax(112px,1fr))}#brand-choices .choice-button{aspect-ratio:1;min-height:0;padding:12px;display:grid;place-items:center;align-content:center;gap:8px;text-align:center}#brand-choices .choice-button img{width:72px;height:72px;object-fit:contain;display:block}#brand-choices .choice-button span{font-size:.82rem;line-height:1.25}#answer-choices{grid-template-columns:repeat(2,minmax(0,1fr))}#answer-choices .answer-card{min-height:96px;text-align:center;font-size:1.05rem}.field-error{display:block;min-height:1.2em;margin-top:5px;color:#b32636;font-size:.78rem;font-weight:600}.back-button{padding:0;border:0;background:transparent;color:#063b83;font:700 .86rem "Noto Sans Thai",sans-serif;cursor:pointer}@media(max-width:480px){#brand-choices,#answer-choices{grid-template-columns:repeat(2,minmax(0,1fr))}#brand-choices .choice-button img{width:68px;height:68px}}

/* /* Full-screen vehicle-type selector */
.vehicle-type-step.active{position:fixed;inset:0;z-index:20;display:block;min-height:100dvh;padding:0;overflow:hidden;background:#0879dd url("images/campaign/index_bg.jpg") center/100% 100% no-repeat;color:#fff}
.vehicle-type-step.active>*{position:absolute}
.type-corner-logo{top:0;left:0;width:16%;min-width:120px}
.type-main-logo,.type-title{display:block;left:50%;transform:translateX(-50%)}
.type-main-logo img,.type-title img{display:block;width:100%;height:auto}
.type-main-logo{top:2%;width:46%}
.type-title{top:35%;width:31%}
.type-choice-grid{top:48%;left:50%;z-index:2;display:grid;width:82%;grid-template-columns:repeat(3,minmax(0,1fr));gap:3%;transform:translateX(-50%)}
.type-choice-card{display:grid;height:40dvh;min-height:0;padding:18px;border:3px solid #b7eaff;border-radius:28px;background:#062b80;color:#fff;box-shadow:inset 0 0 0 3px #2268d9,0 7px 0 #062b71;grid-template-rows:76px minmax(0,1fr) 48px;place-items:center;overflow:hidden;cursor:pointer}
.type-choice-card.selected{border-color:#fff;background:#ffd200;color:#071e56;box-shadow:inset 0 0 0 3px #ffec6e,0 7px 0 #b47d00}
.type-choice-icon{display:grid;align-self:start;width:58px;height:58px;border:2px solid #fff;border-radius:50%;place-items:center}
.type-choice-icon img{width:58%;height:58%;object-fit:contain}
.type-choice-vehicle{display:block;align-self:center;width:82%;max-height:calc(40dvh - 172px);margin-top:12px;object-fit:contain}
.type-choice-vehicle--bike,.type-choice-vehicle--pickup{width:92%;max-height:calc(40dvh - 160px);margin-top:0}.type-choice-card b{align-self:end;font:700 clamp(1.2rem,2vw,2rem) "Noto Sans Thai",sans-serif;line-height:1.1;text-align:center}
.type-next{bottom:1.5%;left:50%;z-index:2;width:20%;min-width:190px;padding:0;border:0;background:transparent;transform:translateX(-50%);cursor:pointer}
.type-next:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.15)}.type-next img,.type-back img{display:block;width:100%}
.type-back{right:3%;bottom:1.5%;z-index:2;width:13%;min-width:100px;padding:0;border:0;background:transparent;cursor:pointer}
@media(max-width:600px){
 .type-corner-logo{width:24%;min-width:0}
 .type-main-logo{top:4%;width:74%}
 .type-title{top:37%;width:54%}
 .type-choice-grid{top:45%;width:92%;gap:2%}
 .type-choice-card{height:38dvh;padding:10px;border-radius:18px;grid-template-rows:48px minmax(0,1fr) 34px}
 .type-choice-icon{width:42px;height:42px}
 .type-choice-vehicle{width:84%;max-height:calc(38dvh - 112px);margin-top:8px}
 .type-choice-vehicle--bike,.type-choice-vehicle--pickup{width:92%;max-height:calc(38dvh - 104px);margin-top:0}
 .type-choice-card b{font-size:.78rem}
 .type-next{bottom:1%;width:35%;min-width:0}
 .type-back{right:3%;bottom:1%;width:22%;min-width:0}
}
/* Desktop iPad canvas: selection screen belongs to the campaign canvas, not the whole browser viewport. */
@media(min-width:1181px){
 .vehicle-type-step.active{position:absolute;inset:0;min-height:820px;background-size:1180px 820px}
 .type-main-logo{top:3%;left:50%;width:40%}
 .type-title{top:37%;left:50%;width:31%}
 .type-choice-grid{top:48%;left:50%;width:82%;height:36%;gap:3%}
 .type-choice-card{height:100%;padding:14px;grid-template-rows:60px minmax(0,1fr) 42px}
 .type-choice-icon{width:58px;height:58px}
 .type-choice-vehicle{width:90%;max-height:163px;margin-top:0}
 .type-choice-vehicle--bike,.type-choice-vehicle--pickup{width:96%;max-height:171px;margin-top:0}
 .type-next{top:88.5%;bottom:auto;width:20%;min-width:190px}
 .type-back{top:89%;right:3%;bottom:auto;width:13%;min-width:100px}
}
/* Reserve a dedicated legal-notice row between the vehicle choices and navigation. */
.type-title{top:29%}
.type-choice-grid{top:40%}
.type-choice-card{height:30dvh;padding:14px;grid-template-rows:60px minmax(0,1fr) 42px}
.type-choice-vehicle{max-height:calc(30dvh - 142px);margin-top:8px}
.type-choice-vehicle--bike,.type-choice-vehicle--pickup{max-height:calc(30dvh - 134px)}
.type-disclaimer{top:82%;left:50%;z-index:1;width:min(78%,1000px);margin:0;color:#fff;font:500 clamp(.68rem,1.05vw,.95rem) "Noto Sans Thai",sans-serif;line-height:1.4;text-align:center;text-shadow:0 1px 2px rgba(3,29,99,.75);transform:translateX(-50%)}

@media(max-width:600px){
 .type-title{top:30%}
 .type-choice-grid{top:39%}
 .type-choice-card{height:27dvh;padding:8px;grid-template-rows:42px minmax(0,1fr) 28px}
 .type-choice-vehicle{max-height:calc(27dvh - 96px);margin-top:6px}
 .type-choice-vehicle--bike,.type-choice-vehicle--pickup{max-height:calc(27dvh - 90px)}
 .type-disclaimer{top:69%;width:92%;font-size:clamp(.58rem,1.85vw,.74rem);line-height:1.35}
}

@media(min-width:1181px){
 .type-title{top:31%}
 .type-choice-grid{top:41%;height:30%}
 .type-choice-vehicle{max-height:140px}
 .type-choice-vehicle--bike,.type-choice-vehicle--pickup{max-height:148px}
 .type-disclaimer{top:82%;width:min(78%,1000px)}
}
.type-disclaimer{color:#062b71;text-shadow:0 1px 1px rgba(255,255,255,.55)}
@media(min-width:601px) and (max-width:1180px) and (max-height:700px){.type-title{top:33%}.type-choice-grid{top:44%}.type-choice-card{height:32dvh}.type-choice-vehicle{max-height:calc(32dvh - 142px)}.type-choice-vehicle--bike,.type-choice-vehicle--pickup{max-height:calc(32dvh - 134px)}.type-disclaimer{top:78.5%}}
.type-corner-logo{width:11%;min-width:80px}@media(max-width:600px){.type-corner-logo{width:18%;min-width:0}}

/* Page 2 legal notice matches the two-line density used by the other campaign screens. */
@media(min-width:601px){.type-disclaimer{width:min(92%,1100px);font-size:clamp(.58rem,.88vw,.78rem);line-height:1.3}}
/* Align page 2 legal notice precisely with the vehicle-card grid edges. */
@media(min-width:601px){.type-disclaimer{width:82%;font-size:clamp(.53rem,.78vw,.70rem);line-height:1.3}}
/* iPad Air: keep the vehicle choices clear of the page-two heading. */
@media(min-width:601px) and (max-width:1180px){
 .type-choice-grid{top:46%}
 .type-choice-card{height:29dvh}
 .type-choice-vehicle{max-height:calc(29dvh - 142px)}
 .type-choice-vehicle--bike,.type-choice-vehicle--pickup{max-height:calc(29dvh - 134px)}
}

/* Vehicle type selection: remove redundant icon badges and rebalance the iPad Air landscape canvas. */
.type-choice-icon{display:none}
.type-choice-card{grid-template-rows:minmax(0,1fr) 42px}
.type-choice-vehicle{margin-top:0;max-height:calc(30dvh - 70px)}
.type-choice-vehicle--bike,.type-choice-vehicle--pickup{max-height:calc(30dvh - 70px)}

@media (min-width:900px) and (max-width:1180px) {
 .type-main-logo{top:2%;width:40%}
 .type-title{top:calc(2% + 17.07vw + 16px);width:31%}
 .type-choice-grid{top:calc(2% + 21.84vw + 38px);width:82%;gap:3%}
 .type-choice-card{height:min(34dvh,280px);padding:14px;grid-template-rows:minmax(0,1fr) 42px}
 .type-choice-vehicle{width:82%;max-height:125px}
 .type-choice-vehicle--bike{width:72%;max-height:165px}
 .type-choice-vehicle--pickup{width:86%;max-height:150px}
 .type-disclaimer{top:80%}
}

@media (min-width:900px) and (max-width:1180px) and (max-height:700px) {
 .type-disclaimer{top:79%}
}
