/*
Theme Name: Sunnyside Cafe Custom
Author: Good Method
Description: Custom Sunnyside Cafe theme for Williamston, Michigan.
Version: 1.2.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: sunnyside-custom
*/

*{box-sizing:border-box}body{margin:0;background:#faf5e8;color:#354b59;font:15px Arial,sans-serif}a{color:inherit;text-decoration:none}.wrap{width:min(1240px,90%);margin:auto}.top{background:#354b59;color:#faf5e8;text-align:center;padding:12px;font-size:10px;letter-spacing:2px}nav{height:100px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ccc6b5}.brand{font:bold italic 34px Georgia}.brand small{display:block;font:9px Arial;letter-spacing:5px;text-align:center}.links{display:flex;gap:28px;align-items:center;font-size:13px}.btn{display:inline-block;background:#354b59;color:#faf5e8;padding:18px 25px;font-size:13px;border:1px solid #354b59}.outline{background:transparent;color:#354b59}.hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:45px 0 55px}.eyebrow{font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:bold}h1{font:bold clamp(65px,7vw,100px)/1 Georgia;letter-spacing:-5px;margin:25px 0}em{color:#354b59}p{font-size:14px;line-height:1.9;max-width:400px}.intro{max-width:345px;margin:28px 0}.actions{display:flex;gap:12px}.photo{position:relative}.photo img{width:100%;height:550px;object-fit:cover;border-radius:180px 180px 0 0}.stamp{position:absolute;bottom:35px;left:-28px;width:135px;height:135px;border-radius:50%;background:#f6ce43;border:1px solid;outline:6px solid #f6ce43;display:flex;flex-direction:column;justify-content:center;text-align:center;transform:rotate(-12deg);font-size:10px;text-transform:uppercase}.stamp b{font:bold 36px Georgia;text-transform:none}.caption{text-align:right;font-size:9px;letter-spacing:2px;margin-top:12px}.ribbon{background:#f6ce43;padding:23px;display:flex;justify-content:space-around;gap:20px;font-size:12px;font-weight:bold;border-block:1px solid}.section{padding:85px 0}h2{font:bold clamp(38px,4vw,58px)/1.08 Georgia;letter-spacing:-2px;margin:20px 0 28px}.head{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.textlink{font-size:13px;border-bottom:1px solid;padding-bottom:6px}.cards{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid}article{padding:30px;border-right:1px solid #ccc6b5}article:first-child{padding-left:0}article:last-child{border:0}article small{font-size:10px;color:#354b59;letter-spacing:2px}h3{font:bold 26px Georgia}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.split img{width:100%;height:490px;object-fit:cover}.story{background:#354b59;color:#faf5e8}.story h2,.story .eyebrow{color:#f6ce43}.gather img{border-radius:170px 170px 0 0}.visit{background:#f6ce43;padding:65px 0}.visitgrid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}.visit h2{margin-top:0}.visit h4{font-size:10px;letter-spacing:2px}footer{display:flex;justify-content:space-between;padding:30px 0;font-size:11px}.draft{position:fixed;bottom:12px;right:12px;background:#faf5e8;border:1px solid #ccc6b5;padding:8px 12px;font-size:9px;letter-spacing:1px}a:focus-visible{outline:3px solid #354b59;outline-offset:5px}
@media(max-width:750px){.links{gap:15px}.links a:nth-child(2),.links a:nth-child(3),.links .btn{display:none}.hero,.split,.visitgrid,.cards{grid-template-columns:1fr}.hero{gap:30px}.photo{margin-left:20px}.photo img{height:420px}.stamp{left:-18px;width:115px;height:115px}.stamp b{font-size:30px}.ribbon{flex-wrap:wrap;font-size:10px}.head{display:block}.head .textlink{display:inline-block;margin-bottom:15px}article,article:first-child{padding:25px 0;border-right:0;border-bottom:1px solid #ccc6b5}.section{padding:55px 0}.split{gap:35px}.split img{height:390px}.gather img{grid-row:1}.visitgrid{gap:20px}footer{flex-wrap:wrap;gap:20px;padding-bottom:60px}}
/* Revisions from design review */
h1{font-family:'Fredoka','Arial Rounded MT Bold',Arial,sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(52px,5.6vw,82px);line-height:1.02;letter-spacing:-2px}h1 em{font-style:normal}.sun-stamp{background:#faf5e8;border:0;outline:0;transform:none;padding:5px;overflow:visible}.photo .sun-stamp img{width:100%;height:100%;border-radius:50%;object-fit:contain;mix-blend-mode:multiply;animation:sunny-spin 45s linear infinite}@keyframes sunny-spin{to{transform:rotate(360deg)}}.food-photo{display:block;width:100%;height:230px;object-fit:cover;margin-bottom:28px}.story .split>img{height:auto;max-height:510px;object-fit:contain;background:#faf5e8}.closing-logo{display:block;width:min(280px,100%);height:auto;mix-blend-mode:multiply;margin-bottom:25px}.visit .closing-tagline{font-size:35px;letter-spacing:-1px;line-height:1.15;margin:0}.visitgrid{grid-template-columns:1.2fr 1fr 1fr}@media(prefers-reduced-motion:reduce){.photo .sun-stamp img{animation:none}}@media(max-width:750px){h1{font-size:clamp(48px,11vw,72px)}.food-photo{height:260px}.visitgrid{grid-template-columns:1fr}.story .split>img{height:auto}.sun-stamp{width:115px;height:115px}}/* Spacing and photography refinement */
h1{letter-spacing:.015em;word-spacing:.08em;line-height:1.2;margin-top:30px;margin-bottom:32px;font-size:clamp(48px,5.2vw,76px)}h1 em{color:#354b59;font-style:normal}.hero .intro{margin-top:30px}.story .split{grid-template-columns:1.5fr 1fr;gap:45px}.story .split>img{width:100%;height:auto;max-height:none;object-fit:contain}.story h2{font-size:clamp(36px,3.6vw,52px)}@media(max-width:750px){h1{font-size:clamp(42px,10vw,68px);letter-spacing:.01em;line-height:1.22}.story .split{grid-template-columns:1fr;gap:32px}.story .split>img{width:100%;height:auto}.story h2{font-size:42px}}.section-sun{display:block;width:64px;height:64px;object-fit:contain;mix-blend-mode:multiply;margin:0 0 22px}.story .split .section-sun{width:72px;height:72px;object-fit:contain;background:#faf5e8;border-radius:50%;mix-blend-mode:normal;padding:3px}.gather .section-sun{width:78px;height:78px;border-radius:0}.section .head>div{position:relative}.section .head .section-sun{width:74px;height:74px}@media(max-width:750px){.section-sun,.story .split .section-sun,.gather .section-sun,.section .head .section-sun{width:60px;height:60px;margin-bottom:18px}}/* Sun marks sit on the photograph edges */
.story-photo-frame,.event-photo-frame{position:relative;min-width:0}.story-photo-frame>img:first-child{display:block;width:100%;height:auto;object-fit:contain}.event-photo-frame>img:first-child{display:block;width:100%;height:490px;object-fit:cover;border-radius:170px 170px 0 0}.split .photo-edge-sun{position:absolute;display:block;width:100px;height:100px;object-fit:contain;border-radius:50%;background:#faf5e8;padding:5px;z-index:1}.story-photo-frame .photo-edge-sun{top:-42px;right:-22px}.event-photo-frame .photo-edge-sun{bottom:25px;left:-35px}.story .split{align-items:center}@media(max-width:750px){.event-photo-frame{grid-row:1}.event-photo-frame>img:first-child{height:390px}.split .photo-edge-sun{width:84px;height:84px}.story-photo-frame .photo-edge-sun{top:-32px;right:-10px}.event-photo-frame .photo-edge-sun{left:-15px;bottom:20px}}.menu-document{background:#f1ead9;border-top:1px solid #ccc6b5}.menu-document .head{margin-bottom:25px;gap:30px}.menu-document h2{margin-bottom:15px}.pdf-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.menu-pdf-viewer{display:block;width:100%;height:780px;border:1px solid #ccc6b5;background:white}.pdf-fallback{text-align:center;padding:65px 25px}.pdf-fallback p{margin:auto}.pdf-help,.pdf-draft-note{max-width:none;font-size:12px}.pdf-draft-note{padding:12px 15px;background:#faf5e8;border-left:3px solid #e2bd39;margin-bottom:22px}.pdf-help{margin-top:18px}@media(max-width:750px){.menu-pdf-viewer{height:540px}.pdf-actions{margin:22px 0}.menu-document .head{margin-bottom:15px}}.rotating-specials{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:28px;align-items:start;margin:36px 0 45px;padding-top:32px;border-top:1px solid #ccc6b5}.specials-copy h3{font-size:32px;line-height:1.1;margin:17px 0}.specials-copy p{font-size:13px}.specials-copy .section-sun{width:52px;height:52px;margin-bottom:18px}.special-feature{display:block;min-width:0}.special-feature img{display:block;width:100%;height:265px;object-fit:cover}.special-feature span{display:block;font:bold 21px Georgia;margin-top:16px}.special-feature small{display:block;font-size:11px;line-height:1.7;margin-top:7px}.meatloaf-feature img{object-fit:contain;background:#354b59}.menu-document .head p{max-width:560px}@media(max-width:750px){.rotating-specials{grid-template-columns:1fr 1fr;gap:24px 18px}.specials-copy{grid-column:1/-1}.special-feature img{height:220px}.special-feature span{font-size:20px}}@media(max-width:420px){.rotating-specials{grid-template-columns:1fr}.special-feature img{height:280px}}.quick-contact{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:18px 0;border-bottom:1px solid #ccc6b5}.quick-phone{display:flex;align-items:center;gap:17px}.quick-phone>span{font-size:10px;font-weight:bold;letter-spacing:1.7px}.quick-phone strong{font-size:24px;letter-spacing:-.6px}.quick-order{display:flex;align-items:center;gap:18px}.quick-order>span{font-size:12px}.doordash-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:#f6ce43;color:#354b59;border:1px solid #354b59;padding:14px 22px;font-size:14px;font-weight:bold}.quick-phone:hover strong{text-decoration:underline}.doordash-button:hover{background:#edc12e}.hero{padding-top:35px}@media(max-width:750px){.quick-contact{gap:15px;align-items:stretch}.quick-phone{flex-direction:column;align-items:flex-start;justify-content:center;gap:6px}.quick-phone strong{font-size:21px;white-space:nowrap}.quick-phone>span{font-size:9px}.quick-order{display:block}.quick-order>span{display:none}.doordash-button{height:100%;padding:15px;font-size:12px;gap:8px}}@media(max-width:390px){.quick-contact{flex-direction:column;gap:14px}.quick-phone{align-items:center}.quick-phone strong{font-size:25px}.doordash-button{width:100%}}/* Mobile verification fixes */
@media(max-width:750px){nav{height:auto;min-height:100px;flex-wrap:wrap;padding:12px 0 6px;gap:6px}.brand{display:block}.links{width:100%;justify-content:space-between;gap:4px;flex-wrap:wrap}.links a,.links a:nth-child(2),.links a:nth-child(3){display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 6px;font-size:12px}.links .btn{display:none}.quick-phone{min-height:48px}.pdf-actions .textlink,.pdf-help .textlink{display:inline-flex;align-items:center;min-height:44px}.hero .actions{flex-wrap:wrap}.hero .actions .btn{min-height:48px}}/* Embedded browser PDF viewers are unreliable on phones; use the full-screen PDF link. */
.mobile-pdf-note{display:none}@media(max-width:750px){.menu-pdf-viewer{display:none}.mobile-pdf-note{display:block;border:1px solid #ccc6b5;background:#faf5e8;padding:24px;margin-top:28px}.mobile-pdf-note p{margin:0;max-width:none;font-size:14px}.pdf-help{margin-top:20px}}/* Contained ribbon and WordPress PDF viewer. */
.ribbon{display:block;padding:0}.ribbon-inner{width:min(1240px,90%);margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;padding:20px 0}.ribbon-inner>span{display:block;text-align:center;padding:5px 12px;border-right:1px solid #354b5940;font-size:11px;letter-spacing:1.1px;line-height:1.5}.ribbon-inner>span:last-child{border-right:0}.menu-pdf-plugin{width:100%;max-width:100%;background:#fff;border:1px solid #ccc6b5;overflow:hidden}.menu-pdf-plugin .pdfemb-viewer{max-width:100%;margin:0 auto}.menu-pdf-plugin .pdfemb-toolbar{font-family:Arial,sans-serif}.menu-pdf-plugin canvas{max-width:none}@media(max-width:750px){.ribbon-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:10px 0}.ribbon-inner>span{font-size:10px;letter-spacing:.7px;padding:9px 7px}.ribbon-inner>span:nth-child(2){border-right:0}.ribbon-inner>span:nth-child(-n+2){border-bottom:1px solid #354b5940}}.soup-together{background:#354b59;color:#faf5e8;border-top:1px solid #faf5e830}.soup-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.soup-title>img{display:block;width:92px;height:92px;object-fit:contain;border-radius:50%;background:#faf5e8;padding:5px;margin-bottom:26px}.soup-title .eyebrow,.soup-title h2{color:#f6ce43}.soup-title h2{margin-bottom:0}.soup-details h3{font-size:32px;line-height:1.2;margin-top:0}.soup-details p{max-width:480px}.soup-details .btn{margin-top:14px;background:#f6ce43;color:#354b59;border-color:#f6ce43;line-height:1.5}.soup-details .btn:hover{background:#edc12e}@media(max-width:750px){.soup-layout{grid-template-columns:1fr;gap:30px}.soup-title>img{width:72px;height:72px}.soup-details h3{font-size:28px}.soup-details .btn{display:block;text-align:center}}

/* Shared page layout and catering. */
.links{gap:20px}body:not(.home) main>article{padding:0;border:0}.catering-hero{padding:20px 0 55px}.catering-hero h2{font-size:clamp(40px,4.7vw,68px)}.catering-hero .intro{max-width:440px}.catering-planning>p{max-width:680px}.catering-planning .cards{margin-top:35px}.catering-callout{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;background:#354b59;color:#faf5e8;padding:55px;margin-bottom:20px}.catering-callout h2,.catering-callout .eyebrow{color:#f6ce43}.catering-callout .btn{background:#f6ce43;color:#354b59;border-color:#f6ce43}.catering-callout .textlink{display:inline-block;min-height:44px}.catering-page .event-photo-frame>img:first-child{border-radius:180px 180px 0 0}.catering-page .cards article{padding:30px;border-right:1px solid #ccc6b5}.catering-page .cards article:first-child{padding-left:0}.catering-page .cards article:last-child{border:0}
@media(max-width:1000px) and (min-width:751px){.links{gap:12px}.links a{font-size:12px}.links .btn{padding:15px}}
@media(max-width:750px){.links{justify-content:center;gap:0}.links>a:not(.btn){flex:1 0 20%;padding:8px 3px;font-size:11px}.catering-hero{padding-top:10px}.catering-callout{grid-template-columns:1fr;padding:30px 22px;gap:25px}.catering-page .cards article,.catering-page .cards article:first-child{padding:25px 0;border-right:0;border-bottom:1px solid #ccc6b5}.catering-page .event-photo-frame{grid-row:auto}.catering-hero h2{font-size:43px}.catering-hero .btn{padding:17px 16px}}
.links .catering-nav{background:#f6ce43;color:#354b59;padding:13px 16px;font-weight:bold;border:1px solid #354b59}.actions{flex-wrap:wrap}.catering-cta{background:#f6ce43;color:#354b59}.catering-nav:hover,.catering-cta:hover{background:#edc12e}@media(max-width:750px){.links>a.catering-nav{padding:8px 4px;min-height:44px}}

/* Phone layout review: aligned actions and natural inline menu links. */
@media(max-width:750px){
.links>a:not(.btn){font-size:12px;line-height:1.35;text-align:center}
.hero .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hero .actions .btn{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px 10px}
.hero .actions .catering-cta{grid-column:1/-1}
.menu-document .head p .textlink{display:inline;min-height:0;margin:0;padding-bottom:2px}
body:not(.home) main.section{padding-top:35px}
}
@media(max-width:750px){.links>a:not(.btn){min-width:0}}@media(max-width:360px){.links>a:not(.btn){font-size:11px;flex-basis:20%}}

.dinner-details{display:grid;grid-template-columns:1.1fr 1fr;gap:45px;border-top:1px solid #ccc6b5;padding-top:28px;margin-bottom:15px;align-items:center}.dinner-details h3{font-size:32px;margin:0 0 15px}.dinner-details p{max-width:530px}.dinner-details .textlink{display:inline-flex;align-items:center;min-height:44px}@media(max-width:750px){.dinner-details{grid-template-columns:1fr;gap:0}.specials-copy h3{font-size:32px}}
/* A narrow encaustic tile border echoes the cafe floor. */
.tile-divider{height:34px;background:#f4eedf url('assets/cafe-tile.svg') repeat-x center;background-size:34px 34px;border-block:1px solid #354b59;margin-top:22px}.catering-page .catering-local{border-left:5px solid #b49b75}.catering-page .catering-callout{background:#354b59}.catering-page .catering-section{border-top-color:#b49b75}@media(max-width:750px){.tile-divider{height:26px;background-size:26px 26px;margin-top:16px}}
/* Keep the floor reference within one quiet section. */
.catering-page #catering-inquiry{background-color:#f4eedf;background-image:linear-gradient(rgba(244,238,223,.95),rgba(244,238,223,.95)),url('assets/cafe-tile.svg');background-size:auto,72px 72px;color:#354b59;border:1px solid #d5cbb9}.catering-page #catering-inquiry h2,.catering-page #catering-inquiry .eyebrow{color:#354b59}.catering-page #catering-inquiry .btn{background:#f6ce43;color:#354b59;border-color:#354b59}
/* Match the cafe's dark dusty blue accent. */
body .catering-page #catering-inquiry,body .catering-page #catering-inquiry h2,body .catering-page #catering-inquiry .eyebrow,body .catering-page #catering-inquiry .btn{color:#354b59}body .catering-page .catering-callout{background-color:#354b59}body .catering-page #catering-inquiry{background-color:#f4eedf}body .catering-page .catering-hero .btn{color:#354b59}
body.home #gather{background-color:#f4eedf;background-image:linear-gradient(rgba(244,238,223,.95),rgba(244,238,223,.95)),url('assets/cafe-tile.svg');background-size:auto,72px 72px;border:1px solid #d5cbb9;padding:55px 40px;margin-top:55px;margin-bottom:55px}body.home #gather .event-photo-frame{min-width:0}@media(max-width:750px){body.home #gather{padding:35px 22px;margin-top:35px;margin-bottom:35px}}
/* Clear contact actions and an integrated dinner announcement. */
.quick-contact .quick-phone{background:#354b59;color:#faf5e8;padding:14px 20px;gap:12px;justify-content:center;border:1px solid #354b59;text-decoration:none;min-height:54px}
.quick-contact .quick-phone:hover{background:#263d4b}
.quick-contact .quick-phone span,.quick-contact .quick-phone strong{color:inherit}
.quick-contact .quick-phone strong{font-size:21px;white-space:nowrap}
.dinner-details{display:block;max-width:none}
.dinner-details>div{max-width:700px}
.dinner-details .btn{margin-top:8px}
#menu .head h2{max-width:620px}
.soup-together{position:relative;isolation:isolate;overflow:hidden}
.soup-together:before{content:"";position:absolute;z-index:-1;inset:0;background-image:url('assets/soup-bowl.svg');background-size:330px;background-repeat:no-repeat;background-position:12% center;opacity:.065;transform:rotate(-10deg)}
.soup-title>img{background:none!important;border-radius:0!important;width:100px;height:100px;object-fit:contain}
.visit .facebook-button{background:#354b59;color:#faf5e8;border-color:#354b59;padding:15px 21px;margin-top:5px}
@media(max-width:750px){.quick-contact .quick-phone{padding:12px 15px;gap:8px;flex-direction:column}.quick-contact .quick-phone strong{font-size:20px}.soup-together:before{background-position:95% 15%;background-size:260px}.soup-title>img{width:86px;height:86px}}
/* Actual Soup Together photo supplied by the cafe. */
#soup-together{background-image:linear-gradient(rgba(40,61,75,.86),rgba(40,61,75,.86)),url('https://sunnysidecafemi.com/wp-content/uploads/2026/10/785363002_1957181558289012_4680514321085568876_n.jpg');background-size:cover;background-position:center 55%}
#soup-together:before{display:none}

.dinner-details>.dinner-gallery{max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:32px}.dinner-gallery figure{margin:0}.dinner-gallery img{width:100%;height:340px;object-fit:cover;display:block}.dinner-gallery figcaption{font-size:12px;margin-top:12px;line-height:1.5}@media(max-width:750px){.dinner-details>.dinner-gallery{grid-template-columns:1fr;gap:25px}.dinner-gallery img{height:340px}}
/* Dinner row follows the Daily Specials layout. */
.dinner-details{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:28px;align-items:start;padding-top:40px}
.dinner-details>div:first-child{max-width:none}.dinner-details>.dinner-gallery{display:contents}.dinner-details h3{margin-top:0}.dinner-details .dinner-gallery img{height:270px}.dinner-details .dinner-gallery figcaption{font-family:Georgia,serif;font-size:23px;font-weight:bold;line-height:1.2;margin-top:16px}
@media(max-width:750px){.dinner-details{grid-template-columns:1fr;gap:30px}.dinner-details .dinner-gallery img{height:300px}.dinner-details .dinner-gallery figcaption{font-size:22px}}
#soup-together{background-image:none;background-color:#354b59}.soup-title>img.soup-photo{width:100%;height:330px;max-width:none;object-fit:cover;object-position:center 65%;margin-bottom:26px}.soup-layout{align-items:center}@media(max-width:750px){.soup-title>img.soup-photo{height:310px}}