*{box-sizing:border-box}body{margin:0;background:#e7edf6;color:#0d2746;font:15px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}.shell{max-width:455px;margin:auto;min-height:100dvh;background:#fff;box-shadow:0 8px 35px #172f4a22}header{background:linear-gradient(110deg,#0750ac,#0878e9);color:#fff;padding:17px 15px;display:flex;align-items:center;justify-content:space-between;gap:8px}header strong{font-size:15px;line-height:1.2}nav{display:flex;align-items:center;gap:5px;flex:none}nav button{border:0;background:none;color:#d9edff;font-size:11px;padding:3px;cursor:pointer}nav button.active{color:#fff;text-decoration:underline;font-weight:bold}.brands{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:9px;padding:17px 15px;background:#fff}.brands img{height:54px;width:100%;object-fit:contain}.hero{height:370px;position:relative;overflow:hidden;background:#dbe9f6}.hero>img{width:100%;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#082039aa)}.hero-title{position:absolute;bottom:18px;left:19px;right:19px;color:white;z-index:1}.hero-title h1{font-size:29px;line-height:1.05;margin:0 0 9px}.hero-title p{margin:0}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:18px 15px}.primary,.outline{border-radius:11px;padding:13px 10px;font-size:14px;font-weight:700;cursor:pointer}.primary{border:1px solid #0861d0;color:white;background:#0868ed}.outline{border:1px solid #0a6eea;background:white;color:#075cbe}.full{width:100%}h2{font-size:21px;margin:0 0 12px}.categories,.companies{padding:12px 15px 22px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cards article{border:1px solid #dae5f4;border-radius:12px;overflow:hidden}.cards img{width:100%;height:116px;object-fit:cover;display:block}.cards h3{font-size:13px;line-height:1.25;margin:9px 9px 4px}.cards p{font-size:11px;color:#596d83;margin:0 9px 11px}.company{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #e5ecf5;padding:11px 2px}.company small{color:#537092}.view{display:none}.view.active{display:block}.view:not(#home){padding:16px}.back{color:#0a5ec5;border:0;background:none;cursor:pointer;padding:0 0 15px;font-weight:650}.muted{color:#66798d;font-size:13px}form{display:grid;gap:15px;margin-top:20px}label:not(.consent){display:grid;gap:6px;font-weight:650;font-size:13px}input:not([type=checkbox]){width:100%;min-height:45px;border:1px solid #cbd8ea;border-radius:10px;font:inherit;padding:10px 12px}.consent{display:flex;gap:9px;font-size:12px;align-items:flex-start;color:#334b66}.consent input{margin-top:2px}.textlink{background:none;border:0;color:#075ec9;text-decoration:underline;padding:0;cursor:pointer}#formMessage{font-size:13px;color:#a12d2d}#receipt{border:1px solid #d9e4f1;border-radius:20px;overflow:hidden;text-align:center;padding-bottom:18px}#receipt .brands{padding:14px 10px}#receipt h2{padding:0 12px;margin:7px 0}#receipt>p{font-size:12px;color:#66798d;margin:0 0 15px}.qr img{width:190px;height:190px;max-width:80%}.skyline img{display:block;width:94%;margin:auto;max-height:90px;object-fit:contain}.number{font:700 22px monospace;letter-spacing:2px;padding:12px}.details{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:5px 14px;text-align:left}.details div{min-height:67px;background:#f2f6fc;padding:12px;border-radius:11px}.details small{display:block;color:#697f95}.details strong{font-size:13px;word-break:break-word}.details .wide{grid-column:1/-1}#receipt>.outline{width:calc(100% - 28px)}footer{text-align:center;padding:20px;color:#71829b;border-top:1px solid #e4eaf3;font-size:12px}dialog{border:0;border-radius:15px;max-width:430px;width:90%;box-shadow:0 12px 60px #0004;padding:24px}dialog::backdrop{background:#09223a85}.dialog-head{display:flex;justify-content:space-between;gap:12px}.dialog-head button{border:0;background:none;font-size:25px;cursor:pointer}@media(max-width:480px){body{background:white}.shell{box-shadow:none}.hero{height:390px}}@media print{body{background:white}header,.actions,.categories,.companies,footer,.back,dialog{display:none!important}.shell{box-shadow:none}#receiptPage{display:block!important;padding:0!important}#receipt{border:none}#receipt>.outline{display:none}}
label[hidden]{display:none!important}button:disabled{opacity:.6;cursor:wait}

/* KVKK text: reading layout, separate from consent/marketing */
.notice-callout{background:#f4f8fe;border:1px solid #d5e3f5;border-radius:12px;padding:12px 13px;font-size:13px;color:#294664}
.notice-callout p{margin:5px 0 0;font-weight:400;line-height:1.5}
.notice-callout .textlink{font-size:inherit;font-weight:700;text-decoration:underline;color:#0754b8}
#privacy{max-width:650px;width:min(94vw,650px);max-height:min(90dvh,860px);padding:18px 20px 20px;overflow:hidden;}
#privacy[open]{display:flex;flex-direction:column;gap:12px}
#privacy .dialog-head{flex:none;align-items:flex-start}
#privacy .dialog-head h2{line-height:1.25;font-size:19px;margin:0}
#privacy .kvkk-scroll{overflow:auto;flex:1;min-height:0;padding-right:7px;overscroll-behavior:contain;line-height:1.6}
#privacy .kvkk-scroll:focus-visible{outline:2px solid #0868ed;outline-offset:-2px}
#privacy .kvkk-document{font-size:13.5px;color:#253e5c}
#privacy .kvkk-document h3{font-size:15px;line-height:1.35;margin:20px 0 7px;color:#073e80}
#privacy .kvkk-document h3:first-of-type{margin-top:10px}
#privacy .kvkk-document p{margin:8px 0 10px}
#privacy .kvkk-document ol,#privacy .kvkk-document ul{padding-left:21px;margin:8px 0 13px}
#privacy .kvkk-document li{margin:5px 0}
#privacy .kvkk-document a{overflow-wrap:anywhere;color:#095abf;text-decoration:underline}
#privacy .kvkk-meta{background:#f0f6fd;border-radius:9px;padding:10px}
#privacy #dismissPrivacy{flex:none}
@media(max-width:480px){#privacy{width:96vw;max-height:92dvh;padding:14px 13px}#privacy .kvkk-document{font-size:13px}}


/* Receipt page: keep only one logo row inside the ticket card */
body[data-view="receiptPage"] .shell > .brands{display:none}
body[data-view="receiptPage"] #receiptPage{padding-top:16px}

/* Receipt ticket logos: balance JOJO and KAITED visual size */
#receipt .ticket-brands{display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:center;gap:8px;padding:14px 14px 8px;background:#fff}
#receipt .ticket-brands img{width:auto;max-width:100%;object-fit:contain;justify-self:center}
#receipt .ticket-brands .brand-jojo{height:31px}
#receipt .ticket-brands .brand-karavan{height:38px}
#receipt .ticket-brands .brand-kaited{height:31px}


/* 1.8.9 logo balance: JOJO smaller, KAITED larger, same visual weight */
.top-brands,.ticket-brands{grid-template-columns:1fr 1.12fr 1fr;align-items:center;gap:8px}
.top-brands img,.ticket-brands img{width:auto!important;max-width:100%;object-fit:contain;justify-self:center}
.top-brands .brand-jojo,.ticket-brands .brand-jojo{height:31px!important}
.top-brands .brand-karavan,.ticket-brands .brand-karavan{height:38px!important}
.top-brands .brand-kaited,.ticket-brands .brand-kaited{height:39px!important}

/* Ticket export controls */
.ticket-actions{display:grid;gap:9px;margin:10px 14px 0}
.ticket-actions .full{width:100%}
.share-message{min-height:18px;margin:8px 14px 0;font-size:12px;color:#526b86;text-align:center}
@media print{.ticket-actions,.share-message{display:none!important}}


/* 1.9.1 optional marketing permissions: separate from KVKK notice */
.marketing-consents{display:grid;gap:9px;background:#fff;border:1px solid #d5e3f5;border-radius:12px;padding:12px 13px;color:#294664}
.marketing-consents>strong{font-size:13px;color:#0d2746}
.marketing-consents .consent{display:flex;gap:9px;align-items:flex-start;font-size:12px;line-height:1.45;color:#334b66;font-weight:400}
.marketing-consents .consent input{margin:2px 0 0;flex:0 0 auto;width:16px;height:16px}


/* v1.9.2 — official supplied logos, balanced by visible artwork */
.top-brands,.ticket-brands{grid-template-columns:1fr 1.12fr 1fr;align-items:center;gap:8px}
.top-brands img,.ticket-brands img{width:auto!important;max-width:100%!important;object-fit:contain;justify-self:center}
.top-brands .brand-jojo,.ticket-brands .brand-jojo{height:36px!important}
.top-brands .brand-karavan,.ticket-brands .brand-karavan{height:42px!important}
.top-brands .brand-kaited,.ticket-brands .brand-kaited{height:44px!important}
