/* Purton Team Manager frontend – intentionally isolated from Astra/Elementor */
body.single-ptm_team #content.site-content,
body.single-ptm_team .site-content{
    padding-top:0!important;
    padding-bottom:0!important;
    margin-top:0!important;
    margin-bottom:0!important;
}
body.single-ptm_team #content.site-content>.ast-container,
body.single-ptm_team .site-content>.ast-container{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
}
body.single-ptm_team .site-content{background:#fff!important;}
body.single-ptm_team #primary{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
}

.ptm-team-page{
    --ptm-navy:#000000;
    --ptm-deep:#111111;
    --ptm-blue:#121212;
    --ptm-gold:#FE1204;
    --ptm-white:#fff;
    --ptm-ink:#000000;
    --ptm-muted:#2D2D2D;
    --ptm-line:#E1E1E1;
    --ptm-soft:#F5F5F5;
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
    overflow:hidden;
    background:#fff;
    color:var(--ptm-ink);
    font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:16px;
    line-height:1.42;
    text-align:left;
}
.ptm-team-page *, .ptm-team-page *::before, .ptm-team-page *::after{box-sizing:border-box}
.ptm-team-page h1,.ptm-team-page h2,.ptm-team-page h3,.ptm-team-page p{margin-top:0}
.ptm-team-page h1,.ptm-team-page h2,.ptm-team-page h3{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:800}
.ptm-team-page button,.ptm-team-page input,.ptm-team-page textarea,.ptm-team-page select{font:inherit}
.ptm-team-page button{line-height:1.15}
.ptm-team-page img{display:block;max-width:100%}
.ptm-team-page svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* HERO */
.ptm-hero{
    width:100%;
    background:linear-gradient(90deg,#000000 0%,#000000 43%,#121212 43%,#121212 100%);
    color:#fff;
    overflow:hidden;
}
.ptm-hero-inner{
    display:grid;
    grid-template-columns:minmax(360px,34%) minmax(0,66%);
    width:100%;
    max-width:1280px;
    min-height:330px;
    margin:0 auto;
    background:var(--ptm-navy);
}
.ptm-hero-copy{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    min-width:0;
    padding:38px 42px 40px 38px;
    background:var(--ptm-navy);
}
.ptm-hero-copy::after{
    content:"";
    position:absolute;
    z-index:-1;
    top:0;
    right:-70px;
    width:110px;
    height:100%;
    background:var(--ptm-navy);
    clip-path:polygon(0 0,36% 0,100% 100%,64% 100%);
}
.ptm-hero-copy::before{
    content:"";
    position:absolute;
    inset:0;
    opacity:.055;
    background-image:var(--ptm-hero-mark,none);
    background-repeat:no-repeat;
    background-position:120% 52%;
    background-size:250px;
    pointer-events:none;
}
.ptm-eyebrow{
    margin:0 0 8px!important;
    color:var(--ptm-gold)!important;
    font-size:14px!important;
    line-height:1.2!important;
    font-weight:900!important;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.ptm-hero h1{
    width:100%;
    max-width:440px;
    margin:0 0 9px!important;
    color:#fff!important;
    font-size:clamp(43px,3.8vw,60px)!important;
    line-height:.98!important;
    letter-spacing:-.04em;
    overflow-wrap:normal;
    word-break:normal;
}
.ptm-hero-tagline{
    margin:0 0 20px!important;
    color:#fff!important;
    font-size:19px!important;
    line-height:1.2!important;
}
.ptm-hero-media{
    min-width:0;
    position:relative;
    background:#000000;
    overflow:hidden;
}
.ptm-banner-image,.ptm-banner-fallback{
    width:100%!important;
    height:330px!important;
    max-height:none!important;
    min-height:330px!important;
    object-fit:cover!important;
    object-position:center center!important;
    margin:0!important;
}
.ptm-banner-fallback{
    object-fit:cover!important;
    background:#000000!important;
}
/* BUTTONS */
.ptm-team-page .ptm-btn,.ptm-team-page .ptm-outline-btn{
    appearance:none!important;
    -webkit-appearance:none!important;
    width:auto!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    border-radius:6px!important;
    box-shadow:none;
    cursor:pointer;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px;
    text-decoration:none!important;
    text-transform:none!important;
    white-space:nowrap!important;
    font-weight:800!important;
    letter-spacing:0!important;
    line-height:1.15!important;
    transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease;
}
.ptm-team-page .ptm-btn{padding:12px 19px!important;border:0!important}
.ptm-team-page .ptm-btn-gold{background:var(--ptm-gold)!important;color:#000000!important}
.ptm-team-page .ptm-btn-navy{background:#121212!important;color:#fff!important}
.ptm-team-page .ptm-outline-btn{padding:9px 15px!important;border:2px solid var(--ptm-gold)!important;background:#fff!important;color:var(--ptm-navy)!important}
.ptm-team-page .ptm-btn:hover,.ptm-team-page .ptm-outline-btn:hover{transform:translateY(-1px);box-shadow:0 6px 15px rgba(0,0,0,.12)}

/* INFO BAR */
.ptm-info-wrap{position:relative;z-index:4;max-width:1220px;margin:-20px auto 0;padding:0 24px}
.ptm-info-bar{
    width:100%;
    display:grid;
    background:#fff;
    border-radius:9px;
    box-shadow:0 8px 24px rgba(0,0,0,.14);
    overflow:hidden;
}
.ptm-info-count-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ptm-info-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ptm-info-count-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;margin:0 auto}
.ptm-info-count-1{grid-template-columns:minmax(0,520px);max-width:520px;margin:0 auto}
.ptm-info-item{display:flex;align-items:center;gap:14px;min-width:0;padding:15px 20px;border-right:1px solid var(--ptm-line)}
.ptm-info-item:last-child{border-right:0}
.ptm-info-item>div{min-width:0}
.ptm-icon{display:inline-grid;place-items:center;flex:0 0 auto;color:#000000;font-size:31px}
.ptm-info-item strong{display:block;margin:0 0 1px;color:#000000;font-size:13px;line-height:1.15;font-weight:800}
.ptm-info-item span:not(.ptm-icon){display:block;color:#000000;font-size:15px;line-height:1.2;font-weight:800}
.ptm-info-na span:not(.ptm-icon){color:#666666;font-weight:700}

/* CONTENT WIDTH */
.ptm-section,.ptm-team-intro{width:100%;max-width:1220px;margin:0 auto;padding-left:28px;padding-right:28px}
.ptm-team-intro{padding-top:19px;padding-bottom:0;color:#2D2D2D}
.ptm-team-intro p{max-width:1120px;margin:0!important;font-size:15px!important;line-height:1.45!important}
.ptm-section{padding-top:18px;padding-bottom:4px}
.ptm-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 11px}
.ptm-section-title>div:first-child{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;min-width:0}
.ptm-section-title h2{
    position:relative;
    margin:0!important;
    padding:0 0 8px!important;
    color:#000000!important;
    font-size:28px!important;
    line-height:1.08!important;
    letter-spacing:-.025em;
}
.ptm-section-title h2::after{content:"";position:absolute;left:0;bottom:0;width:52px;height:4px;border-radius:4px;background:var(--ptm-gold)}
.ptm-section-title p{margin:0 0 2px!important;color:var(--ptm-muted)!important;font-size:13px!important;line-height:1.3!important}
.ptm-title-icon{display:inline-grid;place-items:center;color:var(--ptm-gold);font-size:23px}

/* NEXT MATCH */
.ptm-next-match{display:grid;grid-template-columns:1fr 190px 1fr;align-items:center;gap:24px;padding:21px 28px;border-radius:10px;background:linear-gradient(110deg,#000000,#000000);color:#fff;box-shadow:0 7px 20px rgba(0,0,0,.1)}
.ptm-next-side{display:flex;align-items:center;gap:14px;min-width:0}
.ptm-next-away{justify-content:flex-end;text-align:right}
.ptm-next-side img,.ptm-opponent-mark{width:66px!important;height:66px!important;flex:0 0 66px;object-fit:contain}
.ptm-opponent-mark{display:grid;place-items:center;border-radius:50%;background:#fff;color:#121212;font-size:28px;font-weight:900}
.ptm-next-side strong{color:#fff;font-size:18px;line-height:1.15}
.ptm-next-centre{display:grid;gap:2px;text-align:center}
.ptm-next-label{color:var(--ptm-gold);font-size:11px;font-weight:900;letter-spacing:.14em}
.ptm-next-vs{color:#fff;font-size:23px}
.ptm-next-centre span:not(.ptm-next-label){color:#fff;font-size:13px}
.ptm-next-ha{color:var(--ptm-gold)!important;font-weight:800;text-transform:uppercase}

/* MANAGERS */
.ptm-managers-section{padding-top:23px}
.ptm-coach-grid{display:grid;gap:14px;align-items:stretch}
.ptm-coach-grid.ptm-count-1{grid-template-columns:minmax(0,560px)}
.ptm-coach-grid.ptm-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ptm-coach-grid.ptm-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ptm-coach-card{display:grid;grid-template-columns:38% 62%;min-width:0;overflow:hidden;border:1px solid #E1E1E1;border-radius:8px;background:#fff;box-shadow:0 5px 16px rgba(0,0,0,.07)}
.ptm-coach-photo{display:grid;place-items:center;min-width:0;min-height:205px;background:#F5F5F5;overflow:hidden}
.ptm-coach-photo img{width:100%!important;height:100%!important;min-height:205px!important;margin:0!important;object-fit:cover!important}
.ptm-coach-photo.ptm-logo-photo img{width:72%!important;height:72%!important;min-height:0!important;object-fit:contain!important}
.ptm-coach-body{display:flex;flex-direction:column;min-width:0;padding:14px 14px 13px}
.ptm-role{display:block;margin:0 0 1px;color:#121212;font-size:10px;line-height:1.2;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.ptm-coach-body h3{margin:0 0 6px!important;color:#121212!important;font-size:19px!important;line-height:1.1!important}
.ptm-coach-bio{flex:1;color:#121212;font-size:12px;line-height:1.32}
.ptm-coach-bio p{margin:0 0 7px!important;font-size:inherit!important;line-height:inherit!important}
.ptm-coach-body .ptm-btn{align-self:flex-start;margin-top:auto!important;padding:8px 11px!important;font-size:12px!important}
.ptm-coach-card.ptm-no-bio{min-height:205px}
.ptm-coach-card.ptm-no-bio .ptm-coach-body{justify-content:center}
.ptm-coach-card.ptm-no-bio .ptm-btn{margin-top:15px!important}
.ptm-placeholder-manager{border-style:dashed;background:linear-gradient(135deg,#fff,#F5F5F5)}
.ptm-placeholder-manager .ptm-coach-photo{background:#F5F5F5}
.ptm-placeholder-manager .ptm-coach-photo img{opacity:.82}
.ptm-placeholder-manager .ptm-coach-bio{color:#666666}

/* FULL TIME TABLES */
.ptm-tables-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start;padding-top:16px}
.ptm-tables-grid.ptm-single-table{grid-template-columns:minmax(0,1fr)}
.ptm-table-card{min-width:0;overflow:hidden;border:1px solid var(--ptm-line);border-radius:7px;background:#fff;box-shadow:0 5px 16px rgba(0,0,0,.06)}
.ptm-table-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 13px;background:linear-gradient(90deg,#000000,#000000);color:#fff}
.ptm-table-card>header>div{display:flex;align-items:center;gap:8px}
.ptm-table-card h2{margin:0!important;color:#fff!important;font-size:17px!important;line-height:1.15!important}
.ptm-table-card header a{color:var(--ptm-gold)!important;font-size:11px;font-weight:800;text-decoration:none!important;white-space:nowrap}
.ptm-fa-display{max-width:100%;min-height:160px;overflow:auto}
.ptm-loading,.ptm-fa-error{padding:24px;color:var(--ptm-muted);font-size:13px;text-align:center}
.ptm-fa-source{position:absolute!important;left:-10000px!important;top:auto!important;width:1100px!important;height:auto!important;overflow:hidden!important}
.ptm-fa-display table,.ptm-fa-table{width:100%!important;margin:0!important;border-collapse:collapse!important;background:#fff!important;color:var(--ptm-ink)!important;font-size:12px!important}
.ptm-fa-display th,.ptm-fa-display td{padding:7px 9px!important;border:0!important;border-bottom:1px solid #F5F5F5!important;background:transparent!important;color:inherit!important;text-align:left!important;white-space:nowrap!important}
.ptm-fa-display th{background:#F5F5F5!important;font-weight:800!important}
.ptm-fa-display tr:nth-child(even) td{background:#F5F5F5!important}
.ptm-fa-display tr.ptm-current-team-row td{background:var(--ptm-gold)!important;color:#000000!important;font-weight:900!important}
.ptm-fa-display a{color:#121212!important}
.ptm-table-header-note{color:#f8d58b;font-size:11px;font-weight:800;white-space:nowrap}
.ptm-empty-table{width:100%;overflow:auto;background:#fff}
.ptm-empty-table table{width:100%;margin:0!important;border-collapse:collapse!important;color:var(--ptm-ink)!important;font-size:12px!important}
.ptm-empty-table th,.ptm-empty-table td{padding:7px 9px!important;border:0!important;border-bottom:1px solid #F5F5F5!important;text-align:left!important;white-space:nowrap!important}
.ptm-empty-table th{background:#F5F5F5!important;color:#000000!important;font-weight:800!important}
.ptm-empty-table tbody tr:nth-child(even) td{background:#F5F5F5!important}
.ptm-empty-table .ptm-coming-row td{padding:12px!important;background:#fff7e3!important;color:#6b5730!important;text-align:center!important;font-weight:800!important}
.ptm-empty-table tbody tr:not(.ptm-coming-row) td{color:#BEBEBE!important}
.ptm-result-placeholder{display:inline-flex;min-width:58px;justify-content:center;padding:3px 8px;border-radius:5px;background:#F5F5F5;color:#666666}

/* MEDIA */
.ptm-media-section{padding-top:23px}
.ptm-media-heading>div:first-child{align-items:flex-end}
.ptm-media-controls{display:flex;gap:7px;flex:0 0 auto}
.ptm-team-page .ptm-media-controls button{appearance:none;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;margin:0!important;padding:0!important;border:1px solid #E1E1E1!important;border-radius:50%!important;background:#fff!important;color:#121212!important;font-size:21px!important;line-height:1!important;cursor:pointer}
.ptm-media-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,1fr);gap:11px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:thin;padding:1px 0 7px}
.ptm-team-page .ptm-media-card{appearance:none;display:block;min-width:0;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:var(--ptm-ink)!important;text-align:left!important;cursor:pointer;scroll-snap-align:start}
.ptm-media-thumb{display:block;position:relative;overflow:hidden;aspect-ratio:16/9;border-radius:6px;background:#F5F5F5}
.ptm-media-thumb img{width:100%!important;height:100%!important;object-fit:cover!important;margin:0!important}
.ptm-play{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:45px;height:45px;padding-left:3px;border:3px solid #fff;border-radius:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.68);color:#fff;font-size:15px}
.ptm-media-card strong,.ptm-media-card small{display:block;margin-top:4px}
.ptm-media-card strong{font-size:12px;line-height:1.2}
.ptm-media-card small{color:var(--ptm-muted);font-size:11px;line-height:1.2}

/* SPONSORS */
.ptm-sponsors-section{padding-top:21px;padding-bottom:24px}
.ptm-sponsor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ptm-sponsor-grid.ptm-sponsor-count-1{grid-template-columns:minmax(160px,230px)}
.ptm-sponsor-grid.ptm-sponsor-count-2{grid-template-columns:repeat(2,minmax(160px,230px))}
.ptm-sponsor-grid.ptm-sponsor-count-3{grid-template-columns:repeat(3,minmax(160px,230px))}
.ptm-sponsor-card{display:grid;place-items:center;min-height:142px;padding:13px;border:1px solid #E1E1E1;border-radius:7px;background:#fff;color:var(--ptm-navy)!important;text-decoration:none!important;box-shadow:0 5px 16px rgba(0,0,0,.06)}
.ptm-sponsor-logo{display:grid;place-items:center;width:100%;height:100%;max-width:112px;aspect-ratio:1/1}
.ptm-sponsor-logo img{width:100%!important;height:100%!important;object-fit:contain!important;margin:0!important}
.ptm-sponsor-placeholder{text-align:center;font-size:12px;font-weight:900}
.ptm-empty-sponsor-card{align-content:center;gap:3px;border:1px dashed #E1E1E1!important;background:linear-gradient(145deg,#fff,#F5F5F5)!important;box-shadow:none!important;text-align:center}
.ptm-empty-sponsor-card .ptm-empty-sponsor-icon{display:grid;place-items:center;width:50px;height:50px;margin:0 auto 5px;border-radius:50%;background:#F5F5F5;color:#666666;font-size:25px}
.ptm-empty-sponsor-card strong{color:#2D2D2D;font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.ptm-empty-sponsor-card small{color:#666666;font-size:11px}
/* JOIN / FORM */
.ptm-join-section{
    position:relative;
    isolation:isolate;
    margin-top:8px;
    overflow:hidden;
    background:#121212;
    color:#fff;
}
.ptm-join-section::before{
    content:"";
    position:absolute;
    z-index:-2;
    inset:0 auto 0 0;
    width:58%;
    background-image:linear-gradient(90deg,rgba(0,0,0,.95),rgba(0,0,0,.82)),var(--ptm-join-bg);
    background-size:cover;
    background-position:center;
}
.ptm-join-section::after{
    content:"";
    position:absolute;
    z-index:-1;
    left:31%;
    bottom:-82px;
    width:250px;
    height:250px;
    background-image:var(--ptm-join-logo);
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
    opacity:.08;
    pointer-events:none;
}
.ptm-join-inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(500px,1.04fr);
    gap:44px;
    align-items:center;
    width:100%;
    max-width:1220px;
    margin:0 auto;
    padding:34px 28px;
}
.ptm-join-copy{position:relative;padding:2px 0}
.ptm-join-copy h2{margin:0 0 8px!important;color:#fff!important;font-size:34px!important;line-height:1.07!important;letter-spacing:-.025em}
.ptm-join-copy>p:not(.ptm-eyebrow){margin:0 0 24px!important;color:#fff!important;font-size:15px!important;line-height:1.4!important}
.ptm-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:0;text-align:center}
.ptm-benefits>div{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:118px;padding:9px 13px;border-right:1px solid rgba(255,255,255,.34)}
.ptm-benefits>div:last-child{border-right:0}
.ptm-benefits .ptm-icon{display:grid;margin:0 auto 10px;color:var(--ptm-gold);font-size:49px;line-height:1}
.ptm-benefits .ptm-icon svg{width:1em;height:1em;stroke-width:1.8}
.ptm-benefits strong{display:block;color:#fff;font-size:14px;line-height:1.28;font-weight:800}
.ptm-enquiry-card{padding:17px 18px 14px;border:1px solid rgba(0,0,0,.18);border-radius:9px;background:#fff;color:var(--ptm-ink);box-shadow:0 10px 28px rgba(0,0,0,.18)}
.ptm-form-heading{display:flex;align-items:flex-start;gap:9px;margin-bottom:10px}
.ptm-form-heading .ptm-icon{font-size:24px}
.ptm-form-heading h2{margin:0!important;color:var(--ptm-navy)!important;font-size:19px!important;line-height:1.15!important}
.ptm-form-heading p{margin:2px 0 0!important;color:var(--ptm-muted)!important;font-size:10px!important;line-height:1.25!important}
.ptm-form-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px 10px}
.ptm-field{margin:0!important}
.ptm-field-name,.ptm-field-player-name,.ptm-field-player-age{grid-column:span 2}
.ptm-field-email,.ptm-field-phone{grid-column:span 3}
.ptm-field-company{grid-column:span 3}
.ptm-field-message,.ptm-span-2{grid-column:1/-1}
.ptm-field label{display:block;margin:0;color:var(--ptm-navy);font-size:10px;line-height:1.2;font-weight:800}
.ptm-field input,.ptm-field textarea,.ptm-field select{width:100%!important;min-height:32px!important;margin:3px 0 0!important;padding:6px 8px!important;border:1px solid #E1E1E1!important;border-radius:4px!important;background:#fff!important;color:#000000!important;box-shadow:none!important;font-size:11px!important;line-height:1.25!important}
.ptm-field textarea{min-height:66px!important;resize:vertical}
.ptm-enquiry-form>.ptm-btn{width:100%!important;margin-top:9px!important;padding:10px 14px!important;font-size:12px!important}
.ptm-form-privacy{margin:7px 0 0!important;color:#2D2D2D!important;font-size:9px!important;line-height:1.25!important;text-align:center}
.ptm-form-status{min-height:17px;margin-top:5px;font-size:10px;font-weight:700}
.ptm-form-status.success{color:#19733a}.ptm-form-status.error{color:#b42318}
.ptm-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.ptm-submit-btn.is-loading{opacity:.7;cursor:wait}
/* LIGHTBOX */
.ptm-lightbox{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:5vw;background:rgba(0,0,0,.92)}
.ptm-lightbox[hidden]{display:none}
.ptm-lightbox-content{display:grid;place-items:center;width:min(1200px,92vw);max-height:88vh}
.ptm-lightbox-content img,.ptm-lightbox-content video{max-width:100%;max-height:88vh}
.ptm-lightbox-content iframe{width:min(1100px,90vw);aspect-ratio:16/9;border:0}
.ptm-team-page+.ptm-lightbox .ptm-lightbox-close,.ptm-lightbox-close{position:fixed;top:18px;right:25px;padding:0!important;border:0!important;background:transparent!important;color:#fff!important;font-size:44px!important;cursor:pointer}
.ptm-modal-open{overflow:hidden}

/* COMMITTEE SHORTCODE */
.ptm-committee-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}
.ptm-committee-card{padding:18px;border:1px solid #F5F5F5;border-radius:9px;background:#fff;box-shadow:0 5px 16px rgba(0,0,0,.06);text-align:center}
.ptm-committee-card img{width:92px;height:92px;margin:0 auto;object-fit:contain}
.ptm-committee-card h3{margin:9px 0 2px;color:#000000;font-size:18px}
.ptm-committee-card p{margin:0 0 12px;color:#2D2D2D}
.ptm-committee-card .ptm-btn{width:100%!important}

@media (max-width:1100px){
    .ptm-hero-inner{grid-template-columns:minmax(340px,36%) minmax(0,64%)}
    .ptm-hero-copy{padding-left:32px;padding-right:40px}
    .ptm-hero h1{font-size:44px!important}
    .ptm-info-count-4{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ptm-info-count-4 .ptm-info-item:nth-child(2){border-right:0}
    .ptm-info-count-4 .ptm-info-item:nth-child(-n+2){border-bottom:1px solid var(--ptm-line)}
    .ptm-coach-grid.ptm-count-3{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ptm-tables-grid{grid-template-columns:1fr}
    .ptm-join-inner{grid-template-columns:1fr;gap:24px}
    .ptm-join-section::before{width:100%;opacity:.35}
}

@media (max-width:780px){
    .ptm-team-page{font-size:15px}
    .ptm-hero-inner{grid-template-columns:1fr;min-height:0}
    .ptm-hero-media{order:-1}
    .ptm-banner-image,.ptm-banner-fallback{height:auto!important;min-height:0!important;aspect-ratio:16/8;object-fit:cover!important}
    .ptm-banner-fallback{object-fit:contain!important;background:#000000}
    .ptm-hero-copy{padding:24px 20px 27px}
    .ptm-hero-copy::after{display:none}
    .ptm-hero h1{max-width:none;font-size:38px!important}
    .ptm-hero-tagline{font-size:17px!important}
    .ptm-info-wrap{margin:0;padding:0 14px;background:#fff}
    .ptm-info-bar{border-radius:0 0 8px 8px;box-shadow:0 5px 16px rgba(0,0,0,.08)}
    .ptm-info-count-4,.ptm-info-count-3,.ptm-info-count-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
    .ptm-info-count-3 .ptm-info-item:nth-child(2),.ptm-info-count-2 .ptm-info-item:nth-child(2){border-right:0}
    .ptm-info-item{padding:13px 12px;gap:9px}
    .ptm-info-item:nth-child(2n){border-right:0}
    .ptm-info-count-3 .ptm-info-item:nth-child(-n+2),.ptm-info-count-4 .ptm-info-item:nth-child(-n+2){border-bottom:1px solid var(--ptm-line)}
    .ptm-icon{font-size:25px}
    .ptm-info-item span:not(.ptm-icon){font-size:13px}
    .ptm-section,.ptm-team-intro{padding-left:16px;padding-right:16px}
    .ptm-section-title h2{font-size:24px!important}
    .ptm-next-match{grid-template-columns:1fr;gap:12px;padding:18px;text-align:center}
    .ptm-next-centre{order:-1}
    .ptm-next-side,.ptm-next-away{justify-content:center;text-align:center}
    .ptm-coach-grid.ptm-count-1,.ptm-coach-grid.ptm-count-2,.ptm-coach-grid.ptm-count-3{grid-template-columns:1fr}
    .ptm-coach-card{grid-template-columns:135px minmax(0,1fr)}
    .ptm-coach-photo{min-height:190px}
    .ptm-coach-photo img{min-height:190px!important}
    .ptm-media-track{grid-auto-columns:70vw}
    .ptm-sponsor-grid,.ptm-sponsor-grid.ptm-sponsor-count-1,.ptm-sponsor-grid.ptm-sponsor-count-2,.ptm-sponsor-grid.ptm-sponsor-count-3{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ptm-join-inner{padding:28px 16px}
    .ptm-join-section::before{width:100%;opacity:.3}
    .ptm-join-section::after{left:50%;transform:translateX(-50%)}
    .ptm-join-copy h2{font-size:29px!important}
    .ptm-form-grid{grid-template-columns:1fr}
    .ptm-field-name,.ptm-field-player-name,.ptm-field-player-age,.ptm-field-email,.ptm-field-phone,.ptm-field-company,.ptm-field-message,.ptm-span-2{grid-column:span 1}
}

@media (max-width:520px){
    .ptm-hero h1{font-size:34px!important}
    .ptm-banner-image,.ptm-banner-fallback{aspect-ratio:16/9}
    .ptm-info-count-4,.ptm-info-count-3,.ptm-info-count-2,.ptm-info-count-1{grid-template-columns:1fr;max-width:none}
    .ptm-info-item{border-right:0!important;border-bottom:1px solid var(--ptm-line)!important}
    .ptm-info-item:last-child{border-bottom:0!important}
    .ptm-section-title{display:block}
    .ptm-section-title .ptm-outline-btn{margin-top:9px!important}
    .ptm-coach-card{grid-template-columns:108px minmax(0,1fr)}
    .ptm-coach-photo{min-height:160px}
    .ptm-coach-photo img{min-height:160px!important}
    .ptm-coach-body{padding:12px}
    .ptm-coach-body h3{font-size:17px!important}
    .ptm-coach-bio{font-size:11px}
    .ptm-media-track{grid-auto-columns:82vw}
    .ptm-sponsor-card{min-height:112px;padding:10px}
    .ptm-benefits strong{font-size:10px}
    .ptm-table-card>header{align-items:flex-start;flex-direction:column}
}

/* =========================================================
   v1.2.0 visual refinements – approved Kingsdown team design
   ========================================================= */
@media (min-width:781px){
    .ptm-hero-inner{
        grid-template-columns:minmax(430px,39%) minmax(0,61%);
        max-width:1440px;
        min-height:350px;
    }
    .ptm-hero-copy{
        justify-content:center;
        padding:56px 48px 42px 42px;
        overflow:visible;
    }
    .ptm-hero-copy::after{
        top:0;
        right:-92px;
        width:93px;
        height:100%;
        z-index:1;
        background:var(--ptm-navy);
        clip-path:polygon(0 0,0 100%,100% 100%);
    }
    .ptm-hero-copy::before{
        z-index:0;
        inset:0 -34px 0 0;
        opacity:.09;
        background-position:88% 52%;
        background-size:330px 330px;
    }
    .ptm-hero-copy>*{position:relative;z-index:2}
    .ptm-hero h1{
        max-width:535px;
        font-size:clamp(42px,3.15vw,54px)!important;
        line-height:.98!important;
        letter-spacing:-.045em;
    }
    .ptm-hero h1.ptm-title-long{font-size:clamp(39px,2.85vw,49px)!important}
    .ptm-hero h1.ptm-title-xlong{font-size:clamp(36px,2.65vw,46px)!important}
    .ptm-banner-image,.ptm-banner-fallback{
        height:350px!important;
        min-height:350px!important;
    }
}
.ptm-hero-media{position:relative}
.ptm-more-than-football{
    position:absolute;
    z-index:3;
    right:25px;
    bottom:17px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    color:#fff;
    font-family:"Segoe Print","Bradley Hand","Brush Script MT",cursive;
    font-size:25px;
    font-style:italic;
    font-weight:700;
    line-height:.82;
    letter-spacing:-.055em;
    text-shadow:0 2px 5px rgba(0,0,0,.38);
    transform:rotate(-5deg);
    pointer-events:none;
}
.ptm-more-than-football span:nth-child(2){margin-left:13px}
.ptm-more-than-football span:nth-child(3){position:relative;margin-left:5px}
.ptm-more-than-football span:nth-child(3)::after{
    content:"";
    position:absolute;
    left:3px;
    right:-5px;
    bottom:-8px;
    height:4px;
    border-radius:99px;
    background:var(--ptm-gold);
    transform:rotate(-4deg);
}

.ptm-info-wrap{max-width:1280px;margin-top:-22px}
.ptm-info-bar{min-height:92px}
.ptm-info-item{
    justify-content:center;
    min-height:92px;
    padding:18px 22px;
    gap:16px;
}
.ptm-info-item .ptm-icon{font-size:39px;line-height:1}
.ptm-info-item strong{font-size:14px;line-height:1.12;font-weight:850}
.ptm-info-item span:not(.ptm-icon){font-size:16px;line-height:1.22;font-weight:800}

.ptm-join-section{
    background:#121212;
    min-height:340px;
}
.ptm-join-section::before{
    inset:0;
    width:100%;
    background-image:linear-gradient(90deg,rgba(0,0,0,.20) 0%,rgba(0,0,0,.12) 55%,rgba(0,0,0,.22) 100%),var(--ptm-join-bg);
    background-size:cover;
    background-position:center center;
    opacity:1;
}
.ptm-join-section::after{display:none}
.ptm-join-inner{max-width:1280px;min-height:340px;padding-top:30px;padding-bottom:30px}
.ptm-benefits>div{min-height:126px;padding-top:8px}
.ptm-benefits .ptm-icon{font-size:60px;margin-bottom:12px}
.ptm-benefits strong{font-size:15px;line-height:1.28}

@media (max-width:1100px) and (min-width:781px){
    .ptm-hero-inner{grid-template-columns:minmax(390px,40%) minmax(0,60%)}
    .ptm-hero-copy{padding:52px 42px 40px 34px}
    .ptm-hero h1{font-size:43px!important}
    .ptm-hero h1.ptm-title-long{font-size:40px!important}
    .ptm-hero h1.ptm-title-xlong{font-size:37px!important}
    .ptm-info-item{padding:16px 14px}
    .ptm-info-item .ptm-icon{font-size:36px}
}

@media (max-width:780px){
    .ptm-hero-copy{padding:34px 20px 29px}
    .ptm-hero-copy::before{
        display:block;
        opacity:.065;
        background-position:105% 50%;
        background-size:235px;
    }
    .ptm-hero-copy>*{position:relative;z-index:2}
    .ptm-more-than-football{right:17px;bottom:15px;font-size:20px}
    .ptm-info-bar{min-height:0}
    .ptm-info-item{justify-content:flex-start;min-height:78px;padding:14px 13px;gap:11px}
    .ptm-info-item .ptm-icon{font-size:31px}
    .ptm-info-item strong{font-size:12px}
    .ptm-info-item span:not(.ptm-icon){font-size:14px}
    .ptm-join-section::before{opacity:1;width:100%}
    .ptm-join-inner{min-height:0}
    .ptm-benefits .ptm-icon{font-size:51px}
}

@media (max-width:520px){
    .ptm-more-than-football{font-size:17px;right:13px;bottom:12px}
    .ptm-hero-copy{padding-top:31px}
    .ptm-hero h1,.ptm-hero h1.ptm-title-long,.ptm-hero h1.ptm-title-xlong{font-size:33px!important;line-height:1!important}
    .ptm-info-item{justify-content:flex-start;min-height:72px;padding:13px 18px}
    .ptm-info-item .ptm-icon{font-size:32px}
}


/* =========================================================
   v1.2.1 hero / information / manager / sponsor refinements
   ========================================================= */
@media (min-width:781px){
    .ptm-hero-inner{
        grid-template-columns:minmax(0,37%) minmax(0,63%);
        max-width:1280px;
        min-height:390px;
    }
    .ptm-hero-copy{
        min-height:390px;
        padding:70px 44px 48px 58px;
    }
    .ptm-hero-copy::after{
        right:-108px;
        width:110px;
        height:100.5%;
        bottom:-2px;
        top:0;
        clip-path:polygon(0 0,0 100%,100% 100%);
    }
    .ptm-hero-copy::before{
        inset:-15px -35px -15px 0;
        opacity:.065;
        background-position:78% 53%;
        background-size:365px 365px;
    }
    .ptm-hero h1{
        max-width:390px;
        margin-bottom:12px!important;
        font-family:"Arial Black","Helvetica Neue",Arial,sans-serif!important;
        font-size:48px!important;
        line-height:.94!important;
        letter-spacing:-.045em!important;
    }
    .ptm-hero h1 .ptm-title-first,
    .ptm-hero h1 .ptm-title-rest{display:block;white-space:nowrap}
    .ptm-hero h1 .ptm-title-first{font-size:.94em}
    .ptm-hero h1.ptm-title-rest-long .ptm-title-rest{font-size:.88em}
    .ptm-hero h1.ptm-title-rest-xlong .ptm-title-rest{font-size:.80em}
    .ptm-banner-image,.ptm-banner-fallback{
        height:390px!important;
        min-height:390px!important;
    }
    .ptm-more-than-football{right:24px;bottom:23px;font-size:26px}

    .ptm-info-wrap{max-width:1280px;margin-top:-24px;padding-left:24px;padding-right:24px}
    .ptm-info-bar{min-height:78px}
    .ptm-info-item{
        min-height:78px;
        padding:11px 18px;
        gap:15px;
        justify-content:center;
    }
    .ptm-info-item .ptm-icon{font-size:42px;line-height:1}
    .ptm-info-item strong{font-size:13px;line-height:1.08;font-weight:850}
    .ptm-info-item span:not(.ptm-icon){font-size:16px;line-height:1.16;font-weight:850}
    .ptm-info-item:nth-child(3) span:not(.ptm-icon){font-size:13.5px;line-height:1.16}

    .ptm-coach-card.ptm-no-bio .ptm-coach-body{justify-content:center}
    .ptm-coach-card.ptm-no-bio .ptm-coach-bio{flex:0}
    .ptm-coach-card.ptm-no-bio .ptm-btn{margin-top:15px!important}
    .ptm-coach-card.ptm-has-bio .ptm-coach-bio{flex:0}
    .ptm-coach-card.ptm-has-bio .ptm-btn{margin-top:12px!important}

    .ptm-sponsor-card{min-height:170px;padding:14px 18px}
    .ptm-sponsor-logo{max-width:190px;max-height:132px;aspect-ratio:auto}
    .ptm-sponsor-logo img{width:100%!important;height:100%!important;max-height:132px!important;object-fit:contain!important}
}

@media (max-width:1100px) and (min-width:781px){
    .ptm-hero-inner{grid-template-columns:minmax(360px,40%) minmax(0,60%);min-height:370px}
    .ptm-hero-copy{min-height:370px;padding:60px 38px 42px 34px}
    .ptm-hero h1{font-size:42px!important;max-width:350px}
    .ptm-banner-image,.ptm-banner-fallback{height:370px!important;min-height:370px!important}
    .ptm-info-item{padding:10px 12px;gap:11px}
    .ptm-info-item .ptm-icon{font-size:36px}
    .ptm-info-item span:not(.ptm-icon){font-size:14px}
    .ptm-info-item:nth-child(3) span:not(.ptm-icon){font-size:12.5px}
}

@media (max-width:780px){
    .ptm-hero-copy::before{
        background-image:var(--ptm-hero-mark,none);
        opacity:.055;
        background-position:92% 52%;
        background-size:245px 245px;
    }
    .ptm-hero h1{
        font-family:"Arial Black","Helvetica Neue",Arial,sans-serif!important;
        font-size:36px!important;
        line-height:.96!important;
        letter-spacing:-.04em!important;
    }
    .ptm-hero h1 .ptm-title-first,.ptm-hero h1 .ptm-title-rest{display:block}
    .ptm-info-item:nth-child(3) span:not(.ptm-icon){font-size:13px}
    .ptm-sponsor-logo{max-width:145px;max-height:105px;aspect-ratio:auto}
}


/* =========================================================
   v1.2.3 banner fill + square sponsor artwork
   ========================================================= */
/* The media panel must always fill the complete hero grid row. This also
   prevents a navy strip appearing below correctly-sized 1600x680/1800x760
   team banners when the text column determines the row height. */
.ptm-hero-media{
    align-self:stretch;
    height:100%;
}
.ptm-hero-media .ptm-banner-image,
.ptm-hero-media .ptm-banner-fallback{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center center!important;
}

/* Uploaded sponsor artwork is expected to be square. Make the visible card
   itself square, remove all artwork padding and let even smaller source
   squares upscale to the exact same visual size. */
.ptm-sponsor-card:not(.ptm-empty-sponsor-card){
    aspect-ratio:1 / 1;
    min-height:0!important;
    padding:0!important;
    overflow:hidden;
}
.ptm-sponsor-card:not(.ptm-empty-sponsor-card) .ptm-sponsor-logo{
    display:block;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    aspect-ratio:1 / 1!important;
    overflow:hidden;
}
.ptm-sponsor-card:not(.ptm-empty-sponsor-card) .ptm-sponsor-logo img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    object-fit:cover!important;
    object-position:center center!important;
}

@media (min-width:781px){
    .ptm-hero-media{min-height:390px}
}
@media (max-width:1100px) and (min-width:781px){
    .ptm-hero-media{min-height:370px}
}
@media (max-width:780px){
    .ptm-hero-media{
        height:clamp(235px,55vw,340px);
        min-height:235px;
    }
}


/* =========================================================
   v1.2.4 picture-wrapper banner fix
   =========================================================
   Image optimisation plugins such as Imagify may replace the attachment
   <img> with a <picture> element and move the ptm-banner-image class onto
   that wrapper. The picture itself can fill the hero while its inner img
   keeps its intrinsic aspect ratio, leaving the hero background visible
   underneath. Force both levels to fill the media panel. */
.ptm-hero-media > picture.ptm-banner-image,
.ptm-hero-media > .ptm-banner-image {
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    line-height:0!important;
    overflow:hidden!important;
}
.ptm-hero-media > picture.ptm-banner-image > img,
.ptm-hero-media > picture.ptm-banner-image img,
.ptm-hero-media > .ptm-banner-image:not(picture) {
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    object-fit:cover!important;
    object-position:center center!important;
    vertical-align:top!important;
}
.ptm-hero-media{overflow:hidden!important;line-height:0!important}
.ptm-hero-copy{line-height:normal}

/* Sponsor art stays edge-to-edge even if a theme or optimisation plugin adds
   inline image spacing. */
.ptm-sponsor-card:not(.ptm-empty-sponsor-card),
.ptm-sponsor-card:not(.ptm-empty-sponsor-card) .ptm-sponsor-logo,
.ptm-sponsor-card:not(.ptm-empty-sponsor-card) .ptm-sponsor-logo picture {
    aspect-ratio:1 / 1!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
}
.ptm-sponsor-card:not(.ptm-empty-sponsor-card) .ptm-sponsor-logo picture,
.ptm-sponsor-card:not(.ptm-empty-sponsor-card) .ptm-sponsor-logo picture img {
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    object-fit:cover!important;
}


/* =========================================================
   v1.2.5 hero crop / width refinement
   =========================================================
   - hero image now reaches the full right edge of the screen
   - diagonal divider is shallower so less of the banner is hidden
   - desktop hero is taller and the banner aligns to the top centre,
     showing more of the original uploaded image and preserving the
     upper corners more naturally
   - left hero copy aligns with the main content column below
*/
@media (min-width:781px){
    .ptm-hero{background:var(--ptm-navy)!important}
    .ptm-hero-inner{
        width:100%!important;
        max-width:none!important;
        margin:0!important;
        grid-template-columns:minmax(340px,32%) minmax(0,1fr)!important;
        min-height:clamp(400px,28vw,480px)!important;
    }
    .ptm-hero-copy{
        min-height:clamp(400px,28vw,480px)!important;
        padding-top:82px!important;
        padding-bottom:48px!important;
        padding-left:max(28px, calc((100vw - 1220px) / 2 + 28px))!important;
        padding-right:26px!important;
    }
    .ptm-hero-copy::after{
        right:-54px!important;
        width:68px!important;
        height:100%!important;
        clip-path:polygon(0 0, 42% 0, 100% 100%, 58% 100%)!important;
    }
    .ptm-hero-copy::before{
        inset:-20px -18px -20px 0!important;
        opacity:.075!important;
        background-position:90% 52%!important;
        background-size:420px 420px!important;
    }
    .ptm-hero h1{
        max-width:355px!important;
        margin-bottom:12px!important;
        font-size:clamp(42px,3.8vw,58px)!important;
        line-height:.94!important;
    }
    .ptm-hero-tagline{
        font-size:18px!important;
    }
    .ptm-banner-image,.ptm-banner-fallback,
    .ptm-hero-media{
        min-height:clamp(400px,28vw,480px)!important;
        height:clamp(400px,28vw,480px)!important;
    }
    .ptm-hero-media,
    .ptm-hero-media > picture.ptm-banner-image,
    .ptm-hero-media > .ptm-banner-image,
    .ptm-hero-media > picture.ptm-banner-image > img,
    .ptm-hero-media > picture.ptm-banner-image img,
    .ptm-hero-media > .ptm-banner-image:not(picture){
        object-position:center top!important;
    }
    .ptm-more-than-football{
        right:26px!important;
        bottom:18px!important;
        font-size:25px!important;
    }
    .ptm-info-wrap{
        max-width:1220px!important;
        margin-top:-36px!important;
        padding-left:28px!important;
        padding-right:28px!important;
    }
}

@media (max-width:1100px) and (min-width:781px){
    .ptm-hero-inner{
        grid-template-columns:minmax(320px,35%) minmax(0,1fr)!important;
        min-height:400px!important;
    }
    .ptm-hero-copy{
        min-height:400px!important;
        padding-top:76px!important;
        padding-bottom:42px!important;
        padding-left:34px!important;
        padding-right:24px!important;
    }
    .ptm-hero-copy::before{
        background-size:340px 340px!important;
        background-position:88% 52%!important;
    }
    .ptm-hero h1{
        max-width:320px!important;
        font-size:42px!important;
    }
    .ptm-banner-image,.ptm-banner-fallback,
    .ptm-hero-media{
        min-height:400px!important;
        height:400px!important;
    }
    .ptm-info-wrap{margin-top:-28px!important}
}


/* =========================================================
   v1.2.6 attached diagonal + uncropped mobile banner
   ========================================================= */
@media (min-width:781px){
    /* Use a single solid navy wedge attached directly to the copy panel.
       The previous clipped strip left a visible channel between the panel
       and diagonal on some viewport widths. */
    .ptm-hero-copy::after{
        right:-72px!important;
        width:74px!important;
        height:100%!important;
        top:0!important;
        bottom:auto!important;
        background:var(--ptm-navy)!important;
        clip-path:polygon(0 0,100% 0,30% 100%,0 100%)!important;
    }

    /* Keep the deliberately two-line title fully inside the navy copy area. */
    .ptm-hero h1{
        max-width:100%!important;
        overflow:visible!important;
    }
    .ptm-hero h1 .ptm-title-first{
        font-size:.88em!important;
    }
    .ptm-hero h1 .ptm-title-rest{
        font-size:.76em!important;
    }
    .ptm-hero h1.ptm-title-rest-long .ptm-title-rest{
        font-size:.70em!important;
    }
    .ptm-hero h1.ptm-title-rest-xlong .ptm-title-rest{
        font-size:.64em!important;
    }
}

@media (max-width:780px){
    /* Mobile should show the entire uploaded banner with zero crop. The
       <picture> wrapper produced by image optimisation plugins is returned
       to normal document flow and the inner image keeps its natural ratio. */
    .ptm-hero-media{
        order:-1!important;
        position:relative!important;
        width:100%!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        aspect-ratio:auto!important;
        overflow:hidden!important;
        line-height:0!important;
        background:var(--ptm-navy)!important;
    }
    .ptm-hero-media > picture.ptm-banner-image,
    .ptm-hero-media > .ptm-banner-image,
    .ptm-hero-media > .ptm-banner-fallback{
        position:relative!important;
        inset:auto!important;
        display:block!important;
        width:100%!important;
        height:auto!important;
        min-width:0!important;
        min-height:0!important;
        max-width:100%!important;
        max-height:none!important;
        aspect-ratio:auto!important;
        margin:0!important;
        padding:0!important;
        overflow:visible!important;
        line-height:0!important;
    }
    .ptm-hero-media > picture.ptm-banner-image > img,
    .ptm-hero-media > picture.ptm-banner-image img,
    .ptm-hero-media > .ptm-banner-image:not(picture),
    .ptm-hero-media > .ptm-banner-fallback{
        position:relative!important;
        inset:auto!important;
        display:block!important;
        width:100%!important;
        height:auto!important;
        min-width:0!important;
        min-height:0!important;
        max-width:100%!important;
        max-height:none!important;
        aspect-ratio:auto!important;
        margin:0!important;
        padding:0!important;
        object-fit:contain!important;
        object-position:center top!important;
        vertical-align:top!important;
    }
    .ptm-hero-copy::after{display:none!important}
}


/* =========================================================
   v1.2.7 centred mobile hero copy
   ========================================================= */
@media (max-width:780px){
    .ptm-hero-copy{
        align-items:center!important;
        justify-content:center!important;
        text-align:center!important;
        padding:30px 22px 34px!important;
    }
    .ptm-hero-copy::before{
        inset:0!important;
        opacity:.06!important;
        background-position:center 52%!important;
        background-size:min(82vw,360px)!important;
    }
    .ptm-eyebrow{
        width:100%!important;
        margin-bottom:10px!important;
        text-align:center!important;
    }
    .ptm-hero h1{
        width:100%!important;
        max-width:520px!important;
        margin-left:auto!important;
        margin-right:auto!important;
        text-align:center!important;
        font-size:clamp(36px,10.4vw,49px)!important;
        line-height:.96!important;
    }
    .ptm-hero h1 .ptm-title-first,
    .ptm-hero h1 .ptm-title-rest{
        display:block!important;
        white-space:normal!important;
    }
    .ptm-hero-tagline{
        width:100%!important;
        margin-left:auto!important;
        margin-right:auto!important;
        text-align:center!important;
        font-size:17px!important;
    }
    .ptm-hero-copy > .ptm-btn{
        align-self:center!important;
        margin-left:auto!important;
        margin-right:auto!important;
        padding:13px 22px!important;
        font-size:16px!important;
    }
}

@media (max-width:430px){
    .ptm-hero-copy{padding:27px 17px 31px!important}
    .ptm-hero h1{font-size:clamp(34px,10.5vw,43px)!important}
    .ptm-hero-tagline{font-size:16px!important}
}

/* =========================================================
   v1.2.8 FA Full-Time isolated feeds + redesigned tables
   ========================================================= */
.ptm-fa-frame{
    position:absolute!important;
    left:-99999px!important;
    top:0!important;
    width:1200px!important;
    height:900px!important;
    border:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
}
.ptm-fa-display{
    min-height:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    background:#fff!important;
}
.ptm-fa-display .ptm-fa-table{
    width:100%!important;
    min-width:620px;
    table-layout:auto!important;
    border-collapse:collapse!important;
    margin:0!important;
    font-size:13px!important;
}
.ptm-fa-display .ptm-fa-table th{
    padding:9px 12px!important;
    background:#F5F5F5!important;
    color:#121212!important;
    border-bottom:1px solid #E1E1E1!important;
    font-size:12px!important;
    font-weight:900!important;
    white-space:nowrap!important;
}
.ptm-fa-display .ptm-fa-table td{
    padding:9px 12px!important;
    background:#fff!important;
    color:#121212!important;
    border-bottom:1px solid #E1E1E1!important;
    font-size:13px!important;
    line-height:1.2!important;
    vertical-align:middle!important;
    white-space:nowrap!important;
}
.ptm-fa-display .ptm-fa-table tbody tr:nth-child(even) td{
    background:#F5F5F5!important;
}
.ptm-fixtures-table .ptm-opponent-cell{
    min-width:210px;
    white-space:normal!important;
    font-weight:700!important;
}
.ptm-result-pill{
    display:inline-flex;
    min-width:70px;
    justify-content:center;
    align-items:center;
    padding:5px 9px;
    border-radius:6px;
    font-size:12px;
    font-weight:900;
    line-height:1;
    white-space:nowrap;
}
.ptm-result-pill.is-upcoming{background:#F5F5F5;color:#2D2D2D}
.ptm-result-pill.is-win{background:#25a84a;color:#fff}
.ptm-result-pill.is-loss{background:#E01E26;color:#fff}
.ptm-result-pill.is-draw{background:#BEBEBE;color:#fff}
.ptm-league-table .ptm-league-team-cell{
    min-width:190px;
    white-space:normal!important;
}
.ptm-fa-display .ptm-league-table tr.ptm-current-team-row td{
    background:var(--ptm-gold)!important;
    color:#000000!important;
    font-weight:900!important;
}
.ptm-fa-error{
    min-height:170px;
    display:grid;
    place-items:center;
    padding:26px!important;
    background:#F5F5F5;
    color:#2D2D2D!important;
    text-align:center;
}

@media (max-width:780px){
    .ptm-tables-grid{gap:18px!important}
    .ptm-table-card>header{
        flex-direction:row!important;
        align-items:center!important;
        padding:11px 13px!important;
    }
    .ptm-table-card h2{font-size:16px!important}
    .ptm-table-card header a{font-size:10px!important}
    .ptm-fa-display .ptm-fa-table{min-width:600px}
    .ptm-fa-display .ptm-fa-table th,
    .ptm-fa-display .ptm-fa-table td{padding:8px 10px!important;font-size:12px!important}
}


/* =========================================================
   v1.2.9 compact non-scrolling FA tables
   ========================================================= */
.ptm-fa-display{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
}
.ptm-fa-display .ptm-fa-table{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    table-layout:fixed!important;
}
.ptm-fa-display .ptm-fa-table th,
.ptm-fa-display .ptm-fa-table td{
    overflow-wrap:anywhere!important;
    word-break:normal!important;
}

/* Fixtures: fit the complete six-column table inside its card on desktop. */
.ptm-fixtures-table th,
.ptm-fixtures-table td{
    padding:8px 6px!important;
    font-size:11.5px!important;
    white-space:normal!important;
}
.ptm-fixtures-table th:nth-child(1),.ptm-fixtures-table td:nth-child(1){width:17%}
.ptm-fixtures-table th:nth-child(2),.ptm-fixtures-table td:nth-child(2){width:33%}
.ptm-fixtures-table th:nth-child(3),.ptm-fixtures-table td:nth-child(3){width:7%;text-align:center!important}
.ptm-fixtures-table th:nth-child(4),.ptm-fixtures-table td:nth-child(4){width:14%}
.ptm-fixtures-table th:nth-child(5),.ptm-fixtures-table td:nth-child(5){width:13%;text-align:center!important}
.ptm-fixtures-table th:nth-child(6),.ptm-fixtures-table td:nth-child(6){width:16%;text-align:center!important}
.ptm-fixtures-table .ptm-opponent-cell{
    min-width:0!important;
    white-space:normal!important;
    line-height:1.18!important;
}
.ptm-result-pill{
    min-width:0!important;
    width:auto!important;
    max-width:100%!important;
    padding:5px 6px!important;
    font-size:10.5px!important;
}

/* League: position removed in JS, leaving Team + six compact stats. */
.ptm-league-table th,
.ptm-league-table td{
    padding:8px 5px!important;
    font-size:11.5px!important;
    text-align:center!important;
    white-space:nowrap!important;
}
.ptm-league-table th:first-child,
.ptm-league-table td:first-child{
    width:43%!important;
    text-align:left!important;
    white-space:normal!important;
    line-height:1.18!important;
}
.ptm-league-table th:not(:first-child),
.ptm-league-table td:not(:first-child){width:9.5%!important}
.ptm-league-table .ptm-league-team-cell{min-width:0!important}

@media (max-width:780px){
    .ptm-fa-display .ptm-fa-table{min-width:0!important}

    /* Fixtures become compact stacked rows on narrow screens. Every field remains
       visible, but there is never a horizontal scrollbar. */
    .ptm-fixtures-table thead{display:none!important}
    .ptm-fixtures-table,
    .ptm-fixtures-table tbody,
    .ptm-fixtures-table tr,
    .ptm-fixtures-table td{display:block!important;width:100%!important}
    .ptm-fixtures-table tr{
        padding:8px 11px!important;
        border-bottom:1px solid #E1E1E1!important;
        background:#fff!important;
    }
    .ptm-fixtures-table tr:nth-child(even){background:#F5F5F5!important}
    .ptm-fixtures-table td{
        display:grid!important;
        grid-template-columns:88px minmax(0,1fr)!important;
        gap:8px!important;
        align-items:start!important;
        padding:3px 0!important;
        border:0!important;
        background:transparent!important;
        text-align:left!important;
        font-size:12px!important;
        line-height:1.25!important;
        white-space:normal!important;
    }
    .ptm-fixtures-table td::before{
        content:attr(data-label);
        color:#000000;
        font-size:10px;
        line-height:1.3;
        font-weight:900;
        text-transform:uppercase;
        letter-spacing:.03em;
    }
    .ptm-fixtures-table .ptm-result-pill{justify-self:start}

    /* Keep standings as a genuine table but compress the stats enough to fit. */
    .ptm-league-table th,
    .ptm-league-table td{
        padding:7px 3px!important;
        font-size:10px!important;
    }
    .ptm-league-table th:first-child,
    .ptm-league-table td:first-child{
        width:46%!important;
        font-size:10.5px!important;
    }
    .ptm-league-table th:not(:first-child),
    .ptm-league-table td:not(:first-child){width:9%!important}
}

@media (max-width:430px){
    .ptm-league-table th,
    .ptm-league-table td{font-size:9px!important;padding:6px 2px!important}
    .ptm-league-table th:first-child,
    .ptm-league-table td:first-child{width:48%!important;font-size:9.5px!important}
}

/* =========================================================
   v1.2.10 table proportion refinements
   =========================================================
   Give Fixtures & Results more room on desktop and make the League Table
   deliberately narrower. The league team-name column can wrap onto two lines,
   while the compact stats use less horizontal spacing. */
@media (min-width:781px){
    .ptm-tables-grid{
        grid-template-columns:minmax(0,58fr) minmax(0,42fr)!important;
        gap:14px!important;
    }

    /* Use the extra fixtures width for the fields that benefit most. */
    .ptm-fixtures-table th,
    .ptm-fixtures-table td{
        padding:8px 7px!important;
        font-size:11.75px!important;
    }
    .ptm-fixtures-table th:nth-child(1),.ptm-fixtures-table td:nth-child(1){width:16%!important}
    .ptm-fixtures-table th:nth-child(2),.ptm-fixtures-table td:nth-child(2){width:36%!important}
    .ptm-fixtures-table th:nth-child(3),.ptm-fixtures-table td:nth-child(3){width:6%!important}
    .ptm-fixtures-table th:nth-child(4),.ptm-fixtures-table td:nth-child(4){width:13%!important}
    .ptm-fixtures-table th:nth-child(5),.ptm-fixtures-table td:nth-child(5){width:12%!important}
    .ptm-fixtures-table th:nth-child(6),.ptm-fixtures-table td:nth-child(6){width:17%!important}

    /* Narrow league table: allow longer names to wrap, and keep the numerical
       columns compact and visually close together. */
    .ptm-league-table th,
    .ptm-league-table td{
        padding:8px 3px!important;
        font-size:11px!important;
    }
    .ptm-league-table th:first-child,
    .ptm-league-table td:first-child{
        width:38%!important;
        padding-left:7px!important;
        padding-right:5px!important;
        white-space:normal!important;
        line-height:1.13!important;
    }
    .ptm-league-table th:not(:first-child),
    .ptm-league-table td:not(:first-child){
        width:10.333%!important;
        padding-left:2px!important;
        padding-right:2px!important;
        white-space:nowrap!important;
    }
}

@media (max-width:920px) and (min-width:781px){
    .ptm-tables-grid{
        grid-template-columns:minmax(0,56fr) minmax(0,44fr)!important;
    }
    .ptm-fixtures-table th,
    .ptm-fixtures-table td{font-size:10.75px!important;padding-left:5px!important;padding-right:5px!important}
    .ptm-league-table th,
    .ptm-league-table td{font-size:10.25px!important}
}


/* =========================================================
   v1.2.11 full-width FA fixtures + full league table
   =========================================================
   The two Full-Time sections now stack vertically at full content width. This
   gives fixtures enough room for the venue/address and lets the league table
   return to the complete Pos / Team / P / W / D / L / GD / Pts layout. */
.ptm-tables-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:20px!important;
}
.ptm-table-card{width:100%!important;max-width:100%!important}
.ptm-fa-display{overflow:visible!important}
.ptm-fa-display .ptm-fa-table{table-layout:fixed!important;width:100%!important;max-width:100%!important}

/* Full-width fixture table, including venue/address. */
.ptm-fixtures-table th,
.ptm-fixtures-table td{
    padding:10px 10px!important;
    font-size:12.5px!important;
    white-space:normal!important;
    line-height:1.24!important;
}
.ptm-fixtures-table th:nth-child(1),.ptm-fixtures-table td:nth-child(1){width:11%!important}
.ptm-fixtures-table th:nth-child(2),.ptm-fixtures-table td:nth-child(2){width:22%!important}
.ptm-fixtures-table th:nth-child(3),.ptm-fixtures-table td:nth-child(3){width:5%!important;text-align:center!important}
.ptm-fixtures-table th:nth-child(4),.ptm-fixtures-table td:nth-child(4){width:10%!important}
.ptm-fixtures-table th:nth-child(5),.ptm-fixtures-table td:nth-child(5){width:8%!important;text-align:center!important}
.ptm-fixtures-table th:nth-child(6),.ptm-fixtures-table td:nth-child(6){width:32%!important}
.ptm-fixtures-table th:nth-child(7),.ptm-fixtures-table td:nth-child(7){width:12%!important;text-align:center!important}
.ptm-fixtures-table .ptm-opponent-cell,
.ptm-fixtures-table .ptm-venue-cell{
    min-width:0!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
}
.ptm-fixtures-table .ptm-venue-cell{color:#2D2D2D!important;font-size:11.75px!important}

/* Full league standings. */
.ptm-league-table th,
.ptm-league-table td{
    padding:9px 8px!important;
    font-size:12px!important;
    white-space:nowrap!important;
    text-align:center!important;
}
.ptm-league-table th:nth-child(1),.ptm-league-table td:nth-child(1){width:7%!important}
.ptm-league-table th:nth-child(2),.ptm-league-table td:nth-child(2){width:44%!important;text-align:left!important;white-space:normal!important;line-height:1.18!important}
.ptm-league-table th:nth-child(n+3),.ptm-league-table td:nth-child(n+3){width:7%!important}
.ptm-league-table .ptm-league-team-cell{min-width:0!important}

@media (max-width:780px){
    /* Fixtures keep the existing stacked-card mobile treatment. The new venue
       field simply becomes another labelled row, so no sideways scrolling is needed. */
    .ptm-fixtures-table thead{display:none!important}
    .ptm-fixtures-table,
    .ptm-fixtures-table tbody,
    .ptm-fixtures-table tr,
    .ptm-fixtures-table td{display:block!important;width:100%!important}
    .ptm-fixtures-table tr{
        padding:10px 12px!important;
        border-bottom:1px solid #E1E1E1!important;
        background:#fff!important;
    }
    .ptm-fixtures-table td{
        display:grid!important;
        grid-template-columns:100px minmax(0,1fr)!important;
        gap:8px!important;
        padding:4px 0!important;
        border:0!important;
        background:transparent!important;
        text-align:left!important;
        font-size:12px!important;
        white-space:normal!important;
    }
    .ptm-fixtures-table td::before{
        content:attr(data-label);
        color:#000000;
        font-size:10px;
        font-weight:900;
        text-transform:uppercase;
        letter-spacing:.03em;
    }
    .ptm-fixtures-table .ptm-venue-cell{font-size:11.5px!important}

    /* Keep the full standings visible on mobile without horizontal scrolling. */
    .ptm-league-table th,
    .ptm-league-table td{padding:7px 3px!important;font-size:9.5px!important}
    .ptm-league-table th:nth-child(1),.ptm-league-table td:nth-child(1){width:8%!important}
    .ptm-league-table th:nth-child(2),.ptm-league-table td:nth-child(2){width:43%!important;font-size:10px!important}
    .ptm-league-table th:nth-child(n+3),.ptm-league-table td:nth-child(n+3){width:7%!important}
}

@media (max-width:430px){
    .ptm-league-table th,
    .ptm-league-table td{padding:6px 2px!important;font-size:8.6px!important}
    .ptm-league-table th:nth-child(2),.ptm-league-table td:nth-child(2){font-size:9.2px!important}
}


/* =========================================================
   v1.2.12 richer Full-Time league table
   =========================================================
   Preserve the FA feed's HOME / AWAY / TOTAL grouped headings and all
   statistics instead of flattening it into the older compact table. */
.ptm-league-table-full{
    table-layout:auto!important;
    width:100%!important;
    border-collapse:collapse!important;
}
.ptm-league-table-full th,
.ptm-league-table-full td{
    padding:7px 5px!important;
    border-right:1px solid #F5F5F5!important;
    border-bottom:1px solid #F5F5F5!important;
    font-size:10.5px!important;
    line-height:1.15!important;
    text-align:center!important;
    white-space:nowrap!important;
}
.ptm-league-table-full th:last-child,
.ptm-league-table-full td:last-child{border-right:0!important}
.ptm-league-table-full thead th{
    background:#F5F5F5!important;
    color:#000000!important;
    font-weight:900!important;
}
.ptm-league-table-full thead .ptm-league-group-row th{
    padding-top:8px!important;
    padding-bottom:8px!important;
    background:#F5F5F5!important;
    color:#000000!important;
    border-bottom:1px solid #E1E1E1!important;
    text-transform:uppercase!important;
    letter-spacing:.055em!important;
    font-size:10px!important;
}
.ptm-league-table-full thead .ptm-league-group-heading{
    background:#000000!important;
    color:#fff!important;
}
.ptm-league-table-full .ptm-league-team-cell,
.ptm-league-table-full th[data-ptm-key="team"]{
    width:20%!important;
    min-width:150px!important;
    text-align:left!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    font-size:11.25px!important;
    font-weight:800!important;
}
.ptm-league-table-full tr.ptm-current-team-row td{
    background:var(--ptm-gold)!important;
    color:#000000!important;
    font-weight:900!important;
}

/* At full desktop width the rich table should be visible as one complete
   standings grid rather than inheriting the older fixed eight-column widths. */
@media (min-width:781px){
    .ptm-league-table-full th,
    .ptm-league-table-full td{font-size:10px!important;padding:7px 4px!important}
    .ptm-league-table-full .ptm-league-team-cell,
    .ptm-league-table-full th[data-ptm-key="team"]{font-size:11px!important}
}

/* On phones, turn each standings row into a readable card. This preserves
   HOME / AWAY / TOTAL stats without forcing horizontal scrolling. */
@media (max-width:780px){
    .ptm-league-table-full thead{display:none!important}
    .ptm-league-table-full,
    .ptm-league-table-full tbody,
    .ptm-league-table-full tr,
    .ptm-league-table-full td{display:block!important;width:100%!important}
    .ptm-league-table-full tr{
        margin:0!important;
        padding:10px 12px!important;
        border-bottom:1px solid #E1E1E1!important;
        background:#fff!important;
    }
    .ptm-league-table-full td{
        display:grid!important;
        grid-template-columns:minmax(105px,38%) minmax(0,1fr)!important;
        gap:9px!important;
        padding:4px 0!important;
        border:0!important;
        background:transparent!important;
        text-align:left!important;
        white-space:normal!important;
        font-size:11px!important;
        min-width:0!important;
    }
    .ptm-league-table-full td::before{
        content:attr(data-label);
        color:#000000;
        font-size:9px;
        line-height:1.2;
        font-weight:900;
        text-transform:uppercase;
        letter-spacing:.025em;
    }
    .ptm-league-table-full .ptm-league-team-cell{
        width:100%!important;
        min-width:0!important;
        font-size:13px!important;
        font-weight:900!important;
    }
    .ptm-league-table-full tr.ptm-current-team-row{
        background:#fff8e7!important;
        border-left:4px solid var(--ptm-gold)!important;
    }
    .ptm-league-table-full tr.ptm-current-team-row td{background:transparent!important}
}


/* =========================================================
   v1.2.13 Full-Time table robustness + fixture proportions
   ========================================================= */
/* Keep the hidden FA data frame completely out of the visual layout. */
.ptm-fa-source{
    position:fixed!important;
    left:-100000px!important;
    top:-100000px!important;
    width:1px!important;
    height:1px!important;
    max-width:1px!important;
    max-height:1px!important;
    overflow:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
}
.ptm-fa-frame{
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:1200px!important;
    height:1000px!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    border:0!important;
}

/* Give the opponent more visual emphasis and make venue/address supporting
   information slightly smaller, while retaining the full-width no-scroll table. */
@media (min-width:781px){
    .ptm-fixtures-table th:nth-child(1),.ptm-fixtures-table td:nth-child(1){width:10%!important}
    .ptm-fixtures-table th:nth-child(2),.ptm-fixtures-table td:nth-child(2){width:29%!important}
    .ptm-fixtures-table th:nth-child(3),.ptm-fixtures-table td:nth-child(3){width:5%!important}
    .ptm-fixtures-table th:nth-child(4),.ptm-fixtures-table td:nth-child(4){width:9%!important}
    .ptm-fixtures-table th:nth-child(5),.ptm-fixtures-table td:nth-child(5){width:8%!important}
    .ptm-fixtures-table th:nth-child(6),.ptm-fixtures-table td:nth-child(6){width:28%!important}
    .ptm-fixtures-table th:nth-child(7),.ptm-fixtures-table td:nth-child(7){width:11%!important}
    .ptm-fixtures-table .ptm-opponent-cell{
        font-size:14.25px!important;
        line-height:1.2!important;
        font-weight:800!important;
    }
    .ptm-fixtures-table .ptm-venue-cell{
        font-size:10.5px!important;
        line-height:1.24!important;
        font-weight:600!important;
        color:#2D2D2D!important;
    }
}

/* A little more breathing room for richer grouped league headers while still
   keeping the actual standings edge-to-edge and removing all FA footer text. */
.ptm-league-table-full{margin:0!important}
.ptm-league-table-full thead tr:first-child th{border-top:0!important}


/* =========================================================
   v1.2.14 normalised detailed league headings
   =========================================================
   Full-Time's 600px detailed table can report inconsistent colspans. The
   frontend parser now normalises it to:
   Pos | Team | P | HOME W D L | AWAY W D L | OVERALL W D L
   and emits a colgroup so every statistic column has exactly equal width. */
@media (min-width:781px){
    .ptm-league-table-full.ptm-fa-table{
        table-layout:fixed!important;
    }
    .ptm-league-table-full .ptm-league-normalised-groups th{
        vertical-align:middle!important;
        text-align:center!important;
    }
    .ptm-league-table-full .ptm-league-normalised-groups th[data-ptm-key="team"]{
        text-align:left!important;
    }
    .ptm-league-table-full .ptm-league-stat-row th{
        width:auto!important;
        padding-left:2px!important;
        padding-right:2px!important;
        text-align:center!important;
    }
    .ptm-league-table-full col.ptm-col-stat{
        min-width:0!important;
    }
    .ptm-league-table-full th[data-ptm-key="p"],
    .ptm-league-table-full .ptm-league-stat-row th,
    .ptm-league-table-full tbody td:not(.ptm-league-team-cell){
        text-align:center!important;
    }
}


/* =========================================================
   v1.2.15 Next Match ordering + opponent logo support
   ========================================================= */
.ptm-opponent-logo{
    width:66px!important;
    height:66px!important;
    flex:0 0 66px;
    object-fit:contain!important;
    object-position:center!important;
}
.ptm-opponent-logo[hidden]{display:none!important}
.ptm-next-match.ptm-no-opponent-logo .ptm-next-away{
    gap:0;
}

@media (max-width:780px){
    /* The page's own team is always presented first on mobile, followed by
       match details and then the opponent. The section heading above already
       says "Next Match", so avoid repeating the label inside the card. */
    .ptm-next-match{
        display:flex!important;
        flex-direction:column!important;
        align-items:center!important;
        gap:14px!important;
        padding:24px 18px 26px!important;
        text-align:center!important;
    }
    .ptm-next-home{
        order:1!important;
        flex-direction:column!important;
        justify-content:center!important;
        text-align:center!important;
        gap:9px!important;
        width:100%;
    }
    .ptm-next-centre{
        order:2!important;
        width:100%;
        gap:4px!important;
    }
    .ptm-next-away{
        order:3!important;
        flex-direction:column!important;
        justify-content:center!important;
        text-align:center!important;
        gap:9px!important;
        width:100%;
    }
    .ptm-next-label{display:none!important}
    .ptm-next-home img,
    .ptm-opponent-logo{
        width:74px!important;
        height:74px!important;
        flex-basis:74px!important;
    }
    .ptm-next-side strong{
        max-width:100%;
        font-size:20px!important;
        line-height:1.18!important;
        text-align:center!important;
    }
    .ptm-next-vs{
        margin:1px 0 4px;
        font-size:28px!important;
        line-height:1!important;
    }
    .ptm-next-centre span:not(.ptm-next-label){
        font-size:16px!important;
        line-height:1.25!important;
    }
    .ptm-next-location{
        max-width:92%;
        margin:2px auto 0;
        font-size:15px!important;
    }
    .ptm-next-ha{
        margin-top:3px;
        font-size:16px!important;
    }
}


/* =========================================================
   v1.2.16 mobile FA tables – preserve desktop table layout
   =========================================================
   On phones the fixtures and league standings now remain genuine tables,
   using exactly the same column structure/styling as desktop. The table body
   scrolls horizontally inside its card instead of being converted into
   vertical key/value cards. */
@media (max-width:780px){
    .ptm-table-card .ptm-fa-display{
        display:block!important;
        width:100%!important;
        max-width:100%!important;
        overflow-x:auto!important;
        overflow-y:hidden!important;
        -webkit-overflow-scrolling:touch;
        overscroll-behavior-x:contain;
        scrollbar-width:thin;
        scrollbar-color:#BEBEBE #F5F5F5;
    }
    .ptm-table-card .ptm-fa-display::-webkit-scrollbar{height:7px}
    .ptm-table-card .ptm-fa-display::-webkit-scrollbar-track{background:#F5F5F5}
    .ptm-table-card .ptm-fa-display::-webkit-scrollbar-thumb{background:#BEBEBE;border-radius:8px}

    /* Undo the older stacked fixture-card rules. */
    .ptm-fixtures-table{
        display:table!important;
        width:980px!important;
        min-width:980px!important;
        max-width:none!important;
        table-layout:fixed!important;
        border-collapse:collapse!important;
    }
    .ptm-fixtures-table thead{display:table-header-group!important}
    .ptm-fixtures-table tbody{display:table-row-group!important}
    .ptm-fixtures-table tr{
        display:table-row!important;
        width:auto!important;
        padding:0!important;
        margin:0!important;
        border:0!important;
    }
    .ptm-fixtures-table th,
    .ptm-fixtures-table td{
        display:table-cell!important;
        width:auto;
        padding:10px 10px!important;
        border-bottom:1px solid #E1E1E1!important;
        background:inherit!important;
        text-align:left!important;
        white-space:normal!important;
        font-size:12px!important;
        vertical-align:middle!important;
    }
    .ptm-fixtures-table td::before{content:none!important;display:none!important}
    .ptm-fixtures-table th:nth-child(1),.ptm-fixtures-table td:nth-child(1){width:10%!important}
    .ptm-fixtures-table th:nth-child(2),.ptm-fixtures-table td:nth-child(2){width:29%!important}
    .ptm-fixtures-table th:nth-child(3),.ptm-fixtures-table td:nth-child(3){width:5%!important;text-align:center!important}
    .ptm-fixtures-table th:nth-child(4),.ptm-fixtures-table td:nth-child(4){width:9%!important}
    .ptm-fixtures-table th:nth-child(5),.ptm-fixtures-table td:nth-child(5){width:8%!important;text-align:center!important}
    .ptm-fixtures-table th:nth-child(6),.ptm-fixtures-table td:nth-child(6){width:28%!important}
    .ptm-fixtures-table th:nth-child(7),.ptm-fixtures-table td:nth-child(7){width:11%!important;text-align:center!important}
    .ptm-fixtures-table .ptm-opponent-cell{
        font-size:14.25px!important;
        line-height:1.2!important;
        font-weight:800!important;
    }
    .ptm-fixtures-table .ptm-venue-cell{
        font-size:10.5px!important;
        line-height:1.24!important;
        font-weight:600!important;
        color:#2D2D2D!important;
    }

    /* Undo the older stacked league-card rules. Keep the normalised desktop
       HOME / AWAY / OVERALL grouped header intact and make the whole grid
       horizontally scrollable. */
    .ptm-league-table-full.ptm-fa-table{
        display:table!important;
        width:1040px!important;
        min-width:1040px!important;
        max-width:none!important;
        table-layout:fixed!important;
        border-collapse:collapse!important;
    }
    .ptm-league-table-full thead{display:table-header-group!important}
    .ptm-league-table-full tbody{display:table-row-group!important}
    .ptm-league-table-full tr{
        display:table-row!important;
        width:auto!important;
        margin:0!important;
        padding:0!important;
        border:0!important;
        background:transparent!important;
    }
    .ptm-league-table-full th,
    .ptm-league-table-full td{
        display:table-cell!important;
        width:auto;
        min-width:0!important;
        padding:7px 4px!important;
        border-right:1px solid #F5F5F5!important;
        border-bottom:1px solid #F5F5F5!important;
        background:inherit;
        text-align:center!important;
        white-space:nowrap!important;
        font-size:10px!important;
        line-height:1.15!important;
        vertical-align:middle!important;
    }
    .ptm-league-table-full td::before{content:none!important;display:none!important}
    .ptm-league-table-full .ptm-league-team-cell,
    .ptm-league-table-full th[data-ptm-key="team"]{
        width:auto!important;
        min-width:0!important;
        text-align:left!important;
        white-space:normal!important;
        overflow-wrap:anywhere!important;
        font-size:11px!important;
        font-weight:800!important;
    }
    .ptm-league-table-full thead th{
        background:#F5F5F5!important;
        color:#000000!important;
        font-weight:900!important;
    }
    .ptm-league-table-full thead .ptm-league-group-row th{
        background:#F5F5F5!important;
    }
    .ptm-league-table-full thead .ptm-league-group-heading{
        background:#000000!important;
        color:#fff!important;
    }
    .ptm-league-table-full tr.ptm-current-team-row td{
        background:var(--ptm-gold)!important;
        color:#000000!important;
        font-weight:900!important;
    }

    /* A small inset cue makes it obvious that the tables can be swiped. */
    .ptm-table-card .ptm-fa-display{
        background:linear-gradient(90deg,transparent calc(100% - 18px),rgba(0,0,0,.08));
    }
}

/* =========================================================
   v1.2.17 mobile fixtures – preserve true desktop column spacing
   =========================================================
   Keep the Fixtures & Results table at approximately the same rendered
   width it has inside the desktop content container, then let the user
   swipe horizontally on smaller screens. This prevents the individual
   columns from being compressed and stops labels/values overlapping. */
@media (max-width:780px){
    .ptm-fixtures-table{
        width:1160px!important;
        min-width:1160px!important;
        max-width:none!important;
        table-layout:fixed!important;
    }
    .ptm-fixtures-table th,
    .ptm-fixtures-table td{
        padding:10px 10px!important;
        font-size:12.5px!important;
        line-height:1.24!important;
        white-space:normal!important;
        overflow:visible!important;
        text-overflow:clip!important;
    }
    .ptm-fixtures-table th:nth-child(1),.ptm-fixtures-table td:nth-child(1){width:10%!important}
    .ptm-fixtures-table th:nth-child(2),.ptm-fixtures-table td:nth-child(2){width:29%!important}
    .ptm-fixtures-table th:nth-child(3),.ptm-fixtures-table td:nth-child(3){width:5%!important;text-align:center!important}
    .ptm-fixtures-table th:nth-child(4),.ptm-fixtures-table td:nth-child(4){width:9%!important}
    .ptm-fixtures-table th:nth-child(5),.ptm-fixtures-table td:nth-child(5){width:8%!important;text-align:center!important}
    .ptm-fixtures-table th:nth-child(6),.ptm-fixtures-table td:nth-child(6){width:28%!important}
    .ptm-fixtures-table th:nth-child(7),.ptm-fixtures-table td:nth-child(7){width:11%!important;text-align:center!important}
    .ptm-fixtures-table .ptm-opponent-cell{
        font-size:14.25px!important;
        line-height:1.2!important;
        font-weight:800!important;
        white-space:normal!important;
        overflow-wrap:normal!important;
        word-break:normal!important;
    }
    .ptm-fixtures-table .ptm-venue-cell{
        font-size:10.5px!important;
        line-height:1.24!important;
        font-weight:600!important;
        color:#2D2D2D!important;
        white-space:normal!important;
        overflow-wrap:normal!important;
        word-break:normal!important;
    }
}

/* =========================================================
   v1.2.18 mobile fixtures – force true desktop-width table
   =========================================================
   A more specific rule is required here because the generic Full-Time table
   rule sets width/max-width to 100% with !important. On phones the fixtures
   table must remain at its desktop rendered width and overflow its scroll
   container; it must never be compressed to the viewport. */
@media (max-width:780px){
    .ptm-table-card .ptm-fa-display{
        overflow-x:auto!important;
        overflow-y:hidden!important;
        -webkit-overflow-scrolling:touch;
    }

    .ptm-table-card .ptm-fa-display table.ptm-fixtures-table,
    .ptm-table-card .ptm-fa-display .ptm-fa-table.ptm-fixtures-table{
        display:table!important;
        width:1160px!important;
        min-width:1160px!important;
        max-width:1160px!important;
        table-layout:fixed!important;
        margin:0!important;
    }

    .ptm-table-card .ptm-fa-display .ptm-fixtures-table thead{display:table-header-group!important}
    .ptm-table-card .ptm-fa-display .ptm-fixtures-table tbody{display:table-row-group!important}
    .ptm-table-card .ptm-fa-display .ptm-fixtures-table tr{display:table-row!important}

    .ptm-table-card .ptm-fa-display .ptm-fixtures-table th,
    .ptm-table-card .ptm-fa-display .ptm-fixtures-table td{
        display:table-cell!important;
        padding:10px 10px!important;
        font-size:12.5px!important;
        line-height:1.24!important;
        vertical-align:middle!important;
        white-space:normal!important;
        overflow:visible!important;
        text-overflow:clip!important;
    }

    /* Fixed pixel widths mirror the desktop table at the normal 1160px
       content width, so no column can be squeezed by the mobile viewport. */
    .ptm-table-card .ptm-fa-display .ptm-fixtures-table th:nth-child(1),
    .ptm-table-card .ptm-fa-display .ptm-fixtures-table td:nth-child(1){width:125px!important;min-width:125px!important;max-width:125px!important}
    .ptm-table-card .ptm-fa-display .ptm-fixtures-table th:nth-child(2),
    .ptm-table-card .ptm-fa-display .ptm-fixtures-table td:nth-child(2){width:335px!important;min-width:335px!important;max-width:335px!important}
    .ptm-table-card .ptm-fa-display .ptm-fixtures-table th:nth-child(3),
    .ptm-table-card .ptm-fa-display .ptm-fixtures-table td:nth-child(3){width:58px!important;min-width:58px!important;max-width:58px!important;text-align:center!important}
    .ptm-table-card .ptm-fa-display .ptm-fixtures-table th:nth-child(4),
    .ptm-table-card .ptm-fa-display .ptm-fixtures-table td:nth-child(4){width:105px!important;min-width:105px!important;max-width:105px!important}
    .ptm-table-card .ptm-fa-display .ptm-fixtures-table th:nth-child(5),
    .ptm-table-card .ptm-fa-display .ptm-fixtures-table td:nth-child(5){width:95px!important;min-width:95px!important;max-width:95px!important;text-align:center!important}
    .ptm-table-card .ptm-fa-display .ptm-fixtures-table th:nth-child(6),
    .ptm-table-card .ptm-fa-display .ptm-fixtures-table td:nth-child(6){width:320px!important;min-width:320px!important;max-width:320px!important}
    .ptm-table-card .ptm-fa-display .ptm-fixtures-table th:nth-child(7),
    .ptm-table-card .ptm-fa-display .ptm-fixtures-table td:nth-child(7){width:122px!important;min-width:122px!important;max-width:122px!important;text-align:center!important}

    .ptm-table-card .ptm-fa-display .ptm-fixtures-table .ptm-opponent-cell{
        font-size:14.25px!important;
        line-height:1.2!important;
        font-weight:800!important;
    }
    .ptm-table-card .ptm-fa-display .ptm-fixtures-table .ptm-venue-cell{
        font-size:10.5px!important;
        line-height:1.24!important;
        font-weight:600!important;
        color:#2D2D2D!important;
    }
}


/* =========================================================
   v1.2.19 flexible Manager layout + robust Kingsdown highlight
   ========================================================= */
.ptm-featured-manager-wrap{margin-bottom:18px}
.ptm-featured-manager-card{
    width:100%;
    grid-template-columns:minmax(220px,28%) minmax(0,72%);
    min-height:270px;
}
.ptm-featured-manager-card .ptm-coach-photo{min-height:270px}
.ptm-featured-manager-card .ptm-coach-photo img{min-height:270px!important}
.ptm-featured-manager-card .ptm-coach-body{
    justify-content:center;
    padding:24px 28px 22px;
}
.ptm-featured-manager-card .ptm-role{font-size:11px}
.ptm-featured-manager-card .ptm-coach-body h3{font-size:25px!important;margin-bottom:10px!important}
.ptm-featured-manager-card .ptm-coach-bio{
    flex:0!important;
    max-width:900px;
    font-size:14px;
    line-height:1.48;
    columns:1;
}
.ptm-featured-manager-card .ptm-btn{margin-top:16px!important}
.ptm-assistant-grid{
    display:grid;
    gap:16px;
    align-items:stretch;
}
.ptm-assistant-grid.ptm-count-1{grid-template-columns:minmax(0,560px)}
.ptm-assistant-grid.ptm-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ptm-assistant-grid.ptm-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ptm-assistant-grid .ptm-coach-card{height:100%}

/* Apply the gold current-team treatment with enough specificity to beat all
   Full-Time zebra-row/table rules. */
body.single-ptm_team .ptm-team-page .ptm-fa-display .ptm-league-table-full tbody tr.ptm-current-team-row > td{
    background:var(--ptm-gold)!important;
    color:#000000!important;
    font-weight:900!important;
}

@media (max-width:780px){
    .ptm-featured-manager-card,
    .ptm-assistant-grid,
    .ptm-assistant-grid.ptm-count-1,
    .ptm-assistant-grid.ptm-count-2,
    .ptm-assistant-grid.ptm-count-3{
        grid-template-columns:1fr!important;
    }
    .ptm-featured-manager-card .ptm-coach-body{padding:18px 18px 17px}
    .ptm-featured-manager-card .ptm-coach-body h3{font-size:22px!important}
    .ptm-featured-manager-card .ptm-coach-bio{font-size:13px}
}


/* =========================================================
   v1.3.2 Team Media gallery / carousel refinements
   ========================================================= */
.ptm-media-track{
    display:flex!important;
    gap:0!important;
    width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-behavior:smooth;
    scrollbar-width:none!important;
    padding:2px 0 8px!important;
}
.ptm-media-track::-webkit-scrollbar{display:none}
.ptm-media-page{
    flex:0 0 100%;
    width:100%;
    display:grid;
    grid-template-columns:repeat(var(--ptm-media-columns,5),minmax(0,1fr));
    gap:14px;
    align-content:start;
    scroll-snap-align:start;
    scroll-snap-stop:always;
}
.ptm-team-page .ptm-media-card{
    width:100%!important;
    min-width:0!important;
    display:block!important;
}
.ptm-media-thumb{
    width:100%;
    aspect-ratio:4/3!important;
    border-radius:8px!important;
    background:#F5F5F5!important;
    border:1px solid #E1E1E1;
}
.ptm-media-thumb img{
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center center!important;
    image-orientation:from-image;
    background:#F5F5F5!important;
}
/* Bulk uploads do not need filename/title labels on the public gallery. */
.ptm-media-card>strong,.ptm-media-card>small{display:none!important}
.ptm-media-controls[hidden]{display:none!important}

.ptm-lightbox{padding:38px 72px!important;touch-action:pan-y}
.ptm-lightbox-content{width:min(1400px,92vw)!important;max-height:88vh!important}
.ptm-lightbox-content img,.ptm-lightbox-content video{
    display:block;
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:86vh!important;
    object-fit:contain!important;
    image-orientation:from-image;
}
.ptm-lightbox-nav{
    position:fixed!important;
    top:50%!important;
    z-index:2;
    width:54px!important;
    height:54px!important;
    margin:0!important;
    padding:0!important;
    transform:translateY(-50%);
    border:1px solid rgba(255,255,255,.45)!important;
    border-radius:50%!important;
    background:rgba(0,0,0,.72)!important;
    color:#fff!important;
    font-size:42px!important;
    line-height:1!important;
    cursor:pointer;
}
.ptm-lightbox-prev{left:18px!important}
.ptm-lightbox-next{right:18px!important}
.ptm-lightbox-counter{
    position:fixed;
    left:50%;
    bottom:18px;
    transform:translateX(-50%);
    color:#fff;
    font-size:13px;
    font-weight:800;
    letter-spacing:.04em;
}

@media (max-width:780px){
    .ptm-media-page{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:10px!important;
    }
    .ptm-media-thumb{aspect-ratio:4/3!important}
    .ptm-lightbox{padding:54px 12px 62px!important}
    .ptm-lightbox-nav{
        top:auto!important;
        bottom:14px!important;
        transform:none!important;
        width:44px!important;
        height:44px!important;
        font-size:34px!important;
    }
    .ptm-lightbox-prev{left:18px!important}
    .ptm-lightbox-next{right:18px!important}
    .ptm-lightbox-counter{bottom:27px}
}


/* =========================================================
   Legacy heading + optional Full-Time sections
   ========================================================= */
.ptm-hero h1.ptm-title-wildcats .ptm-title-first,
.ptm-hero h1.ptm-title-wildcats .ptm-title-rest{
    font-size:1em!important;
}
@media (min-width:781px){
    .ptm-hero h1.ptm-title-wildcats{
        max-width:430px!important;
        font-size:46px!important;
        line-height:.96!important;
    }
}
@media (max-width:780px){
    .ptm-hero h1.ptm-title-wildcats{
        font-size:34px!important;
        line-height:.98!important;
    }
}
.ptm-tables-grid[hidden],
.ptm-table-card[hidden]{display:none!important}


/* =========================================================
   v1.3.7 optional rich team information
   ========================================================= */
.ptm-team-extra-content{
    margin-top:18px;
    max-width:1120px;
    color:#121212;
    font-size:15px;
    line-height:1.62;
}
.ptm-team-extra-content p{margin:0 0 14px!important;font-size:inherit!important;line-height:inherit!important}
.ptm-team-extra-content h2,.ptm-team-extra-content h3,.ptm-team-extra-content h4{
    margin:22px 0 9px!important;
    color:#000000!important;
    line-height:1.18!important;
}
.ptm-team-extra-content h2{font-size:24px!important}
.ptm-team-extra-content h3{font-size:20px!important}
.ptm-team-extra-content h4{font-size:17px!important}
.ptm-team-extra-content ul,.ptm-team-extra-content ol{margin:0 0 15px 22px;padding:0}
.ptm-team-extra-content li{margin:0 0 5px}
.ptm-team-extra-content a{
    color:#121212;
    font-weight:700;
    text-decoration:underline;
    text-underline-offset:2px;
    overflow-wrap:anywhere;
}
.ptm-team-extra-content a:hover{color:#000000}
.ptm-team-extra-content blockquote{
    margin:16px 0;
    padding:12px 18px;
    border-left:4px solid var(--ptm-gold);
    background:#F5F5F5;
}
@media (max-width:780px){
    .ptm-team-extra-content{font-size:14px;line-height:1.58}
    .ptm-team-extra-content h2{font-size:21px!important}
    .ptm-team-extra-content h3{font-size:18px!important}
}

/* =========================================================
   v1.4.13 Visitor enquiry layout
   Correct 50/50 name/email fields and replace malformed legacy block.
   ========================================================= */
.ptm-visitor-enquiry-card{
    max-width:1180px;
    width:100%;
    margin:22px auto 0;
    padding:22px 24px 18px;
    border:1px solid #E1E1E1;
    border-radius:10px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    box-sizing:border-box;
}
.ptm-visitor-enquiry-card .ptm-form-heading{
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    align-items:center;
    gap:12px;
    margin-bottom:14px;
}
.ptm-visitor-enquiry-card .ptm-form-heading .ptm-icon{
    width:44px;
    height:44px;
    border-radius:50%;
    background:#FE1204;
    color:#000000;
    display:grid;
    place-items:center;
}
.ptm-visitor-enquiry-card .ptm-form-heading h2{margin:0 0 2px!important;font-size:24px!important;color:#000000!important}
.ptm-visitor-enquiry-card .ptm-form-heading p{margin:0!important;font-size:13px!important;color:#2D2D2D!important}
.ptm-visitor-enquiry-card .ptm-form-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:12px 14px!important;
    width:100%!important;
    max-width:none!important;
    align-items:start;
}
.ptm-visitor-enquiry-card .ptm-field{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
}
.ptm-visitor-enquiry-card .ptm-field-name,
.ptm-visitor-enquiry-card .ptm-field-email{
    grid-column:auto!important;
}
.ptm-visitor-enquiry-card .ptm-field-visitor-subject,
.ptm-visitor-enquiry-card .ptm-field-message,
.ptm-visitor-enquiry-card .ptm-span-2{
    grid-column:1 / -1!important;
}
.ptm-visitor-enquiry-card .ptm-field label{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    font-size:12px;
}
.ptm-visitor-enquiry-card .ptm-field input,
.ptm-visitor-enquiry-card .ptm-field select,
.ptm-visitor-enquiry-card .ptm-field textarea{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    box-sizing:border-box!important;
    font-size:14px!important;
    min-height:42px!important;
    padding:9px 11px!important;
    border-radius:6px!important;
}
.ptm-visitor-enquiry-card .ptm-field textarea{min-height:110px!important}
.ptm-visitor-enquiry-card .ptm-form-privacy{font-size:11px!important;color:#2D2D2D!important;margin:10px 0 0!important}
@media(max-width:700px){
    .ptm-visitor-enquiry-card{margin-top:16px;padding:18px 15px 15px}
    .ptm-visitor-enquiry-card .ptm-form-grid{grid-template-columns:minmax(0,1fr)!important}
    .ptm-visitor-enquiry-card .ptm-field-name,
    .ptm-visitor-enquiry-card .ptm-field-email,
    .ptm-visitor-enquiry-card .ptm-field-visitor-subject,
    .ptm-visitor-enquiry-card .ptm-field-message,
    .ptm-visitor-enquiry-card .ptm-span-2{grid-column:1!important}
}

/* v1.0.3: team-page banners always show the complete uploaded image. */
.ptm-hero-media{background:#000!important;}
.ptm-banner-image,.ptm-banner-fallback{object-fit:contain!important;object-position:center center!important;background:#000!important;}
@media(max-width:780px){.ptm-banner-image,.ptm-banner-fallback{object-fit:contain!important;}}

/* v1.0.3 Purton forms: consistent red action button outside individual team pages. */
.ptm-enquiry-card .ptm-submit-btn,.ptm-enquiry-card .ptm-btn.ptm-btn-navy{appearance:none!important;-webkit-appearance:none!important;width:100%!important;min-height:46px!important;border:0!important;border-radius:6px!important;background:#FE1204!important;color:#fff!important;font-weight:900!important;box-shadow:none!important;cursor:pointer!important;}
.ptm-enquiry-card .ptm-submit-btn:hover,.ptm-enquiry-card .ptm-btn.ptm-btn-navy:hover{background:#d90f03!important;color:#fff!important;}


/* =========================================================
   v1.0.8 Purton FA Full-Time table fixes
   ========================================================= */
.ptm-league-table-summary{
    width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
}
.ptm-league-table-summary th,
.ptm-league-table-summary td{
    padding:9px 6px!important;
    font-size:11.5px!important;
    line-height:1.2!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.ptm-league-table-summary th:nth-child(1),
.ptm-league-table-summary td:nth-child(1){width:5%!important}
.ptm-league-table-summary th:nth-child(2),
.ptm-league-table-summary td:nth-child(2){
    width:38%!important;
    text-align:left!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
    font-weight:800!important;
}
.ptm-league-table-summary th:nth-child(n+3),
.ptm-league-table-summary td:nth-child(n+3){width:7.125%!important}
.ptm-league-table-summary tr.ptm-current-team-row td{
    background:#FE1204!important;
    color:#fff!important;
    font-weight:900!important;
}

/* Keep the seven-column fixtures renderer readable and aligned on desktop. */
@media(min-width:781px){
  .ptm-table-card .ptm-fa-display .ptm-fixtures-table{
      table-layout:fixed!important;
      width:100%!important;
  }
  .ptm-table-card .ptm-fa-display .ptm-fixtures-table th,
  .ptm-table-card .ptm-fa-display .ptm-fixtures-table td{
      white-space:normal!important;
      overflow-wrap:normal!important;
      word-break:normal!important;
      vertical-align:middle!important;
  }
  .ptm-table-card .ptm-fa-display .ptm-fixtures-table th:nth-child(1),
  .ptm-table-card .ptm-fa-display .ptm-fixtures-table td:nth-child(1){width:11%!important}
  .ptm-table-card .ptm-fa-display .ptm-fixtures-table th:nth-child(2),
  .ptm-table-card .ptm-fa-display .ptm-fixtures-table td:nth-child(2){width:28%!important}
  .ptm-table-card .ptm-fa-display .ptm-fixtures-table th:nth-child(3),
  .ptm-table-card .ptm-fa-display .ptm-fixtures-table td:nth-child(3){width:5%!important}
  .ptm-table-card .ptm-fa-display .ptm-fixtures-table th:nth-child(4),
  .ptm-table-card .ptm-fa-display .ptm-fixtures-table td:nth-child(4){width:12%!important}
  .ptm-table-card .ptm-fa-display .ptm-fixtures-table th:nth-child(5),
  .ptm-table-card .ptm-fa-display .ptm-fixtures-table td:nth-child(5){width:9%!important}
  .ptm-table-card .ptm-fa-display .ptm-fixtures-table th:nth-child(6),
  .ptm-table-card .ptm-fa-display .ptm-fixtures-table td:nth-child(6){width:24%!important}
  .ptm-table-card .ptm-fa-display .ptm-fixtures-table th:nth-child(7),
  .ptm-table-card .ptm-fa-display .ptm-fixtures-table td:nth-child(7){width:11%!important}
}

@media(max-width:780px){
  .ptm-league-table-summary thead{display:none!important}
  .ptm-league-table-summary,
  .ptm-league-table-summary tbody,
  .ptm-league-table-summary tr,
  .ptm-league-table-summary td{display:block!important;width:100%!important}
  .ptm-league-table-summary tr{
      padding:10px 12px!important;
      border-bottom:1px solid #E1E1E1!important;
  }
  .ptm-league-table-summary td{
      display:grid!important;
      grid-template-columns:112px minmax(0,1fr)!important;
      gap:8px!important;
      padding:4px 0!important;
      border:0!important;
      background:transparent!important;
      text-align:left!important;
      white-space:normal!important;
      overflow:visible!important;
      text-overflow:clip!important;
  }
  .ptm-league-table-summary td::before{
      content:attr(data-label);
      font-size:9px;
      font-weight:900;
      text-transform:uppercase;
      letter-spacing:.03em;
      color:#666;
  }
  .ptm-league-table-summary tr.ptm-current-team-row{
      background:#fff1ef!important;
      border-left:4px solid #FE1204!important;
  }
  .ptm-league-table-summary tr.ptm-current-team-row td{color:#171717!important}
}


/* v1.0.10: make the active Purton row unmistakable in the compact league table. */
body .ptm-team-page .ptm-fa-display .ptm-league-table-summary tbody tr.ptm-current-team-row > td{
  background:#FE1204!important;
  color:#fff!important;
  font-weight:900!important;
  border-bottom-color:#FE1204!important;
}
body .ptm-team-page .ptm-fa-display .ptm-league-table-summary tbody tr.ptm-current-team-row > td.ptm-league-team-cell{color:#fff!important;}
@media(max-width:780px){
  body .ptm-team-page .ptm-fa-display .ptm-league-table-summary tbody tr.ptm-current-team-row{
    background:#fff1ef!important;
    border-left:4px solid #FE1204!important;
  }
  body .ptm-team-page .ptm-fa-display .ptm-league-table-summary tbody tr.ptm-current-team-row > td{
    background:transparent!important;
    color:#171717!important;
  }
}
