/* Shared public visual system. Theme colours remain controlled by the admin. */
.public-page{--surface:#f5f8fa;--edge:#dce6ec;--lift:0 20px 48px rgba(7,31,49,.11);color:var(--ink);background:#fff}
.public-page h1,.public-page h2,.public-page h3{letter-spacing:-.035em}
.public-page .section{padding-block:80px}
.public-page .section.alt{background:linear-gradient(160deg,#f4f8fa,#fafcfd)}
.public-page .page-hero,.public-page .parts-hero,.public-page .aircraft-detail-hero,.public-page .compliance-hero{position:relative;isolation:isolate;overflow:hidden}
.public-page .page-hero:before,.public-page .parts-hero:before,.public-page .aircraft-detail-hero:before,.public-page .compliance-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 95% 30%,color-mix(in srgb,var(--blue) 23%,transparent),transparent 55%),linear-gradient(100deg,rgba(3,18,31,.4),transparent 75%);pointer-events:none}
.public-page .page-hero:after,.public-page .parts-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--blue),transparent 80%)}
.public-page .eyebrow,.public-page .kicker{font-size:11px;letter-spacing:.16em;line-height:1.6}
.public-page .page-hero p,.public-page .parts-hero p{color:#d4e2ea}
.public-page .section-head h2{line-height:1.12}
.public-page .btn{font-size:11px;min-height:46px;padding-inline:20px;transition:background .2s,box-shadow .2s,transform .2s;line-height:1.4}
.public-page a:focus-visible,.public-page button:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.public-page .btn-outline{color:#fff;border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.045)}
.public-page :is(.card,.cap-card,.contact-card,.repair-card,.featured-part-card,.inventory-browser-card){position:relative;border:1px solid var(--edge);border-radius:16px!important;box-shadow:0 6px 24px rgba(7,31,49,.035)!important;transition:border-color .25s,box-shadow .25s,transform .25s;background:#fff;overflow:hidden}
.public-page :is(.card,.cap-card,.repair-card){padding:30px}
.public-page :is(.card,.cap-card,.repair-card):after{content:"";position:absolute;bottom:0;left:0;width:0;height:3px;background:var(--blue);transition:width .3s}
.public-page .icon{border-radius:14px;background:color-mix(in srgb,var(--blue) 9%,white);border:1px solid color-mix(in srgb,var(--blue) 17%,white);font-size:16px;font-weight:800;color:var(--blue);width:56px;height:56px}
.public-page .icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.public-page .link{transition:color .2s,gap .2s}
.public-page .categories{border:0;gap:12px}
.public-page .cat,.public-page .parts-category-strip a{border:1px solid var(--edge);border-radius:10px;padding:23px;transition:background .2s,color .2s,border-color .2s,transform .2s}
.public-page .cat:after{content:"↗";float:right;opacity:.6;margin-left:10px}
.public-page .image-panel{border-radius:20px;background-color:var(--navy);box-shadow:var(--lift);position:relative;overflow:hidden}
.public-page .image-panel:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);border-radius:inherit;pointer-events:none}
.public-page .cta,.public-page .cta-band,.public-page .marketing-cta{background:radial-gradient(ellipse at 100% 0,color-mix(in srgb,var(--blue) 42%,transparent),transparent 60%),var(--navy)}
.public-page .cta-band,.public-page .marketing-cta{border-radius:18px;padding:40px}
.public-page .stats{gap:12px;background:transparent}
.public-page .stat,.public-page .why-item{border-radius:12px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(150deg,rgba(255,255,255,.06),rgba(255,255,255,.025)),var(--navy)}
.public-page .repair-summary div,.public-page .site-proof .proof,.public-page .process-row,.public-page .quality-panel{border-radius:12px}
.public-page .repair-callout{border-radius:16px;background:linear-gradient(120deg,#f0f6f9,#fafcfd)}
/* Asset market: compact labels, generous photos and clear specifications. */
.public-page .aircraft-filter-section{padding-block:32px}
.public-page .aircraft-filter,.public-page .engine-filter{padding:24px;border-radius:16px;background:#fff;border:1px solid var(--edge);box-shadow:0 10px 32px rgba(7,31,49,.06)}
.public-page :is(.aircraft-filter,.engine-filter) label{color:#556b79;font-size:11px}
.public-page :is(.aircraft-filter,.engine-filter) input,.public-page :is(.aircraft-filter,.engine-filter) select{height:48px;background:#f8fafc;border-color:var(--edge)}
.public-page .aircraft-grid{gap:28px;align-items:stretch}
.public-page .aircraft-card,.public-page .engine-card{border-radius:18px!important;border:1px solid var(--edge)!important;box-shadow:0 8px 28px rgba(7,31,49,.055)!important;display:flex!important;flex-direction:column;overflow:hidden;transition:border-color .25s,box-shadow .25s,transform .25s}
.public-page .aircraft-photo,.public-page .engine-photo{position:relative;isolation:isolate;background:linear-gradient(145deg,#17394c,#0a2439);height:300px!important;min-height:300px!important;flex:none;overflow:hidden}
.public-page .aircraft-photo:after,.public-page .engine-photo:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(5,20,32,.45));pointer-events:none;z-index:1}
.public-page .aircraft-photo img,.public-page .engine-photo img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.public-page .featured-badge{display:inline-flex;align-items:center;justify-content:center;position:absolute;left:auto!important;right:18px!important;top:18px!important;bottom:auto!important;width:max-content!important;max-width:calc(100% - 36px);padding:8px 12px!important;border-radius:6px!important;background:var(--blue);color:#fff;font-size:10px!important;letter-spacing:.09em;line-height:1;z-index:2;box-shadow:0 3px 12px rgba(0,0,0,.12)}
.public-page .aircraft-status{z-index:2;border-radius:6px;top:18px;left:18px;font-size:10px;padding:8px 12px;line-height:1;background:#e7f7ed;color:#176a3f}
.public-page .aircraft-status.under-offer{background:#fff4d6;color:#785608}
.public-page .aircraft-status.sold,.public-page .aircraft-status.off-market{background:#eff1f4;color:#56636d}
.public-page .aircraft-card-body,.public-page .engine-card-body{padding:28px!important;display:flex;flex-direction:column;flex:1;min-width:0}
.public-page .aircraft-card h3,.public-page .engine-card h3{font-size:28px!important;line-height:1.18!important;margin:5px 0 10px!important;overflow-wrap:anywhere}
.public-page .aircraft-maker{color:var(--blue);font-size:10px;letter-spacing:.13em}
.public-page .aircraft-year{font-size:18px;padding:7px 10px;border-radius:6px;background:var(--surface);color:#526b7b}
.public-page .aircraft-card-body>p,.public-page .engine-summary{font-size:14px!important;line-height:1.75!important;color:#617582;min-height:0;margin:10px 0 18px}
.public-page .aircraft-mini-specs{border:0;border-radius:10px;background:var(--surface);margin:0 0 24px;gap:1px;overflow:hidden}
.public-page .aircraft-mini-specs span{white-space:normal;overflow-wrap:anywhere;padding:14px 16px;font-size:14px;border-color:#e2eaf0}
.public-page .aircraft-mini-specs strong{font-size:10px;line-height:1.5;color:#647b89}
.public-page .aircraft-card-footer{margin-top:auto;padding-top:20px;border-top:1px solid var(--edge);gap:16px;align-items:center}
.public-page .aircraft-card-footer .btn,.public-page .engine-actions .btn{font-size:11px!important;min-height:44px!important;padding-inline:16px!important}
.public-page .engine-photo-placeholder{height:100%!important;min-height:0!important;display:grid;place-content:center;color:#b8d0de;background:radial-gradient(circle at center,rgba(255,255,255,.06),transparent 65%),linear-gradient(135deg,#0d293e,#174258);letter-spacing:.18em;font-size:20px!important}
.public-page .engine-location{font-size:11px!important;line-height:1.5;white-space:normal}
.public-page .engine-badges .badge,.public-page .asset-type-badge{font-size:10px!important;padding:7px 10px!important;border-radius:6px!important}
.public-page .engine-spec-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;border-radius:10px!important;gap:1px}
.public-page .engine-spec-grid div{min-width:0;padding:13px!important;border:0;border-bottom:1px solid #e1e8ec}
.public-page .engine-spec-grid span{font-size:9px!important;line-height:1.5}
.public-page .engine-spec-grid strong{font-size:13px!important;line-height:1.6;overflow-wrap:anywhere}
.public-page .engine-extra{font-size:12px!important;line-height:1.6}
.public-page .engine-commercial{margin-top:auto!important;padding-top:22px!important;flex-wrap:wrap;gap:18px}
.public-page .engine-actions{display:flex;gap:8px;flex-wrap:wrap}
.public-page .aircraft-main-image,.public-page .part-gallery-main{border-radius:16px;background:linear-gradient(145deg,#17384e,#0a2439);overflow:hidden}
.public-page .aircraft-spec-card{border-radius:14px;overflow:hidden;box-shadow:0 8px 28px rgba(7,31,49,.06)}
.public-page .aircraft-spec-card h3{padding:24px;background:var(--navy)}
.public-page .aircraft-spec-card dl div{padding:15px 20px}
.public-page .aircraft-spec-card dl div:nth-child(even){background:#f8fafc}
.public-page .aircraft-highlights,.public-page .aircraft-info-box,.public-page .part-remarks{border-radius:12px}
.public-page .aircraft-thumb,.public-page .part-thumb{border-radius:8px;overflow:hidden}
.public-page .engine-detail-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#d2e3ed}
.public-page .engine-detail-placeholder svg{width:100px;height:100px;fill:none;stroke:#91b7cb;stroke-width:1.4}
.public-page .engine-detail-placeholder strong{font-size:27px}.public-page .engine-detail-placeholder span{font-size:13px;color:#9ebdce}
/* Contact, quotations, onboarding and policy pages. */
.public-page :is(.contact-form-panel,.rfq-form,.rfq-card,.compliance-form,.privacy-panel,.part-detail-card,.part-card){border-radius:16px!important;border:1px solid var(--edge);box-shadow:0 10px 34px rgba(7,31,49,.045)!important;overflow:hidden}
.public-page :is(.form,.form-grid,.rfq-fields,.compliance-fields) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background:#f8fafc;border:1px solid #d5e1e8;border-radius:8px!important;line-height:1.5}
.public-page :is(.form,.field,.rfq-field,.compliance-fields) label{font-size:12px;color:#425d6e;font-weight:700}
.public-page input[type=checkbox]{accent-color:var(--blue)}
.public-page .rfq-section-title,.public-page .form-section-title{color:var(--navy);letter-spacing:.04em;padding-block:20px 14px}
.public-page .upload-box{border:1px dashed #b5cbd8;border-radius:12px;background:#f8fbfc}
.public-page .contact-card{padding:28px!important;transition:border-color .2s,box-shadow .2s}
.public-page .contact-route-icon{border-radius:12px;color:var(--blue)}
.public-page .privacy-panel h2{font-size:25px;line-height:1.3}
.public-page .privacy-panel p,.public-page .privacy-panel li{color:#586f7e;line-height:1.85}
.public-page .privacy-meta{border-radius:10px}
.public-page .rfq-empty,.public-page .empty-state{background:radial-gradient(ellipse at top,#edf5f9,#fafcfd);border:1px solid var(--edge);border-radius:16px;padding:56px 24px}
.public-page :is(.parts-table,.heli-parts-table){border-radius:12px;border:1px solid var(--edge);box-shadow:0 6px 24px rgba(7,31,49,.035)}
.public-page :is(.parts-table,.heli-parts-table) th{background:var(--navy)!important;color:#c8dce7!important;padding-block:17px;font-size:10px}
.public-page :is(.parts-table,.heli-parts-table) td{padding-block:18px}
.public-page :is(.searchbox,.category-tools,.heli-parts-tools){border-radius:12px}
.public-page .search-basket-bar,.public-page .category-basket-bar{border-radius:10px;background:#eff5f8;border:1px solid var(--edge)}
.public-page .modern-pagination,.public-page .search-modern-pagination{padding:24px;background:#f7fafc;border:1px solid var(--edge);border-radius:12px;margin-top:28px}
.public-page .featured-part-card{display:flex;flex-direction:column}
.public-page .featured-part-body{flex:1;display:flex;flex-direction:column}
.public-page .featured-actions{margin-top:auto}
@media(hover:hover) and (pointer:fine){
 .public-page :is(.card,.cap-card,.repair-card,.featured-part-card,.inventory-browser-card,.aircraft-card,.engine-card):hover{transform:translateY(-5px)!important;border-color:color-mix(in srgb,var(--blue) 35%,#dce6ec)!important;box-shadow:var(--lift)!important}
 .public-page :is(.card,.cap-card,.repair-card):hover:after{width:100%}
 .public-page .aircraft-card:hover .aircraft-photo img,.public-page .engine-card:hover .engine-photo img{transform:scale(1.045)}
 .public-page .cat:hover{background:var(--navy);border-color:var(--navy);transform:translateY(-2px);color:white}
 .public-page .aircraft-card h3 a:hover,.public-page .engine-card h3 a:hover{color:var(--blue)}
}
@media(max-width:1050px){.public-page .engine-card{display:flex!important}.public-page .engine-photo{height:280px!important;min-height:280px!important}}
@media(max-width:760px){
 .public-page .section{padding-block:58px}
 .public-page .aircraft-photo,.public-page .engine-photo{height:250px!important;min-height:250px!important}
 .public-page .aircraft-card-body,.public-page .engine-card-body{padding:22px!important}
 .public-page .aircraft-card h3,.public-page .engine-card h3{font-size:25px!important}
 .public-page .cta-band,.public-page .marketing-cta{padding:28px 24px}
 .public-page .two-col{gap:32px}.public-page .image-panel{min-height:320px}
 .public-page .engine-topline{flex-wrap:wrap;gap:12px}
 .public-page .engine-spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .public-page .aircraft-mini-specs{grid-template-columns:repeat(2,minmax(0,1fr))}
 .public-page .aircraft-mini-specs span{font-size:13px;padding:12px;min-width:0}
 .public-page .aircraft-card-footer{flex-direction:row;align-items:center;flex-wrap:wrap}
 .public-page .aircraft-detail-heading h1{font-size:clamp(32px,9vw,46px);overflow-wrap:anywhere}
 .public-page .modern-pagination,.public-page .search-modern-pagination{padding:18px}
}
@media(prefers-reduced-motion:reduce){.public-page *,.public-page *:before,.public-page *:after{transform:none!important;scroll-behavior:auto!important}}
.public-page .public-table-scroll{width:100%;max-width:100%;overflow-x:auto;border-radius:12px;border:1px solid var(--edge);overscroll-behavior-inline:contain}
.public-page .public-table-scroll .parts-table{display:table;overflow:visible;border:0;border-radius:0;margin:0}
.public-page .part-detail-wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.public-page .part-detail-wrap>*{min-width:0}
.public-page .part-placeholder-number,.public-page .part-detail-card h2{overflow-wrap:anywhere}
.public-page .listing-photo-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:13px;color:#c5dce9;background:radial-gradient(ellipse at 70% 30%,rgba(70,152,197,.14),transparent 65%),linear-gradient(135deg,#0c283c,#173c52)}
.public-page .listing-photo-fallback svg{width:68px;height:68px;stroke:#8fb8cc;fill:none;stroke-width:1;stroke-linejoin:round;stroke-linecap:round}
.public-page .listing-photo-fallback>span{font-size:19px;letter-spacing:.04em;font-weight:700}
.public-page .listing-photo-fallback small{font-size:11px;color:#99b7c8;letter-spacing:.03em}
.public-page .aircraft-main-image{position:relative}
.public-page .aircraft-photo img,.public-page .aircraft-main-image img{position:relative;z-index:1}
.public-page .aircraft-photo img[hidden],.public-page .aircraft-main-image img[hidden],.public-page .engine-photo img[hidden]{display:none!important}
.public-page .aircraft-photo .featured-badge,.public-page .aircraft-photo .aircraft-status{z-index:3}
@media(max-width:980px){.public-page .part-detail-wrap{grid-template-columns:minmax(0,1fr)}}
.public-page .engine-photo-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;letter-spacing:0}
.public-page .engine-photo-placeholder svg{width:70px;height:70px;fill:none;stroke:#8fb8cc;stroke-width:1.2}
.public-page .engine-photo-placeholder strong{font-size:19px;letter-spacing:.04em;font-weight:700}
.public-page .engine-photo-placeholder small{font-size:11px;color:#99b7c8;letter-spacing:.03em}
.public-page .surplus-visual{background:linear-gradient(120deg,rgba(5,20,31,.9),rgba(5,20,31,.65)),url('heroes/surplus-parts.webp') center/cover;display:flex;align-items:center;padding:44px;color:#fff}
.public-page .surplus-visual span{font-size:11px;color:#a3ccd9;letter-spacing:.18em}
.public-page .surplus-visual strong{display:block;font-size:clamp(42px,4vw,58px);line-height:1.05;letter-spacing:-.04em;margin:24px 0}
.public-page .surplus-visual small{font-size:13px;color:#bcd1dc}
.public-page .surplus-step{font-size:11px;letter-spacing:.13em;color:var(--blue);font-weight:800;padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid var(--edge)}
.public-page .part-remarks{overflow-wrap:anywhere;line-height:1.8}
.public-page .supply-ready,.public-page .stock-ready{max-width:100%;height:auto!important;white-space:normal!important;line-height:1.4;text-align:center}
.public-page .public-table-scroll .parts-table .col-condition{width:100px!important}
.public-page .public-table-scroll .parts-table .col-qty{width:155px!important}
.public-page .engine-photo .engine-photo-placeholder{position:absolute;inset:0}
.public-page .engine-photo img{position:relative;z-index:1}
.public-page .engine-photo .featured-badge{z-index:3}

.public-page .page-hero h1,.public-page .parts-hero h1{color:#fff}
