/*
Theme Name: 7 Garage Door Service
Theme URI: https://example.com/
Author: 7 Garage Door Service Inc
Description: Lightweight custom block theme for 7 Garage Door Service Inc (garage door repair and installation, Granite Bay CA).
Version: 1.0.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: seven-garage-door
*/
html{scroll-behavior: smooth;}body{-webkit-font-smoothing: antialiased;text-rendering: optimizeLegibility;}img{height: auto;}:where(a, button, input, select, textarea, summary, .wp-block-button__link):focus-visible{outline: 3px solid var(--wp--preset--color--blue-bright);outline-offset: 2px;border-radius: 4px;}.osp-skip-link{position: absolute;left: -9999px;top: 0;z-index: 100;}.osp-skip-link:focus{left: 1rem;top: 1rem;background: #fff;color: var(--wp--preset--color--navy);padding: .75rem 1rem;border-radius: 8px;box-shadow: var(--wp--preset--shadow--card);}.wp-block-button__link{min-height: 48px;display: inline-flex;align-items: center;justify-content: center;gap: .6rem;box-sizing: border-box;transition: transform .15s ease, background-color .15s ease;}.wp-block-button__link:hover{transform: translateY(-1px);}.wp-block-button.is-style-call .wp-block-button__link{background: var(--wp--preset--color--orange);color: var(--wp--preset--color--navy);}.wp-block-button.is-style-call .wp-block-button__link:hover{background: #F59E0B;color: var(--wp--preset--color--navy);}.wp-block-button.is-style-call .wp-block-button__link::before{content: "";width: 18px;height: 18px;flex: none;background: currentColor;-webkit-mask: url("assets/icons/phone.svg") center / contain no-repeat;mask: url("assets/icons/phone.svg") center / contain no-repeat;}.wp-block-button.is-style-outline-light .wp-block-button__link{background: transparent;color: #fff;box-shadow: inset 0 0 0 2px rgba(255,255,255,.55);}.wp-block-button.is-style-outline-light .wp-block-button__link:hover{background: rgba(255,255,255,.1);color: #fff;}.osp-header{position: sticky;top: 0;z-index: 50;background: #fff;border-bottom: 1px solid var(--wp--preset--color--line);box-shadow: var(--wp--preset--shadow--header);}.admin-bar .osp-header{top: var(--wp-admin--admin-bar--height, 32px);}.osp-header__inner{min-height: 80px;gap: 1.5rem;}.osp-brand{gap: .75rem;}.osp-brand .wp-block-image{margin: 0;}.osp-brand .wp-block-image img{width: 44px;height: 44px;display: block;}.osp-brand .wp-block-site-title{margin: 0;font-family: var(--wp--preset--font-family--manrope);font-weight: 800;font-size: 1.25rem;line-height: 1.1;}.osp-brand .wp-block-site-title a{color: var(--wp--preset--color--navy);text-decoration: none;}.osp-nav{font-size: .9375rem;font-weight: 500;}.osp-nav a{color: var(--wp--preset--color--text);text-decoration: none;}.osp-nav a:hover, .osp-nav .current-menu-item > a{color: var(--wp--preset--color--blue);}.osp-nav .wp-block-navigation__submenu-container{border-radius: 12px;border: 1px solid var(--wp--preset--color--line) !important;box-shadow: var(--wp--preset--shadow--card);padding: .5rem 0;min-width: 240px !important;}.osp-nav .wp-block-navigation__submenu-container a{padding: .6rem 1.1rem !important;}.osp-header__cta{gap: 1.1rem;}.osp-header__phone{margin: 0;line-height: 1.2;}.osp-header__phone small{display: block;font-size: .75rem;color: var(--wp--preset--color--muted);}.osp-header__phone a{font-family: var(--wp--preset--font-family--manrope);font-weight: 800;font-size: 1.0625rem;color: var(--wp--preset--color--navy);text-decoration: none;}.osp-nav .wp-block-navigation__responsive-container.is-menu-open{padding: 1.5rem;}.osp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{gap: .25rem;}.osp-nav .wp-block-navigation__responsive-container.is-menu-open a{font-family: var(--wp--preset--font-family--manrope);font-weight: 700;font-size: 1.125rem;color: var(--wp--preset--color--navy);min-height: 48px;display: flex;align-items: center;}.osp-nav .wp-block-navigation__responsive-container-open, .osp-nav .wp-block-navigation__responsive-container-close{width: 44px;height: 44px;align-items: center;justify-content: center;border-radius: 10px;}.osp-nav .wp-block-navigation__responsive-container-open{border: 1px solid #C9D3DF;}.osp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content, .osp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container, .osp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{align-items: flex-start !important;text-align: left;}.osp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{border: 0 !important;box-shadow: none;padding: 0 0 0 1rem !important;min-width: 0 !important;}.osp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a{font-family: var(--wp--preset--font-family--inter);font-weight: 500;font-size: 1rem;color: var(--wp--preset--color--text);padding: 0 !important;}@media (min-width: 600px) and (max-width: 1099px){.osp-nav .wp-block-navigation__responsive-container-open:not(.always-shown){display: flex;}.osp-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display: none;}.osp-header__inner{flex-wrap: nowrap !important;}.osp-nav{margin-left: auto;}}@media (max-width: 1239px){.osp-header__phone{display: none;}}@media (max-width: 781px){.osp-header__inner{min-height: 64px;flex-wrap: nowrap !important;}.osp-brand .wp-block-image img{width: 36px;height: 36px;}.osp-brand .wp-block-site-title{font-size: 1.0625rem;}.osp-header__cta .wp-block-buttons{display: none;}.osp-header{position: relative;}}.osp-footer{background: var(--wp--preset--color--navy-dark);color: var(--wp--preset--color--on-navy);}.osp-footer a{color: var(--wp--preset--color--on-navy);text-decoration: none;}.osp-footer a:hover{color: #fff;text-decoration: underline;}.osp-footer__name{font-family: var(--wp--preset--font-family--manrope);font-weight: 800;font-size: 1.25rem;color: #fff;margin: 0;}.osp-footer__brand{gap: .65rem;}.osp-footer__brand .wp-block-image{margin: 0;}.osp-footer__brand img{display: block;width: 40px;height: 40px;}.osp-footer__phone a{font-family: var(--wp--preset--font-family--manrope);font-weight: 800;font-size: 1.25rem;color: var(--wp--preset--color--orange);}.osp-footer__title{font-family: var(--wp--preset--font-family--manrope);font-weight: 700;color: #fff;font-size: 1rem;margin: 0 0 .5rem;}.osp-footer__links{list-style: none;padding: 0;margin: 0;font-size: .9375rem;line-height: 2.1;}.osp-footer__legal{border-top: 1px solid #263445;font-size: .875rem;color: #8FA2B8;}.osp-callbar{display: none;}@media (max-width: 781px){.osp-callbar{display: block;position: fixed;left: 0;right: 0;bottom: 0;z-index: 60;background: #fff;border-top: 1px solid var(--wp--preset--color--line);box-shadow: 0 -6px 20px rgba(16,36,58,.12);padding: .6rem .75rem calc(.75rem + env(safe-area-inset-bottom));}.osp-callbar .wp-block-buttons{display: grid;grid-template-columns: 1fr 1fr;gap: .6rem;margin: 0;}.osp-callbar .wp-block-button, .osp-callbar .wp-block-button__link{width: 100%;}body{padding-bottom: calc(76px + env(safe-area-inset-bottom));}}.osp-muted{color: var(--wp--preset--color--muted);}@media (prefers-reduced-motion: reduce){html{scroll-behavior: auto;}*, *::before, *::after{transition-duration: .01ms !important;animation-duration: .01ms !important;animation-iteration-count: 1 !important;}.wp-block-button__link:hover{transform: none;}}.osp-page{padding-block: clamp(2.5rem, 6vw, 4.5rem) clamp(3.5rem, 8vw, 6rem);}.osp-404{padding-block: clamp(4rem, 10vw, 8rem);text-align: center;}.osp-404 .wp-block-buttons{justify-content: center;}.osp-footer__legal{margin-top: 3rem;padding-top: 1.5rem;}.osp-footer__legal p{margin: 0;}.osp-section{padding-block: var(--wp--preset--spacing--60);}.osp-section--light{background: var(--wp--preset--color--light);}.osp-section--navy{background: var(--wp--preset--color--navy);color: var(--wp--preset--color--on-navy);}.osp-section--navy :where(h1, h2, h3){color: #fff;}.osp-section__head{max-width: 720px;margin-bottom: clamp(2rem, 4vw, 2.75rem);}.osp-section__head > *{margin-block: 0 .85rem;}.osp-section__head h2{margin-bottom: 1rem;}.osp-eyebrow{font: 600 .8125rem/1 var(--wp--preset--font-family--inter);letter-spacing: .08em;text-transform: uppercase;color: var(--wp--preset--color--blue);}.osp-section--navy .osp-eyebrow, .osp-hero .osp-eyebrow{color: var(--wp--preset--color--orange);}.osp-lead{font-size: var(--wp--preset--font-size--large);color: var(--wp--preset--color--muted);line-height: 1.6;}.osp-hero .osp-lead{color: var(--wp--preset--color--on-navy);}.osp-grid{gap: 1.25rem !important;}.osp-card{background: #fff;border: 1px solid var(--wp--preset--color--line);border-radius: var(--wp--custom--radius--card);box-shadow: var(--wp--preset--shadow--card);padding: 1.4rem;display: flex;flex-direction: column;gap: .65rem;}.osp-card > *{margin: 0 !important;}.osp-card h3{font-size: 1.125rem;line-height: 1.3;}.osp-card p{font-size: .9375rem;line-height: 1.55;color: var(--wp--preset--color--muted);}.osp-card .osp-card__link{margin-top: auto !important;padding-top: .25rem;}.osp-card__link a{font-weight: 600;text-decoration: none;color: var(--wp--preset--color--blue);}.osp-card__link a::after{content: " →";}.osp-card--service{padding: 0;overflow: hidden;}.osp-card--service .osp-card__body{padding: 1.5rem;display: flex;flex-direction: column;gap: .65rem;flex: 1;}.osp-card--service .osp-card__body > *{margin: 0;}.osp-card--service h3{font-size: 1.3125rem;}.osp-icon::before{content: "";display: block;width: 44px;height: 44px;border-radius: 10px;background-color: #FDECEC;background-image: none;-webkit-mask: none;}.osp-icon{position: relative;}.osp-icon::after{content: "";position: absolute;top: 1.4rem;left: 1.4rem;width: 44px;height: 44px;background: var(--wp--preset--color--blue);-webkit-mask: var(--osp-icon) center / 22px no-repeat;mask: var(--osp-icon) center / 22px no-repeat;}.osp-icon--door{--osp-icon: url("assets/icons/door.svg");}.osp-icon--track{--osp-icon: url("assets/icons/track.svg");}.osp-icon--roller{--osp-icon: url("assets/icons/roller.svg");}.osp-icon--lock{--osp-icon: url("assets/icons/lock.svg");}.osp-icon--glass{--osp-icon: url("assets/icons/glass.svg");}.osp-icon--window{--osp-icon: url("assets/icons/window.svg");}.osp-icon--hardware{--osp-icon: url("assets/icons/hardware.svg");}.osp-icon--fog{--osp-icon: url("assets/icons/fog.svg");}.osp-media-placeholder{min-height: 200px;display: flex;align-items: center;justify-content: center;text-align: center;padding: 1.25rem;background: #E9EEF4;border: 1px dashed #B8C4D3;color: var(--wp--preset--color--muted);font-size: .875rem;line-height: 1.5;}.osp-media-placeholder > *{margin: 0;}.osp-hero .osp-media-placeholder{min-height: 420px;border-radius: var(--wp--custom--radius--media);background: #1E2B3A;border-color: #3A4A5C;color: var(--wp--preset--color--on-navy);}.osp-hero{background: var(--wp--preset--color--navy);color: var(--wp--preset--color--on-navy);padding-block: clamp(3rem, 7vw, 5.5rem) clamp(3.5rem, 8vw, 6rem);}.osp-hero h1{color: #fff;margin: 0;}.osp-hero .wp-block-columns{gap: clamp(2rem, 5vw, 3.5rem);}.osp-hero__copy > *{margin-block: 0 1.4rem;}.osp-hero__trust{gap: .5rem 1.5rem !important;font-size: .9375rem;}.osp-hero__trust p{margin: 0;display: flex;align-items: center;gap: .5rem;}.osp-hero__trust p::before, .osp-check-list li::before{content: "";width: 18px;height: 18px;flex: none;background: var(--wp--preset--color--orange);-webkit-mask: url("assets/icons/check.svg") center / contain no-repeat;mask: url("assets/icons/check.svg") center / contain no-repeat;}.osp-why{gap: 1.25rem !important;}.osp-why__item{border: 1px solid var(--wp--preset--color--line);border-radius: var(--wp--custom--radius--card);padding: 1.25rem 1.25rem 1.25rem 4.25rem;position: relative;}.osp-why__item::before{content: "";position: absolute;left: 1.25rem;top: 1.25rem;width: 36px;height: 36px;border-radius: 999px;background: #FEF3DC;}.osp-why__item::after{content: "";position: absolute;left: 1.25rem;top: 1.25rem;width: 36px;height: 36px;background: #B45309;-webkit-mask: url("assets/icons/check.svg") center / 18px no-repeat;mask: url("assets/icons/check.svg") center / 18px no-repeat;}.osp-why__item > *{margin: 0 0 .35rem;}.osp-why__item h3{font-size: 1.125rem;}.osp-why__item p{font-size: .9375rem;color: var(--wp--preset--color--muted);line-height: 1.55;margin: 0;}.osp-step-num{width: 48px;height: 48px;border-radius: 999px;background: var(--wp--preset--color--navy);color: #fff;display: flex;align-items: center;justify-content: center;font: 800 1.25rem/1 var(--wp--preset--font-family--manrope);}.osp-card .osp-step-num{color: #fff;}.osp-card--step h3{font-size: 1.3125rem;}.osp-card--step p{font-size: 1rem;}.osp-chips{gap: .75rem !important;}.osp-chips p{margin: 0;}.osp-chip a{display: inline-flex;align-items: center;gap: .5rem;min-height: 44px;padding: 0 1.1rem;border-radius: 999px;border: 1px solid #C9D3DF;background: #fff;font-weight: 600;font-size: .9375rem;color: var(--wp--preset--color--navy);text-decoration: none;box-sizing: border-box;}.osp-chip--primary a{background: var(--wp--preset--color--navy);border-color: var(--wp--preset--color--navy);color: #fff;}.osp-chip--primary a::before{content: "";width: 16px;height: 16px;background: var(--wp--preset--color--orange);-webkit-mask: url("assets/icons/pin.svg") center / contain no-repeat;mask: url("assets/icons/pin.svg") center / contain no-repeat;}.osp-faq{background: #fff;border: 1px solid var(--wp--preset--color--line);border-radius: var(--wp--custom--radius--card);box-shadow: var(--wp--preset--shadow--card);overflow: hidden;}.osp-faq > .wp-block-details{margin: 0;border-bottom: 1px solid var(--wp--preset--color--line);}.osp-faq > .wp-block-details:last-child{border-bottom: 0;}.osp-faq summary{list-style: none;cursor: pointer;padding: 1.25rem 3.5rem 1.25rem 1.5rem;position: relative;font: 700 1.0625rem/1.4 var(--wp--preset--font-family--manrope);color: var(--wp--preset--color--navy);min-height: 44px;}.osp-faq summary::-webkit-details-marker{display: none;}.osp-faq summary::after{content: "";position: absolute;right: 1.5rem;top: 50%;width: 20px;height: 20px;margin-top: -10px;background: var(--wp--preset--color--blue);-webkit-mask: url("assets/icons/chevron.svg") center / contain no-repeat;mask: url("assets/icons/chevron.svg") center / contain no-repeat;transition: transform .2s ease;}.osp-faq details[open] summary::after{transform: rotate(180deg);}.osp-faq details > :not(summary){margin: 0;padding: 0 1.5rem 1.25rem;font-size: 1rem;line-height: 1.65;}.osp-cta{background: var(--wp--preset--color--navy);border-radius: 24px;padding: clamp(2rem, 5vw, 3.5rem);color: var(--wp--preset--color--on-navy);gap: 1.75rem !important;}.osp-cta h2{color: #fff;margin: 0 0 .6rem;font-size: clamp(1.75rem, 3.4vw, 2.375rem);}.osp-cta p{margin: 0;font-size: var(--wp--preset--font-size--large);}.osp-cta__copy{flex: 1 1 420px;}.osp-split{gap: clamp(2rem, 5vw, 3.5rem) !important;align-items: flex-start;}.osp-split > .osp-section__head{flex: 1 1 320px;margin-bottom: 0;}.osp-split > .osp-split__body{flex: 2 1 520px;min-width: 0;}@media (max-width: 781px){.osp-hero .osp-media-placeholder{min-height: 220px;}.osp-hero .wp-block-buttons, .osp-cta .wp-block-buttons{flex-direction: column;align-items: stretch;}.osp-hero .wp-block-button, .osp-cta .wp-block-button{width: 100%;}.osp-hero .wp-block-button__link, .osp-cta .wp-block-button__link{width: 100%;}}.osp-section--tight{padding-top: 0;}.wp-site-blocks > main > .wp-block-post-content > .osp-section:first-child, .wp-site-blocks > main > .wp-block-post-content > .osp-hero:first-child{margin-top: 0;}main > .wp-block-post-content > :where(.osp-section, .osp-hero){margin-block: 0;}.osp-section > .osp-section__head{max-width: var(--wp--style--global--wide-size) !important;}.osp-section__head > *{max-width: 720px;}.osp-grid:has(> .osp-card--step){grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)) !important;}.osp-faq summary{display: flex;align-items: center;}.osp-card{position: relative;transition: transform .15s ease, box-shadow .15s ease;}.osp-card__link a::before{content: "";position: absolute;inset: 0;border-radius: inherit;}.osp-card:has(.osp-card__link a:hover){transform: translateY(-2px);box-shadow: 0 2px 4px rgba(16,36,58,.06), 0 10px 24px rgba(16,36,58,.10);}.osp-card:has(.osp-card__link a:focus-visible){outline: 3px solid var(--wp--preset--color--blue-bright);outline-offset: 2px;}.osp-card__link a:focus-visible{outline: none;}@media (max-width: 600px){.osp-grid:has(> .osp-icon){grid-template-columns: repeat(2, minmax(0, 1fr)) !important;gap: .75rem !important;}.osp-icon{padding: 1rem;gap: .5rem;}.osp-icon::after{top: 1rem;left: 1rem;}.osp-icon > p:not(.osp-card__link){display: none;}.osp-icon h3{font-size: 1rem;}.osp-icon .osp-card__link a{font-size: .875rem;}.osp-card--service .osp-media-placeholder{min-height: 140px;}}@media (prefers-reduced-motion: reduce){.osp-card, .osp-card:has(.osp-card__link a:hover){transform: none;}}.osp-breadcrumb{font-size: .875rem;color: var(--wp--preset--color--on-navy);margin: 0 0 1.25rem !important;}.osp-breadcrumb a{color: var(--wp--preset--color--on-navy);text-decoration: none;}.osp-breadcrumb a:hover{color: #fff;text-decoration: underline;}.osp-breadcrumb span{margin: 0 .5rem;opacity: .6;}.osp-hero--service .osp-media-placeholder{min-height: 340px;}.osp-prose p{font-size: 1.0625rem;line-height: 1.75;margin: 0 0 1.1rem;}.osp-prose p:last-child{margin-bottom: 0;}.osp-section--photos{padding-block: 0 var(--wp--preset--spacing--60);}.osp-photos .osp-media-placeholder{min-height: 260px;border-radius: var(--wp--custom--radius--card);}.osp-photo{margin: 0 !important;}.osp-photo img{display: block;width: 100%;height: auto;object-fit: cover;}.osp-hero .osp-photo img{aspect-ratio: 5 / 4;border-radius: var(--wp--custom--radius--media);box-shadow: 0 18px 40px rgba(0,0,0,.28);}.osp-card--service .osp-photo{margin-bottom: 1rem !important;}.osp-card--service .osp-photo img{aspect-ratio: 16 / 10;border-radius: var(--wp--custom--radius--card);}.osp-photos .osp-photo img{aspect-ratio: 4 / 3;border-radius: var(--wp--custom--radius--card);}@media (max-width: 781px){.osp-hero .osp-photo img{aspect-ratio: 16 / 10;}}.osp-hero--service .wp-block-columns > .wp-block-column:only-child{flex-basis: 100% !important;max-width: 820px;}.osp-footer__hours{font-size: .9375rem;line-height: 1.6;margin: 0;}.osp-footer__email{font-size: .9375rem;margin: 0;overflow-wrap: anywhere;}.osp-footer__address{font-size: .9375rem;margin: 0;color: var(--wp--preset--color--on-navy);}.osp-hero__copy > h1{margin-bottom: 1.25rem;}.osp-hero--simple .osp-hero__copy > *{max-width: 760px;}.osp-hero--simple{padding-block: clamp(2.5rem, 6vw, 4.5rem);}.osp-form-card{background: #fff;border: 1px solid var(--wp--preset--color--line);border-radius: var(--wp--custom--radius--card);box-shadow: var(--wp--preset--shadow--card);padding: clamp(1.25rem, 3vw, 2rem);}.osp-form-card > h2{font-size: 1.5rem;margin: 0 0 .5rem;}.osp-form{display: flex;flex-direction: column;gap: 1rem;}.osp-form__row{display: grid;grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));gap: 1rem;}.osp-field{display: flex;flex-direction: column;gap: .4rem;}.osp-field label{font-weight: 600;font-size: .9375rem;color: var(--wp--preset--color--navy);}.osp-field input[type=text], .osp-field input[type=tel], .osp-field input[type=email], .osp-field select, .osp-field textarea{width: 100%;box-sizing: border-box;min-height: 48px;padding: .7rem .9rem;border: 1px solid #C9D3DF;border-radius: 10px;font: 1rem/1.4 var(--wp--preset--font-family--inter);color: var(--wp--preset--color--text);background: #fff;}.osp-field textarea{min-height: 130px;resize: vertical;}.osp-field input:focus, .osp-field select:focus, .osp-field textarea:focus{outline: 3px solid var(--wp--preset--color--blue-bright);outline-offset: 1px;border-color: var(--wp--preset--color--blue);}.osp-field input[type=file]{font-size: .9375rem;padding: .5rem 0;}.osp-field__help, .osp-form__note, .osp-form__privacy{margin: 0;font-size: .875rem;color: var(--wp--preset--color--muted);}.osp-optional{font-weight: 400;color: var(--wp--preset--color--muted);}.osp-form__submit{width: 100%;min-height: 52px;border: 0;cursor: pointer;}.osp-form__hp{position: absolute !important;left: -10000px;width: 1px;height: 1px;overflow: hidden;}.osp-form-notice{padding: 1rem 1.1rem;border-radius: 10px;margin-bottom: 1rem;font-weight: 500;}.osp-form-notice--success{background: #E7F6EC;color: #14532D;border: 1px solid #A7DDB7;}.osp-form-notice--error{background: #FDECEC;color: #7F1D1D;border: 1px solid #F3B4B4;}.osp-contact-list{list-style: none;padding: 0;margin: 0;display: flex;flex-direction: column;gap: 1rem;}.osp-contact-list li{padding: 1rem 1.1rem;border: 1px solid var(--wp--preset--color--line);border-radius: 12px;background: #fff;}.osp-contact-list strong{display: block;font-family: var(--wp--preset--font-family--manrope);color: var(--wp--preset--color--navy);}.osp-icon--remote{--osp-icon: url("assets/icons/lock-remote.svg");}
