/* Store support, company and purchase pages. Geometry comes from design-system.css. */
.gps-store-content { padding-top: 32px; padding-bottom: var(--gps-space-section); }
.gps-store-content h2 { margin: 0 0 20px; font-size: clamp(27px, 3.5vw, 42px); line-height: 1.15; }
.gps-store-content h3 { margin: 0 0 12px; font-size: 20px; line-height: 1.3; }
.gps-lead { font-size: 18px; line-height: 1.7; max-width: 620px; margin-bottom: 28px; }
.gps-panel, .gps-service-card { padding: var(--gps-card-padding); border: 1px solid var(--gps-color-border); border-radius: var(--gps-card-radius); background: var(--gps-color-background); min-width: 0; }
.gps-panel > :first-child { margin-top: 0; }
.gps-panel > :last-child { margin-bottom: 0; }
.gps-story-hero, .gps-enquiry-layout, .gps-tracking-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.gps-story-hero { align-items: center; }
.gps-story-hero h2, .gps-enquiry-intro > h2 { font-size: clamp(34px, 4.5vw, 56px); }
.gps-story-image { margin: 0; padding: 24px; background: var(--gps-color-surface); border-radius: var(--gps-card-radius); }
.gps-story-image img { width: 100%; height: auto; aspect-ratio: 1.2; object-fit: cover; display: block; border-radius: var(--gps-control-radius); }
.gps-story-image figcaption { padding-top: 16px; font-size: 13px; text-align: center; color: var(--gps-color-muted); }
.gps-store-section { margin-top: var(--gps-space-section); }
.gps-section-intro { max-width: 680px; margin-bottom: 32px; }
.gps-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.gps-service-card { display: flex; flex-direction: column; color: var(--gps-color-text); }
.gps-service-card p { margin: 0 0 24px; }
.gps-service-card > span:last-child { margin-top: auto; font-weight: 700; color: var(--gps-color-primary); }
a.gps-service-card:hover { border-color: #f8c99b !important; transform: none; }
.gps-card-number { color: var(--gps-color-accent); font-weight: 700; margin-bottom: 24px; }
.gps-story-note { margin-top: var(--gps-space-section); background: var(--gps-color-surface); padding: clamp(24px, 5vw, 64px); }
.gps-story-note p { max-width: 720px; }
.gps-story-note a, .gps-policy-help a { font-weight: 700; }
.gps-contact-details { margin: 32px 0; }
.gps-contact-details span { display: block; font-size: 13px; color: var(--gps-color-muted); margin-bottom: 4px; }
.gps-contact-details a { font-weight: 700; overflow-wrap: anywhere; }
.gps-contact-page .gps-contact-details { display: grid; gap: 22px; }
.gps-contact-page .gps-contact-details address { font-style: normal; line-height: 1.7; }
.gps-contact-page .gps-enquiry-form { gap: 18px; }
.gps-contact-page .gps-enquiry-form textarea { min-height: 150px; resize: vertical; }
.gps-enquiry-intro ul { padding-left: 20px; }
.gps-enquiry-intro li + li { margin-top: 8px; }
.gps-enquiry-panel { background: var(--gps-color-surface); }
.gps-enquiry-panel h2 { font-size: 27px; }
.gps-enquiry-form { display: grid; gap: 24px; }
.gps-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.gps-enquiry-form label { display: block; font-size: 14px; font-weight: 600; }
.gps-enquiry-form :is(input:not([type=checkbox]), textarea) { display: block; width: 100%; margin-top: 8px; }
.gps-enquiry-form .gps-consent { display: flex; gap: 12px; align-items: flex-start; font-size: 13px; font-weight: 400; }
.gps-consent input { flex-shrink: 0; width: 20px; height: 20px; margin-top: 2px; }
.gps-consent a { text-decoration: underline; }
.gps-enquiry-form button { justify-self: start; }
.gps-request-success { padding: 24px 0; }
.gps-help-intro { max-width: 700px; margin-bottom: 32px; }
.gps-policy-layout { display:grid; gap:24px; width:100%; }
.gps-policy-nav { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:14px 28px; padding:24px; border:1px solid var(--gps-color-border); border-radius:var(--gps-card-radius); background:var(--gps-color-surface); }
.gps-policy-nav .gps-eyebrow { grid-column:1/-1; margin:0; }
.gps-policy-nav nav { display:flex; flex-wrap:wrap; gap:8px; }
.gps-policy-nav nav a { display:inline-flex; align-items:center; min-height:40px; padding:8px 14px; border:1px solid var(--gps-color-border); border-radius:var(--gps-control-radius); background:#fff; color:var(--gps-color-heading); font-size:13px; font-weight:650; text-decoration:none; }
.gps-policy-nav nav a:hover { border-color:var(--gps-color-accent); color:var(--gps-color-accent-hover); }
.gps-policy-nav [aria-current=page] { border-color:var(--gps-color-primary); background:var(--gps-color-primary); color:#fff; }
.gps-policy-nav [aria-current=page]:hover { color:#fff; }
.gps-policy-help { max-width:250px; padding-left:24px; border-left:1px solid var(--gps-color-border); font-size:13px; }
.gps-policy-help h3 { margin:0 0 4px; font-size:15px; }
.gps-policy-help p { margin:0 0 6px; line-height:1.5; }
.gps-policy-help a { display:inline-flex; align-items:center; gap:6px; color:var(--gps-color-primary); }
.gps-policy-help a svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.gps-policy-help a:hover { color:var(--gps-color-accent-hover); }
.gps-policy-copy { width:100%; line-height:1.8; overflow-wrap:anywhere; }
.gps-policy-copy > :is(p,ul,ol,h2,h3,h4,blockquote) { max-width:90ch; }
.gps-policy-copy :is(h2,h3) { font-size:22px; margin-top:36px; }
.gps-policy-copy ul { padding-left:22px; }
.gps-policy-copy li { padding-left:6px; margin:6px 0; }
.gps-tracking-layout { max-width: 1100px; margin-inline: auto; }
.gps-tracking-layout form.track_order { margin: 0; }
.gps-tracking-layout .form-row { width: 100% !important; float: none !important; }
/* Retain WooCommerce's forms, validation, gateways and endpoint permissions. */
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); column-gap: 40px; align-items: start; }
.woocommerce-checkout form.checkout::before, .woocommerce-checkout form.checkout::after { display: none; }
.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 3; padding: 28px; background: var(--gps-color-surface); border: 1px solid var(--gps-color-border); border-radius: var(--gps-card-radius); }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { float: none; width: 100%; }
.woocommerce-checkout #order_review_heading { grid-column: 2; margin: 0 0 20px; font-size: 24px; }
.woocommerce-checkout #order_review { grid-column: 2; padding: 24px; border: 1px solid var(--gps-color-border); }
.woocommerce-checkout #payment { background: var(--gps-color-surface); border-radius: var(--gps-card-radius); }
.woocommerce-checkout #place_order { width: 100%; margin-top: 12px; }
.woocommerce-checkout .woocommerce-billing-fields h3 { margin-top: 0; }
.woocommerce form .form-row .input-text, .woocommerce form .form-row select, .woocommerce .select2-container .select2-selection--single { min-height: 48px; border: 1px solid var(--gps-color-border); border-radius: var(--gps-control-radius); background: var(--gps-color-background); padding: 10px 13px; }
.woocommerce .select2-container .select2-selection--single { padding: 8px 4px; }
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; }
.woocommerce form .form-row label { font-size: 14px; margin-bottom: 6px; }
.woocommerce :is(form.login, form.register, form.lost_reset_password) { border: 1px solid var(--gps-color-border); border-radius: var(--gps-card-radius); padding: 28px; background: var(--gps-color-surface); }
.woocommerce-account .woocommerce > :is(form.login, form.lost_reset_password, h2) { max-width: 600px; margin-inline: auto; }
.woocommerce-account #customer_login { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
.woocommerce-account #customer_login::before, .woocommerce-account #customer_login::after { display: none; }
.woocommerce-account #customer_login .col-1, .woocommerce-account #customer_login .col-2 { float: none; width: auto; }
.woocommerce-account .woocommerce-MyAccount-navigation { width: 24%; box-shadow: none; background: var(--gps-color-surface); }
.woocommerce-account .woocommerce-MyAccount-content { width: 72%; box-shadow: none; min-width: 0; }
.woocommerce-account .woocommerce-MyAccount-content table { width: 100%; }
.woocommerce-order-received .woocommerce-order { max-width: 1000px; margin: auto; }
.woocommerce-order-received .woocommerce-thankyou-order-received { font-size: 24px; font-weight: 700; padding: 28px; border-radius: var(--gps-card-radius); background: var(--gps-color-surface); }
.woocommerce ul.order_details { display: flex; flex-wrap: wrap; gap: 20px; margin: 28px 0; padding: 0; }
.woocommerce ul.order_details li { float: none; margin: 0; padding-right: 20px; }
.gps-order-next { margin-top: 32px; }
.gps-empty-state { grid-column: 1 / -1; max-width: 760px; margin: 0 auto; text-align: center; padding: clamp(28px, 5vw, 64px); background: var(--gps-color-surface); border-radius: var(--gps-card-radius); }
.gps-empty-state .gps-empty-number { font: 700 clamp(72px, 12vw, 140px)/1 var(--gps-font-heading); color: var(--gps-color-accent); margin: 0 0 24px; }
.gps-empty-state .gps-buttons { justify-content: center; flex-wrap: wrap; }
.gps-empty-state form { margin-block: 24px; }
.gps-content-search { display: flex; gap: 12px; max-width: 700px; margin-bottom: 28px; }
.gps-content-search input { min-width: 0; flex: 1; }
@media(max-width: 1000px) {
 .woocommerce-checkout form.checkout { column-gap: 24px; }
 .woocommerce-checkout #customer_details, .woocommerce-checkout #order_review { padding: 20px; }
 .gps-policy-nav { grid-template-columns:1fr; }
 .gps-policy-nav .gps-eyebrow { grid-column:1; }
 .gps-policy-help { max-width:none; padding:14px 0 0; border-left:0; border-top:1px solid var(--gps-color-border); }
}
@media(max-width: 767px) {
 .gps-store-content { padding-top: 24px; }
 .gps-story-hero, .gps-enquiry-layout, .gps-tracking-layout, .gps-policy-layout, .gps-service-grid, .woocommerce-account #customer_login { grid-template-columns: minmax(0, 1fr); gap: 24px; }
 .gps-policy-nav { padding:18px; }
 .gps-policy-nav nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .gps-policy-nav nav a { min-height:44px; padding:8px 10px; font-size:12px; }
 .gps-policy-help { display:none; }
 .gps-lead { font-size: 16px; }
 .woocommerce-checkout form.checkout { display: block; }
 .woocommerce-checkout #order_review_heading { margin: 28px 0 16px; }
 .woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; margin-bottom: 24px; }
 .woocommerce-account .woocommerce-MyAccount-navigation ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
 .woocommerce-account .woocommerce-MyAccount-content { overflow-x: auto; }
 .gps-enquiry-form button { width: 100%; }
 .gps-order-next .gps-buttons { flex-wrap: wrap; }
}
@media(max-width: 479px) {
 .gps-form-grid { grid-template-columns: minmax(0, 1fr); }
 .gps-content-search { flex-direction: column; }
 .gps-empty-state .gps-button { width: 100%; }
 .woocommerce-checkout #customer_details, .woocommerce-checkout #order_review { padding: 16px; }
 .woocommerce form .form-row-first, .woocommerce form .form-row-last { float: none; width: 100%; }
}
