select::-ms-expand {
    display: none;
}

/* Contact page details panel (Magento_Contact::contact-info.phtml) */

.contact-index-index .rc-info {
    height: 100%;
    padding: 28px 30px;
    background: #282828;
    color: #cfcfcf;
}

.contact-index-index .rc-info h2 {
    margin: 0 0 18px;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    text-transform: uppercase;
}

.contact-index-index .rc-info__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.contact-index-index .rc-info__list li {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 0 0 16px;
    font-size: 15px;
}

.contact-index-index .rc-info__label {
    color: #ff2d37;
    font-size: 12px;
    text-transform: uppercase;
}

.contact-index-index .rc-info a,
.contact-index-index .rc-info__list span:not(.rc-info__label) {
    color: #fff;
}

.contact-index-index .rc-info a:hover {
    color: #ff2d37;
}

.contact-index-index .rc-info__note {
    margin: 22px 0 0;
    padding-top: 16px;
    border-top: 1px solid #444;
}

.contact-index-index .rc-info__note a {
    font-weight: 500;
    text-decoration: underline;
}

@media (max-width: 991px) {
    .contact-index-index .rc-info {
        height: auto;
        margin-bottom: 24px;
    }
}

/* Category pages: the scoped "Search in <category>" box at the top replaces the
   landing module's unscoped search, which sat below long category descriptions. */
body .landing-search {
    display: none !important;
}

.rh-scoped-search {
    margin: 0 0 20px;
    padding: 14px 16px;
    background: #3a3a3a;
}

.rh-scoped-search label {
    display: block;
    margin: 0 0 8px;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
}

.rh-scoped-search__row {
    display: flex;
    gap: 8px;
}

.rh-scoped-search input[type="search"] {
    flex: 1 1 auto;
    min-width: 0;
    height: 42px;
    padding: 0 12px;
    border: 1px solid #3a3a3a;
    background: #fff;
    font-size: 15px;
}

.rh-scoped-search button {
    flex: 0 0 auto;
    height: 42px;
    padding: 0 22px;
    border: 0;
    background: #ff2d37;
    color: #fff;
    font-size: 14px;
    text-transform: uppercase;
}

.rh-scoped-search button:hover {
    background: #000;
}

/* Header search: no category dropdown; red outline so it stands out. */
.sm-searchbox #searchbox_mini_form .control {
    border-color: #ff2d37;
    background: #fff;
}

.sm-searchbox #searchbox_mini_form .input-box {
    width: 100%;
}

.sm-searchbox #searchbox::placeholder {
    color: #555;
    opacity: 1;
}

/* Hide the "In stock" availability label everywhere (stock isn't tracked).
   "Out of stock" (.stock.unavailable) stays visible. */
.stock.available {
    display: none !important;
}

/* Product custom options: one choice per line, full-width labels. */
.product-options-wrapper .field > .label {
    display: block;
    width: auto;
    margin-bottom: 6px;
    font-weight: 600;
}

.product-options-wrapper .field .control {
    width: 100% !important;
}

.product-options-wrapper .options-list .field.choice {
    float: none !important;
    width: auto !important;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0 0 8px;
}

.product-options-wrapper .options-list .field.choice input {
    flex: 0 0 auto;
    margin: 3px 0 0;
}

.product-options-wrapper .options-list .field.choice .label {
    flex: 1 1 auto;
    width: auto !important;
    display: block;
}

.product-options-wrapper select,
.product-options-wrapper input[type="text"],
.product-options-wrapper textarea {
    width: 100%;
    max-width: 100%;
}

/* Quick view is turned off. */
.sm_quickview_handler,
.quickview-handler {
    display: none !important;
}
.product-options-wrapper .fieldset > .field { float:none !important; width:100% !important; clear:both; margin:0 0 18px; }
.product-options-wrapper .options-list { display:block; }
.product-options-wrapper .options-list .field.choice { margin:0 0 4px; }
/* Required options (e.g. engine details) first, then the optional extras. */
.product-options-wrapper .fieldset { display:flex; flex-direction:column; }
.product-options-wrapper .fieldset > .field.required, .product-options-wrapper .fieldset > .field._required { order:-1; }
.product-options-wrapper .fieldset > .field { margin:0 0 12px; }
.product-item-sku { margin:2px 0 6px; color:#686868; font-size:12px; }
.racetep-cart-notice { margin:0 0 20px; padding:14px 18px; background:#fff7f7; border:1px solid #ff2d37; border-left-width:4px; font-size:14px; line-height:1.55; }
.racetep-cart-notice p { margin:0 0 8px; }
.racetep-cart-notice p:last-child { margin:0; }
.racetep-customer-note { margin:10px 0 16px; }
/* Customer notes box: red outline like the header search bar. */
.racetep-customer-note .label { display:block; font-weight:600; font-size:14px; line-height:1.5; color:#282828; }
.racetep-customer-note textarea { display:block; width:100%; margin-top:8px; padding:10px 12px; border:2px solid #ff2d37; border-radius:0; background:#fff; font-weight:normal; font-size:14px; box-shadow:none; }
.racetep-customer-note textarea:focus { border-color:#ff2d37; box-shadow:0 0 0 2px rgba(255,45,55,.2); outline:none; }
.checkout-index-index .racetep-cart-notice { margin:10px 0 20px; }

/* "Questions?" contact line: under the header search box and on About Us */
.racetep-contact-line { margin-top:6px; font-size:13px; line-height:1.4; color:#333; text-align:center; }
.racetep-contact-line a { color:#ff2d37; font-weight:600; white-space:nowrap; }
.racetep-contact-line a:hover { text-decoration:underline; }
.cms-aboutus .racetep-contact-line { margin:0 0 20px; font-size:15px; text-align:left; }

/* Product "Alert Text" under the price */
.product-info-main .racetep-product-alert { margin:10px 0 15px; }

/* Phones: no room under the search box, so the "Questions?" line is a strip under the header */
.racetep-contact-line--mobile { display:none; }
@media (max-width:991px) {
  .sm-searchbox .racetep-contact-line { display:none; }
  .racetep-contact-line.racetep-contact-line--mobile { display:block; margin:0; padding:8px 16px; background:#fff; border-bottom:1px solid #e5e5e5; font-size:14px; text-align:center; }
}

/* Category pages: the old site's "Categories" sidebar tree (sidebar-tree.phtml). */
.racetep-category-tree{margin-bottom:25px;border:1px solid #e5e5e5;background:#fff}
.racetep-category-tree .block-title{padding:12px 15px;border-bottom:1px solid #e5e5e5;margin:0}
.racetep-category-tree .block-title strong{font-size:16px;font-weight:600;text-transform:uppercase}
.racetep-category-tree .block-content{padding:8px 0;max-height:none}
.racetep-category-tree ul{list-style:none;margin:0;padding:0}
.racetep-category-tree ul ul{padding-left:14px}
.racetep-category-tree li{margin:0}
.racetep-category-tree a{display:inline-block;padding:4px 15px 4px 0;color:#333;font-size:14px;line-height:1.35}
.racetep-category-tree > .block-content > ul > li > a,.racetep-category-tree > .block-content > ul > li > details > summary > a{font-weight:600}
.racetep-category-tree li:not(.parent) > a{padding-left:33px}
.racetep-category-tree ul ul li:not(.parent) > a{padding-left:18px}
.racetep-category-tree a:hover,.racetep-category-tree a.current{color:#ff2d37}
.racetep-category-tree a.current{font-weight:600}
.racetep-category-tree summary{display:flex;align-items:flex-start;cursor:pointer;list-style:none;padding-left:15px}
.racetep-category-tree ul ul summary{padding-left:0}
.racetep-category-tree summary::-webkit-details-marker{display:none}
.racetep-category-tree summary::before{content:"+";flex:0 0 18px;width:18px;padding-top:4px;font-weight:700;color:#888;line-height:1.35}
.racetep-category-tree details[open] > summary::before{content:"\2212"}

/* Category tiles: an admin style forces the picture to the full tile width and 150px high,
   stretching it. Keep that box but fit the whole picture in it, in proportion. */
body .landing-categories .landing-categories--thumb img{min-width:0;width:100%;height:150px;object-fit:contain;object-position:center}

/* Editor content (category descriptions, CMS pages/blocks, product descriptions): the theme's
   img{width:auto} ignored the width saved on each picture, so logos showed at full file size.
   Use the saved width again (height follows in proportion); pictures in tables keep their size
   and the content scrolls sideways on a narrow screen instead of squashing them. */
.category-description img[width],.cms-page-view .column.main img[width],.widget.block-static-block img[width],.product.attribute.description img[width]{width:revert-layer}
.category-description td img,.cms-page-view .column.main td img,.widget.block-static-block td img,.product.attribute.description td img{max-width:none}
.category-description,.cms-page-view .column.main,.product.attribute.description .value{overflow-x:auto}

/* Custom Piston Order Form (/custom-piston-quote, Racetep_PistonQuote). */
.racetep-piston-quote{max-width:760px;margin:0 auto 40px}
.racetep-piston-quote__logos{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin:10px 0 20px}
.racetep-piston-quote__logos img{width:150px;height:50px;object-fit:contain}
.racetep-piston-quote__intro{text-align:center;margin-bottom:20px}
.racetep-piston-quote__form .field{margin-bottom:14px}
.racetep-piston-quote__form .label{display:block;font-weight:600;margin-bottom:5px}
.racetep-piston-quote__form input,.racetep-piston-quote__form select,.racetep-piston-quote__form textarea{width:100%;max-width:100%}
.racetep-piston-quote__trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

/* Product page: "Need Help" link under the name and the Ask a Question tab (Racetep_ProductQuestion). */
.product-info-main .racetep-ask-link{margin:0 0 12px;font-size:14px}
.product-info-main .racetep-ask-link a{color:#ff2d37;text-decoration:underline}
.racetep-ask-question{max-width:640px}
.racetep-ask-question .field{margin-bottom:14px}
.racetep-ask-question .label{display:block;font-weight:600;margin-bottom:5px}
.racetep-ask-question input,.racetep-ask-question textarea{width:100%;max-width:100%}
.racetep-ask-question__trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
