/*
Theme Name: Meirente Knife Catalog
Theme URI: https://meirente.cc/
Author: Meirente Knife Co., Ltd.
Description: Editable industrial knife catalog theme with product archives, shared sidebar, responsive navigation and Polylang compatibility.
Version: 1.1.0
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: meirente
*/

:root {
  --mrt-green: #0f8278;
  --mrt-green-dark: #08665f;
  --mrt-accent: #b6bf00;
  --mrt-text: #303a3e;
  --mrt-muted: #697478;
  --mrt-border: #d9dfe1;
  --mrt-soft: #f4f7f7;
  --mrt-container: 1464px;
  --mrt-sidebar: 270px;
  --mrt-gap: 28px;
  --mrt-shadow: 0 12px 26px rgba(26, 51, 49, .13);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--mrt-text); background: #fff; font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 1.58; }
img { max-width: 100%; height: auto; }
a { color: var(--mrt-green); text-decoration: none; }
a:hover, a:focus { color: var(--mrt-accent); }
button, input, select, textarea { font: inherit; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.mrt-container { width: 78%; max-width: var(--mrt-container); margin-inline: auto; }
.mrt-home-content > .alignfull,
.mrt-home-content > .alignwide { width: 100%; max-width: 100%; margin-left: 0; margin-right: 0; }

.mrt-site-header { width: 78%; max-width: var(--mrt-container); margin: 30px auto 0; }
.mrt-site-header .mrt-container, .mrt-site-footer .mrt-container { width: 100%; }
.mrt-topbar { border-top: 2px solid #00a997; background: #fff; }
.mrt-topbar-inner { min-height: 44px; display: flex; align-items: center; gap: 24px; color: #008c80; font-size: 13px; }
.mrt-topbar-contact { display: flex; align-items: center; gap: 24px; }
.mrt-whatsapp-link { display: inline-flex; align-items: center; gap: 5px; }
.mrt-whatsapp-icon { width: 17px; height: 17px; flex: 0 0 auto; color: #25d366; }
.mrt-language { margin-left: auto; position: relative; }
.mrt-language select, .mrt-language-placeholder { min-width: 124px; height: 34px; padding: 4px 34px 4px 12px; border: 1px solid var(--mrt-border); color: #05796f; background: #fff; }

.mrt-header-main { background: var(--mrt-green); box-shadow: var(--mrt-shadow); }
.mrt-header-inner { min-height: 100px; display: flex; align-items: stretch; }
.mrt-brand { flex: 0 0 var(--mrt-sidebar); display: flex; align-items: center; padding: 10px 18px; border-right: 1px solid rgba(255,255,255,.72); }
.mrt-brand img { display: block; width: 100%; max-width: 232px; height: 64px; object-fit: contain; object-position: left center; }
.mrt-brand-text { color: #fff; font-size: 46px; font-weight: 700; letter-spacing: -2px; line-height: 1; }
.mrt-nav-toggle { display: none; }
.mrt-primary-nav { flex: 1; min-width: 0; }
.mrt-primary-nav .menu { display: flex; align-items: stretch; justify-content: space-around; height: 100%; margin: 0; padding: 0; list-style: none; }
.mrt-primary-nav .menu > li { position: relative; display: flex; align-items: stretch; }
.mrt-primary-nav .menu > li > a { display: flex; align-items: center; padding: 0 20px; color: #fff; font-size: 16px; font-weight: 600; white-space: nowrap; }
.mrt-primary-nav .current-menu-item > a, .mrt-primary-nav .current-menu-ancestor > a, .mrt-primary-nav .current_page_item > a, .mrt-primary-nav a:hover, .mrt-primary-nav a:focus { color: var(--mrt-accent) !important; }
.mrt-primary-nav .sub-menu { position: absolute; z-index: 50; top: 100%; left: 0; display: none; min-width: 260px; margin: 0; padding: 8px 0; list-style: none; background: #fff; border: 1px solid var(--mrt-border); box-shadow: var(--mrt-shadow); }
.mrt-primary-nav li:hover > .sub-menu, .mrt-primary-nav li:focus-within > .sub-menu { display: block; }
.mrt-primary-nav .sub-menu a { display: block; padding: 10px 16px; color: var(--mrt-text); border-bottom: 1px solid #edf0f1; }
.mrt-primary-nav .sub-menu a:hover { color: var(--mrt-green); background: #f2f8f7; }
.mrt-submenu-toggle { display: none; }

.mrt-site-main { padding: 34px 0 36px; }
.mrt-layout { display: grid; grid-template-columns: var(--mrt-sidebar) minmax(0, 1fr); gap: var(--mrt-gap); align-items: start; }
.mrt-content { min-width: 0; }
.mrt-breadcrumb { min-height: 55px; display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin-bottom: 22px; padding: 10px 22px; background: var(--mrt-green); color: #fff; font-size: 14px; }
.mrt-breadcrumb a { color: #fff; }
.mrt-breadcrumb a:hover { color: var(--mrt-accent); }
.mrt-breadcrumb strong { font-weight: 700; }

.mrt-mobile-products { display: none; }
.mrt-sidebar-section { margin-bottom: 22px; }
.mrt-sidebar-title { min-height: 50px; display: flex; align-items: center; margin: 0; padding: 0 19px; color: #fff; background: var(--mrt-green); font-size: 16px; font-weight: 700; text-align: left; }
.mrt-category-list { margin: 0; padding: 0; border: 1px solid var(--mrt-border); border-top: 0; list-style: none; }
.mrt-category-list li { border-bottom: 1px solid var(--mrt-border); }
.mrt-category-list li:last-child { border-bottom: 0; }
.mrt-category-list a { min-height: 54px; display: flex; align-items: center; padding: 8px 17px; color: var(--mrt-text); font-size: 15px; transition: color .2s, background-color .2s, padding-left .2s; }
.mrt-category-list a::before { content: ''; width: 8px; height: 8px; margin-right: 13px; border-top: 2px solid #758084; border-right: 2px solid #758084; transform: rotate(45deg); }
.mrt-category-list a:hover, .mrt-category-list .current-cat > a { padding-left: 25px; color: var(--mrt-green); background: #eef7f6; }
.mrt-hot-list { display: grid; gap: 16px; margin-top: 15px; }
.mrt-hot-card { display: block; padding: 12px; border: 1px solid var(--mrt-border); color: var(--mrt-green); background: #fff; }
.mrt-hot-card:hover { background: #169d90; color: #fff; }
.mrt-hot-card img { display: block; width: 100%; aspect-ratio: 1/1; object-fit: contain; border: 1px solid #777; background: #fff; }
.mrt-hot-card span { display: block; padding-top: 9px; font-size: 13px; line-height: 1.4; }
.mrt-contact-details { padding: 13px; border: 1px solid var(--mrt-border); border-top: 0; font-size: 13px; }
.mrt-contact-details p { margin: 0 0 7px; }
.mrt-contact-details p:last-child { margin-bottom: 0; }

.mrt-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; }
.mrt-product-card { display: flex; flex-direction: column; min-width: 0; padding: 15px; border: 1px solid var(--mrt-border); background: #fff; }
.mrt-product-card-image { display: block; aspect-ratio: 1/1; border: 2px solid #343434; background: #fff; overflow: hidden; }
.mrt-product-card-image img { width: 100%; height: 100%; object-fit: contain; transition: transform .25s; }
.mrt-product-card:hover img { transform: scale(1.025); }
.mrt-product-card h2 { margin: 14px 0 7px; font-size: 18px; line-height: 1.35; font-weight: 500; }
.mrt-product-card h2 a { color: #20282b; }
.mrt-product-card p { flex: 1; margin: 0 0 14px; color: #4e595c; font-size: 13px; }
.mrt-product-card > p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; min-height: 67px; max-height: 67px; }
.mrt-button { display: inline-flex; align-items: center; justify-content: center; min-height: 45px; padding: 9px 20px; border: 0; color: #fff !important; background: var(--mrt-green); font-weight: 700; cursor: pointer; }
.mrt-button:hover, .mrt-button:focus { color: #fff !important; background: var(--mrt-accent); }
.mrt-pagination { margin-top: 35px; }
.mrt-pagination .nav-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; }
.mrt-pagination .page-numbers { min-width: 42px; min-height: 42px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--mrt-border); color: #4a5558; background: #fff; }
.mrt-pagination .current { color: #fff; background: #686d6e; }

.mrt-product-hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); gap: 36px; align-items: start; }
.mrt-gallery-main { aspect-ratio: 1/1; display: flex; align-items: center; justify-content: center; border: 2px solid #222; background: #fff; }
.mrt-gallery-main img { width: 100%; height: 100%; object-fit: contain; }
.mrt-gallery-thumbs { display: grid; grid-template-columns: 44px minmax(0,1fr) 44px; align-items: center; gap: 14px; margin-top: 14px; }
.mrt-gallery-thumb-track { min-width: 0; display: flex; justify-content: center; align-items: center; gap: 12px; overflow: hidden; padding: 2px; }
.mrt-gallery-thumb { flex: 0 0 100px; width: 100px; height: 100px; min-width: 0; border: 2px solid var(--mrt-green); background: #fff; cursor: pointer; }
.mrt-gallery-arrow { display: flex; align-items: center; justify-content: center; width: 44px; height: 72px; padding: 0; border: 0; border-radius: 0; clip-path: polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px); color: #fff; background: var(--mrt-green); box-shadow: inset 0 0 0 1px rgba(255,255,255,.2); font-size: 30px; line-height: 1; cursor: pointer; transition: color .2s, background .2s, transform .2s; }
.mrt-gallery-arrow:hover { color: #fff; background: var(--mrt-accent); transform: translateY(-2px); }
.mrt-gallery-thumb img { width: 100%; height: 100%; object-fit: contain; }
.mrt-gallery-thumb.is-active { border-color: var(--mrt-accent); }
.mrt-product-summary { padding: 36px; border: 1px solid var(--mrt-border); }
.mrt-product-summary h1 { margin: 0 0 24px; padding-bottom: 22px; border-bottom: 1px dotted #bbb; color: #171d1f; font-size: clamp(24px, 1.8vw, 31px); line-height: 1.28; }
.mrt-product-summary p { margin: 0 0 20px; }
.mrt-product-body { margin-top: 28px; padding: 28px; border: 1px solid var(--mrt-border); }
.mrt-product-lead { margin: 0 0 22px; padding: 20px; background: #f5f5f5; }
.mrt-entry-content h2 { margin: 34px 0 12px; color: #20282b; font-size: 26px; line-height: 1.25; }
.mrt-entry-content h3 { margin: 26px 0 8px; font-size: 21px; }
.mrt-entry-content table { width: 100%; border-collapse: collapse; margin: 22px 0; }
.mrt-entry-content th, .mrt-entry-content td { padding: 10px 12px; border: 1px solid var(--mrt-border); text-align: left; vertical-align: top; }
.mrt-entry-content th:first-child, .mrt-spec-table th { color: #e72e2e; font-weight: 500; }
.mrt-spec-table { width: 100%; border-collapse: collapse; margin-top: 24px; }
.mrt-spec-table th { width: 30%; }
.mrt-drawing { margin-top: 24px; padding: 20px; border: 1px solid var(--mrt-border); text-align: center; }
.mrt-related { margin-top: 28px; }
.mrt-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.mrt-tags a { padding: 6px 10px; border: 1px solid var(--mrt-border); color: #596467; background: #fff; font-size: 12px; }

.mrt-page-card { padding: 0; border: 0; background: transparent; }
.mrt-page-card h1 { margin-top: 0; color: #172023; font-size: clamp(32px, 4vw, 52px); line-height: 1.08; }
.mrt-inquiry { margin: 24px 0 12px; }
.mrt-inquiry-title { display: flex; align-items: center; gap: 24px; padding: 9px 18px; color: #fff; background: var(--mrt-green); font-size: 13px; }
.mrt-inquiry-title strong { color: #fff; }
.mrt-inquiry-body { padding: 7px 14px; border: 1px solid var(--mrt-border); }
.mrt-inquiry-body input:not([type=submit]):not([type=checkbox]), .mrt-inquiry-body textarea, .mrt-inquiry-body select { width: 100%; min-height: 34px; padding: 4px 7px; border: 1px solid var(--mrt-border); font: inherit; }
.mrt-inquiry-body input[type=file] { padding: 4px; font-size: 12px; }
.mrt-native-form { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 6px 16px; padding: 8px 16px; }
.mrt-native-form p { margin: 0; }
.mrt-native-form label { display: grid; grid-template-columns: 132px minmax(0,1fr); align-items: center; gap: 8px; }
.mrt-native-form label > span { text-align: right; }
.mrt-native-form label > span b { color: #e60012; }
.mrt-native-form .mrt-form-wide { grid-column: 1 / -1; }
.mrt-native-form textarea { min-height: 68px; resize: vertical; }
.mrt-form-actions { grid-column: 1 / -1; display: flex; justify-content: center; align-items: center; gap: 28px; padding-top: 2px; }
.mrt-native-form .mrt-privacy { display: flex; grid-template-columns: none; max-width: 620px; gap: 6px; color: #5f6868; font-size: 12px; line-height: 1.35; }
.mrt-native-form .mrt-privacy input { width: auto; margin: 0; }
.mrt-contact-options { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; margin: 18px 0 0; }
.mrt-contact-options article { padding: 18px; border: 1px solid var(--mrt-border); background: #fff; }
.mrt-contact-options h3 { margin: 0 0 8px; font-size: 16px; }
.mrt-contact-options p { min-height: 42px; margin: 0 0 8px; color: #66706f; font-size: 13px; line-height: 1.55; }
.mrt-contact-options a { color: #26302f; font-weight: 700; }

.mrt-home-banner { height: clamp(340px, 36vw, 560px); margin-bottom: 28px; overflow: hidden; }
.mrt-home-banner .wp-block-cover { width: 100%; height: 100% !important; min-height: 100% !important; aspect-ratio: auto; overflow: hidden; }
.mrt-home-banner .wp-block-cover__image-background { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.mrt-home-layout { align-items: start; }
.mrt-page-banner { margin: 0 0 24px; overflow: hidden; border: 1px solid var(--mrt-border); }
.mrt-page-banner img { width: 100%; height: auto; object-fit: contain; display: block; }

.mrt-auto-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 30px 0; padding: 22px 24px; border-left: 5px solid var(--mrt-accent); background: #f2f7f6; font-weight: 700; }
.mrt-auto-cta .mrt-button { flex: 0 0 auto; }
.mrt-faq-item { margin: 0 0 12px; border: 1px solid #d8e1df; background: #fff; transition: border-color .2s ease, box-shadow .2s ease; }
.mrt-faq-item:hover, .mrt-faq-item[open] { border-color: var(--mrt-green); box-shadow: 0 7px 20px rgba(20,135,125,.09); }
.mrt-faq-item summary { position: relative; padding: 17px 52px 17px 20px; cursor: pointer; color: #202728; font-size: 18px; font-weight: 700; list-style: none; }
.mrt-faq-item summary::-webkit-details-marker { display: none; }
.mrt-faq-item summary::after { content: '+'; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); color: var(--mrt-green); font-size: 25px; font-weight: 400; }
.mrt-faq-item[open] summary::after { content: '\2212'; }
.mrt-faq-item > p { margin: 0; padding: 0 20px 20px; color: #4d5656; line-height: 1.75; }
.mrt-content-card { margin: 22px 0; padding: 24px 26px; border: 1px solid #dce4e3; border-top: 4px solid var(--mrt-green); background: #fff; box-shadow: 0 8px 22px rgba(25,56,53,.05); transition: transform .2s ease, box-shadow .2s ease; }
.mrt-content-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(25,56,53,.1); }
.mrt-content-card > h2:first-child { margin-top: 0; }
.mrt-content-card .mrt-level-two { margin: 0 0 14px; padding: 0; border-left: 0; background: none; }
.mrt-content-card .mrt-level-three { padding-left: 0; border-left: 0; }
.mrt-product-body .mrt-entry-content { color: #3d4646; font-size: 15px; line-height: 1.75; }
.mrt-product-body .mrt-entry-content h2 { margin: 34px 0 14px; padding-left: 14px; border-left: 4px solid var(--mrt-green); color: #202728; font-size: 24px; line-height: 1.3; }
.mrt-entry-content .mrt-level-two { position: relative; margin: 38px 0 16px; padding: 13px 18px 13px 22px; border-left: 5px solid var(--mrt-green); background: linear-gradient(90deg, #edf7f5 0, #fff 72%); color: #202728; font-size: clamp(24px, 2vw, 30px); }
.mrt-entry-content .mrt-level-three { margin: 25px 0 10px; padding-left: 15px; border-left: 3px solid var(--mrt-accent); color: #34403f; font-size: clamp(19px, 1.5vw, 23px); }
.mrt-entry-content .mrt-section-overline { margin-bottom: 8px; padding: 0 0 9px; border-left: 0; border-bottom: 2px solid var(--mrt-green); background: none; color: var(--mrt-green); font-size: 16px; letter-spacing: .11em; text-transform: uppercase; }
.mrt-entry-content .mrt-content-card { border: 1px solid var(--mrt-border); border-top: 1px solid var(--mrt-border); }
.mrt-entry-content .mrt-content-card > .mrt-level-two { margin: 0 0 16px; padding: 0 0 12px; border: 0; border-bottom: 2px solid var(--mrt-green); background: none; font-size: clamp(22px, 1.8vw, 28px); }
.mrt-entry-content .mrt-content-card > .mrt-level-three { padding-left: 0; border-left: 0; background: none; }
.mrt-content-list { margin: 6px 0 28px; padding-left: 24px; }
.mrt-content-list li { margin: 0 0 10px; padding-left: 5px; line-height: 1.7; }
.mrt-content-list li::marker { color: var(--mrt-green); }
.mrt-product-faq { margin-top: 30px; }
.mrt-product-faq > .mrt-level-two:first-child { margin-top: 0; }

.mrt-site-footer { width: 78%; max-width: var(--mrt-container); margin: 55px auto 0; color: #fff; background: #075e58; }
.mrt-footer-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 48px; padding: 58px 54px 45px; }
.mrt-footer-title { margin: 0 0 20px; color: #fff; font-size: 18px; text-transform: uppercase; }
.mrt-footer-menu { margin: 0; padding: 0; list-style: none; columns: 1; }
.mrt-footer-products .mrt-footer-menu { columns: 1; }
.mrt-footer-menu li { break-inside: avoid; margin-bottom: 10px; }
.mrt-footer-menu a { color: #fff; font-size: 14px; }
.mrt-footer-menu a:hover { color: var(--mrt-accent); }
.mrt-footer-contact p { margin: 0 0 10px; }
.mrt-copyright { width: calc(100% - 108px) !important; padding: 25px 0; border-top: 1px solid rgba(255,255,255,.2); text-align: center; font-size: 13px; }

.mrt-home-intro { padding: 10px 0 20px; }
.mrt-home-content > .wp-block-cover { min-height: 0 !important; aspect-ratio: 16 / 7; overflow: hidden; }
.mrt-home-content > .wp-block-cover .wp-block-cover__image-background { width: 100%; height: 100%; object-fit: cover; object-position: center; image-rendering: auto; }
.mrt-home-intro .mrt-kicker { color: var(--mrt-green); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.mrt-home-intro h1 { max-width: 980px; margin: 10px 0 18px; font-size: clamp(34px, 4vw, 58px); line-height: 1.08; }
.mrt-home-intro .mrt-lead { max-width: 1050px; font-size: 20px; }
.mrt-home-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin: 28px 0 45px; }
.mrt-home-grid.two { grid-template-columns: repeat(2, 1fr); }
.mrt-home-card { padding: 28px; border: 1px solid var(--mrt-border); background: #fff; }
.mrt-home-card h3 { margin-top: 0; padding-left: 0; border-left: 0; }
.mrt-home-process { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin: 25px 0 45px; }
.mrt-home-step { padding: 24px; color: #fff; background: var(--mrt-green); }
.mrt-home-step h3 { margin-top: 0; color: #fff; }
.mrt-home-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin: 30px 0; padding: 22px 24px; border-left: 5px solid var(--mrt-accent); background: var(--mrt-soft); }
.mrt-home-cta > div { flex: 1; }
.mrt-home-cta h2 { margin: 0 0 5px; padding: 0; border: 0; background: none; font-size: 22px; }
.mrt-home-cta p { margin: 0; }
.mrt-entry-content > h2, .mrt-entry-content > .wp-block-group, .mrt-entry-content > .wp-block-columns, .mrt-entry-content > .wp-block-table, .mrt-home-card, .mrt-home-step { animation: mrt-fade-up .55s both; }
.mrt-entry-content > h2 { padding-left: 14px; border-left: 4px solid var(--mrt-green); }
.mrt-entry-content > .wp-block-group, .mrt-entry-content > .wp-block-columns { padding: 24px; border: 1px solid var(--mrt-border); background: #fff; transition: transform .25s, box-shadow .25s; }
.mrt-entry-content > .wp-block-group:hover, .mrt-entry-content > .wp-block-columns:hover, .mrt-home-card:hover { transform: translateY(-4px); box-shadow: var(--mrt-shadow); }
@keyframes mrt-fade-up { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .mrt-entry-content > *, .mrt-home-card, .mrt-home-step { animation: none !important; transition: none !important; } }

@media (max-width: 1100px) {
  :root { --mrt-sidebar: 240px; --mrt-gap: 22px; }
  .mrt-brand { flex-basis: var(--mrt-sidebar); }
  .mrt-primary-nav .menu > li > a { padding: 0 12px; font-size: 15px; }
  .mrt-product-grid { gap: 18px; }
}

@media (max-width: 900px) {
  .mrt-site-header, .mrt-site-footer { width: 100%; margin-left: 0; margin-right: 0; }
  .mrt-container { width: calc(100% - 20px); }
  .mrt-topbar-inner { min-height: 54px; align-items: flex-start; padding: 8px 0; }
  .mrt-topbar-contact { flex-direction: column; align-items: flex-start; gap: 2px; font-size: 11px; }
  .mrt-language select, .mrt-language-placeholder { min-width: 92px; height: 30px; padding: 2px 24px 2px 8px; font-size: 12px; }
  .mrt-header-inner { min-height: 84px; position: relative; display: block; }
  .mrt-brand { min-height: 84px; padding: 12px 60px 12px 14px; border: 0; }
  .mrt-brand img { max-width: 250px; max-height: 58px; }
  .mrt-brand-text { font-size: 38px; }
  .mrt-nav-toggle { position: absolute; z-index: 80; top: 27px; right: 16px; display: block; width: 31px; height: 28px; padding: 0; border: 0; background: transparent; cursor: pointer; }
  .mrt-nav-toggle span, .mrt-nav-toggle::before, .mrt-nav-toggle::after { content: ''; position: absolute; left: 0; width: 31px; height: 2px; background: #30383a; transition: transform .2s, opacity .2s, top .2s; }
  .mrt-nav-toggle span { top: 13px; }
  .mrt-nav-toggle::before { top: 4px; }
  .mrt-nav-toggle::after { top: 22px; }
  .mrt-nav-toggle[aria-expanded=true] span { opacity: 0; }
  .mrt-nav-toggle[aria-expanded=true]::before { top: 13px; transform: rotate(45deg); }
  .mrt-nav-toggle[aria-expanded=true]::after { top: 13px; transform: rotate(-45deg); }
  .mrt-primary-nav { position: absolute; z-index: 70; top: 100%; left: 0; display: none; width: 100%; background: #fff; border: 1px solid var(--mrt-green); }
  .mrt-primary-nav.is-open { display: block; }
  .mrt-primary-nav .menu { display: block; height: auto; }
  .mrt-primary-nav .menu > li { display: grid; grid-template-columns: minmax(0,1fr) 48px; align-items: stretch; border-bottom: 1px solid var(--mrt-border); }
  .mrt-primary-nav .menu > li > a { min-height: 44px; padding: 10px; color: #182124; font-size: 14px; line-height: 24px; }
  .mrt-primary-nav .menu > li.current-menu-item > a, .mrt-primary-nav .menu > li.current-menu-ancestor > a, .mrt-primary-nav .menu > li.current_page_item > a { color: var(--mrt-accent) !important; }
  .mrt-primary-nav .sub-menu { position: static; grid-column: 1 / -1; display: none; min-width: 0; padding: 0; border: 0; box-shadow: none; }
  .mrt-primary-nav .menu-item-has-children:not(.is-submenu-open) > .sub-menu { display: none !important; }
  .mrt-primary-nav li.is-submenu-open > .sub-menu { display: block !important; }
  .mrt-primary-nav .sub-menu a { min-height: 42px; padding: 9px 20px; font-size: 13px; }
  .mrt-submenu-toggle { position: relative; grid-column: 2; grid-row: 1; display: flex; align-items: center; justify-content: center; width: 48px; min-height: 44px; padding: 0; border: 0; border-left: 1px solid rgba(255,255,255,.25); color: #fff; background: var(--mrt-green); font-size: 0; cursor: pointer; }
  .mrt-submenu-toggle::before, .mrt-submenu-toggle::after { content: ''; position: absolute; width: 14px; height: 2px; background: #fff; }
  .mrt-submenu-toggle::after { transform: rotate(90deg); transition: transform .2s; }
  .is-submenu-open > .mrt-submenu-toggle::after { transform: rotate(0); }
  .mrt-site-main { padding: 15px 0 40px; }
  .mrt-layout { display: flex; flex-direction: column; gap: 14px; }
  .mrt-sidebar { width: 100%; }
  .mrt-mobile-products { min-height: 46px; display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 0 15px; border: 0; color: #fff; background: var(--mrt-green); font-weight: 700; cursor: pointer; }
  .mrt-mobile-products::after { content: '+'; font-size: 23px; font-weight: 400; }
  .mrt-mobile-products[aria-expanded=true]::after { content: '−'; }
  .mrt-sidebar-content { display: none; }
  .mrt-sidebar-content.is-open { display: block; }
  .mrt-sidebar-title { min-height: 46px; font-size: 15px; }
  .mrt-category-list a { min-height: 48px; font-size: 14px; }
  .mrt-breadcrumb { order: -1; width: 100%; min-height: 46px; justify-content: flex-start; margin: 0; padding: 9px 14px; font-size: 12px; }
  .mrt-content { width: 100%; }
  .mrt-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mrt-product-hero { grid-template-columns: 1fr; gap: 20px; }
  .mrt-product-summary { padding: 24px; }
  .mrt-footer-grid { grid-template-columns: repeat(2, 1fr); gap: 34px; }
	.mrt-home-grid, .mrt-home-process { grid-template-columns: repeat(2, 1fr); }
	.mrt-contact-options { grid-template-columns: 1fr; }
	.mrt-contact-options p { min-height: 0; }
}

@media (max-width: 600px) {
	.mrt-mobile-products[aria-expanded=true]::after { content: '\2212'; }
	.mrt-native-form { grid-template-columns: 1fr; padding: 8px 4px; }
	.mrt-native-form label { grid-template-columns: 1fr; gap: 3px; }
	.mrt-native-form label > span { text-align: left; }
	.mrt-native-form .mrt-form-wide, .mrt-form-actions { grid-column: 1; }
	.mrt-form-actions { align-items: flex-start; flex-direction: column; gap: 10px; }
	.mrt-auto-cta { align-items: flex-start; flex-direction: column; }
	.mrt-home-banner { height: 260px; }
  .mrt-product-grid { grid-template-columns: 1fr; gap: 15px; }
  .mrt-product-card { padding: 10px; }
  .mrt-product-card h2 { font-size: 15px; }
  .mrt-product-card p { font-size: 12px; }
  .mrt-button { min-height: 38px; font-size: 12px; }
  .mrt-gallery-thumbs { grid-template-columns: 36px minmax(0,1fr) 36px; gap: 8px; }
  .mrt-gallery-arrow { width: 36px; height: 60px; }
  .mrt-gallery-thumb-track { justify-content: flex-start; gap: 7px; }
  .mrt-gallery-thumb { flex-basis: 72px; width: 72px; height: 72px; }
  .mrt-product-body, .mrt-page-card { padding: 18px; }
  .mrt-footer-grid { grid-template-columns: 1fr; }
  .mrt-footer-grid { padding-left: 24px; padding-right: 24px; }
  .mrt-copyright { width: calc(100% - 48px) !important; }
  .mrt-home-grid, .mrt-home-grid.two, .mrt-home-process { grid-template-columns: 1fr; }
  .mrt-home-cta { display: block; }
}
