/* PTCCPX — aggressive theme-safe contrast rules */
.ptccpx,.ptccpx *{box-sizing:border-box!important}
.ptccpx{width:100%!important;font-family:Inter,Arial,Helvetica,sans-serif!important;color:#182230!important}
.ptccpx-wrap{max-width:1120px!important;margin:20px auto!important;padding:18px!important;background:#f5f7fa!important;border:1px solid #dfe4ea!important;border-radius:26px!important;box-shadow:0 18px 50px rgba(16,24,40,.10)!important}
.ptccpx-hero{background:linear-gradient(135deg,#092f2c 0%,#0b5d58 100%)!important;border-radius:20px!important;padding:34px 32px 30px!important;color:#fff!important}
.ptccpx-hero h2,.ptccpx-hero h2 *{color:#ffffff!important;background:transparent!important;font-family:Inter,Arial,Helvetica,sans-serif!important;font-size:clamp(28px,4vw,44px)!important;font-weight:800!important;line-height:1.12!important;margin:20px 0 10px!important;padding:0!important;text-shadow:none!important;letter-spacing:-.02em!important}
.ptccpx-hero p,.ptccpx-hero p *{color:#f5fffd!important;background:transparent!important;font-family:Inter,Arial,Helvetica,sans-serif!important;font-size:16px!important;font-weight:500!important;line-height:1.65!important;margin:0!important;padding:0!important;opacity:1!important;text-shadow:none!important}
.ptccpx-pill{display:inline-flex!important;align-items:center!important;gap:6px!important;background:#245b58!important;color:#ffffff!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:999px!important;padding:9px 14px!important;font-size:12px!important;font-weight:800!important;letter-spacing:.06em!important}
.ptccpx-pill span{color:#ffffff!important}
.ptccpx-line{height:2px!important;width:100%!important;background:#ffffff!important;opacity:.9!important;margin:10px 0 17px!important}

.ptccpx-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;margin-top:18px!important}
.ptccpx-card{background:#ffffff!important;border:1px solid #dfe4ea!important;border-radius:18px!important;padding:21px!important;box-shadow:0 5px 18px rgba(16,24,40,.04)!important}
.ptccpx-title{display:flex!important;align-items:center!important;gap:12px!important;margin-bottom:18px!important}
.ptccpx-title>b{display:grid!important;place-items:center!important;flex:0 0 36px!important;width:36px!important;height:36px!important;border-radius:10px!important;background:#e3f5f2!important;color:#075e58!important;font-size:15px!important;font-weight:900!important}
.ptccpx-title strong{display:block!important;color:#17212f!important;font-size:17px!important;font-weight:800!important}
.ptccpx-title small{display:block!important;color:#667085!important;font-size:12px!important;font-weight:500!important;margin-top:3px!important}
.ptccpx-fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px!important}
.ptccpx label{display:flex!important;position:relative!important;flex-direction:column!important;gap:7px!important;color:#253143!important;font-size:12px!important;font-weight:800!important}
.ptccpx input,.ptccpx select{appearance:auto!important;width:100%!important;min-height:48px!important;border:1px solid #cfd6df!important;border-radius:11px!important;background:#ffffff!important;color:#111827!important;padding:0 12px!important;font-family:Inter,Arial,Helvetica,sans-serif!important;font-size:14px!important;font-weight:600!important;outline:none!important;box-shadow:none!important}
.ptccpx input::placeholder{color:#667085!important;opacity:1!important}
.ptccpx input:focus,.ptccpx select:focus{border-color:#08766e!important;box-shadow:0 0 0 3px rgba(8,118,110,.14)!important}
.ptccpx i{position:absolute!important;right:12px!important;bottom:15px!important;color:#667085!important;font-size:11px!important;font-style:normal!important;font-weight:600!important}

.ptccpx-buttons{display:flex!important;flex-wrap:wrap!important;gap:10px!important;padding:18px 0!important}
.ptccpx-buttons button{min-height:48px!important;border-radius:12px!important;padding:0 19px!important;font-family:Inter,Arial,Helvetica,sans-serif!important;font-size:13px!important;font-weight:800!important;cursor:pointer!important;transition:transform .15s ease,box-shadow .15s ease!important}
.ptccpx-buttons button:hover{transform:translateY(-1px)!important}
.ptccpx-primary{background:#08766e!important;color:#ffffff!important;border:1px solid #08766e!important;box-shadow:0 7px 18px rgba(8,118,110,.22)!important}
.ptccpx-secondary{background:#ffffff!important;color:#263241!important;border:1px solid #cfd6df!important;box-shadow:none!important}

.ptccpx-result{background:#ffffff!important;border:1px solid #dfe4ea!important;border-radius:19px!important;overflow:hidden!important}
.ptccpx-total{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;padding:25px!important;background:#e9f8f5!important;border-bottom:1px solid #d6ebe7!important}
.ptccpx-total span{display:block!important;color:#344054!important;font-size:13px!important;font-weight:800!important}
.ptccpx-total strong{display:block!important;color:#075e58!important;font-size:clamp(30px,5vw,46px)!important;font-weight:900!important;line-height:1.08!important;margin-top:5px!important}
.ptccpx-total p{max-width:500px!important;margin:0!important;color:#344054!important;font-size:13px!important;font-weight:600!important;line-height:1.55!important;text-align:right!important}
.ptccpx-breakdown{display:grid!important;grid-template-columns:repeat(3,1fr)!important}
.ptccpx-breakdown div{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;min-height:53px!important;padding:13px 16px!important;border-right:1px solid #e7ebf0!important;border-bottom:1px solid #e7ebf0!important}
.ptccpx-breakdown div:nth-child(3n){border-right:0!important}
.ptccpx-breakdown span{color:#667085!important;font-size:12px!important;font-weight:650!important}
.ptccpx-breakdown b{color:#182230!important;font-size:13px!important;font-weight:850!important;white-space:nowrap!important}
.ptccpx-tip{padding:16px!important;color:#475467!important;font-size:12px!important;line-height:1.55!important;background:#fbfcfd!important}
.ptccpx-tip:before{content:"Travel planning tip: ";color:#08766e!important;font-weight:850!important}
.ptccpx-footer{display:flex!important;justify-content:space-between!important;gap:12px!important;padding:14px 2px 2px!important;color:#667085!important;font-size:11px!important;line-height:1.5!important}
.ptccpx-footer button{border:0!important;background:transparent!important;color:#08766e!important;font-weight:850!important;cursor:pointer!important;padding:0!important}

@media(max-width:760px){
.ptccpx-wrap{margin:10px auto!important;padding:10px!important;border-radius:20px!important}
.ptccpx-hero{padding:25px 19px 24px!important;border-radius:16px!important}
.ptccpx-hero h2{font-size:29px!important;margin-top:18px!important}
.ptccpx-hero p{font-size:14px!important}
.ptccpx-grid{grid-template-columns:1fr!important}
.ptccpx-fields{grid-template-columns:1fr!important}
.ptccpx-card{padding:17px!important}
.ptccpx-buttons{display:grid!important;grid-template-columns:1fr 1fr!important}
.ptccpx-buttons button{padding:0 8px!important}
.ptccpx-total{flex-direction:column!important;align-items:flex-start!important}
.ptccpx-total p{text-align:left!important}
.ptccpx-breakdown{grid-template-columns:1fr!important}
.ptccpx-breakdown div,.ptccpx-breakdown div:nth-child(3n){border-right:0!important}
.ptccpx-footer{flex-direction:column!important}
}
@media print{
body *{visibility:hidden!important}.ptccpx,.ptccpx *{visibility:visible!important}.ptccpx{position:absolute!important;left:0!important;top:0!important;width:100%!important}.ptccpx-buttons,.ptccpx-footer,.ptccpx-hero p{display:none!important}.ptccpx-wrap{border:0!important;box-shadow:none!important}
}
