/* Petchey Cars: one stylesheet. Sections are core blocks with pc-* classes (see plugin inc/builder.php). */

@font-face { font-family: "Inter"; src: url(../fonts/inter-latin.woff2) format("woff2"); font-weight: 400 700; font-display: swap; }
@font-face { font-family: "Manrope"; src: url(../fonts/manrope-latin.woff2) format("woff2"); font-weight: 600 800; font-display: swap; }

:root {
	--blue: #015090;
	--blue-dk: #013f72;
	--navy: #06213f;
	--navy-2: #0b2f57;
	--sky: #2aa3df;
	--sky-soft: #e6f3fb;
	--ink: #111827;
	--text: #1b2330;
	--line: #dfe4eb;
	--grey: #f3f5f8;
	--white: #fff;
	--r: 14px;
	--r-sm: 10px;
	--wrap: 1200px;
	--gut: 20px;
	--sec: 96px;
	--head-h: 84px;
	--f-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--f-head: "Manrope", "Inter", system-ui, sans-serif;
}
@media (max-width: 900px) { :root { --sec: 64px; --head-h: 68px; } }
@media (max-width: 480px) { :root { --gut: 16px; --sec: 52px; } }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--head-h) + 12px); }
body { margin: 0; font: 400 17px/1.65 var(--f-body); color: var(--text); background: #fff; overflow-x: clip; }
img, svg, video, iframe { max-width: 100%; }
img { height: auto; }
a { color: var(--blue); text-underline-offset: 3px; }
a:hover { color: var(--blue-dk); }
h1, h2, h3, h4 { font-family: var(--f-head); color: var(--ink); line-height: 1.18; letter-spacing: -0.015em; margin: 0 0 .5em; font-weight: 800; }
h1 { font-size: clamp(2rem, 4.2vw, 3rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.25rem); }
h3 { font-size: 1.25rem; font-weight: 700; }
h4 { font-size: 1.05rem; font-weight: 700; }
p { margin: 0 0 1em; }
:focus-visible { outline: 3px solid var(--sky); outline-offset: 2px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pc-skip { position: absolute; left: -999px; top: 8px; z-index: 1000; background: var(--blue); color: #fff; padding: 10px 16px; border-radius: 8px; }
.pc-skip:focus { left: 8px; }
.pc-wrap { max-width: calc(var(--wrap) + var(--gut) * 2); margin: 0 auto; padding: 0 var(--gut); }
.ico { flex: none; vertical-align: middle; }

/* ---------- buttons (flat, no shadows) ---------- */
.pc-btn, .wp-block-button__link, .gform_wrapper .gform_button, .pc-entry input[type=submit] {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 12px 22px; border-radius: var(--r-sm); border: 2px solid transparent;
	font: 700 1rem/1.2 var(--f-body); text-decoration: none; cursor: pointer; box-shadow: none;
	background: var(--blue); color: #fff; transition: background .15s, color .15s, border-color .15s;
}
.pc-btn:hover, .wp-block-button__link:hover { background: var(--blue-dk); color: #fff; }
.pc-btn--ghost, .wp-block-button.is-style-ghost .wp-block-button__link { background: transparent; color: var(--blue); border-color: currentColor; }
.pc-btn--ghost:hover, .wp-block-button.is-style-ghost .wp-block-button__link:hover { background: var(--blue); color: #fff; border-color: var(--blue); }
.pc-btn--light, .wp-block-button.is-style-light .wp-block-button__link { background: #fff; color: var(--blue); }
.pc-btn--light:hover, .wp-block-button.is-style-light .wp-block-button__link:hover { background: var(--sky-soft); color: var(--blue-dk); }
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 1.4em; }
/* on dark backgrounds */
.pc-hero .wp-block-button.is-style-ghost .wp-block-button__link, .is-dark .wp-block-button.is-style-ghost .wp-block-button__link, .is-blue .wp-block-button.is-style-ghost .wp-block-button__link, .pc-footer .pc-btn--ghost { color: #fff; }
.pc-hero .wp-block-button.is-style-ghost .wp-block-button__link:hover, .is-dark .wp-block-button.is-style-ghost .wp-block-button__link:hover, .is-blue .wp-block-button.is-style-ghost .wp-block-button__link:hover, .pc-footer .pc-btn--ghost:hover { background: #fff; color: var(--blue); border-color: #fff; }
.pc-hero .wp-block-button.is-style-primary .wp-block-button__link, .is-dark .wp-block-button.is-style-primary .wp-block-button__link { background: var(--sky); color: #fff; }
.pc-hero .wp-block-button.is-style-primary .wp-block-button__link:hover, .is-dark .wp-block-button.is-style-primary .wp-block-button__link:hover { background: #1890cc; }

/* ---------- header ---------- */
.pc-header { position: sticky; top: 0; z-index: 100; background: #fff; border-bottom: 1px solid var(--line); }
.admin-bar .pc-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .pc-header { top: 0; } }
.pc-header__bar { display: flex; align-items: center; gap: 28px; height: var(--head-h); }
.pc-logo { display: inline-flex; align-items: center; flex: none; }
.pc-logo .logo__img { display: block; width: 190px; height: auto; }
.pc-nav { flex: 1; display: flex; justify-content: center; }
.pc-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; }
.pc-menu > li { position: relative; }
.pc-menu a { display: block; padding: 10px 14px; border-radius: 8px; color: var(--ink); text-decoration: none; font-weight: 600; font-size: .98rem; white-space: nowrap; }
.pc-menu a:hover, .pc-menu .current-menu-item > a, .pc-menu .current-menu-ancestor > a { color: var(--blue); background: var(--sky-soft); }
.pc-menu .menu-item-has-children > a::after { content: ""; display: inline-block; width: 8px; height: 8px; margin-left: 8px; border: solid currentColor; border-width: 0 2px 2px 0; transform: translateY(-3px) rotate(45deg); }
.pc-menu .sub-menu { list-style: none; margin: 0; padding: 8px; position: absolute; top: 100%; left: 0; min-width: 250px; background: #fff; border: 1px solid var(--line); border-radius: var(--r-sm); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .15s, transform .15s, visibility .15s; }
.pc-menu .sub-menu .sub-menu { top: -9px; left: 100%; }
.pc-menu li:hover > .sub-menu, .pc-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.pc-menu .sub-menu a { font-weight: 500; padding: 9px 12px; }
.pc-menu .sub-menu .menu-item-has-children > a::after { transform: translateY(-2px) rotate(-45deg); float: right; margin-top: 8px; }
.pc-nav__extra { display: none; }
.pc-header__actions { display: flex; align-items: center; gap: 16px; flex: none; }
.pc-phone { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--ink); }
.pc-phone__icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--sky-soft); color: var(--blue); }
.pc-phone__text { display: flex; flex-direction: column; line-height: 1.2; }
.pc-phone__text strong { font: 800 1.1rem/1.2 var(--f-head); color: var(--blue); }
.pc-phone__text small { font-size: .78rem; color: var(--text); }
.pc-burger { display: none; width: 46px; height: 46px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink); cursor: pointer; padding: 0; place-items: center; }
.pc-burger .is-close { display: none; }
.nav-open .pc-burger .is-open { display: none; }
.nav-open .pc-burger .is-close { display: block; }

@media (max-width: 1180px) {
	.pc-phone__text small { display: none; }
	.pc-menu a { padding: 10px 10px; }
}
@media (max-width: 1060px) {
	.pc-header__bar { gap: 12px; }
	.pc-logo .logo__img { width: 160px; }
	.pc-burger { display: grid; }
	.pc-phone__text { display: none; }
	.pc-nav { position: fixed; inset: var(--head-h) 0 0 0; display: block; background: #fff; overflow-y: auto; padding: 12px var(--gut) 110px; opacity: 0; visibility: hidden; transition: opacity .2s, visibility .2s; }
	.admin-bar .pc-nav { top: calc(var(--head-h) + 32px); }
	.nav-open .pc-nav { opacity: 1; visibility: visible; }
	.nav-open { overflow: hidden; }
	.pc-menu { flex-direction: column; gap: 0; }
	.pc-menu > li { border-bottom: 1px solid var(--line); }
	.pc-menu a { padding: 14px 4px; font-size: 1.05rem; white-space: normal; }
	.pc-menu a:hover { background: none; }
	.pc-menu .menu-item-has-children > a::after { float: right; margin-top: 8px; }
	.pc-menu .sub-menu, .pc-menu .sub-menu .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; border: 0; padding: 0 0 8px 14px; display: none; min-width: 0; }
	.pc-menu li.is-open > .sub-menu { display: block; }
	.pc-menu .sub-menu .menu-item-has-children > a::after { transform: translateY(-3px) rotate(45deg); }
	.pc-nav__extra { display: grid; gap: 10px; margin-top: 20px; }
}
@media (max-width: 560px) {
	.pc-header__book { display: none; }
	.pc-logo .logo__img { width: 150px; }
}
@media (max-width: 782px) { .admin-bar .pc-nav { top: calc(var(--head-h) + 46px); } }

/* ---------- hero / page header (core Cover block) ---------- */
.wp-block-cover.pc-hero { min-height: 430px; padding: 72px var(--gut); align-items: center; color: #fff; margin: 0; }
.wp-block-cover.pc-hero.is-home { min-height: min(640px, 82vh); padding-top: 88px; padding-bottom: 88px; }
.wp-block-cover.pc-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(6, 33, 63, .94) 0%, rgba(6, 33, 63, .78) 45%, rgba(6, 33, 63, .35) 100%) !important; opacity: 1 !important; }
.wp-block-cover.pc-hero .wp-block-cover__inner-container { width: 100%; max-width: var(--wrap); margin: 0 auto; color: #fff; }
.wp-block-cover.pc-hero .wp-block-cover__inner-container > * { max-width: 720px; margin-left: 0 !important; margin-right: 0 !important; }
.pc-hero h1, .pc-hero .pc-hero__title { color: #fff; font-size: clamp(2rem, 4.4vw, 3.1rem); margin-bottom: .35em; }
.pc-hero.is-home h1 { font-size: clamp(2.2rem, 5vw, 3.5rem); }
.pc-hero .pc-hero__lead, .pc-pagehead .pc-hero__lead { font-size: clamp(1.05rem, 1.6vw, 1.25rem); color: rgba(255, 255, 255, .92); }
.pc-kicker { font: 700 .9rem/1.3 var(--f-body); color: var(--blue); margin-bottom: .7em; }
.pc-hero .pc-kicker, .is-dark .pc-kicker { color: #8fd0f2; }
.pc-hero__points { list-style: none; margin: 1.8em 0 0 !important; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 26px; max-width: none !important; }
.pc-hero__points li { display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: .98rem; color: #fff; }
.pc-hero__points li::before { content: ""; width: 22px; height: 22px; flex: none; background: #8fd0f2; -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
@media (max-width: 700px) {
	.wp-block-cover.pc-hero { min-height: 0; padding-top: 56px; padding-bottom: 56px; }
	.wp-block-cover.pc-hero.is-home { min-height: 0; padding-top: 60px; padding-bottom: 60px; }
	.wp-block-cover.pc-hero .wp-block-cover__background { background: rgba(6, 33, 63, .82) !important; }
	.pc-hero .wp-block-buttons .wp-block-button { flex: 1 1 100%; }
	.pc-hero .wp-block-button__link { width: 100%; }
	.pc-hero__points { flex-direction: column; gap: 8px; }
}
/* page header for pages without their own Cover */
.pc-pagehead { position: relative; background: var(--navy); color: #fff; padding: 72px 0; overflow: hidden; }
.pc-pagehead__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .35; }
.pc-pagehead__inner { position: relative; }
.pc-pagehead h1 { color: #fff; max-width: 820px; margin: 0; }
.pc-pagehead .pc-hero__lead { margin: .6em 0 0; max-width: 720px; }
.pc-pagehead.is-plain { padding: 56px 0; }

/* ---------- sections ---------- */
.pc-sec { padding: var(--sec) var(--gut); margin: 0; }
.pc-sec.is-grey { background: var(--grey); }
.pc-sec.is-dark { background: var(--navy); color: rgba(255, 255, 255, .9); }
.pc-sec.is-blue { background: var(--blue); color: #fff; }
.pc-sec.is-dark h2, .pc-sec.is-dark h3, .pc-sec.is-blue h2, .pc-sec.is-blue h3 { color: #fff; }
.pc-sec.is-dark a:not(.wp-block-button__link), .pc-sec.is-blue a:not(.wp-block-button__link) { color: #fff; }
.pc-sec.is-white + .pc-sec.is-white, .pc-sec.is-grey + .pc-sec.is-grey { padding-top: 0; }
.pc-sec > * { max-width: var(--wrap); }
.pc-sec.is-narrow > * { max-width: 820px !important; }
.pc-sec__title { margin-bottom: .4em; }
.pc-sec__intro { font-size: 1.12rem; max-width: var(--wrap) !important; margin-bottom: 2.2em !important; }
.pc-sec.is-narrow > .pc-sec__intro { max-width: 820px !important; }
.pc-sec__title + :not(.pc-sec__intro) { margin-top: 1.4em; }
.is-style-lead { font-size: 1.2rem; line-height: 1.6; color: var(--ink); }
.pc-entry > p, .pc-entry > ul, .pc-entry > h2, .pc-entry > h3, .pc-entry > ol { max-width: 820px; margin-left: auto; margin-right: auto; padding: 0 var(--gut); }
.pc-entry > p:first-child, .pc-entry > h2:first-child { margin-top: var(--sec); }
.pc-entry > *:last-child:not(.pc-sec):not(.wp-block-cover) { margin-bottom: var(--sec); }
.pc-entry ul:not([class*=pc-]):not(.wp-block-gallery):not(.gform_fields), .pc-entry ol { padding-left: 1.3em; }
.pc-entry li { margin: .3em 0; }

/* ticks lists */
.is-style-ticks, .pc-ticks { list-style: none !important; padding: 0 !important; margin: 0 0 1.2em; }
.is-style-ticks li, .pc-ticks li { position: relative; padding-left: 34px; margin: .55em 0; }
.is-style-ticks li::before, .pc-ticks li::before { content: ""; position: absolute; left: 0; top: .15em; width: 22px; height: 22px; border-radius: 50%; background: var(--sky-soft) var(--i-check) center / 14px no-repeat; }
.pc-ticks li::before { background: var(--blue); -webkit-mask: none; }
.pc-ticks li::after, .is-style-ticks li::after { content: ""; position: absolute; left: 4px; top: calc(.15em + 4px); width: 14px; height: 14px; background: var(--blue); -webkit-mask: var(--i-check) center / contain no-repeat; mask: var(--i-check) center / contain no-repeat; }
.pc-ticks li::after { background: #fff; }
.is-style-ticks li::before { background: var(--sky-soft); }
.is-dark .is-style-ticks li::before { background: rgba(255, 255, 255, .14); }
.is-dark .is-style-ticks li::after { background: #fff; }
.is-style-cols { columns: 2; column-gap: 40px; }

/* columns as grids */
.wp-block-columns.pc-cols, .wp-block-columns.pc-feats, .wp-block-columns.pc-ways, .wp-block-columns.pc-cards, .wp-block-columns.pc-split { margin: 0 auto; }
.wp-block-columns.pc-feats, .wp-block-columns.pc-ways, .wp-block-columns.pc-cards { display: grid !important; gap: 22px; }
.wp-block-columns.pc-feats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 40px; }
.wp-block-columns.pc-feats.is-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.wp-block-columns.pc-ways { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.wp-block-columns.pc-cards { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.wp-block-columns.pc-cards.pc-airports, .wp-block-columns.pc-cards.pc-fleet { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 1100px) {
	.wp-block-columns.pc-cards.pc-airports, .wp-block-columns.pc-cards.pc-fleet { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.wp-block-columns.pc-feats.is-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
	.wp-block-columns.pc-feats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
	.wp-block-columns.pc-cards.pc-airports, .wp-block-columns.pc-cards.pc-fleet { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
	.wp-block-columns.pc-feats, .wp-block-columns.pc-feats.is-4, .wp-block-columns.pc-ways, .wp-block-columns.pc-cards, .wp-block-columns.pc-cards.pc-airports { grid-template-columns: minmax(0, 1fr); }
	.wp-block-columns.pc-cards.pc-fleet { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
}
.wp-block-columns.pc-feats > .wp-block-column, .wp-block-columns.pc-ways > .wp-block-column, .wp-block-columns.pc-cards > .wp-block-column { margin: 0 !important; min-width: 0; }

/* icon features */
.pc-feat { position: relative; padding-top: 64px; }
.pc-feat::before, .pc-way::before { content: ""; position: absolute; top: 0; left: 0; width: 50px; height: 50px; border-radius: 12px; background: var(--sky-soft); }
.pc-feat::after, .pc-way::after { content: ""; position: absolute; top: 12px; left: 12px; width: 26px; height: 26px; background: var(--blue); -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.pc-feat h3, .pc-way h3 { margin-bottom: .35em; }
.pc-feat p, .pc-way p { margin: 0; }
.is-dark .pc-feat::before { background: rgba(255, 255, 255, .1); }
.is-dark .pc-feat::after { background: #8fd0f2; }

/* ways to book cards */
.pc-way { position: relative; background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 92px 24px 24px !important; display: flex; flex-direction: column; }
.pc-way::before { top: 24px; left: 24px; }
.pc-way::after { top: 36px; left: 36px; }
.pc-way .wp-block-buttons { margin-top: auto; padding-top: 18px; }
.pc-way .wp-block-button, .pc-way .wp-block-button__link { width: 100%; }

/* photo cards */
.pc-cards > .wp-block-column { background: #fff; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; display: flex; flex-direction: column; padding-bottom: 20px; }
.is-grey .pc-cards > .wp-block-column { border-color: transparent; }
.pc-cards .pc-card__img { margin: 0 !important; aspect-ratio: 16 / 10; overflow: hidden; background: var(--grey); }
.pc-cards .pc-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.pc-cards > .wp-block-column:hover .pc-card__img img { transform: scale(1.04); }
.pc-cards h3, .pc-cards p { padding: 0 20px; }
.pc-cards h3 { margin: 18px 0 6px; font-size: 1.15rem; }
.pc-cards h3 a { color: var(--ink); text-decoration: none; }
.pc-cards h3 a::after { content: ""; position: absolute; inset: 0; }
.pc-cards > .wp-block-column { position: relative; }
.pc-cards h3 a:hover { color: var(--blue); }
.pc-cards p { font-size: .96rem; margin-bottom: 20px; }
/* vehicle cut-outs: whole vehicle visible */
.pc-fleet .pc-card__img { aspect-ratio: 16 / 9; background: linear-gradient(#fff, #eef2f7); display: grid; place-items: center; padding: 14px; }
.pc-fleet .pc-card__img img { object-fit: contain; mix-blend-mode: multiply; }
.pc-fleet > .wp-block-column:hover .pc-card__img img { transform: none; }

/* text beside a photo */
.wp-block-columns.pc-split { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.wp-block-columns.pc-split > .wp-block-column { margin: 0 !important; min-width: 0; }
.wp-block-columns.pc-split.is-reverse > .wp-block-column:first-child { order: 0; }
.is-style-photo { margin: 0; }
.is-style-photo img, .pc-split .wp-block-image img { width: 100%; border-radius: var(--r); display: block; aspect-ratio: 4 / 3; object-fit: cover; }
@media (max-width: 860px) {
	.wp-block-columns.pc-split { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.wp-block-columns.pc-split.is-reverse > .wp-block-column:last-child { order: -1; }
}

/* general columns */
.wp-block-columns.pc-cols { gap: 40px; }
.wp-block-columns.pc-cols > .wp-block-column > :first-child { margin-top: 0; }

/* business band */
.pc-business__cols { display: grid !important; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: center; }
.pc-business__cols > .wp-block-column { margin: 0 !important; }
.pc-business .pc-ticks { background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .14); border-radius: var(--r); padding: 22px 26px !important; margin: 0; }
.pc-business .pc-ticks li::before { background: var(--sky); }
@media (max-width: 860px) { .pc-business__cols { grid-template-columns: minmax(0, 1fr); gap: 24px; } }

/* CTA band */
.pc-cta { text-align: center; }
.pc-cta > * { margin-left: auto !important; margin-right: auto !important; }
.pc-cta .wp-block-buttons { justify-content: center; }

/* questions */
.pc-faq { max-width: 860px; }
.pc-faq .wp-block-details { border: 1px solid var(--line); border-radius: var(--r-sm); background: #fff; margin: 0 0 12px; padding: 0; }
.pc-faq summary { cursor: pointer; list-style: none; padding: 18px 56px 18px 22px; font: 700 1.05rem/1.4 var(--f-head); color: var(--ink); position: relative; }
.pc-faq summary::-webkit-details-marker { display: none; }
.pc-faq summary::after { content: ""; position: absolute; right: 22px; top: 50%; width: 10px; height: 10px; margin-top: -7px; border: solid var(--blue); border-width: 0 2px 2px 0; transform: rotate(45deg); transition: transform .2s; }
.pc-faq details[open] summary::after { transform: rotate(-135deg); margin-top: -2px; }
.pc-faq .wp-block-details > :not(summary) { padding: 0 22px 18px; margin: 0; }

/* areas list (coverage) */
.pc-areas { list-style: none !important; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 8px 20px; }
.pc-areas li { margin: 0; padding: 8px 0; border-bottom: 1px solid var(--line); }

/* note box */
.pc-note { background: var(--sky-soft); border-left: 4px solid var(--blue); border-radius: var(--r-sm); padding: 18px 22px; }
.pc-note > :last-child { margin-bottom: 0; }

/* ---------- live-data blocks ---------- */
.pc-contact { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.pc-contact__col { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 26px; }
.pc-contact__list { list-style: none; margin: 0; padding: 0; }
.pc-contact__list li { display: flex; gap: 14px; padding: 12px 0; border-top: 1px solid var(--line); }
.pc-contact__list li:first-child { border-top: 0; padding-top: 4px; }
.pc-contact__list .ico { color: var(--blue); margin-top: 3px; }
.pc-contact__list span { display: flex; flex-direction: column; min-width: 0; overflow-wrap: anywhere; }
.pc-contact__list small { font-size: .82rem; color: var(--text); opacity: .85; }
.pc-contact__list a { font-weight: 600; }
@media (max-width: 760px) { .pc-contact { grid-template-columns: minmax(0, 1fr); } }
.pc-booker iframe { width: 100%; border: 1px solid var(--line); border-radius: var(--r); background: #fff; display: block; }
.pc-booker__note { font-size: .92rem; margin-top: 12px; }
.pc-map { position: relative; border-radius: var(--r); overflow: hidden; background: var(--grey); min-height: 360px; display: grid; }
.pc-map iframe { width: 100%; height: 420px; border: 0; display: block; }
.pc-map__gate { display: grid; justify-items: center; align-content: center; text-align: center; gap: 12px; padding: 30px; color: var(--ink); }
.pc-map__gate .ico { color: var(--blue); }
.pc-map__gate p { margin: 0; max-width: 360px; }
.pc-app { display: flex; gap: 20px; align-items: flex-start; background: var(--sky-soft); border-radius: var(--r); padding: 26px; }
.pc-app__icon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 16px; background: var(--blue); color: #fff; flex: none; }
.pc-app h3 { margin-bottom: .3em; }
.pc-app__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.pc-company { font-size: .92rem; border-top: 1px solid var(--line); margin-top: 2.5em; padding-top: 1.2em; }

/* ---------- forms (Gravity Forms) ---------- */
.pc-entry .gform_wrapper { margin: 0; }
.pc-entry .gform_wrapper .gform_title { display: none; }
.pc-entry .gform_wrapper.gravity-theme .gfield_label, .pc-entry .gform_wrapper .gfield_label { font-weight: 700; color: var(--ink); font-size: .95rem; }
.pc-entry .gform_wrapper input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=button]), .pc-entry .gform_wrapper select, .pc-entry .gform_wrapper textarea {
	width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid #b9c2cf; border-radius: var(--r-sm); font: inherit; color: var(--ink); background: #fff;
}
.pc-entry .gform_wrapper input:focus, .pc-entry .gform_wrapper select:focus, .pc-entry .gform_wrapper textarea:focus { border-color: var(--blue); outline: 3px solid rgba(42, 163, 223, .3); outline-offset: 0; }
.pc-entry .gform_wrapper .gform_footer, .pc-entry .gform_wrapper .gform_page_footer { margin-top: 18px; padding: 0; }
.pc-form-privacy { font-size: .88rem; margin: 0 0 14px; width: 100%; }
.pc-formbox { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 30px; }
.is-grey .pc-formbox { border-color: transparent; }
@media (max-width: 560px) { .pc-formbox { padding: 20px; } }

/* ---------- legal pages ---------- */
.pc-legal__body { max-width: calc(820px + var(--gut) * 2); padding-top: var(--sec); padding-bottom: var(--sec); }
.pc-legal__body h2 { font-size: 1.5rem; margin-top: 1.8em; }
.pc-legal__body h3 { margin-top: 1.5em; }
.pc-legal__body .pc-sec { padding-left: 0; padding-right: 0; }

/* lists (search, blog) */
.pc-list { padding-top: 48px; padding-bottom: var(--sec); }
.pc-list__item { padding: 22px 0; border-bottom: 1px solid var(--line); }
.pc-list__item h2 { font-size: 1.3rem; margin-bottom: .3em; }
.pc-list__item h2 a { text-decoration: none; }
.pc-nf { padding-top: 48px; padding-bottom: var(--sec); }
.pc-nf__links { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; }
.pc-nf__links a { display: inline-block; padding: 10px 16px; border: 1px solid var(--line); border-radius: var(--r-sm); text-decoration: none; font-weight: 600; }
.search-form { display: flex; gap: 10px; margin: 20px 0; max-width: 520px; }
.search-form label { flex: 1; }
.search-form input[type=search] { width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid #b9c2cf; border-radius: var(--r-sm); font: inherit; }
.search-form .search-submit { min-height: 48px; padding: 0 20px; border: 0; border-radius: var(--r-sm); background: var(--blue); color: #fff; font: 700 1rem var(--f-body); cursor: pointer; }

/* ---------- footer ---------- */
.pc-footer { background: var(--navy); color: rgba(255, 255, 255, .82); padding: 0 0 28px; font-size: .96rem; }
.pc-footer a { color: #fff; text-decoration: none; }
.pc-footer a.pc-btn--light { color: var(--blue); }
.pc-footer a.pc-btn--light:hover { color: var(--blue-dk); text-decoration: none; }
.pc-footer a.pc-btn:hover { text-decoration: none; }
.pc-footer a:hover { text-decoration: underline; color: #fff; }
.pc-footer h2, .pc-footer h3 { color: #fff; }
.pc-footer__cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; background: var(--blue); border-radius: 0 0 var(--r) var(--r); padding: 36px 40px; }
.pc-footer__cta h2 { font-size: clamp(1.4rem, 2.4vw, 1.9rem); margin-bottom: .25em; }
.pc-footer__cta p { margin: 0; color: rgba(255, 255, 255, .9); max-width: 640px; }
.pc-footer__cta-btns { display: flex; flex-wrap: wrap; gap: 12px; flex: none; }
.pc-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1.3fr; gap: 36px; padding: 64px 0 40px; }
.pc-footer__brand .logo__img { width: 180px; margin-bottom: 18px; }
.pc-footer__note { font-size: .88rem; opacity: .85; }
.pc-footer__social { display: flex; gap: 10px; }
.pc-footer__social a { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(255, 255, 255, .1); }
.pc-footer__col h3 { font-size: 1rem; margin-bottom: 14px; }
.pc-footer__menu, .pc-footer__contact { list-style: none; margin: 0; padding: 0; }
.pc-footer__menu li { margin: 0 0 9px; }
.pc-footer__menu a { color: rgba(255, 255, 255, .82); }
.pc-footer__contact li { display: flex; gap: 10px; margin: 0 0 11px; align-items: flex-start; }
.pc-footer__contact .ico { color: #8fd0f2; margin-top: 3px; }
.pc-footer__prebook { display: flex; gap: 12px; align-items: flex-start; margin: 0; padding: 16px 20px; border: 1px solid rgba(255, 255, 255, .16); border-radius: var(--r-sm); color: #fff; }
.pc-footer__prebook .ico { color: #8fd0f2; margin-top: 3px; }
.pc-footer__legal { border-top: 1px solid rgba(255, 255, 255, .14); margin-top: 26px; padding-top: 22px; font-size: .86rem; }
.pc-footer__legal p { margin: 0 0 8px; }
.pc-footer__legal a { margin-left: 14px; color: rgba(255, 255, 255, .9); text-decoration: underline; }
@media (max-width: 1100px) { .pc-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .pc-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 760px) {
	.pc-footer__cta { flex-direction: column; align-items: flex-start; padding: 28px 22px; border-radius: 0 0 var(--r-sm) var(--r-sm); margin: 0 calc(var(--gut) * -1); }
	.pc-footer__cta-btns, .pc-footer__cta-btns .pc-btn { width: 100%; }
	.pc-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; padding-top: 44px; }
	.pc-footer__col:last-child { grid-column: 1 / -1; }
	.pc-footer__legal a { display: inline-block; margin: 6px 14px 0 0; }
}

/* ---------- phone bar (mobile) ---------- */
.pc-dock { display: none; }
@media (max-width: 760px) {
	body { padding-bottom: 68px; }
	.pc-dock { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; background: #fff; border-top: 1px solid var(--line); padding-bottom: env(safe-area-inset-bottom); }
	.pc-dock a { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 9px 4px 10px; font-size: .74rem; font-weight: 700; color: var(--ink); text-decoration: none; }
	.pc-dock a .ico { color: var(--blue); }
	.pc-dock a.is-main { background: var(--blue); color: #fff; }
	.pc-dock a.is-main .ico { color: #fff; }
}

/* ---------- cookie notice ---------- */
.pc-consent { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 200; display: flex; justify-content: center; }
.pc-consent[hidden] { display: none; }
.pc-consent__box { max-width: 720px; background: #fff; color: var(--ink); border: 1px solid var(--line); border-radius: var(--r); padding: 22px 24px; }
.pc-consent__title { font: 800 1.1rem var(--f-head); margin-bottom: .4em; }
.pc-consent__btns { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 760px) { .pc-consent { bottom: 80px; } }

/* motion preference */
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }

/* print */
@media print { .pc-header, .pc-footer, .pc-dock, .pc-consent { display: none !important; } }

/* ---------- 1.1.0 layout fixes ---------- */
/* Gravity Forms choices: never cut labels off. */
.pc-entry .gform_wrapper .gchoice { min-width: 0; display: flex; align-items: center; gap: 8px; }
.pc-entry .gform_wrapper .gchoice label { overflow: visible; max-width: none; width: auto; white-space: normal; font-size: .95rem; }
.pc-entry .gform_wrapper .gfield_radio, .pc-entry .gform_wrapper .gfield_checkbox { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.pc-entry .gform_wrapper input[type=radio], .pc-entry .gform_wrapper input[type=checkbox] { width: 20px; height: 20px; margin: 0; flex: none; }
/* Text beside a form: form gets the room it needs, stacks on tablets. */
.wp-block-columns.pc-quote-cols { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 48px; align-items: start; }
.wp-block-columns.pc-quote-cols > .wp-block-column { margin: 0 !important; min-width: 0; }
@media (max-width: 1060px) { .wp-block-columns.pc-quote-cols { grid-template-columns: minmax(0, 1fr); gap: 32px; } }
/* Older Gravity Forms markup (forms created before 2.5). */
.pc-entry .gform_legacy_markup_wrapper .gfield_radio li label, .pc-entry .gform_legacy_markup_wrapper .gfield_checkbox li label { max-width: none; overflow: visible; width: auto; white-space: normal; margin: 0; }
.pc-entry .gform_legacy_markup_wrapper .gfield_radio li, .pc-entry .gform_legacy_markup_wrapper .gfield_checkbox li { display: flex !important; align-items: center; gap: 8px; margin: 0 !important; padding: 0 !important; overflow: visible; }
.pc-entry .gform_legacy_markup_wrapper ul.gfield_radio, .pc-entry .gform_legacy_markup_wrapper ul.gfield_checkbox { display: flex; flex-wrap: wrap; gap: 8px 22px; padding: 0; margin: 6px 0 0; list-style: none; }
.pc-entry .gform_legacy_markup_wrapper .gfield_checkbox li label { font-size: .92rem; line-height: 1.5; }

/* ---------- 1.2.0 ---------- */
/* Mobile header: logo left, phone + menu right. */
.pc-header__actions { margin-left: auto; }
@media (max-width: 1060px) {
	.pc-header__bar { justify-content: space-between; }
	.pc-phone__icon { width: 46px; height: 46px; background: var(--blue); color: #fff; }
}

/* Icons: solid Petchey blue tiles with white line icons. */
.pc-feat::before, .pc-way::before { width: 56px; height: 56px; border-radius: 16px; background: linear-gradient(135deg, var(--blue) 0%, #0a66b3 100%); }
.pc-feat::after, .pc-way::after { top: 14px; left: 14px; width: 28px; height: 28px; background: #fff; }
.pc-feat { padding-top: 74px; }
.pc-way { padding-top: 100px !important; }
.pc-way::before { top: 24px; left: 24px; }
.pc-way::after { top: 38px; left: 38px; }
.pc-way:hover::before, .pc-feat:hover::before { background: linear-gradient(135deg, #0a66b3 0%, var(--sky) 100%); }
.is-dark .pc-feat::before { background: var(--sky); }
.is-dark .pc-feat::after { background: #fff; }
.pc-hero__points li::before { background: #fff; }
.pc-contact__list .ico { color: var(--blue); }
.pc-way { transition: border-color .2s, transform .2s; }
.pc-way:hover { border-color: var(--blue); transform: translateY(-3px); }

/* Hero with a card on the right (home). */
.wp-block-cover.pc-hero .wp-block-cover__inner-container > .pc-hero__cols { max-width: none; }
.wp-block-columns.pc-hero__cols { display: grid !important; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: 56px; align-items: center; margin: 0; }
.pc-hero__cols > .wp-block-column { margin: 0 !important; min-width: 0; }
.pc-hero__text > * { max-width: 680px; }
@media (max-width: 960px) { .wp-block-columns.pc-hero__cols { grid-template-columns: minmax(0, 1fr); gap: 32px; } }

/* Quick fare card. */
.pc-qq { background: #fff; color: var(--text); border-radius: 18px; padding: 26px; display: grid; gap: 12px; }
.pc-qq__title { font: 800 1.45rem/1.2 var(--f-head); color: var(--ink); margin: 0; }
.pc-qq__sub { margin: -4px 0 4px; font-size: .95rem; }
.pc-qq__field { display: grid; gap: 4px; font-size: .85rem; font-weight: 700; color: var(--ink); }
.pc-qq__field input, .pc-qq__field select { width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid #b9c2cf; border-radius: var(--r-sm); font: 400 1rem var(--f-body); color: var(--ink); background: #fff; }
.pc-qq__field input:focus, .pc-qq__field select:focus { border-color: var(--blue); outline: 3px solid rgba(42, 163, 223, .3); outline-offset: 0; }
.pc-qq__row { display: grid; grid-template-columns: 1.3fr 1fr; gap: 12px; }
.pc-qq .pc-btn { width: 100%; min-height: 52px; font-size: 1.05rem; }
.pc-qq__or { margin: 0; text-align: center; font-size: .92rem; }
.pc-qq__or a { font-weight: 800; }

/* Passenger finder, right above the vehicles. */
.pc-finder { background: var(--blue); color: #fff; padding: 34px 0; }
.pc-finder__inner { display: grid; grid-template-columns: auto auto 1fr; gap: 20px 40px; align-items: center; }
.pc-finder h2 { color: #fff; margin: 0; font-size: clamp(1.3rem, 2.2vw, 1.7rem); }
.pc-finder .pc-kicker { color: #bfe3f7; margin-bottom: .3em; }
.pc-finder__ctl { display: grid; grid-template-columns: 48px auto 48px; grid-template-areas: "m n p" "r r r"; gap: 10px 14px; align-items: center; }
.pc-finder__step { width: 48px; height: 48px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .6); background: transparent; color: #fff; font-size: 1.5rem; line-height: 1; cursor: pointer; }
.pc-finder__step:hover { background: #fff; color: var(--blue); }
.pc-finder__step[data-step="-1"] { grid-area: m; }
.pc-finder__step[data-step="1"] { grid-area: p; }
.pc-finder__num { grid-area: n; text-align: center; font: 800 2rem/1 var(--f-head); min-width: 130px; }
.pc-finder__num small { display: block; font: 600 .8rem var(--f-body); opacity: .85; margin-top: 4px; }
.pc-finder__range { grid-area: r; width: 100%; accent-color: #fff; }
.pc-finder__result { margin: 0; font: 700 1.15rem/1.3 var(--f-head); background: rgba(255, 255, 255, .12); border-radius: 12px; padding: 14px 18px; }
.pc-finder + .pc-sec { padding-top: 48px; }
.pc-finder + .pc-sec .pc-sec__title, .pc-finder + .pc-sec .pc-sec__intro { display: none; }
@media (max-width: 900px) { .pc-finder__inner { grid-template-columns: minmax(0, 1fr); } .pc-finder__ctl { justify-content: start; } }
.pc-fleet > .wp-block-column { transition: opacity .25s, transform .25s, border-color .25s; }
.pc-fleet > .wp-block-column.is-dim { opacity: .45; }
.pc-fleet > .wp-block-column.is-match { border-color: var(--blue); border-width: 2px; transform: translateY(-4px); }

/* Scroll-in. */
.pc-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.pc-reveal.is-in { opacity: 1; transform: none; }

/* Policy pages: same width as the rest of the site. */
.pc-legal__body { max-width: calc(var(--wrap) + var(--gut) * 2); }
.pc-legal__body > p, .pc-legal__body > ul, .pc-legal__body > ol { max-width: 980px; }

/* Contact page: get in touch card. */
.pc-touch { background: #fff; border-radius: var(--r); padding: 26px; margin-bottom: 22px; }
.pc-touch h2 { font-size: 1.4rem; margin-bottom: 10px; }
.pc-touch__big { font: 800 1.35rem/1.3 var(--f-head); }
.pc-map iframe { border-radius: var(--r); }

/* Footer: calmer. */
.pc-footer { padding-top: 64px; }
.pc-footer__grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; padding: 0 0 36px; gap: 40px; }
.pc-footer__brand p { max-width: 380px; }
.pc-footer__call { display: grid; gap: 8px; margin: 18px 0 10px; }
.pc-footer__call a { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; color: #fff; }
.pc-footer__call a:first-child { font: 800 1.35rem/1.2 var(--f-head); }
.pc-footer__call .ico { color: #8fd0f2; }
.pc-footer__addr { font-size: .9rem; opacity: .8; }
.pc-footer__legal { margin-top: 0; padding-top: 22px; font-size: .84rem; color: rgba(255, 255, 255, .7); }
.pc-footer__links { display: flex; flex-wrap: wrap; gap: 6px 22px; margin-bottom: 10px !important; }
.pc-footer__legal .pc-footer__links a { margin: 0; text-decoration: none; color: #fff; font-weight: 600; }
.pc-footer__legal .pc-footer__links a:hover { text-decoration: underline; }
@media (max-width: 1100px) { .pc-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .pc-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 760px) { .pc-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pc-footer__col:last-child { grid-column: auto; } }

/* Cookie choices. */
.pc-consent__box { max-width: 640px; }
.pc-consent__text { font-size: .95rem; }
.pc-consent__prefs { display: grid; gap: 10px; margin: 6px 0 16px; }
.pc-consent__row { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--r-sm); cursor: pointer; }
.pc-consent__row input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--blue); flex: none; }
.pc-consent__row span { display: grid; gap: 2px; }
.pc-consent__row small { font-size: .85rem; }
.pc-consent__link { background: none; border: 0; color: var(--blue); font: 700 .95rem var(--f-body); text-decoration: underline; cursor: pointer; padding: 8px 4px; }
.pc-consent__btns { align-items: center; }
@media (max-width: 560px) { .pc-consent__btns .pc-btn { flex: 1 1 100%; } }
.pc-embed iframe { width: 100%; border: 1px solid var(--line); border-radius: var(--r); display: block; background: #fff; }
.pc-embed:not(.pc-map) { background: var(--grey); border-radius: var(--r); min-height: 300px; display: grid; }
[hidden] { display: none !important; }
.pc-finder__out { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.pc-finder__out .pc-finder__result { flex: 1 1 220px; }
.pc-phone__icon { background: var(--blue); color: #fff; }
.pc-phone:hover .pc-phone__icon { background: var(--sky); }
.is-grey .pc-map { background: #fff; }

/* ---------- 1.3.0 ---------- */
/* Slightly smaller type for a calmer, more premium feel. */
body { font-size: 16px; line-height: 1.65; }
h1 { font-size: clamp(1.85rem, 3.8vw, 2.7rem); }
h2 { font-size: clamp(1.45rem, 2.5vw, 1.95rem); }
h3 { font-size: 1.12rem; }
.pc-hero h1, .pc-hero .pc-hero__title { font-size: clamp(1.85rem, 3.9vw, 2.75rem); }
.pc-hero.is-home h1 { font-size: clamp(2rem, 4.3vw, 3.05rem); }
.pc-hero .pc-hero__lead, .pc-pagehead .pc-hero__lead { font-size: clamp(1rem, 1.4vw, 1.12rem); }
.pc-sec__intro { font-size: 1.05rem; }
.is-style-lead { font-size: 1.1rem; }
.pc-btn, .wp-block-button__link, .gform_wrapper .gform_button, .pc-entry input[type=submit] { font-size: .95rem; min-height: 46px; }
.pc-menu a { font-size: .93rem; }
.pc-cards h3 { font-size: 1.08rem; }
.pc-faq summary { font-size: 1rem; }

/* Text beside a picture: always centred against the picture. */
.wp-block-columns.pc-split, .wp-block-columns.pc-business__cols { align-items: center !important; }
.wp-block-columns.pc-split > .wp-block-column, .wp-block-columns.pc-business__cols > .wp-block-column { align-self: center !important; }
.wp-block-columns.pc-split > .wp-block-column > :last-child { margin-bottom: 0; }

/* Icon features as boxes, with room under the section heading. */
.pc-sec__title + .wp-block-columns.pc-feats, .pc-sec__intro + .wp-block-columns.pc-feats { margin-top: 40px !important; }
.wp-block-columns.pc-feats { gap: 24px !important; }
.pc-feat { background: var(--grey); border: 1px solid transparent; border-radius: var(--r); padding: 100px 26px 28px !important; transition: border-color .2s, transform .2s, background .2s; }
.is-grey .pc-feat { background: #fff; }
.pc-feat::before { top: 28px; left: 26px; }
.pc-feat::after { top: 42px; left: 40px; }
.pc-feat:hover { border-color: var(--blue); transform: translateY(-3px); }
.pc-feat h3 { margin-bottom: .4em; }
.pc-feat p { font-size: .95rem; }
.is-dark .pc-feat { background: rgba(255, 255, 255, .06); }

/* Gravity Forms buttons: Next, Previous and Submit look like the site buttons. */
.pc-entry .gform_wrapper .gform_next_button, .pc-entry .gform_wrapper .gform_previous_button, .pc-entry .gform_wrapper input[type=button], .pc-entry .gform_wrapper input[type=submit], .pc-entry .gform_wrapper button[type=submit] {
	display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 12px 26px; border-radius: var(--r-sm); border: 2px solid var(--blue);
	background: var(--blue); color: #fff; font: 700 .95rem/1.2 var(--f-body); cursor: pointer; box-shadow: none; width: auto; -webkit-appearance: none; appearance: none;
}
.pc-entry .gform_wrapper .gform_next_button:hover, .pc-entry .gform_wrapper input[type=submit]:hover, .pc-entry .gform_wrapper input[type=button]:hover { background: var(--blue-dk); border-color: var(--blue-dk); }
.pc-entry .gform_wrapper .gform_previous_button { background: transparent; color: var(--blue); margin-right: 10px; }
.pc-entry .gform_wrapper .gform_previous_button:hover { background: var(--sky-soft); color: var(--blue-dk); }
.pc-entry .gform_wrapper .gform_page_footer { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; border: 0; }
.pc-entry .gform_wrapper .gf_progressbar_wrapper, .pc-entry .gform_wrapper .gf_page_steps { margin-bottom: 18px; }
.pc-entry .gform_wrapper .gf_progressbar_percentage { background: var(--blue); }
@media (max-width: 560px) { .pc-entry .gform_wrapper .gform_page_footer input, .pc-entry .gform_wrapper .gform_footer input { width: 100%; margin: 0; } }
.pc-dock a { font-size: .8rem; }
.pc-entry .gform_wrapper .gfield_radio label, .pc-entry .gform_wrapper .gfield_checkbox label { max-width: none !important; overflow: visible !important; white-space: normal !important; width: auto !important; }
/* Fleet: the live site's three vehicle cut-outs (Minicabs, Minibuses, Coaches), seats and a button. */
.wp-block-columns.pc-cards.pc-fleet { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.pc-fleet .pc-card__img { aspect-ratio: auto; height: 150px; background: #fff; display: flex; align-items: flex-end; justify-content: center; padding: 22px 20px 0; }
.pc-fleet .pc-card__img img { width: 100%; max-width: 290px; height: auto; object-fit: contain; mix-blend-mode: multiply; transition: transform .35s; }
.pc-fleet > .wp-block-column:hover .pc-card__img img { transform: translateX(6px); }
.pc-fleet > .wp-block-column:hover { border-color: var(--blue); }
.pc-fleet h3 { margin: 18px 0 4px; font-size: 1.25rem; }
.pc-cards.pc-fleet p.pc-seats { color: var(--muted, #5b6573); font-weight: 600; font-size: .95rem; margin: 0 0 18px; }
.pc-fleet .wp-block-buttons { margin-top: auto; padding: 0 20px; }
.is-grey .pc-fleet > .wp-block-column { border-color: transparent; }
@media (max-width: 860px) { .pc-fleet .pc-card__img { height: 120px; padding: 16px 14px 0; } }
@media (max-width: 560px) { .wp-block-columns.pc-cards.pc-fleet { grid-template-columns: minmax(0, 1fr); gap: 16px; } .pc-fleet .pc-card__img { height: 140px; } }

/* Room between a heading and the text or list under it. */
h2 { margin-bottom: .7em; }
h3 { margin-bottom: .55em; }
h2 + ul, h2 + ol, h3 + ul, h3 + ol, h2 + .pc-ticks, h3 + .pc-ticks { margin-top: .9em !important; }
/* Quote form: journey type options side by side, each on one line. */
.pc-entry .gform_wrapper ul.gfield_radio { display: flex; flex-wrap: wrap; gap: 6px 22px; }
.pc-entry .gform_wrapper ul.gfield_radio li { width: auto !important; margin: 0 !important; display: flex; align-items: center; }
.pc-entry .gform_wrapper ul.gfield_radio li label { white-space: nowrap !important; }

/* Minibus and coach quote widget: three steps, vehicle tiles. */
.pc-widget { border-top: 4px solid var(--blue) !important; }
.pc-widget h2 { margin-bottom: .25em; }
.pc-widget p.pc-widget__lead { color: #5b6573; font-size: .95rem; margin: 0 0 18px; }
.pc-widget .gform_wrapper .gf_page_steps { display: flex; gap: 6px; border: 0; margin: 0 0 22px; padding: 0; }
.pc-widget .gform_wrapper .gf_step { flex: 1 1 0; display: block; width: auto; height: auto; margin: 0 !important; padding: 10px 2px 0; border-top: 4px solid var(--line); opacity: 1; font: 600 .86rem/1.3 var(--f-body); color: #6b7480; }
.pc-widget .gform_wrapper .gf_step_active, .pc-widget .gform_wrapper .gf_step_completed { border-top-color: var(--blue); color: var(--ink); }
.pc-widget .gform_wrapper .gf_step_number { display: none; }
.pc-widget .gform_wrapper .gf_step_label { display: block; padding: 0; }
.pc-widget .gform_wrapper .gf_step_clear { display: none; }
.pc-entry .gform_wrapper .pc-choice-tiles ul.gfield_radio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.pc-entry .gform_wrapper .pc-choice-tiles ul.gfield_radio li { display: block; position: relative; }
.pc-entry .gform_wrapper .pc-choice-tiles ul.gfield_radio li input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pc-entry .gform_wrapper .pc-choice-tiles ul.gfield_radio li label { display: block; margin: 0 !important; padding: 14px 6px; border: 2px solid var(--line); border-radius: var(--r-sm); background: #fff; text-align: center; font-weight: 700; cursor: pointer; transition: border-color .15s, background .15s; }
.pc-entry .gform_wrapper .pc-choice-tiles ul.gfield_radio li label:hover { border-color: var(--sky); }
.pc-entry .gform_wrapper .pc-choice-tiles ul.gfield_radio li input:checked + label { border-color: var(--blue); background: var(--sky-soft); color: var(--blue); }
.pc-entry .gform_wrapper .pc-choice-tiles ul.gfield_radio li input:focus-visible + label { outline: 2px solid var(--blue); outline-offset: 2px; }
.pc-widget .gform_wrapper .gform_page_footer { justify-content: space-between; margin-top: 8px; padding-top: 0; }
.pc-widget .gform_wrapper .gform_page_footer .gform_next_button, .pc-widget .gform_wrapper .gform_page_footer input[type=submit] { margin-left: auto; }
.pc-entry .gform_wrapper .pc-choice-tiles ul.gfield_radio li label { width: 100% !important; max-width: none !important; box-sizing: border-box; }
.pc-widget .gform_wrapper .gf_step span.gf_step_number { display: none !important; }
.pc-widget .gform_wrapper .gform_page_footer { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.pc-widget .gform_wrapper .gform_page_footer .pc-form-privacy { order: -1; flex-basis: 100%; margin: 0 0 4px; }
.pc-widget .gform_wrapper .gform_page_footer .gform_previous_button { margin: 0 !important; }
.pc-entry .gform_wrapper .ginput_container_date { display: flex; align-items: center; gap: 10px; }
.pc-entry .gform_wrapper .ginput_container_date input.datepicker { flex: 1 1 auto; min-width: 0; width: auto !important; }
.pc-entry .gform_wrapper .ginput_container_time label.hour_label, .pc-entry .gform_wrapper .ginput_container_time label.minute_label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pc-entry .gform_wrapper input[type=submit].gform_previous_button { background: transparent; color: var(--blue); }
.pc-entry .gform_wrapper input[type=submit].gform_previous_button:hover { background: var(--sky-soft); color: var(--blue-dk); }
@media (max-width: 560px) { .pc-widget .gform_wrapper .gform_page_footer .gform_previous_button { order: 2; } }

/* Cookie notice: centred dialog over a dimmed page (bottom panel on the privacy policy page). Accept and reject look the same. */
.pc-consent.is-modal { inset: 0; align-items: center; padding: 16px; background: rgba(8, 22, 40, .55); }
.pc-consent.is-modal .pc-consent__box { max-width: 560px; width: 100%; max-height: calc(100vh - 32px); overflow-y: auto; padding: 28px; border: 0; }
.pc-consent__box:focus { outline: none; }
.pc-consent__title { font-size: 1.35rem; }
.pc-consent__text + .pc-consent__text { margin-top: -.4em; }
.pc-consent__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 4px; }
.pc-consent__btns .pc-btn { width: 100%; justify-content: center; }
.pc-consent__btns [data-consent="prefs"], .pc-consent__btns [data-consent="save"] { grid-column: 1 / -1; }
.pc-consent:not(.is-modal) { bottom: 16px; }
html.pc-consent-open { overflow: hidden; }
@media (max-width: 760px) { .pc-consent.is-modal { bottom: 0; } }
@media (max-width: 420px) { .pc-consent__btns { grid-template-columns: 1fr; } .pc-consent.is-modal .pc-consent__box { padding: 22px 18px; } }

/* Radios and checkboxes drawn by the theme, so the circle sits level with its text in every browser. */
.pc-entry .gform_wrapper .gfield_radio li, .pc-entry .gform_wrapper .gfield_checkbox li, .pc-entry .gform_wrapper .gchoice { align-items: center !important; }
.pc-entry .gform_wrapper input[type=radio], .pc-entry .gform_wrapper input[type=checkbox] { -webkit-appearance: none; appearance: none; width: 22px !important; height: 22px !important; margin: 0 !important; padding: 0; flex: none; align-self: center; position: relative; top: 0; vertical-align: middle; border: 2px solid #8a94a6; background: #fff; cursor: pointer; display: inline-grid !important; place-content: center; }
.pc-entry .gform_wrapper input[type=radio] { border-radius: 50%; }
.pc-entry .gform_wrapper input[type=checkbox] { border-radius: 5px; }
.pc-entry .gform_wrapper input[type=radio]::before { content: ""; display: block; width: 10px; height: 10px; border-radius: 50%; background: var(--blue); transform: scale(0); }
.pc-entry .gform_wrapper input[type=checkbox]::before { content: ""; width: 11px; height: 6px; border: solid #fff; border-width: 0 0 2.5px 2.5px; display: block; transform: rotate(-45deg) scale(0); margin-top: -3px; }
.pc-entry .gform_wrapper input[type=radio]:checked, .pc-entry .gform_wrapper input[type=checkbox]:hover, .pc-entry .gform_wrapper input[type=radio]:hover { border-color: var(--blue); }
.pc-entry .gform_wrapper input[type=checkbox]:checked { background: var(--blue); border-color: var(--blue); }
.pc-entry .gform_wrapper input[type=radio]:checked::before { transform: scale(1); }
.pc-entry .gform_wrapper input[type=checkbox]:checked::before { transform: rotate(-45deg) scale(1); }
.pc-entry .gform_wrapper input[type=radio]:focus-visible, .pc-entry .gform_wrapper input[type=checkbox]:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.pc-entry .gform_wrapper .gfield_radio li label, .pc-entry .gform_wrapper .gfield_checkbox li label { line-height: 1.3 !important; padding: 0 !important; margin: 0 !important; display: inline-block; vertical-align: middle; }
.pc-entry .gform_wrapper .pc-choice-tiles ul.gfield_radio li input { position: absolute; opacity: 0; width: 1px !important; height: 1px !important; border: 0; }

/* Picture slider (Gallery block, "Slider" style). The script wraps the gallery in .pc-slider. */
.pc-slider { position: relative; margin: 0 0 1.6em; }
.pc-slider .wp-block-gallery.pc-slider__track { display: flex !important; flex-wrap: nowrap !important; gap: 0 !important; margin: 0 !important; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; border-radius: var(--r); }
.pc-slider__track::-webkit-scrollbar { display: none; }
.pc-slider__track:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.pc-slider .pc-slider__track > figure.wp-block-image { flex: 0 0 100% !important; width: 100% !important; max-width: none !important; margin: 0 !important; scroll-snap-align: start; aspect-ratio: 3 / 2; position: relative; }
.pc-slider .pc-slider__track > figure.wp-block-image img { width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 0; }
.pc-slider .pc-slider__track > figure figcaption { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 28px 18px 14px; background: linear-gradient(transparent, rgba(8, 22, 40, .75)); color: #fff; font-size: .95rem; text-align: left; }
.pc-slider__btn { position: absolute; top: calc(50% - 17px); transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .92); color: var(--ink); display: grid; place-items: center; cursor: pointer; padding: 0; }
.pc-slider__btn:hover { background: #fff; color: var(--blue); }
.pc-slider__btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.pc-slider__btn.is-prev { left: 12px; }
.pc-slider__btn.is-next { right: 12px; }
.pc-slider__dots { display: flex; justify-content: center; gap: 2px; margin-top: 8px; }
.pc-slider__dots button { width: 26px; height: 26px; border: 0; background: none; padding: 0; cursor: pointer; display: grid; place-items: center; }
.pc-slider__dots button::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: #c5ccd8; }
.pc-slider__dots button[aria-current="true"]::before { background: var(--blue); width: 22px; border-radius: 5px; }
@media (max-width: 600px) { .pc-slider__btn { width: 38px; height: 38px; } .pc-slider__btn.is-prev { left: 8px; } .pc-slider__btn.is-next { right: 8px; } }

/* Videos: uploaded (Video block) and YouTube / Vimeo (held back until play or consent). */
.wp-block-video video { width: 100%; display: block; border-radius: var(--r); background: #000; }
.wp-block-embed.is-type-video .wp-block-embed__wrapper::before { display: none; }
.wp-block-embed .pc-video__box { position: relative; aspect-ratio: 16 / 9; border-radius: var(--r); overflow: hidden; background: #0b1a2e; }
.wp-block-embed .pc-video__box iframe { position: absolute; inset: 0; width: 100% !important; height: 100% !important; border: 0; }
.pc-video__gate { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 14px; padding: 20px; text-align: center; color: #fff; background: linear-gradient(135deg, #0b2747, #015090); }
.pc-video__gate p { margin: 0; max-width: 34ch; font-size: .9rem; color: rgba(255, 255, 255, .85); }
.pc-video__play { width: 72px; height: 72px; border-radius: 50%; border: 0; background: #fff; color: var(--blue); display: grid; place-items: center; cursor: pointer; padding: 0 0 0 4px; }
.pc-video__play:hover { background: #e8f2fb; }
.pc-video__play:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.pc-video__play .ico { fill: currentColor; }

/* Header slideshow: extra pictures / a video in a page header, fading one into the next. */
.pc-hero.has-slideshow .pc-hero__slide { opacity: 0; transition: opacity 1.2s ease; }
.pc-hero.has-slideshow:not(.is-ready) img.wp-block-cover__image-background:not(.pc-hero__slide) { opacity: 1; }
.pc-hero.has-slideshow .pc-hero__slide.is-on { opacity: 1; }
.pc-hero.has-slideshow video.pc-hero__slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; margin: 0; padding: 0; border: 0; max-width: none; max-height: none; z-index: 0; }
.pc-hero__pause { position: absolute; right: 16px; bottom: 16px; z-index: 2; width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .55); background: rgba(6, 33, 63, .45); color: #fff; display: grid; place-items: center; cursor: pointer; padding: 0; }
.pc-hero__pause:hover { background: rgba(6, 33, 63, .8); }
.pc-hero__pause:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.pc-hero__pause .ico { fill: currentColor; }
.pc-hero__pause[aria-pressed="false"] .ico:last-child, .pc-hero__pause[aria-pressed="true"] .ico:first-child { display: none; }
@media (prefers-reduced-motion: reduce) { .pc-hero.has-slideshow .pc-hero__slide { transition: none; } }
