.ptk-booking{
  --ptk-navy:#001F56;
  --ptk-orange:#FD7100;
  --ptk-orange-dark:#dc6200;
  --ptk-ink:#10233f;
  --ptk-muted:#617086;
  --ptk-border:#d6dfeb;
  --ptk-border-strong:#b8c6d8;
  --ptk-bg:#f5f8fc;
  --ptk-card:#fff;
  color:var(--ptk-ink);
  font-family:Arial,Helvetica,sans-serif;
  font-size:15px;
}
.ptk-booking *{box-sizing:border-box}
.ptk-booking-shell{
  position:relative;
  max-width:880px;
  padding:16px;
  background:#fff;
  border:1px solid var(--ptk-border);
  border-radius:14px;
  box-shadow:0 8px 24px rgba(0,31,86,.07);
}
.ptk-booking-shell:before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:4px;
  background:var(--ptk-orange);
  border-radius:14px 14px 0 0;
}
.ptk-service-tabs{
  display:flex;
  align-items:flex-end;
  gap:4px;
  padding:0;
  margin:2px 0 8px;
  background:transparent;
  border-bottom:1px solid var(--ptk-border);
  overflow-x:auto;
  scrollbar-width:none;
}
.ptk-service-tabs::-webkit-scrollbar{display:none}
.ptk-service,.ptk-whatsapp,.ptk-month-nav{
  appearance:none;
  font-family:Arial,Helvetica,sans-serif;
  font-weight:700;
  cursor:pointer;
  transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.ptk-service{
  flex:0 0 auto;
  width:auto;
  min-height:27px;
  margin:0 0 -1px;
  padding:4px 10px;
  border:1px solid var(--ptk-border);
  border-bottom-color:var(--ptk-border);
  border-radius:7px 7px 0 0;
  background:#eef3f8;
  color:var(--ptk-navy);
  font-size:13px;
  line-height:1.15;
  white-space:nowrap;
}
.ptk-service:not(.is-active):hover{background:#D6E8FA;border-color:#aabfd7}
.ptk-service.is-active{
  background:var(--ptk-navy);
  color:#fff;
  border-color:transparent;
  border-bottom-color:var(--ptk-navy);
  box-shadow:none;
}
.ptk-service:active,
.ptk-service:focus{
  outline:none!important;
  box-shadow:none!important;
}
.ptk-service:focus-visible{
  outline:none!important;
  box-shadow:none!important;
  text-decoration:underline;
  text-underline-offset:2px;
}
.ptk-intro{margin:0 0 8px;color:var(--ptk-muted);font-size:13px;line-height:1.35}
.ptk-section{margin:0 0 4px}
.ptk-grid{display:grid;gap:10px}
.ptk-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ptk-field{position:relative;display:block;margin:0}
.ptk-field>span{
  display:block;
  margin:0 0 4px;
  color:var(--ptk-navy);
  font-size:13px;
  line-height:1.2;
  font-weight:700;
}
.ptk-field input,.ptk-field select,.ptk-field textarea{
  width:100%;
  min-height:42px;
  padding:8px 10px;
  border:1px solid var(--ptk-border-strong);
  border-radius:8px;
  background:#fff;
  color:var(--ptk-ink);
  font-family:Arial,Helvetica,sans-serif;
  font-size:14px;
  line-height:1.3;
}
.ptk-field textarea{min-height:62px;resize:vertical}
.ptk-dayhire-only{margin-top:8px}
.ptk-dayhire-only textarea{min-height:58px}
.ptk-field input::placeholder,.ptk-field textarea::placeholder{color:#8b99ac}
.ptk-field input:focus,.ptk-field select:focus,.ptk-field textarea:focus{
  outline:none;
  border-color:var(--ptk-orange);
  box-shadow:0 0 0 2px rgba(253,113,0,.12);
}
.ptk-suggestions{
  position:absolute;
  z-index:40;
  left:0;right:0;
  top:calc(100% + 4px);
  max-height:280px;
  overflow:auto;
  background:#fff;
  border:1px solid var(--ptk-border-strong);
  border-radius:9px;
  box-shadow:0 14px 30px rgba(0,31,86,.14);
}
.ptk-suggestion{
  display:block;
  width:100%;
  padding:9px 10px;
  text-align:left;
  border:0;
  border-bottom:1px solid #edf1f5;
  background:#fff;
  cursor:pointer;
}
.ptk-suggestion:last-child{border-bottom:0}
.ptk-suggestion:hover,.ptk-suggestion:focus{background:#f6f9fc;outline:0}
.ptk-suggestion strong,.ptk-suggestion small{display:block}
.ptk-suggestion strong{color:var(--ptk-ink);font-size:13px}
.ptk-suggestion small{margin-top:2px;color:var(--ptk-muted);font-size:11px}
.ptk-suggestion-note{padding:10px;color:var(--ptk-muted);font-size:12px}
.ptk-suggestion-error{color:#9f1d20}

.ptk-request-form{margin-top:8px}
.ptk-booking-main-grid{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(0,3fr);
  gap:10px;
  align-items:start;
}
.ptk-quote{
  min-width:0;
  padding:12px 14px;
  border-radius:10px;
  border:1px solid var(--ptk-border);
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:54px;
}
.ptk-quote strong{
  display:block;
  margin:0;
  color:var(--ptk-navy);
  font-size:22px;
  line-height:1.15;
  font-weight:800;
}
.ptk-quote--known{
  background:var(--ptk-navy);
  border-color:var(--ptk-navy);
}
.ptk-quote--known strong{color:#fff}
.ptk-quote--request{
  background:#fff6ed;
  border-color:#ffd0a9;
}
.ptk-quote--request strong{color:var(--ptk-orange);font-size:18px}

.ptk-calendar-card{
  padding:9px 10px 10px;
  background:var(--ptk-bg);
  border:1px solid var(--ptk-border);
  border-radius:10px;
}
.ptk-calendar-wrap{margin:0}
.ptk-calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}
.ptk-calendar-head strong{color:var(--ptk-navy);font-size:13px;line-height:1.2}
.ptk-month-nav{
  width:30px;
  height:30px;
  padding:0;
  border:1px solid var(--ptk-border);
  border-radius:7px;
  background:#fff;
  color:var(--ptk-navy);
  font-size:18px;
  line-height:1;
}
.ptk-month-nav:hover:not(:disabled){border-color:#aebdd0;background:#f8fbff}
.ptk-month-nav:disabled{opacity:.32;cursor:not-allowed}
.ptk-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.ptk-weekday{
  padding:2px 0 3px;
  text-align:center;
  color:var(--ptk-muted);
  font-size:10px;
  line-height:1.2;
  font-weight:700;
}
.ptk-day{
  min-height:31px;
  padding:2px;
  border:1px solid var(--ptk-border);
  border-radius:6px;
  background:#fff;
  color:var(--ptk-ink);
  font-size:12px;
  font-weight:600;
}
.ptk-day.is-selectable{cursor:pointer}
.ptk-day.is-selectable:hover{border-color:#9fb1c7;background:#f8fbff}
.ptk-day.is-selected{
  border-color:var(--ptk-orange);
  background:var(--ptk-orange);
  color:#fff;
  font-weight:800;
}
.ptk-day.is-disabled{background:#f0f2f5;color:#a4adb9;cursor:not-allowed}
.ptk-day-blank{border:0;background:transparent}

.ptk-details-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:8px 10px;
  margin-top:10px;
  align-items:end;
}
.ptk-field--time{grid-column:span 3}
.ptk-field--passengers{grid-column:span 2}
.ptk-field--flight{grid-column:span 3}
.ptk-field--accommodation{grid-column:span 7}
.ptk-details-grid.has-flight .ptk-field--accommodation{grid-column:span 4}
.ptk-field--name{grid-column:1 / -1}
.ptk-field--notes{grid-column:1 / -1}
.ptk-actions{grid-column:1 / -1;margin:0}
.ptk-booking .ptk-whatsapp,
.ptk-whatsapp-form .ptk-whatsapp{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%;
  min-height:42px;
  padding:8px 14px;
  border:1px solid #25D366!important;
  border-radius:8px;
  background:#25D366!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:none;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:14px;
  font-weight:700;
  line-height:1.2;
  text-decoration:none!important;
  opacity:1;
  gap:8px;
}
.ptk-whatsapp-icon{
  flex:0 0 auto;
  width:18px;
  height:18px;
  display:block;
  color:#fff!important;
}
.ptk-booking .ptk-whatsapp:hover:not(:disabled),
.ptk-whatsapp-form .ptk-whatsapp:hover:not(:disabled){background:#1EBE5D!important;border-color:#1EBE5D!important;color:#fff!important}
.ptk-whatsapp:disabled{opacity:.55;cursor:not-allowed}
.ptk-whatsapp-form{display:inline-block;margin:0;font-family:Arial,Helvetica,sans-serif}
.ptk-status{margin-top:8px;font-size:13px;font-weight:700}
.ptk-status.is-error{color:#9f1d20}
.ptk-status.is-success{color:#176b3a}
.ptk-field.is-invalid input,.ptk-field.is-invalid select,.ptk-field.is-invalid textarea,.ptk-calendar-card.is-invalid{
  border-color:#c62828!important;
  box-shadow:0 0 0 2px rgba(198,40,40,.09)!important;
}
.ptk-calendar-card.is-invalid:focus{outline:none}
.ptk-hint{font-size:12px;color:var(--ptk-muted)}
.ptk-hp{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important}
.ptk-route-price{font-weight:800}

.ptk-qr-panel{
  margin-top:10px;
  border:1px solid var(--ptk-border);
  border-radius:12px;
  background:var(--ptk-bg);
}
.ptk-qr-panel__inner{max-width:420px;margin:0 auto;padding:16px;text-align:center}
.ptk-qr-panel h3{margin:0 0 5px;color:var(--ptk-navy);font-size:16px}
.ptk-qr-panel__reference{margin:0 0 5px;color:var(--ptk-muted);font-size:11px;font-weight:600}
.ptk-qr-panel__lead{margin:0 0 8px;color:var(--ptk-muted);font-size:13px}
.ptk-qr{display:inline-flex;margin:5px auto 7px;padding:8px;background:#fff;border:1px solid var(--ptk-border);border-radius:9px}
.ptk-qr svg{display:block;max-width:220px;width:100%;height:auto}

.ptk-quote[hidden],.ptk-transfer-only[hidden],.ptk-dayhire-only[hidden],.ptk-request-form[hidden],.ptk-qr-panel[hidden],[data-flight-wrap][hidden]{display:none!important}

@media (max-width:720px){
  .ptk-booking-shell{padding:13px;border-radius:12px}
  .ptk-booking-main-grid{grid-template-columns:1fr}
  .ptk-quote{min-height:46px;padding:9px 12px}
  .ptk-calendar-card{padding:8px}
  .ptk-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .ptk-field--time,.ptk-field--passengers{grid-column:span 1}
  .ptk-field--flight,.ptk-field--accommodation,.ptk-field--name,.ptk-field--notes,.ptk-actions{grid-column:1 / -1!important}
}
@media (max-width:480px){
  .ptk-booking{font-size:14px}
  .ptk-service-tabs{gap:3px;padding:0}
  .ptk-service{min-height:27px;padding:4px 8px;font-size:12px}
  .ptk-grid-2{grid-template-columns:1fr}
  .ptk-route-grid{gap:8px}
  .ptk-field input,.ptk-field select{min-height:40px}
  .ptk-calendar{gap:2px}
  .ptk-day{min-height:29px;font-size:11px}
  .ptk-whatsapp-form{display:block;width:100%}
}
