/* assets/css/ptx-service-panels.css
   "Police Tax Services" card grid (.ptx-sp), modelled on the DefenceTax
   services section, and the service header band (.ptx-band) for the form
   pages. Class names are prefixed so they cannot collide with page styles.
   Spec: docs/superpowers/specs/2026-10-13-policetax-six-service-sitelinks-design.md */

.ptx-sp,.ptx-sp *,.ptx-band,.ptx-band *{box-sizing:border-box}
.ptx-sp{--sp-navy:#0b2545;--sp-red:#a8232b;--sp-muted:#55657a;--sp-line:#dfe4dc;color:var(--sp-navy);line-height:1.55}

/* Homepage section */
.ptx-sp--full{background:linear-gradient(180deg,#fbfcfa 0%,#f3f6f1 100%);padding:60px 16px 68px}
.ptx-sp__inner{max-width:1100px;margin:0 auto}
.ptx-sp__header{max-width:780px;margin:0 auto 36px;text-align:center}
.ptx-sp__kicker{margin:0 0 10px;color:var(--sp-red);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.ptx-sp__heading{margin:0 0 14px;color:var(--sp-navy);font-size:clamp(30px,4.2vw,46px);font-weight:800;line-height:1.1;letter-spacing:-.01em}
.ptx-sp__lead{margin:0;color:var(--sp-muted);font-size:16px;line-height:1.65}

/* Cards */
.ptx-sp__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ptx-sp__card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--sp-line);border-radius:8px;background:#fff;box-shadow:0 2px 10px rgba(11,37,69,.06);color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.ptx-sp__card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(11,37,69,.14);color:inherit;text-decoration:none}
.ptx-sp__card:focus-visible{outline:3px solid #ffba42;outline-offset:3px}
.ptx-sp__img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}

/* Banner drawn in code, standing in for a designed banner image */
.ptx-sp__banner{position:relative;display:flex;flex-direction:column;justify-content:center;gap:5px;aspect-ratio:16/9;padding:18px 20px 24px;overflow:hidden;color:#fff;background:radial-gradient(120% 90% at 85% 15%,rgba(77,148,224,.45) 0%,rgba(77,148,224,0) 55%),linear-gradient(125deg,#06172c 0%,#0c3361 55%,#18579b 100%)}
.ptx-sp__card:nth-child(3n+2) .ptx-sp__banner{background:radial-gradient(120% 90% at 80% 20%,rgba(237,199,126,.28) 0%,rgba(237,199,126,0) 50%),linear-gradient(125deg,#071a33 0%,#11396b 60%,#1f4f86 100%)}
.ptx-sp__card:nth-child(3n) .ptx-sp__banner{background:radial-gradient(120% 90% at 85% 10%,rgba(214,40,40,.26) 0%,rgba(214,40,40,0) 50%),linear-gradient(125deg,#06172c 0%,#0e2f57 55%,#174a84 100%)}
/* Australian police chequer along the foot of each banner */
.ptx-sp__banner::after{content:"";position:absolute;right:0;bottom:0;left:0;height:8px;background:repeating-linear-gradient(90deg,#0b2545 0 14px,#fff 14px 28px);opacity:.9}
.ptx-sp__banner-icon{position:absolute;right:-6%;bottom:-12%;width:46%;color:rgba(255,255,255,.12);pointer-events:none}
.ptx-sp__banner-icon svg{display:block;width:100%;height:auto}
/* Photo behind the banner text: subject on the right, a navy fade on the
   left keeps the white text readable (images are generated with a darker
   left side for this). */
.ptx-sp__banner--photo{background:#0b2545}
.ptx-sp__banner-photo{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:right center}
.ptx-sp__banner--photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(6,23,44,.92) 0%,rgba(6,23,44,.78) 38%,rgba(6,23,44,.18) 72%,rgba(6,23,44,0) 100%)}
.ptx-sp__banner--photo .ptx-sp__banner-brand,.ptx-sp__banner--photo .ptx-sp__banner-title,.ptx-sp__banner--photo .ptx-sp__banner-text,.ptx-sp__banner--photo .ptx-sp__banner-btn{z-index:2}
.ptx-sp__banner--photo::after{z-index:3}
.ptx-sp__banner-brand{position:relative;color:#edc77e;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.ptx-sp__banner-title{position:relative;max-width:78%;font-size:clamp(21px,2.1vw,27px);font-weight:800;line-height:1.08;text-shadow:0 2px 10px rgba(0,0,0,.25)}
.ptx-sp__banner-text{position:relative;max-width:70%;color:rgba(255,255,255,.86);font-size:12.5px;line-height:1.4}
.ptx-sp__banner-btn{position:relative;align-self:flex-start;margin-top:6px;padding:6px 11px;border-radius:3px;background:#d62828;color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.02em}

.ptx-sp__body{padding:18px 20px 22px}
.ptx-sp__title{margin:0 0 8px;color:var(--sp-navy);font-size:20px;font-weight:800;line-height:1.25}
.ptx-sp__text{margin:0;color:var(--sp-muted);font-size:14.5px;line-height:1.55}

/* Compact "Our other services" row at the foot of each service page */
.ptx-sp--compact{max-width:1160px;margin:0 auto;padding:44px 22px 52px}
.ptx-sp--compact .ptx-sp__heading{font-size:clamp(22px,2.4vw,28px);margin-bottom:20px}
.ptx-sp--compact .ptx-sp__grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}
.ptx-sp--compact .ptx-sp__banner{aspect-ratio:auto;min-height:104px;padding:14px 16px 20px}
.ptx-sp--compact .ptx-sp__banner-title{max-width:100%;font-size:17px}
.ptx-sp--compact .ptx-sp__banner-text,.ptx-sp--compact .ptx-sp__banner-btn{display:none}
.ptx-sp--compact .ptx-sp__body{padding:12px 16px 14px}
.ptx-sp--compact .ptx-sp__title{margin:0;font-size:15px}

@media(max-width:900px){
  .ptx-sp--full .ptx-sp__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .ptx-sp--full{padding:44px 16px 52px}
  .ptx-sp--full .ptx-sp__grid,.ptx-sp--compact .ptx-sp__grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .ptx-sp__card{transition:none}
  .ptx-sp__card:hover{transform:none}
}

/* Service header band for the three form pages */
.ptx-band{background:linear-gradient(125deg,#061f37,#14456d);color:#fff}
.ptx-band__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1180px;margin:0 auto;padding:36px clamp(20px,5vw,60px)}
.ptx-band--card{margin:0 0 20px;border-radius:14px}
.ptx-band--card .ptx-band__inner{padding:30px clamp(20px,4vw,40px)}
.ptx-band--under-header .ptx-band__inner{padding-top:clamp(96px,13vh,122px)}
.ptx-band__kicker{margin:0;color:#edc77e;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.ptx-band__title{margin:12px 0;color:#fff;font-size:clamp(28px,3.7vw,43px);font-weight:700;line-height:1.16}
.ptx-band__text{max-width:760px;margin:0;color:#dce8f2;font-size:17px;line-height:1.55}
.ptx-band__logo{flex:0 0 auto;max-width:160px;height:auto;padding:10px;border-radius:12px;background:#fff}
@media(max-width:640px){
  .ptx-band__inner{flex-direction:column-reverse;align-items:flex-start}
  .ptx-band--card{border-radius:0}
  .ptx-band--under-header .ptx-band__inner{padding-top:104px}
}

/* "Choose the right way to lodge" (includes/ptx-lodge-options.php), modelled
   on the DefenceTax section: three white cards with a dark-blue top strip. */
.ptx-lodge,.ptx-lodge *{box-sizing:border-box}
.ptx-lodge{padding:72px 16px 80px;background:#fff;color:#0b2545}
.ptx-lodge__inner{max-width:1140px;margin:0 auto}
.ptx-lodge__header{max-width:780px;margin:0 auto 40px;text-align:center}
.ptx-lodge__heading{margin:0 0 14px;color:#0b2545;font-size:clamp(30px,4vw,44px);font-weight:800;line-height:1.12;letter-spacing:-.01em}
.ptx-lodge__lead{margin:0;color:#55657a;font-size:17px;line-height:1.7}
.ptx-lodge__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ptx-lodge__card{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:32px 30px 34px;border:1px solid #d8e1ec;border-radius:18px;background:#fff;box-shadow:0 18px 40px rgba(11,37,69,.08);color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.ptx-lodge__card::before{content:"";position:absolute;top:0;right:0;left:0;height:5px;background:linear-gradient(90deg,#0b2545 0%,#1d5fa3 100%)}
.ptx-lodge__card:hover{transform:translateY(-4px);box-shadow:0 24px 48px rgba(11,37,69,.13);color:inherit;text-decoration:none}
.ptx-lodge__card:focus-visible{outline:3px solid #ffba42;outline-offset:3px}
.ptx-lodge__title{margin:0 0 14px;color:#0b2545;font-size:23px;font-weight:800;line-height:1.22}
.ptx-lodge__text{flex:1;margin:0 0 20px;color:#4a5a6e;font-size:15.5px;line-height:1.7}
.ptx-lodge__link{color:#14457a;font-size:15px;font-weight:700}
.ptx-lodge__card:hover .ptx-lodge__link{text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){
  .ptx-lodge__grid{grid-template-columns:1fr;max-width:560px;margin:0 auto}
}
@media(max-width:600px){
  .ptx-lodge{padding:52px 16px 60px}
  .ptx-lodge__card{padding:26px 22px 28px}
}
@media(prefers-reduced-motion:reduce){
  .ptx-lodge__card{transition:none}
  .ptx-lodge__card:hover{transform:none}
}
