/*
Theme Name: Otter Bay Cafe
Theme URI: 
Author: Otter Bay Cafe
Description: A clean, understated neighborhood cafe design. Pair with Otter Bay Cafe Manager plugin for editable pages and menus.
Version: 6.1.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: otter-bay-cafe
*/
:root{--cream:#fff4df;--paper:#fffbf2;--dark:#12212a;--dark2:#101b24;--sage:#d8e9e6;--orange:#ad8760;--rust:#74503f;--muted:#5a6a6b;--line:#d4e0da;--display:Georgia,'Times New Roman',serif;--body:'Trebuchet MS',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--dark);font-family:var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;height:auto}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus{clip:auto;overflow:visible;width:auto;height:auto;z-index:999;padding:10px;background:#fff}.site-header{position:relative;z-index:20;background:var(--cream);border-bottom:1px solid var(--line)}.header-inner{max-width:1320px;margin:auto;min-height:96px;padding:13px 32px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:10px;min-width:220px}.brand-icon{width:53px;height:53px;flex:none}.brand-name{font-family:var(--display);font-size:26px;letter-spacing:-1.2px;line-height:1;font-weight:700}.brand-sub{font-size:9px;letter-spacing:3.4px;font-weight:700;margin-top:7px;color:var(--rust)}.nav-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:34px}.nav-list a{font-size:13px;letter-spacing:.35px;font-weight:700;transition:color .2s}.nav-list a:hover,.nav-list .current-menu-item a{color:var(--rust)}.header-order{background:var(--dark);color:white;border-radius:3px;padding:15px 23px;font-size:12px;text-transform:uppercase;letter-spacing:1.4px;font-weight:800;white-space:nowrap;transition:background .2s}.header-order:hover{background:var(--rust)}.mobile-toggle{display:none;border:0;background:transparent;color:var(--dark);font-size:28px;cursor:pointer}.announcement{background:var(--dark);color:white;padding:10px 24px;text-align:center;font-size:12px;letter-spacing:.8px}.announcement p{margin:0}.site-footer{background:var(--dark2);color:#fff4df;padding:78px 32px 28px}.footer-inner{max-width:1256px;margin:auto}.footer-top{display:grid;grid-template-columns:1.35fr .7fr .8fr;gap:60px;padding-bottom:76px}.footer-brand .brand-name{font-size:34px}.footer-brand .brand-sub{color:#d1a47f}.footer-blurb{max-width:300px;font-size:14px;line-height:1.8;color:#d6e7e3;margin:23px 0}.footer-title{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#cba27c;margin:10px 0 25px}.footer-links{padding:0;margin:0;list-style:none}.footer-links li{margin:13px 0}.footer-links a,.footer-info{color:#e3f0eb;font-size:13px;line-height:1.9}.footer-links a:hover{text-decoration:underline}.footer-social{display:flex;gap:18px;font-size:13px;margin-top:18px}.footer-social a{text-decoration:underline;text-underline-offset:5px}.footer-bottom{border-top:1px solid #45696d;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#bacfca}.footer-bottom span{letter-spacing:1px}.generic-content{max-width:930px;margin:70px auto;padding:0 28px;min-height:35vh}.generic-content h1{font-family:var(--display);font-size:clamp(40px,6vw,72px)}.generic-content p{line-height:1.85}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
@media(max-width:900px){.header-inner{min-height:79px;padding:12px 22px}.mobile-toggle{display:block;margin-left:auto}.header-order{display:none}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);border-bottom:1px solid var(--line);padding:20px 25px;box-shadow:0 18px 24px #0001}.site-nav.is-open{display:block}.nav-list{flex-direction:column;align-items:flex-start;gap:23px}.footer-top{grid-template-columns:1fr 1fr;gap:40px}.footer-top>div:first-child{grid-column:1/-1}}@media(max-width:550px){.brand{min-width:auto}.brand-name{font-size:23px}.brand-icon{width:45px;height:45px}.footer-top{grid-template-columns:1fr}.footer-top>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.site-footer{padding:55px 24px 22px}}

/* v2 site chrome */
.site-header{background:#fffaf1;border-bottom:1px solid #e4e4d9}.header-inner{max-width:1180px;min-height:82px}.brand-name{font-size:24px;letter-spacing:-.7px}.brand-sub{font-size:9px;letter-spacing:1.6px;color:#4a7478}.nav-list a{font-size:14px;font-weight:600;letter-spacing:0}.nav-list a:hover,.nav-list .current-menu-item a{color:#39777b}.header-order{background:#2d696e;border-radius:0;letter-spacing:0;text-transform:none;font-size:14px;font-weight:600;padding:13px 19px}.header-order:hover{background:#214e52}.site-footer{background:#19383e;padding-top:62px}.footer-top{padding-bottom:50px}.footer-blurb{line-height:1.7}.footer-title{letter-spacing:1.2px;color:#d5ddd6}.footer-bottom span{letter-spacing:0}.footer-social a{color:#fff4df}

/* v2.1: Site chrome and contact cleanup */
.site-header{background:#fff7e9;border-bottom:1px solid #e8e4d9}
.header-inner{max-width:1200px;min-height:84px;padding:14px 28px;gap:26px}
.brand{display:inline-flex;align-items:center;gap:12px;min-width:0;flex-shrink:0;white-space:nowrap}
.brand-icon{width:48px;height:48px;flex-shrink:0}
.brand-name{font-family:Georgia,'Times New Roman',serif;font-size:25px;line-height:1.1;font-weight:700;letter-spacing:-.035em}
.brand-sub{display:none!important}
.brand-logo-image{display:block;width:auto;max-width:258px;height:auto;max-height:63px;object-fit:contain}
.site-nav{margin-left:auto}.nav-list{gap:28px}.nav-list a{font-size:14px;font-weight:600;color:#183238}
.header-order{padding:13px 19px;background:#183238;color:#fff7e9;font-size:13px;font-weight:700;white-space:nowrap}
.header-order:hover{background:#316c70}
.site-footer{background:#122a30;color:#f8f4eb;padding:66px 28px 24px}
.footer-inner{max-width:1160px}
.footer-top{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(130px,.58fr) minmax(280px,1fr);gap:clamp(28px,5vw,80px);padding-bottom:60px}
.footer-brand .brand-name{font-size:26px;letter-spacing:-.025em}.footer-brand .brand-icon{width:48px;height:48px}
.footer-brand .brand-logo-image{max-width:265px;max-height:76px}
.footer-blurb{font-size:14px;color:#bfd0cb;line-height:1.7;margin:22px 0 20px;max-width:275px}
.footer-social{gap:22px;flex-wrap:wrap;margin-top:16px}.footer-social a{color:#f7f4e9;font-size:13px;text-decoration:underline;text-decoration-color:#6f8c8c;text-underline-offset:5px}
.footer-title{margin:8px 0 24px;color:#d3ba96;font-size:12px;letter-spacing:1.6px;font-weight:700;text-transform:uppercase}
.footer-links li{margin:0 0 13px}.footer-links a{font-size:14px;line-height:1.6;color:#e7efea}
.footer-address{font-style:normal;font-size:14px;line-height:1.75;color:#e7efea;max-width:310px}
.footer-directions{display:inline-block;font-size:13px;color:#d3d9d2;margin-top:10px;text-decoration:underline;text-underline-offset:4px}
.footer-hours-heading{margin:28px 0 13px;color:#d3ba96;font-size:12px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase}
.footer-hours{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.footer-hours li{display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-bottom:1px solid #ffffff16;padding-bottom:10px;color:#e6efeb;font-size:13px;line-height:1.5}
.hours-day{color:#ebf0eb;min-width:105px}.hours-time{text-align:right;color:#bfcfc9}
.footer-bottom{border-top:1px solid #ffffff29;padding-top:21px;color:#b4c6c2;font-size:12px}.footer-bottom span{letter-spacing:0}
@media(max-width:950px){.header-inner{gap:18px}.nav-list{gap:18px}.footer-top{grid-template-columns:1fr 1fr;gap:44px}.footer-about{grid-column:1/-1}.footer-visit{min-width:0}}
@media(max-width:900px){.site-nav{margin-left:0}.header-inner{min-height:76px;padding:12px 24px}.brand-logo-image{max-width:230px;max-height:54px}}
@media(max-width:600px){.header-inner{padding:12px 20px}.brand-name{font-size:21px}.brand-icon{width:40px;height:40px}.brand-logo-image{max-width:195px;max-height:54px}.site-footer{padding:50px 22px 22px}.footer-top{grid-template-columns:1fr;gap:40px;padding-bottom:42px}.footer-about{grid-column:auto}.footer-bottom{flex-direction:column;gap:9px}.footer-hours li{gap:14px}}

/* v3 — reference-matched branding, with the original Otter Bay seal. */
:root{--cream:#fff3df;--paper:#fff9ee;--dark:#10212a;--dark2:#10212a;--teal:#4f7f81;--rust:#a65d36;--body:Arial,Helvetica,sans-serif;--display:Georgia,'Times New Roman',serif}
.site-header{background:#fff4e3;border-bottom:1px solid rgba(16,33,42,.08)}
.header-inner{max-width:1600px;min-height:101px;padding:14px clamp(22px,3.8vw,64px);gap:clamp(20px,3vw,56px)}
.brand{display:flex;align-items:center;flex-shrink:0;min-width:0;gap:14px;white-space:nowrap}
.brand-logo-image{width:72px;height:72px;max-width:72px;max-height:72px;object-fit:contain;flex-shrink:0}
.brand-words{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px}
.brand-name{font-family:Georgia,'Times New Roman',serif;color:#10212a;font-size:clamp(25px,2.35vw,38px);font-weight:700;letter-spacing:-.045em;line-height:1.12}
.brand-sub{display:inline!important;color:#a05e39;font-size:10px;font-weight:800;letter-spacing:3px;line-height:1.2;white-space:nowrap}
.site-nav{margin-left:auto}.nav-list{gap:clamp(24px,3.7vw,64px)}.nav-list a{color:#10212a;font-size:17px;line-height:1.6;font-weight:600}
.nav-list .current-menu-item a{color:#10212a;border-bottom:2px solid #a96741;padding-bottom:9px}
.header-order{padding:19px 27px;border-radius:7px;background:#10212a;color:white;font-size:13px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}
.header-order:hover{background:#315d63}
.site-footer{background:#10212a;color:#fff4e3;padding:44px clamp(24px,7.5vw,126px) 22px}
.footer-inner{max-width:1450px}.footer-top{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(55px,9vw,140px);padding-bottom:35px}
.footer-about{min-width:0}.footer-brand .brand-logo-image{width:74px;height:74px;max-width:74px;max-height:74px}
.footer-brand .brand-name{color:#fff4e3;font-size:clamp(28px,2.9vw,44px)}.footer-brand .brand-sub{color:#d99866;font-size:10px;letter-spacing:2.6px}
.footer-blurb{max-width:510px;color:#f1f2ee;font-size:17px;line-height:1.55;margin:18px 0 23px}
.footer-social{display:flex;flex-wrap:wrap;gap:32px;margin:0}.footer-social a{color:#f1f2ee;font-size:15px;text-decoration:underline;text-underline-offset:6px}
.footer-visit{border-left:1px solid #b9b9ad;padding-left:clamp(45px,5.7vw,92px);min-width:0}
.footer-title{margin:5px 0 22px;color:#d08a59;font-size:16px;letter-spacing:4px;font-weight:800;text-transform:uppercase}
.footer-detail{display:grid;grid-template-columns:28px minmax(0,1fr);gap:17px;align-items:start;margin:0 0 22px}
.footer-detail-icon{color:#c88758;font-size:23px;line-height:1}
.footer-address{font-size:15px;line-height:1.75;color:#f5f3ef;max-width:none;font-style:normal}
.footer-hours{padding:0;margin:0;list-style:none;display:block}.footer-hours li{display:block;border:0;padding:0;margin:0 0 7px;color:#f5f3ef;font-size:15px;line-height:1.55;text-align:left}
.footer-bottom{margin-top:13px;border-top:1px solid #ffffff26;padding-top:18px;color:#a9bcb9;font-size:12px}
@media(max-width:1210px){.brand-words{gap:3px;flex-direction:column;align-items:flex-start}.brand-sub{font-size:8px;letter-spacing:2px}.nav-list{gap:24px}.nav-list a{font-size:15px}.header-order{padding:16px 18px;font-size:11px}}
@media(max-width:900px){.header-inner{min-height:83px;padding:10px 22px}.brand-logo-image{width:62px;height:62px;max-width:62px;max-height:62px}.brand-name{font-size:29px}.mobile-toggle{display:block;margin-left:auto}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff4e3;padding:22px;box-shadow:0 16px 26px #0002}.site-nav.is-open{display:block}.nav-list{align-items:flex-start;flex-direction:column;gap:20px}.header-order{display:none}.footer-top{grid-template-columns:1fr;gap:35px}.footer-visit{border-left:0;border-top:1px solid #b9b9ad66;padding:30px 0 0}.footer-about{grid-column:auto}}
@media(max-width:550px){.header-inner{gap:11px}.brand{gap:9px}.brand-logo-image{width:51px;height:51px;max-width:51px;max-height:51px}.brand-name{font-size:23px}.brand-sub{font-size:7px;letter-spacing:1.6px}.site-footer{padding:45px 22px 22px}.footer-brand .brand-logo-image{width:61px;height:61px;max-width:61px;max-height:61px}.footer-brand .brand-name{font-size:27px}.footer-brand .brand-sub{font-size:8px}.footer-blurb{font-size:15px}.footer-hours li,.footer-address{font-size:14px}}
