/* Small additions that theme.json can't express. Keep this file short. */

/* Sticky header with a hairline under it */
.jr-header{position:sticky;top:0;z-index:50;border-bottom:3px solid var(--wp--preset--color--accent)}
.admin-bar .jr-header{top:32px}
@media (max-width:782px){.admin-bar .jr-header{top:46px}}

/* Header icons */
.jr-header .wc-block-mini-cart__button,.jr-header .wc-block-customer-account a{color:inherit}

/* Product cards */
.wc-block-product-template .wc-block-components-product-image img,
.wp-block-woocommerce-product-image img{aspect-ratio:1;object-fit:contain;background:var(--wp--preset--color--surface)}

/* Shipping and returns note under add to cart */
.jr-trust{border:1px solid var(--wp--preset--color--line);border-radius:var(--wp--custom--radius);padding:var(--wp--preset--spacing--20) var(--wp--preset--spacing--30)}
.jr-trust p{margin:0}

/* Visible keyboard focus everywhere */
:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--wp--preset--color--accent);outline-offset:2px}

/* Tap targets on phones */
@media (max-width:600px){
  .wp-block-navigation__responsive-container-open,.wp-block-navigation__responsive-container-close{padding:10px}
  .wp-block-button__link{padding-top:.9em;padding-bottom:.9em}
}

/* Footer */
.jr-plain-list{list-style:none;padding-left:0}
.jr-plain-list li{margin:.35em 0}
.jr-footer-rule{border-color:rgb(255 255 255 / .15)!important;opacity:1}

/* Vehicle cards: whole card is the link */
.jr-vehicle{position:relative;transition:border-color .2s}
.jr-vehicle:hover{border-color:var(--wp--preset--color--accent)!important}
.jr-vehicle h3{margin:0}
.jr-vehicle h3 a{color:inherit;text-decoration:none}
.jr-vehicle h3 a::after{content:"";position:absolute;inset:0}
.jr-vehicle p{margin:.25rem 0 0}
.jr-vehicle .jr-vehicle-img{margin:calc(-1 * var(--wp--preset--spacing--30)) calc(-1 * var(--wp--preset--spacing--30)) var(--wp--preset--spacing--20);overflow:hidden;border-radius:5px 5px 0 0}
.jr-vehicle .jr-vehicle-img img{display:block;width:100%;height:auto}

/* Shop: on phones, show products first and the category list after */
@media (max-width:781px){.jr-shop-sidebar{order:2}}

/* Header logo: size by height so wide and stacked logos both read well */
.jr-header .jr-logo{flex-shrink:1;min-width:0}
.jr-header .jr-logo img{height:56px;width:auto!important;max-width:100%;object-fit:contain}
@media (max-width:600px){.jr-header .jr-logo img{height:40px}}

/* Header tools (search, account, cart): plain icons, not red buttons */
.jr-header-tools{flex-shrink:0}
.jr-header-tools .wp-block-search__button,
.jr-header-tools .wc-block-mini-cart__button,
.jr-header-tools .wc-block-customer-account a{
	background:transparent!important;color:var(--wp--preset--color--base)!important;
	border:0;box-shadow:none;padding:8px;min-width:40px;min-height:40px;
	display:inline-flex;align-items:center;justify-content:center;
}
.jr-header-tools .wp-block-search__button:hover,
.jr-header-tools .wc-block-mini-cart__button:hover,
.jr-header-tools .wc-block-customer-account a:hover{color:var(--wp--preset--color--accent)!important}
.jr-header-tools svg{width:24px;height:24px;fill:currentColor}
.jr-header-tools .wp-block-search__inside-wrapper{border:0;padding:0}

/* Dark header: drop-down menus match the bar */
.jr-header .wp-block-navigation__submenu-container{background:var(--wp--preset--color--contrast)!important;color:var(--wp--preset--color--base)!important;border-color:rgb(255 255 255 / .15)!important}
.jr-header .wp-block-navigation a:hover{color:var(--wp--preset--color--accent)}
.jr-header .wp-block-search__input{background:var(--wp--preset--color--base);color:var(--wp--preset--color--contrast)}

/* Phone menu button: plain white icon on the black bar */
.jr-header .wp-block-navigation__responsive-container-open,
.jr-header .wp-block-navigation__responsive-container-close{background:transparent!important;color:var(--wp--preset--color--base)!important;border:0}
.jr-header .wp-block-navigation__responsive-container-open svg{width:28px;height:28px;fill:currentColor}

/* Contact Form 7: fields and button to match the theme */
.wpcf7-form p{margin:0 0 var(--wp--preset--spacing--30)}
.wpcf7-form label{display:block;font-family:inherit;font-weight:600;font-size:var(--wp--preset--font-size--small)}
.wpcf7-form-control-wrap{display:block;margin-top:.35em}
.wpcf7 input:where([type=text],[type=email],[type=tel],[type=url],[type=number],[type=date],[type=file]),.wpcf7 select,.wpcf7 textarea{box-sizing:border-box;width:100%;max-width:100%;min-height:44px;padding:.65em .8em;border:1px solid var(--wp--preset--color--line);border-radius:4px;background:var(--wp--preset--color--base);color:var(--wp--preset--color--contrast);font:inherit;font-size:16px;line-height:1.4}
.wpcf7 textarea{min-height:9em;resize:vertical}
.wpcf7 input[type=file]{padding:.5em}
.wpcf7 input:where([type=text],[type=email],[type=tel],[type=url],[type=number],[type=date],[type=file]):focus,.wpcf7 select:focus,.wpcf7 textarea:focus{outline:2px solid #dd3333;outline-offset:1px;border-color:#dd3333}
.wpcf7 .wpcf7-list-item{display:inline-flex;align-items:center;gap:.4em;margin:0 1em .4em 0;min-height:44px}
.wpcf7 input:where([type=checkbox],[type=radio]){width:1.15em;height:1.15em;accent-color:#dd3333}
.wpcf7 input[type=submit]{min-height:48px;padding:.9em 1.6em;border:0;border-radius:var(--wp--custom--radius);background:var(--wp--preset--color--accent);color:var(--wp--preset--color--base);font-family:inherit;font-size:var(--wp--preset--font-size--small);font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.wpcf7 input[type=submit]:hover{background:var(--wp--preset--color--accent-dark)}
.wpcf7 input[type=submit]:focus-visible{outline:2px solid #dd3333;outline-offset:2px}
.wpcf7 .wpcf7-not-valid{border-color:#dd3333}
.wpcf7 .wpcf7-not-valid-tip{margin-top:.3em;color:#b82626;font-size:var(--wp--preset--font-size--small);font-weight:600}
.wpcf7 form .wpcf7-response-output{margin:var(--wp--preset--spacing--30) 0 0;padding:.8em 1em;border:2px solid var(--wp--preset--color--line);border-radius:4px;font-size:var(--wp--preset--font-size--small)}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output,.wpcf7 form.spam .wpcf7-response-output{border-color:#dd3333;color:#b82626}
.wpcf7 form.sent .wpcf7-response-output{border-color:#2e7d32;color:#1b5e20}
@media (max-width:600px){.wpcf7 input[type=submit]{width:100%}}

/* Details (FAQ questions): divider, red marker, indented answer */
.wp-block-details{border-bottom:1px solid var(--wp--preset--color--line);padding:var(--wp--preset--spacing--20) 0}
.wp-block-details summary{display:flex;align-items:baseline;gap:.6em;padding:.4em 0;cursor:pointer;font-weight:700;list-style:none}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details summary::before{content:"+";flex:none;width:1em;color:#dd3333;font-weight:700;text-align:center}
.wp-block-details[open]>summary::before{content:"\2212"}
.wp-block-details summary:focus-visible{outline:2px solid #dd3333;outline-offset:2px}
.wp-block-details>:not(summary){margin-left:1.6em}

/* Homepage "Built to perform": about 15% tighter than the other sections.
   The kit photos carry 22-27% empty white above the parts and 2-3% below,
   so the frame drops 15% of its height from the top only. */
.jr-featured > .wp-block-woocommerce-product-collection{margin-block-start:17px}
.jr-featured .wc-block-product-template{gap:min(18px,4vw)}
.jr-featured .wc-block-components-product-image{margin-bottom:10px}
.jr-featured .wc-block-components-product-image img{aspect-ratio:20/17!important;object-fit:cover!important;object-position:50% 100%!important}
.jr-featured .wp-block-post-title{margin-bottom:10px}

/* Homepage sections alternate Surface / Surface alt. Kit and news photos
   have white backgrounds, so each sits in a white card. Small red links
   use the darker red on grey to keep AA contrast. */
.jr-featured .wc-block-product,.jr-news .wp-block-post-template>li{box-sizing:border-box;padding:14px;background:var(--wp--preset--color--base);border:1px solid var(--wp--preset--color--line);border-radius:4px}
.jr-news .wp-block-post-featured-image img{border-radius:3px}
.jr-featured>.wp-block-group a,.jr-news>.wp-block-group a{color:var(--wp--preset--color--accent-dark)}

/* Quick view (variable products): dialog with the variations form; bottom sheet on phones */
.jr-qv{width:min(760px,calc(100vw - 32px));max-height:min(90dvh,900px);padding:0;border:0;border-radius:8px;background:var(--wp--preset--color--base);color:var(--wp--preset--color--contrast);box-shadow:0 20px 60px rgba(0,0,0,.35)}
.jr-qv::backdrop{background:rgba(0,0,0,.6)}
.jr-qv__inner{position:relative;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:var(--wp--preset--spacing--40);padding:var(--wp--preset--spacing--40)}
.jr-qv__media img{display:block;width:100%;height:auto;border-radius:4px}
.jr-qv__title{margin:0 2.5rem .3em 0;font-size:var(--wp--preset--font-size--large);line-height:1.15}
.jr-qv .price{margin:0 0 .8em;font-weight:700}
.jr-qv__close{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:inherit;font-size:28px;line-height:1;cursor:pointer}
.jr-qv__close:hover{background:var(--wp--preset--color--line)}
.jr-qv__close:focus-visible,.jr-qv select:focus-visible,.jr-qv .single_add_to_cart_button:focus-visible{outline:2px solid #dd3333;outline-offset:2px}
.jr-qv table.variations{width:100%;margin:0 0 .6em;border:0;border-collapse:collapse}
.jr-qv table.variations th,.jr-qv table.variations td{display:block;padding:0;border:0;text-align:left}
.jr-qv table.variations th{padding-top:.5em;font-weight:700}
.jr-qv table.variations select{width:100%;min-height:44px;margin:.25em 0;font:inherit}
.jr-qv .reset_variations{display:inline-block;margin-top:.25em;font-size:var(--wp--preset--font-size--small)}
.jr-qv .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:.6em;align-items:stretch;margin-top:.6em}
.jr-qv .quantity .qty{width:4.5em;min-height:48px;text-align:center;font:inherit}
.jr-qv .single_add_to_cart_button{flex:1;min-height:48px}
.jr-qv .single_add_to_cart_button.disabled{opacity:.5;cursor:not-allowed}
.jr-qv__details{display:inline-block;margin-top:var(--wp--preset--spacing--30);font-size:var(--wp--preset--font-size--small)}
@media (max-width:600px){
.jr-qv{width:100%;max-width:100%;max-height:92dvh;margin:auto 0 0;border-radius:12px 12px 0 0}
.jr-qv__inner{grid-template-columns:72px minmax(0,1fr);gap:12px;padding:16px}
.jr-qv__title{font-size:var(--wp--preset--font-size--medium)}
}

/* Grouped product: options picked in the quick view show in the row */
.jr-qv[data-jr-qv-mode="pick"] .quantity{display:none!important}
.jr-qv-choice{display:block;margin-top:.25em;font-size:var(--wp--preset--font-size--small);font-weight:600}
.jr-qv-remove{margin-left:.4em;padding:0;border:0;background:none;color:var(--wp--preset--color--accent-dark);font:inherit;font-weight:400;text-decoration:underline;cursor:pointer}
.jr-qv-error{display:block;margin-top:.25em;color:#b82626;font-size:var(--wp--preset--font-size--small);font-weight:600}
.jr-qv-choice ul{margin:0 0 .15em;padding:0;list-style:none;font-weight:400}
.jr-required{display:inline-block;margin-left:.4em;padding:.1em .45em;border-radius:3px;background:var(--wp--preset--color--accent-dark);color:var(--wp--preset--color--base);font-size:.75em;font-weight:700;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}

/* Side (mini) cart: no product short descriptions; name, options, price, quantity and remove stay */
.wc-block-mini-cart__drawer .wc-block-components-product-metadata__description{display:none}

/* Single-quantity grouped products: "Add" checkboxes and a running total by Add to cart */
.jr-add-toggle{display:inline-flex;align-items:center;gap:.5em;min-height:44px;padding:.3em .8em;border:1px solid var(--wp--preset--color--line);border-radius:4px;background:var(--wp--preset--color--base);font-weight:600;cursor:pointer;user-select:none}
.jr-add-toggle input{width:1.25em;height:1.25em;margin:0;accent-color:#dd3333;cursor:pointer}
.jr-add-toggle:has(input:checked){border-color:#dd3333;background:#fdf1f1}
.jr-add-toggle:has(input:focus-visible){outline:2px solid #dd3333;outline-offset:2px}
form.grouped_form:has(.jr-grouped-total){display:flex;flex-wrap:wrap;align-items:center;gap:var(--wp--preset--spacing--20) var(--wp--preset--spacing--30)}
form.grouped_form:has(.jr-grouped-total)>table{flex:1 1 100%}
.jr-grouped-total{display:flex;flex-direction:column;line-height:1.2}
.jr-grouped-total__label{font-size:var(--wp--preset--font-size--small);color:var(--wp--preset--color--muted)}
.jr-grouped-total__amount{font-size:var(--wp--preset--font-size--large)}
.jr-grouped-total__note{font-size:.8em;color:var(--wp--preset--color--muted)}
@media (max-width:600px){
form.grouped_form:has(.jr-grouped-total) .single_add_to_cart_button{order:2;flex:1 1 100%}
.jr-grouped-total{order:1;flex:1 1 100%}
}
.jr-choose-one{display:inline-block;margin-left:.4em;padding:.1em .45em;border:1px solid var(--wp--preset--color--line);border-radius:3px;color:var(--wp--preset--color--muted);font-size:.75em;font-weight:600;vertical-align:middle}

/* Race Tuning description (product 15701): cards, steps, tables, quote */
.jr-icon{display:inline-flex;color:var(--wp--preset--color--accent);vertical-align:middle}
.jr-icon svg{width:36px;height:36px}
.jr-rt-cards,.jr-rt-steps{gap:var(--wp--preset--spacing--30)}
.jr-rt-card{height:100%;box-sizing:border-box;padding:var(--wp--preset--spacing--30);background:var(--wp--preset--color--base);border:1px solid var(--wp--preset--color--line);border-radius:4px}
.jr-rt-card .wp-block-image{margin:0 0 .6em}
.jr-rt-card .wp-block-image img{width:100%;height:150px;object-fit:contain}
.jr-rt-card h3{margin:0 0 .35em;font-size:var(--wp--preset--font-size--medium)}
.jr-rt-card h3 a{color:inherit;text-decoration:none}
.jr-rt-card h3 a:hover,.jr-rt-card h3 a:focus-visible{color:var(--wp--preset--color--accent-dark);text-decoration:underline}
.jr-rt-card p{margin:0;font-size:var(--wp--preset--font-size--small)}
.jr-rt-tag{display:inline-block;margin-left:.4em;padding:.1em .45em;border-radius:3px;background:var(--wp--preset--color--contrast);color:var(--wp--preset--color--base);font-family:inherit;font-size:.65em;letter-spacing:.04em;vertical-align:middle}
.jr-rt-step .jr-icon{margin-bottom:.4em}
.jr-rt-step h3{margin:0 0 .35em;font-size:var(--wp--preset--font-size--medium)}
.jr-rt-step h3 .jr-rt-num{display:inline-flex;align-items:center;justify-content:center;width:1.5em;height:1.5em;margin-right:.35em;border-radius:50%;background:var(--wp--preset--color--accent);color:var(--wp--preset--color--base);font-size:.8em}
.jr-rt-step p{margin:0;font-size:var(--wp--preset--font-size--small)}
.jr-rt-table table{width:100%;border-collapse:collapse;background:var(--wp--preset--color--base);font-size:var(--wp--preset--font-size--small)}
.jr-rt-table th,.jr-rt-table td{padding:.6em .75em;border:1px solid var(--wp--preset--color--line);text-align:left;vertical-align:top}
.jr-rt-table thead th{background:var(--wp--preset--color--contrast);color:var(--wp--preset--color--base);font-family:"Barlow Condensed",sans-serif;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.jr-rt-compare td:last-child{border-left:3px solid var(--wp--preset--color--accent);font-weight:600}
.jr-rt-compare thead th:last-child{background:var(--wp--preset--color--accent)}
.jr-rt-quote{margin:var(--wp--preset--spacing--40) 0;padding:.4em 0 .4em 1em;border-left:4px solid var(--wp--preset--color--accent)}
.jr-rt-quote p{font-size:var(--wp--preset--font-size--large);font-weight:600}
.jr-rt-quote cite{font-size:var(--wp--preset--font-size--small);font-style:normal;color:var(--wp--preset--color--muted)}
@media (max-width:600px){
.jr-rt-compare table{font-size:.85em}
.jr-rt-compare th,.jr-rt-compare td{padding:.5em}
}

/* Race Tuning "Features at a glance": one card per area (dark header bar with icon and name, then its features) */
.jr-rt-areas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--wp--preset--spacing--30);align-items:start}
.jr-rt-area{margin:0;overflow:hidden;background:var(--wp--preset--color--base);border:1px solid var(--wp--preset--color--line);border-radius:4px}
.jr-rt-area__head{display:flex;align-items:center;gap:.5em;margin:0;padding:.55em .9em;background:var(--wp--preset--color--contrast);color:var(--wp--preset--color--base);font-size:1.1rem;letter-spacing:.04em;text-transform:uppercase}
.jr-rt-area__head .jr-icon{color:var(--wp--preset--color--base)}
.jr-rt-area__head .jr-icon svg{width:24px;height:24px}
.jr-rt-area__list{margin:0;padding:0;list-style:none;font-size:var(--wp--preset--font-size--small)}
.jr-rt-area__list li{margin:0;padding:.65em .9em;line-height:1.45}
.jr-rt-area__list li+li{border-top:1px solid var(--wp--preset--color--line)}
.jr-rt-area__list strong{color:var(--wp--preset--color--contrast)}
@media (max-width:1000px){.jr-rt-areas{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.jr-rt-areas{grid-template-columns:minmax(0,1fr)}}
