/*
Theme Name: Mike's Garage
Description: Custom landing page for an exhaust workshop.
Version: 1.0.0
Text Domain: mikes-garage
*/

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Oswald:wght@500;600;700&display=swap');

:root { --black:#111; --charcoal:#181818; --ink:#252525; --line:#383838; --orange:#f15b2a; --cream:#f2eee7; --muted:#9c9c9c; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--black); color:#fff; font-family:Manrope,Arial,sans-serif; font-size:14px; line-height:1.5; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; }
.container { width:min(1160px,calc(100% - 48px)); margin:0 auto; }
.eyebrow { display:block; color:var(--orange); font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; margin-bottom:14px; }
.section-title { font:700 clamp(32px,4vw,55px)/.98 Oswald,Impact,sans-serif; letter-spacing:.015em; text-transform:uppercase; margin:0; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 25px; font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; transition:.2s ease; }
.button:hover { transform:translateY(-2px); }
.button-orange { background:var(--orange); color:#fff; }
.button-line { border:1px solid #fff; }
.site-header { position:absolute; z-index:2; left:0; right:0; top:0; border-bottom:1px solid rgba(255,255,255,.18); }
body:not(.home) .site-header { position:relative; background:#111; }
.nav { min-height:82px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:24px; }
.logo { font:700 25px/.85 Oswald,Impact,sans-serif; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }
.logo small { display:block; color:var(--orange); font:700 8px/1.4 Manrope,sans-serif; letter-spacing:.17em; }
.menu { display:flex; align-items:center; justify-content:center; gap:27px; color:#e6e6e6; font-size:11px; font-weight:700; text-transform:uppercase; }
.header-phone { font-size:12px; font-weight:800; white-space:nowrap; }
.header-actions { display:flex; align-items:center; justify-content:flex-end; gap:15px; }
.header-contact { display:flex; flex-direction:column; align-items:flex-end; gap:3px; }
.header-hours { color:#c9c9c9; font-size:10px; white-space:nowrap; }
.cart-link { padding:9px 12px; border:1px solid rgba(255,255,255,.55); font-size:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; white-space:nowrap; }
.cart-link span { color:var(--orange); }
.site-header .logo,.site-header .header-phone,.site-header .cart-link { color:#fff; }
.site-header .cart-link { display:inline-flex; align-items:center; gap:6px; }
.cart-link-added { animation:cart-added .65s ease; }
@keyframes cart-added { 35% { transform:scale(1.16); background:var(--orange); color:#171717; border-color:var(--orange); } 100% { transform:scale(1); } }
.hero { min-height:690px; display:flex; align-items:flex-end; padding:145px 0 65px; position:relative; background:#000; }
.hero:after { content:''; position:absolute; inset:auto 0 0; height:170px; background:linear-gradient(transparent,var(--black)); }
.hero-inner { position:relative; z-index:1; text-align:center; }
.hero-inner .eyebrow { margin-bottom:14px; }
.hero h1 { max-width:760px; margin:0 auto 21px; font:700 clamp(48px,7vw,84px)/.92 Oswald,Impact,sans-serif; letter-spacing:.01em; text-transform:uppercase; }
.hero-exhaust { position:absolute; z-index:-1; top:50%; width:360px; max-height:360px; object-fit:contain; opacity:.94; pointer-events:none; transform:translateY(-50%); mix-blend-mode:screen; }
.hero-exhaust-left { right:calc(50% + 270px); }
.hero-exhaust-right { left:calc(50% + 270px); top:calc(50% + 18px); }
.hero h1 em { color:var(--orange); font-style:normal; }
.hero p { max-width:470px; margin:0 auto 30px; color:#ddd; font-size:15px; line-height:1.7; }
.hero-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
.advantages { padding:23px 0; background:var(--orange); color:#111; }
.advantage-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.advantage { min-height:72px; padding:4px 25px; border-left:1px solid rgba(0,0,0,.25); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.advantage:first-child { border:0; }
.advantage b { font:700 20px/1 Oswald,sans-serif; text-transform:uppercase; }
.advantage span { margin-top:6px; font-size:10px; font-weight:700; text-transform:uppercase; }
.section { padding:100px 0; }
.catalog { background:var(--cream); color:var(--black); }
.heading-row { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:38px; }
.heading-row p { max-width:330px; margin:0; color:#666; font-size:13px; }
.catalog-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.9fr); gap:48px; margin:-7px 0 40px; padding:26px 0; border-top:1px solid #cfc9c0; border-bottom:1px solid #cfc9c0; }
.catalog-intro > p { max-width:520px; margin:0; font:500 23px/1.35 Oswald,Impact,sans-serif; text-transform:uppercase; }
.catalog-intro b { display:block; margin-bottom:11px; color:var(--orange); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.catalog-intro ul { display:grid; grid-template-columns:1fr 1fr; gap:8px 18px; margin:0; padding:0; list-style:none; }
.catalog-intro li { position:relative; padding-left:14px; color:#555; font-size:12px; line-height:1.5; }
.catalog-intro li::before { content:'/' ; position:absolute; left:0; color:var(--orange); font-weight:800; }
.category-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.category { min-height:245px; padding:25px; display:flex; flex-direction:column; justify-content:end; position:relative; overflow:hidden; background:#393939 center/cover; color:#fff; isolation:isolate; }
.category:before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,.02)); }
.category h3 { margin:0; font:600 25px/1 Oswald,sans-serif; text-transform:uppercase; }
.category p { margin:8px 0 17px; color:#ddd; font-size:11px; }
.text-link { color:var(--orange); font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.services { background:#181818; }
.services-grid { margin-top:42px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.service { min-height:178px; padding:24px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.service-number { color:var(--orange); font:600 14px Oswald,sans-serif; }
.service h3 { margin:31px 0 10px; font:600 22px/1 Oswald,sans-serif; text-transform:uppercase; }
.service p { margin:0; color:#aaa; font-size:11px; }
.works { background:#111; }
.work-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:16px; margin-top:40px; }
.work { min-height:430px; padding:28px; display:flex; flex-direction:column; justify-content:end; position:relative; background:#444 center/cover; isolation:isolate; }
.work:before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.05)); }
.work:first-child { background-image:url('https://images.unsplash.com/photo-1494905998402-395d579af36f?auto=format&fit=crop&w=1100&q=85'); }
.work:last-child { background-image:url('https://images.unsplash.com/photo-1504215680853-026ed2a45def?auto=format&fit=crop&w=900&q=85'); }
.work h3 { margin:0; font:600 32px/1 Oswald,sans-serif; text-transform:uppercase; }
.work p { margin:8px 0 19px; color:#ddd; font-size:12px; }
.work-price { color:var(--orange); font:600 20px Oswald,sans-serif; }
.catalog-page { padding-top:0; }
.catalog-back { display:inline-block; margin-bottom:31px; color:#555; font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.catalog-back:hover { color:var(--orange); }
.catalog-description { max-width:560px; color:#666; font-size:14px; }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:40px; }
.product-card { background:#fff; color:#171717; min-height:410px; display:flex; flex-direction:column; }
.product-card img,.product-placeholder { width:100%; height:200px; object-fit:cover; background:linear-gradient(135deg,#252525,#777); }
.product-card-content { padding:22px; display:flex; flex:1; flex-direction:column; align-items:flex-start; }
.product-card h2 { margin:0; font:600 25px/1 Oswald,sans-serif; text-transform:uppercase; }
.product-card p { margin:10px 0 17px; color:#666; font-size:12px; }
.product-price { margin-top:auto; margin-bottom:18px; color:var(--orange); font:600 22px Oswald,sans-serif; }
.product-card .button { border:0; cursor:pointer; }
.product-card .add_to_cart_button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 25px; background:var(--orange); color:#fff; font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.woocommerce { color:#171717; }
.woocommerce .button { border:0; border-radius:0; background:var(--orange); color:#fff; font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.woocommerce .button:hover { background:#cf4318; color:#fff; }
.woocommerce-cart,.woocommerce-checkout { background:var(--cream); }
.woocommerce-cart .site-page,.woocommerce-checkout .site-page { min-height:calc(100vh - 82px); }
.woocommerce-cart-form,.woocommerce-checkout-review-order { padding:0; background:#fff; }
.woocommerce table.shop_table { margin:0 0 24px; border:0; border-radius:0; background:#fff; }
.woocommerce table.shop_table th { padding:18px; border-color:#e3ddd4; color:#777; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.woocommerce table.shop_table td { padding:18px; border-color:#e3ddd4; font-size:13px; }
.woocommerce table.cart img { width:86px; }
.woocommerce a.remove { color:var(--orange)!important; }
.woocommerce-cart-form__contents .product-name a { font:600 19px/1 Oswald,sans-serif; text-transform:uppercase; }
.woocommerce .quantity .qty { min-height:38px; border:1px solid #d6d0c7; border-radius:0; }
.woocommerce .cart-collaterals .cart_totals,.woocommerce-checkout-review-order { float:none; width:100%; padding:26px; border-top:3px solid var(--orange); }
.woocommerce .cart-collaterals .cart_totals h2,.woocommerce-checkout-review-order h3 { margin:0 0 22px; font:600 30px/1 Oswald,sans-serif; text-transform:uppercase; }
.woocommerce .cart-collaterals .cart_totals { background:#fff; }
.woocommerce-cart .cart-collaterals { margin-top:24px; max-width:430px; margin-left:auto; }
.woocommerce a.checkout-button { border-radius:0; background:var(--orange); font-size:12px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.woocommerce-message,.woocommerce-info,.woocommerce-error { margin:0 0 22px; border-top-color:var(--orange); background:#fff; }
.woocommerce-message::before,.woocommerce-info::before { color:var(--orange); }
.site-page { min-height:70vh; padding:120px 0 80px; background:var(--cream); color:#171717; }
.page-title { margin:0 0 30px; font:600 46px/.95 Oswald,sans-serif; text-transform:uppercase; }
.page-content .woocommerce { max-width:100%; }
.woocommerce-order { max-width:650px; margin:0 auto; padding:36px; background:#fff; text-align:center; }
.woocommerce-order .woocommerce-notice { color:var(--orange); font:600 38px/.95 Oswald,sans-serif; text-transform:uppercase; }
.woocommerce-order-overview { text-align:left; }
.empty-products { color:#666; }
.modal-open { overflow:hidden; }
.order-modal { position:fixed; inset:0; z-index:20; display:grid; place-items:center; padding:20px; }
.order-modal[aria-hidden="true"] { display:none; }
.callback-modal { position:fixed; inset:0; z-index:20; display:grid; place-items:center; padding:20px; }
.callback-modal[aria-hidden="true"] { display:none; }
.callback-modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.78); }
.callback-dialog { position:relative; z-index:1; width:min(100%,460px); padding:34px; background:var(--cream); color:#171717; border-top:4px solid var(--orange); }
.callback-dialog h2 { margin:0; font:600 37px/.95 Oswald,sans-serif; text-transform:uppercase; }
.callback-dialog > p { margin:13px 0 23px; color:#666; font-size:13px; }
.callback-form { display:grid; gap:10px; }
.callback-form[hidden],.callback-success[hidden] { display:none!important; }
.callback-form input { width:100%; height:50px; padding:0 14px; border:1px solid #aaa; border-radius:0; background:#fff; color:#171717; font:13px Manrope,Arial,sans-serif; }
.callback-form select,.callback-form textarea { width:100%; padding:13px 14px; border:1px solid #aaa; border-radius:0; background:#fff; color:#171717; font:13px Manrope,Arial,sans-serif; }
.callback-form select { height:50px; }
.callback-form textarea { min-height:105px; resize:vertical; }
.callback-form .button { border:0; cursor:pointer; }
.callback-success { color:var(--orange)!important; font:600 27px/1 Oswald,sans-serif!important; text-transform:uppercase; }
.order-modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.76); }
.order-dialog { position:relative; z-index:1; width:min(100%,520px); max-height:calc(100vh - 40px); overflow:auto; padding:32px; background:#f2eee7; color:#171717; }
.order-dialog h2 { margin:0; font:600 37px/.95 Oswald,sans-serif; text-transform:uppercase; }
.order-product-name { margin:12px 0 24px; color:#666; font-size:13px; font-weight:700; }
.modal-close { position:absolute; right:15px; top:10px; border:0; background:none; font-size:30px; cursor:pointer; }
.order-form { display:grid; gap:15px; }
.order-form label { display:grid; gap:6px; font-size:11px; font-weight:800; text-transform:uppercase; }
.order-form input,.order-form select { height:47px; padding:0 12px; border:1px solid #aaa; background:#fff; color:#171717; font:14px Manrope,sans-serif; }
.order-form fieldset { margin:0; padding:12px; border:1px solid #aaa; display:flex; gap:17px; flex-wrap:wrap; }
.order-form legend { padding:0 4px; font-size:11px; font-weight:800; text-transform:uppercase; }
.order-form .choice { display:block; font-size:12px; text-transform:none; }
.order-form .choice input { width:auto; height:auto; }
.order-form .button { border:0; cursor:pointer; }
.mikes-garage-car-field { transition:opacity .2s ease; }
.mikes-garage-car-field.is-required > label::after { content:' *'; color:#c52222; }
.mikes-garage-car-field.is-required .optional { display:none; }
.modal-actions { display:flex; flex-wrap:wrap; gap:10px; }
.modal-continue { color:#171717; border-color:#171717; }
.works-intro { max-width:450px; margin:14px 0 0; color:#aaa; font-size:13px; }
.vk-works { margin-top:38px; display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:16px; align-items:stretch; }
.vk-feature { min-height:390px; padding:34px; display:flex; flex-direction:column; justify-content:end; position:relative; overflow:hidden; background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.2)),url('https://sun9-71.vkuserphoto.ru/c604617/v604617059/37bbc/GgoYT4lipz8.jpg') center/cover; isolation:isolate; }
.vk-feature:after { content:""; position:absolute; inset:0; border:1px solid rgba(255,255,255,.15); pointer-events:none; }
.vk-feature h3 { max-width:520px; margin:0; font:600 clamp(30px,4vw,48px)/.98 Oswald,sans-serif; text-transform:uppercase; }
.vk-feature p { max-width:440px; margin:13px 0 23px; color:#d4d4d4; font-size:13px; }
.vk-panel { padding:29px; display:flex; flex-direction:column; justify-content:space-between; background:var(--orange); color:#121212; }
.vk-panel .eyebrow { color:#161616; }
.vk-panel h3 { margin:0; font:600 30px/.98 Oswald,sans-serif; text-transform:uppercase; }
.vk-panel p { margin:14px 0 25px; font-size:12px; font-weight:600; }
.vk-panel .button { align-self:flex-start; border-color:#161616; }
.why { background:var(--cream); color:#171717; }
.why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:35px 45px; margin-top:42px; }
.why-item { border-top:2px solid var(--orange); padding-top:17px; }
.why-item h3 { margin:0 0 8px; font:600 21px/1 Oswald,sans-serif; text-transform:uppercase; }
.why-item p { margin:0; color:#666; font-size:12px; }
.privacy-consent { grid-column:1/-1; display:flex; align-items:flex-start; gap:8px; color:#aaa; font-size:10px; line-height:1.45; cursor:pointer; }
.privacy-consent input { flex:0 0 auto; width:14px; height:14px; margin:1px 0 0; accent-color:var(--orange); }
.callback-dialog .privacy-consent { color:#666; font-size:11px; }
.cookie-notice { position:fixed; right:24px; bottom:24px; z-index:30; width:min(100% - 32px,430px); padding:18px; background:#f2eee7; color:#171717; border-top:3px solid var(--orange); box-shadow:0 14px 35px rgba(0,0,0,.35); }
.cookie-notice p { margin:0 0 14px; font-size:11px; line-height:1.55; }
.cookie-notice .button { min-height:38px; padding:0 17px; border:0; cursor:pointer; font-size:10px; }
.site-footer { padding:48px 0 25px; background:#161616; }
.footer-grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:30px; padding-bottom:44px; border-bottom:1px solid #393939; }
.footer-column h4 { margin:0 0 15px; color:var(--orange); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.footer-column a,.footer-column p { display:block; margin:0 0 9px; color:#bfbfbf; font-size:11px; }
.footer-phone { display:block; margin:17px 0 8px; font:600 22px Oswald,sans-serif; }
.footer-legal { max-width:850px; margin-top:28px; padding-top:20px; border-top:1px solid #393939; }
.footer-legal p { margin:0 0 12px; color:#858585; font-size:10px; line-height:1.55; }
.footer-legal a { margin-right:18px; color:#c8c8c8; text-decoration:underline; text-underline-offset:3px; }
.footer-legal a:hover { color:var(--orange); }
.copyright { margin:22px 0 0; color:#777; font-size:10px; }
@media (max-width:760px) { .container { width:min(100% - 32px,1160px); } .menu,.header-contact { display:none; } .nav { min-height:68px; grid-template-columns:1fr auto; gap:12px; } .hero { min-height:auto; padding-bottom:45px; } .hero-exhaust { display:none; } .advantage-grid,.category-grid,.why-grid,.product-grid { grid-template-columns:repeat(2,1fr); } .advantage { padding:4px 14px; } .advantage:nth-child(3) { border-left:0; padding-left:0; } .heading-row { align-items:start; flex-direction:column; } .catalog-intro { grid-template-columns:1fr; gap:22px; } .services-grid { grid-template-columns:repeat(2,1fr); } .work-grid,.vk-works { grid-template-columns:1fr; } .footer-grid { grid-template-columns:1fr 1fr; } .section { padding:70px 0; } }
@media (max-width:430px) { .advantage-grid,.category-grid,.why-grid,.services-grid,.footer-grid,.product-grid { grid-template-columns:1fr; } .advantage,.advantage:nth-child(3) { min-height:58px; padding-left:0; border-left:0; border-top:1px solid rgba(0,0,0,.22); } .advantage:first-child { border-top:0; } .category { min-height:210px; } .hero h1 { font-size:48px; } .cookie-notice { right:16px; bottom:16px; } }
