/* Hand-ported "custom CSS" blocks from the live Elementor elements (selectors renamed to this theme's classes),
   plus the small pieces that replace Elementor/HFE runtime behaviour. */

/* Customizer CSS (live post 1710) */
html, body {
    max-width: 100%;
    overflow-x: hidden;
}

/* Header Footer Elementor wrappers */
.footer-width-fixer { width: 100%; }
#masthead { z-index: 99; position: relative; }

/* Inline SVG icons replacing Font Awesome / eicons font glyphs (same box as the font glyphs) */
.mm-svg-icon { display: inline-block; width: 1em; height: 1em; fill: currentColor; overflow: visible; }
.mm-fa { vertical-align: -.125em; }
.mm-icon-list-icon .mm-svg-icon { width: var(--e-icon-list-icon-size, 1em); height: var(--e-icon-list-icon-size, 1em); }
.mm-social-icon .mm-svg-icon { width: 1em; height: 1em; fill: var(--e-social-icon-icon-color, #fff); }
.mm-menu-toggle .mm-svg-icon { width: 1em; height: 1em; }
.mm-custom-embed-play .mm-svg-icon { width: 4rem; height: 4rem; fill: #fff; opacity: .8; transition: all .5s; filter: drop-shadow(1px 0 6px rgba(0,0,0,.3)); }
.mm-custom-embed-image-overlay:hover .mm-custom-embed-play .mm-svg-icon { opacity: 1; }
.mm-p-services .mm-element.best-video1 .mm-custom-embed-play .mm-svg-icon { fill: #FF6B34; }
.mm-e-rating .mm-svg-icon { width: auto; height: var(--e-rating-icon-font-size); fill: var(--e-rating-icon-color); aspect-ratio: 576 / 512; }
.mm-e-rating .mm-e-icon-marked .mm-svg-icon { fill: var(--e-rating-icon-marked-color); }

/* Screen-reader text (Hello theme) */
.screen-reader-text, .mm-screen-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); border: 0; white-space: nowrap; }
.skip-link:focus { clip: auto; width: auto; height: auto; margin: 0; padding: 12px 24px; z-index: 100000; top: 5px; left: 5px; background: #fff; color: #414143; display: block; }

/* ===== Header notice bar (188: 29b4467, 5bd7185) ===== */
#atl-banner-shout, #atl-banner-shout * { color: #fff !important; }
#atl-banner-shout a { text-decoration: underline; transition: opacity .2s; }
#atl-banner-shout a:hover { opacity: .75; }
#atl-remove-height { height: auto; }

/* ===== Hero Ken Burns (all pages: .kenimage) ===== */
/* Phones get a smaller variant of cover-sized hero images (same picture, smaller file); see mm_hero_mobile_size(). */
@media (max-width: 767px) { .kenimage[style*="--mm-bg-m"] { --mm-bg: var(--mm-bg-m) !important; } }
.kenimage::before {
    width: 100%;
    animation: move 15s ease;
    -ms-animation: move 15s ease;
    -webkit-animation: move 15s ease;
    -o-animation: move 15s ease;
    -moz-animation: move 15s ease;
    position: absolute;
}
@-webkit-keyframes move {
    0% { transform-origin: bottom left; transform: scale(1.0); }
    100% { transform: scale(1.2); }
}

/* ===== Home: service cards (10: 0877c1a, cb370c7) ===== */
#atl-grid-me > div { display: grid; grid-template-columns: 1fr 1fr; }
#atl-span-me { grid-column: 1 / 3; }
#atl-span-me::before { content: 'NEW!'; position: absolute; top: 0; left: 0; background: #FF6B34; color: white; width: auto; height: auto; padding: .5em 3em; transform: translate(-25%, 5%) rotateZ(-40deg); }

/* ===== Testimonials carousel (10: 8cc2d71, 193: 0809a3e) ===== */
/* Only the first testimonial template on live (565) pulled its divider row up on tablet/mobile. */
@media (max-width: 1024px) { .mm-p-testi.mm-testi-first .mm-element.rule { --margin-block-start: -1rem; } }
.slide-description::before { display: none !important; }
.slide-description::after { display: none !important; }

/* ===== Home: We Deliver For You switcher (10: e78671a, f7ece5a, fff7830; .title-no-icon from 75b0a4f) ===== */
.sliderItem { display: none; }
.sliderItem.show { display: block; }
.imageItem1::before, .imageItem2::before { background-color: transparent !important; }
.imageItem1.show h2, .imageItem2.show h2 { display: block !important; }
.imageItem1 h2, .imageItem2 h2 { display: none; }
.imageItem1.show, .imageItem2.show { cursor: pointer; }
.imageItem1, .imageItem2 { max-height: 428px !important; }
.imageItem1.show::before, .imageItem2.show::before { background-color: #000000 !important; }
.title-no-icon { text-decoration-color: #FF6B34 !important; text-decoration: underline; text-underline-offset: 0.7em; }
@media only screen and (max-width: 767px) { .title-no-icon { text-decoration-color: #FF6B34 !important; text-decoration: underline; text-underline-offset: 0.4em; } }
@media only screen and (max-width: 1200px) { .title-no-icon { text-decoration-color: #FF6B34 !important; text-decoration: underline; text-underline-offset: 0.4em; } }

/* ===== About: FAQ toggle (190: f36c3f6) ===== */
.mm-toggle-item { text-align: center !important; }
.mm-p-about .mm-element.faq-toggle1 .mm-toggle-icon.mm-toggle-icon-left { font-size: 1.875rem; }
.mm-p-about .mm-element.faq-toggle1 .mm-toggle-icon.mm-toggle-icon-left { position: relative; top: 50%; transform: translateY(-15%); }

/* ===== Services (193: 66c482a, a03caa2) ===== */
@media (max-width: 1419px) { .mm-p-services .mm-element.svc-heading2 > .mm-widget-container { padding: 0; } }
@media (min-width: 1315px) { .bikesure h2 { min-height: 80px; } }
@media (min-width: 1025px) and (max-width: 1314px) { .bikesure h2 { min-height: 120px; } }

/* ===== Partnerships (2119: 02d57e9, 8963588, 782beba) ===== */
.mm-p-partners .mm-element.p1head-con1 { position: relative; }
.mm-p-partners .mm-element.p2head-con1 { position: relative; }
.mm-p-partners .mm-element.p1-text1 a { color: #414143; text-decoration: underline; }

/* ===== Popup (Elementor Pro popup runtime) ===== */
.mm-popup-modal[hidden] { display: none !important; }
.mm-popup-modal { display: flex; pointer-events: none; background-color: transparent; -webkit-user-select: auto; user-select: auto; }
.mm-popup-modal .dialog-widget-content { position: relative; }
.mm-popup-modal .dialog-close-button { cursor: pointer; font-size: 15px; line-height: 1; }
body.mm-popup-open { overflow: hidden; }

/* ===== Gallery lightbox (replaces the Elementor lightbox) ===== */
.mm-lightbox-modal { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; background-color: rgba(0, 0, 0, .87); -webkit-user-select: none; user-select: none; }
.mm-lightbox-modal[hidden] { display: none; }
.mm-lightbox-modal figure { margin: 0; max-width: 85vw; max-height: 85vh; text-align: center; }
.mm-lightbox-modal img { max-width: 85vw; max-height: 80vh; width: auto; height: auto; object-fit: contain; box-shadow: 0 0 30px rgba(0,0,0,.3), 0 0 8px -5px rgba(0,0,0,.3); border-radius: 2px; }
.mm-lightbox-modal figcaption { color: hsla(0,0%,93.3%,.9); font-size: 14px; padding: 10px 0 0; line-height: 1.4; }
.mm-lightbox-modal button { position: absolute; background: none; border: 0; padding: .25em; cursor: pointer; color: hsla(0,0%,93.3%,.9); line-height: 1; }
.mm-lightbox-modal button:hover { color: #fff; }
.mm-lightbox-modal button svg { width: 1em; height: 1em; fill: currentColor; }
.mm-lightbox-close { top: 13px; right: .75em; font-size: 20px; }
.mm-lightbox-prev, .mm-lightbox-next { top: 50%; transform: translateY(-50%); font-size: 25px; padding: 1em .5em !important; }
.mm-lightbox-prev { left: 0; }
.mm-lightbox-next { right: 0; }
.mm-lightbox-counter { position: absolute; top: 13px; left: 1em; color: hsla(0,0%,93.3%,.9); font-size: 14px; }
body.mm-lightbox-open { overflow: hidden; }

/* ===== Terms: section headings are H2 (were H3 straight after the H1); same size as before ===== */
.mm-p-terms .mm-widget-text-editor h2 { font-size: 1.75rem; }

/* ===== Privacy policy (and any other default page): lists get the paragraph spacing; links in running text are
   underlined, not told apart by colour alone ===== */
.mm-p-privacy .mm-widget-text-editor ul { margin-block-end: .9rem; }
.mm-p-privacy .mm-widget-text-editor a { text-decoration: underline; }

/* ===== Services: three separate cards (live had one block split into three panels) ===== */
.mm-p-services .mm-element.svc { box-shadow: none; gap: 32px; }
.mm-p.mm-p-services .mm-element.svc > .mm-element.mm-e-con {
	--border-radius: 24px;
	border-radius: 24px;
	box-shadow: 0 6px 24px rgba(0, 0, 0, .28);
	padding: 36px 32px 32px;
}
@media (min-width: 768px) {
	.mm-p.mm-p-services .mm-element.svc > .mm-element.mm-e-con { flex: 1 1 0; min-width: 0; }
}
@media (min-width: 1700px) {
	.mm-p-services .mm-element.svc .mm-widget-heading h2 { min-height: 80px; }   /* two lines for all three, so the dividers line up */
}
@media (min-width: 1025px) and (max-width: 1699px) {
	.mm-p-services .mm-element.svc { gap: 24px; }
	.mm-p.mm-p-services .mm-element.svc > .mm-element.mm-e-con { padding-left: 18px; padding-right: 18px; }
	/* the narrower cards wrap "Secure Motorcycle Storage" to three lines: reserve three for all, so the dividers line up */
	.mm-p-services .mm-element.svc .mm-widget-heading h2 { min-height: 120px; }
}
@media (max-width: 1024px) {
	.mm-p-services .mm-element.svc { gap: 24px; }
	.mm-p.mm-p-services .mm-element.svc > .mm-element.mm-e-con { padding: 28px 24px 24px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	.mm-p-services .mm-element.svc .mm-widget-heading h2 { min-height: 32px; }   /* two lines on tablets */
}
@media (max-width: 767px) {
	.mm-p-services .mm-element.svc { gap: 20px; }
	.mm-p.mm-p-services .mm-element.svc > .mm-element.mm-e-con { --border-radius: 20px; border-radius: 20px; }
}
