/*
Theme Name: Vince's Village Cobbler
Description: Editable public service website. Customer operations remain in the separately secured Cobbler Operations app.
Version: 0.1.6
Requires at least: 6.6
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: vvc-cobbler
*/

html{scroll-behavior:smooth}body{margin:0;color:#15283b;background:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.65}*,*:before,*:after{box-sizing:border-box}a{color:inherit;text-underline-offset:4px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #2456a4;outline-offset:4px}h1,h2,h3{line-height:1.1;letter-spacing:-.025em}h1,h2{font-family:Georgia,'Times New Roman',serif}h1{font-size:clamp(2.5rem,5vw,4.75rem)}h2{font-size:clamp(1.9rem,3.6vw,3rem)}h3{font-size:1.2rem}.wp-site-blocks{padding:0}.vvc-wrap{max-width:1180px;margin-inline:auto;padding-inline:24px}.vvc-header{border-bottom:1px solid #e2e6e9;padding-block:18px;background:#fff}.vvc-brand{display:flex;align-items:center;gap:12px;text-decoration:none}.vvc-brand img{width:54px;height:54px;object-fit:contain}.vvc-brand strong{display:block;font-size:1.05rem;line-height:1.3}.vvc-brand small{display:block;color:#607184;letter-spacing:.14em;text-transform:uppercase;font-size:.65rem}.vvc-header .wp-block-navigation a,.vvc-header .wp-block-buttons a{display:inline-flex;align-items:center;min-height:48px;padding:10px 14px;border-radius:12px;text-decoration:none}.vvc-header .wp-block-navigation a:hover{background:#f1f4f6}.vvc-hero{padding-block:80px;background:#f7f6f2;border-bottom:1px solid #e9e5dc}.vvc-hero h1{max-width:830px;margin-block:16px 24px}.vvc-hero p:not(.vvc-eyebrow){font-size:1.12rem;max-width:650px;color:#526174}.vvc-eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;font-weight:700;color:#9e1930}.vvc-section{padding-block:64px}.vvc-section-intro{max-width:720px;color:#526174}.vvc-card{border:1px solid #dfe5e9;border-radius:22px;background:#fff;padding:28px;height:100%}.vvc-card h3{margin-top:0}.vvc-card p{color:#526174}.vvc-card a,.vvc-service-link{display:inline-flex;align-items:center;min-height:48px;font-weight:700;text-decoration:none}.vvc-card a:hover{text-decoration:underline}.vvc-muted{background:#f5f7f8}.vvc-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.vvc-location-hours{margin-top:18px}.vvc-location-hours strong{display:block;color:#15283b}.vvc-location-hours p{margin:.35em 0}.vvc-app-link,.vvc-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:52px;padding:13px 24px;border-radius:12px;background:#1e3853;color:#fff;text-decoration:none;font-size:.95rem;font-weight:700}.vvc-app-link:hover,.vvc-button:hover{background:#132b44;color:#fff}.vvc-app-link-disabled,.vvc-app-link-disabled:hover{background:#e5e9ed;color:#5c6b7b;cursor:default}.vvc-connection-note{display:block;margin-top:10px;color:#69788a;font-size:.8rem}.vvc-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.vvc-button-secondary{background:#fff;color:#1e3853;border:1px solid #d3dce5}.vvc-button-secondary:hover{background:#edf2f6;color:#1e3853}.vvc-details{border:1px solid #dfe5e9;border-radius:16px;padding:0 22px;margin-block:14px}.vvc-details summary{min-height:56px;display:flex;align-items:center;cursor:pointer;font-weight:700;padding:12px 0}.vvc-details summary:after{content:'+';margin-left:auto;padding-left:18px}.vvc-details[open] summary:after{content:'−'}.vvc-details>*:last-child{margin-bottom:22px}.vvc-details p{color:#526174}.vvc-footer{border-top:1px solid #e2e6e9;padding-block:36px;background:#fff;color:#526174;font-size:.9rem}.vvc-footer .vvc-wrap{display:flex;gap:24px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}.vvc-footer strong{color:#15283b}.vvc-footer a{display:inline-flex;align-items:center;min-height:44px}.vvc-page-title{padding-top:54px}.vvc-page-content{padding-bottom:64px}.vvc-page-content>p{max-width:820px}.vvc-page-content h2{margin-top:50px}.vvc-page-content ul{padding-left:22px}.vvc-preview-note{background:#f3f0e9;border-bottom:1px solid #dfd7c8;padding:8px 24px;text-align:center;font-size:.75rem}.vvc-preview-header-row{display:flex;align-items:center;gap:28px;justify-content:space-between}.vvc-preview-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.vvc-preview-nav a{display:inline-flex;align-items:center;min-height:48px;padding:9px 12px;text-decoration:none}.vvc-preview-logo{width:230px;max-width:100%;object-fit:contain}.wp-block-post-content>.alignfull{width:100vw;margin-left:calc(50% - 50vw);max-width:none}.wp-block-columns .wp-block-column{min-width:0}@media(max-width:780px){.vvc-wrap{padding-inline:20px}.vvc-hero{padding-block:48px}.vvc-section{padding-block:44px}.vvc-card-grid{grid-template-columns:1fr}.vvc-card{padding:24px}.vvc-preview-header-row{align-items:flex-start;flex-direction:column;gap:12px}.vvc-preview-nav{gap:0}.vvc-preview-nav a{padding-inline:9px}.vvc-page-title{padding-top:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Compact semantic card headings and touch-sized native mobile navigation. */
.vvc-card .vvc-card-title{font-size:1.2rem;line-height:1.1;margin-top:0}.vvc-header .wp-block-navigation__responsive-container-open,.vvc-header .wp-block-navigation__responsive-container-close{min-width:48px;min-height:48px;align-items:center;justify-content:center}.vvc-header .wp-block-navigation__responsive-container-open:focus-visible,.vvc-header .wp-block-navigation__responsive-container-close:focus-visible{outline:3px solid #2456a4;outline-offset:4px}

/* Keep native block-flow margins from staggering direct grid cards. */
.vvc-card-grid > .vvc-card{margin-block:0}

/* Public-page visual consistency. Includes the repair tracking landing page; sign-in and messaging remain unchanged. */
body.page .vvc-header{padding:0;background:#fff;color:#18181b;border-bottom:1px solid #e4e4e7}
body.page .vvc-header>.vvc-wrap{max-width:1280px;min-height:88px;gap:16px;box-sizing:border-box}
body.page .vvc-header .wp-block-site-title{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:20px;font-weight:700;color:#18181b}
body.page .vvc-header .wp-block-site-title a{color:inherit}
body.page .vvc-header .wp-block-image{margin:0}
body.page .vvc-header .wp-block-image img{width:48px!important;height:48px!important;object-fit:contain}
body.page .vvc-header .wp-block-navigation{margin-left:auto;font-size:14px;font-weight:600;color:#3f3f46}
body.page .vvc-header .wp-block-navigation__container{gap:20px}
body.page .vvc-header .wp-block-navigation-item__content{min-height:44px;display:inline-flex;align-items:center;text-decoration:none}
body.page .vvc-header a[href$='/track-a-repair/']{min-height:48px;padding:8px 16px;border:1px solid #d4d4d8;border-radius:12px;box-sizing:border-box;color:#18181b;background:#fff}
body.page .vvc-header a[href$='/get-a-quote/']{min-height:48px;padding:8px 16px;border:1px solid #b71932;border-radius:12px;box-sizing:border-box;color:#fff;background:#b71932}
body.page .vvc-header a[href$='/get-a-quote/']::after{content:'→';margin-left:10px}
body.page{color:#18181b;background:#fff}
body.page :is(h1,h2,h3){color:#09090b;font-family:Georgia,'Times New Roman',serif}
body.page .vvc-wrap{max-width:1280px}
body.page .vvc-hero{background:#fff;border-color:#e4e4e7}
body.page :is(.vvc-hero p:not(.vvc-eyebrow),.vvc-section-intro,.vvc-card p,.vvc-details p,.vvc-page-content>p){color:#52525b}
body.page .vvc-eyebrow{color:#c8102e;letter-spacing:.22em}
body.page .vvc-muted{background:#fafafa}
body.page .vvc-section{padding-block:64px}
body.page .vvc-card{border-color:#e4e4e7;border-radius:24px;box-shadow:0 12px 35px rgba(0,0,0,.05);padding:28px}
body.page .vvc-card :is(h2,h3,.vvc-card-title){font-family:Georgia,'Times New Roman',serif;font-size:clamp(24px,2.5vw,32px);line-height:1.15;color:#09090b;margin-top:0}
body.page :is(.vvc-service-link,.vvc-card a):not(.vvc-app-link):not(.vvc-button):not(.vvc-app-link-disabled){color:#b71932;font-weight:700}
body.page .vvc-location-hours strong{color:#18181b}
body.page :is(.vvc-app-link,.vvc-button){min-height:56px;border:1px solid #c8102e;border-radius:999px;background:#c8102e;color:#fff;padding:14px 28px;box-shadow:0 10px 24px rgba(200,16,46,.15)}
body.page :is(.vvc-app-link,.vvc-button):hover{background:#ad0e28;color:#fff}
body.page :is(.vvc-button-secondary,.vvc-button-secondary:hover){border-color:#d4d4d8;background:#fff;color:#18181b;box-shadow:none}
body.page :is(.vvc-app-link-disabled,.vvc-app-link-disabled:hover){background:#e4e4e7;border-color:#e4e4e7;color:#71717a;box-shadow:none}
body.page .vvc-details{border-color:#e4e4e7;border-radius:16px;background:#fff}
body.page .vvc-details summary{color:#18181b}
body.page .vvc-details summary:after{color:#b71932}
body.page .vvc-footer{border-color:#e4e4e7;color:#52525b}
body.page .vvc-footer strong{color:#18181b;font-family:Georgia,'Times New Roman',serif;font-size:19px}
body.page :is(a,button,summary):focus-visible{outline:3px solid #2563eb;outline-offset:4px}
body.page .vvc-header a[href$='/get-a-quote/']:hover{background:#9f1239;color:#fff}
body.page .vvc-header a[href$='/track-a-repair/']:hover{background:#fafafa;color:#18181b}
@media(min-width:1150px){body.page .vvc-header>.vvc-wrap{flex-wrap:nowrap}}
@media(max-width:1149px){body.page .vvc-header>.vvc-wrap{padding-block:16px;gap:12px;flex-wrap:wrap}body.page .vvc-header .wp-block-navigation__container{gap:14px}}
@media(max-width:900px){body.page .vvc-header .wp-block-navigation{flex-basis:100%;margin-left:0}body.page .vvc-header .wp-block-navigation__container{justify-content:flex-start}}
@media(max-width:780px){body.page .vvc-wrap{padding-inline:16px}body.page .vvc-section{padding-block:40px}body.page .vvc-card{padding:24px}}
@media(max-width:599px){body.page .vvc-header>.vvc-wrap{padding-inline:16px;min-height:76px;gap:10px;flex-wrap:nowrap}body.page .vvc-header .wp-block-site-title{font-size:16px}body.page .vvc-header .wp-block-image img{width:40px!important;height:40px!important}body.page .vvc-header .wp-block-navigation{margin-left:auto;flex-basis:auto}body.page .vvc-header .is-menu-open .wp-block-navigation__container{align-items:stretch;gap:16px}body.page .vvc-header .is-menu-open .wp-block-navigation-item__content{width:100%;justify-content:center}}

/* Full-width, inset mobile navigation overlay. */
@media(max-width:599px){
body.page .vvc-header .wp-block-navigation__responsive-container.is-menu-open{--navigation-layout-justify:flex-start;--navigation-layout-align:stretch;--navigation-layout-justification-setting:flex-start;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));overflow-y:auto;box-sizing:border-box}
body.page .vvc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close{width:100%;max-width:440px;margin:0 auto}
body.page .vvc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog{position:relative;width:100%;max-width:none;margin:0}
body.page .vvc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{width:100%;align-items:stretch;justify-content:flex-start;padding-top:64px}
body.page .vvc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{width:100%;max-width:none;align-items:stretch;justify-content:flex-start;flex-direction:column;gap:8px;margin:0;padding:0}
body.page .vvc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{width:100%;max-width:none;align-items:stretch;align-self:stretch;margin:0}
body.page .vvc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{display:flex;width:100%;max-width:none;min-height:52px;align-items:center;justify-content:flex-start;padding:12px 16px;box-sizing:border-box;font-size:18px;line-height:1.4;text-align:left;white-space:normal;border-radius:12px}
body.page .vvc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-last-child(2){margin-top:16px}
body.page .vvc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content[href$='/track-a-repair/'],body.page .vvc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content[href$='/get-a-quote/']{min-height:54px;justify-content:center;padding:14px 18px;font-size:16px;text-align:center}
body.page .vvc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{top:0;right:0;min-width:48px;min-height:48px;width:48px;height:48px;align-items:center;justify-content:center}
}

/* Readable public-page titles and contained actions on phones. */
@media(max-width:599px){
body.page h1.vvc-page-title{font-size:clamp(30px,8.5vw,36px);line-height:1.1;letter-spacing:-.025em;overflow-wrap:break-word;padding-top:28px}
body.page .vvc-page-content h2{margin-top:32px}
body.page .vvc-card :is(h2,h3,.vvc-card-title){margin-top:0}
body.page :is(.vvc-app-link,.vvc-button){min-width:0;max-width:100%;gap:8px;padding:12px 16px;line-height:1.4;white-space:normal;overflow-wrap:break-word;text-align:center}
body.page .vvc-card :is(.vvc-app-link,.vvc-button),body.page .vvc-actions>.vvc-button{width:100%}
body.page .vvc-card{padding:20px}
}
