/*
Theme Name: Coffee & Cream Bakery — Café Union Layout
Theme URI: https://coffeecake.io/
Author: CoffeeCake
Author URI: https://coffeecake.io/
Description: Custom Coffee & Cream Bakery WordPress theme closely modeled on Café Union's homepage composition, rebuilt with original branding, content and code.
Version: 1.2.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: coffee-cream-bakery
*/
:root{
  --cream:#f6eee4;
  --paper:#fffaf4;
  --white:#ffffff;
  --brown:#3a211b;
  --brown-2:#241613;
  --cherry:#a94f59;
  --cherry-dark:#873c46;
  --blush:#ead2c6;
  --tan:#d4b28a;
  --muted:#6d5f59;
  --line:#ded2c9;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--brown);background:var(--white);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:3px solid var(--tan);outline-offset:4px}
img{max-width:100%;display:block}
button{font:inherit}
.shell{width:min(calc(100% - 44px),var(--max));margin-inline:auto}
.announcement{background:var(--brown);color:#fff;text-align:center;font-size:12px;font-weight:700;letter-spacing:.075em;text-transform:uppercase;padding:10px 16px}
.site-header{background:#fff;position:relative;z-index:30;border-bottom:1px solid #e6ddd7}
.header-main{height:148px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:relative}
.header-side{display:flex;align-items:center;gap:22px;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#4f433e}
.header-side a{padding:8px 2px;border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.header-side a:hover{color:var(--cherry-dark);border-bottom-color:currentColor}
.header-right{justify-content:flex-end;font-size:14px}
.logo-link{display:flex;width:280px;min-height:108px;align-items:center;justify-content:center;padding:6px 18px;background:var(--brown);border-radius:999px;box-shadow:0 8px 28px rgba(58,33,27,.10)}
.custom-logo-link{display:block}.custom-logo{max-width:244px;max-height:98px;width:auto;height:auto}.site-logo{width:244px;height:auto}
.main-nav{background:var(--cherry-dark);color:#fff}.nav-inner{height:54px;display:flex;align-items:center;justify-content:center;gap:45px}.nav-inner a{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;transition:opacity .2s}.nav-inner a:hover{opacity:.82}
.menu-toggle{display:none;border:0;background:transparent;width:44px;height:44px;padding:9px;cursor:pointer}.menu-toggle span{display:block;height:2px;background:var(--brown);margin:6px 0}
.home-hero{min-height:550px;position:relative;background-color:var(--brown);background-image:url('https://images.pexels.com/photos/30573111/pexels-photo-30573111.jpeg?auto=compress&cs=tinysrgb&w=1800');background-size:cover;background-position:center;display:flex;align-items:center;color:#fff;text-align:center}
.hero-overlay{position:absolute;inset:0;background:rgba(25,12,10,.58)}
.hero-inner{position:relative;z-index:1;max-width:930px;margin:auto;padding:82px 24px 78px}
.hero-inner h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(44px,5vw,72px);line-height:1.05;font-weight:400;margin:0 0 20px;text-shadow:0 2px 24px rgba(0,0,0,.48)}
.hero-inner>p{font-size:18px;font-weight:600;line-height:1.6;margin:0 auto 22px;max-width:690px;text-shadow:0 2px 14px rgba(0,0,0,.45)}
.hero-contact{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 18px;margin:0 auto 30px}
.hero-contact a{font-size:18px;font-weight:800;line-height:1.2;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.6);border-bottom:2px solid rgba(255,255,255,.58);padding-bottom:4px}
.hero-contact a:hover{border-color:#fff}.hero-contact .contact-divider{font-size:17px;font-weight:800;color:#fff;opacity:.88}
.primary-btn{display:inline-block;background:var(--cherry-dark);color:#fff;border:1px solid var(--cherry-dark);padding:15px 26px;font-size:12px;font-weight:800;letter-spacing:.095em;text-transform:uppercase;transition:.2s}.primary-btn:hover{background:#712f39;border-color:#712f39}.primary-btn.outline{background:transparent;border-color:var(--brown);color:var(--brown)}.primary-btn.outline:hover{background:var(--brown);color:#fff}
.catalog-section{padding:88px 0 92px;background:#fff}.catalog-section.alternate{background:var(--cream)}
.narrow{max-width:880px}.intro-block{text-align:center;margin-bottom:50px}.intro-block h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:48px;margin:0 0 18px}.intro-block p{margin:0 auto;color:#62544e;font-size:16px;line-height:1.75;max-width:830px}
.product-grid{display:grid;gap:28px}.four-col{grid-template-columns:repeat(4,1fr)}.two-col{grid-template-columns:repeat(2,1fr);max-width:920px}
.product-card{text-align:center}.product-art{background:#fbf6f0;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;margin-bottom:20px;overflow:hidden}.alternate .product-art{background:#fff}.product-art img{width:78%;height:78%;object-fit:contain;transition:transform .35s ease}.product-card:hover .product-art img{transform:scale(1.035)}
.product-card.large .product-art{aspect-ratio:1.15/1}.product-card h3{font-family:Georgia,'Times New Roman',serif;font-size:22px;font-weight:400;line-height:1.25;margin:0 0 8px}.product-card span{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.center-cta{text-align:center;margin-top:42px}.text-btn{display:inline-block;border-bottom:1px solid var(--brown);padding-bottom:5px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.feature-row{display:grid;grid-template-columns:1fr 1fr;min-height:560px;background:var(--brown);color:#fff}.feature-row.reverse{background:var(--cherry-dark)}.feature-row.reverse .feature-image{order:2}.feature-row.reverse .feature-copy{order:1}
.feature-image{background-color:#6b5146;background-image:url('https://images.pexels.com/photos/19859344/pexels-photo-19859344.jpeg?auto=compress&cs=tinysrgb&w=1500');background-size:cover;background-position:center;min-height:560px}.feature-story{background-color:#8b6c5d;background-image:url('https://images.pexels.com/photos/29687847/pexels-photo-29687847.jpeg?auto=compress&cs=tinysrgb&w=1600')}
.feature-copy{padding:70px clamp(42px,6vw,95px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.kicker{font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#fff7f2;margin-bottom:20px}.feature-copy h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(38px,4.1vw,62px);line-height:1.08;font-weight:400;margin:0 0 24px}.feature-copy p{max-width:540px;font-size:16px;line-height:1.75;color:#fffaf7;margin:0 0 30px}.light-link{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;border-bottom:1px solid #fff;padding-bottom:5px}
.service-band{background:var(--cream);padding:90px 0}.service-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:start}.service-title span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.11em;color:var(--cherry-dark)}.service-title h2{font-family:Arial,Helvetica,sans-serif;font-size:clamp(38px,5vw,70px);line-height:.98;letter-spacing:-.04em;margin:16px 0 0;overflow-wrap:anywhere}.service-copy h3{font-family:Georgia,'Times New Roman',serif;font-size:29px;font-weight:400;margin:0 0 16px}.service-copy p{font-size:16px;line-height:1.75;color:#62544e;margin:0 0 28px}
.locations{padding:88px 0 100px;background:#fff}.locations-title{font-family:Georgia,'Times New Roman',serif;font-size:48px;text-align:center;font-weight:400;margin:0 0 48px}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.location-card{border:1px solid var(--line);background:#fff}.location-photo{height:330px;background-color:#d7c1b3;background-size:cover;background-position:center}.photo-shop{background-image:url('https://images.pexels.com/photos/29687847/pexels-photo-29687847.jpeg?auto=compress&cs=tinysrgb&w=1400')}.photo-hours{background-image:url('https://images.pexels.com/photos/19859344/pexels-photo-19859344.jpeg?auto=compress&cs=tinysrgb&w=1400')}.location-content{padding:28px 30px 34px}.location-content h3{font-family:Georgia,'Times New Roman',serif;font-size:30px;font-weight:400;margin:0 0 10px}.location-content p{font-size:15px;line-height:1.7;color:#594c47;margin:0 0 18px}.location-content a{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;border-bottom:1px solid var(--brown);padding-bottom:4px}
.site-footer{background:var(--brown-2);color:#fff;padding:60px 0 24px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:80px;padding-bottom:50px}.site-footer h3{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.11em;color:#f0d6ce;margin:0 0 18px}.footer-contact a,.footer-links a{display:block;font-size:14px;font-weight:600;margin:9px 0;color:#fff7f3}.footer-location p{font-size:14px;line-height:1.7;color:#eee4df;margin:0 0 8px}.footer-bottom{border-top:1px solid rgba(255,255,255,.2);padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#d9c9c2}.coffeecake-credit{display:inline-flex;align-items:center;gap:9px;text-transform:none;letter-spacing:0;color:#fff}.coffeecake-credit span{font-size:11px;font-weight:700;color:#e8dad4;text-transform:uppercase;letter-spacing:.07em}.coffeecake-mark{width:38px;height:38px;display:inline-grid;place-items:center;padding:6px;border-radius:50%;background:#fffaf4;box-shadow:0 0 0 1px rgba(255,255,255,.16)}.coffeecake-mark img{width:100%;height:100%;object-fit:contain}.coffeecake-credit strong{font-size:15px;font-weight:800;letter-spacing:-.02em;color:#fff}
.floating-phone{position:fixed;right:22px;bottom:22px;z-index:80;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--cherry-dark);color:#fff;border:2px solid rgba(255,255,255,.95);box-shadow:0 10px 32px rgba(36,22,19,.30);transition:transform .2s ease,background .2s ease}.floating-phone:hover{transform:translateY(-3px);background:#712f39}.floating-phone svg{width:27px;height:27px;fill:currentColor}.floating-phone::after{content:'Call';position:absolute;right:70px;background:var(--brown-2);color:#fff;padding:7px 10px;border-radius:4px;font-size:12px;font-weight:800;letter-spacing:.04em;opacity:0;transform:translateX(6px);pointer-events:none;transition:.2s}.floating-phone:hover::after,.floating-phone:focus-visible::after{opacity:1;transform:none}
.generic-page{padding:80px 0;min-height:55vh}.generic-page h1{font-family:Georgia,'Times New Roman',serif;font-size:48px;font-weight:400}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}.reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1!important;transform:none!important;transition:none!important}.product-art img,.floating-phone{transition:none!important}}
@media(max-width:950px){
  .header-main{height:122px}.header-left{display:none}.header-main{grid-template-columns:1fr auto 1fr}.logo-link{grid-column:2;width:252px;min-height:98px}.header-right{grid-column:3}.nav-inner{gap:25px}
  .four-col{grid-template-columns:repeat(2,1fr)}.feature-row{grid-template-columns:1fr}.feature-row.reverse .feature-image{order:1}.feature-row.reverse .feature-copy{order:2}.feature-image{min-height:480px}.service-layout{grid-template-columns:1fr;gap:38px}
}
@media(max-width:720px){
  .shell{width:min(calc(100% - 28px),var(--max))}.announcement{font-size:10px;line-height:1.45}.header-main{height:96px;display:flex;justify-content:center;position:relative}.header-right{display:none}.logo-link{width:210px;min-height:78px;padding:5px 13px}.site-logo,.custom-logo{max-width:182px;max-height:70px}.menu-toggle{display:block;position:absolute;right:0;top:50%;transform:translateY(-50%)}.main-nav{position:absolute;left:0;right:0;top:100%;transform:scaleY(0);transform-origin:top;transition:.22s;opacity:0}.nav-open .main-nav{transform:scaleY(1);opacity:1}.nav-inner{height:auto;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:12px 0}.nav-inner a{padding:14px 6px;border-bottom:1px solid rgba(255,255,255,.19);font-size:13px}
  .home-hero{min-height:510px}.hero-inner{padding:68px 18px}.hero-inner h1{font-size:44px}.hero-inner>p{font-size:17px}.hero-contact{flex-direction:column;gap:10px;margin-bottom:28px}.hero-contact a{font-size:17px}.hero-contact .contact-divider{display:none}.catalog-section{padding:68px 0}.intro-block h2,.locations-title{font-size:39px}.intro-block p{font-size:15px}.two-col,.location-grid{grid-template-columns:1fr}.feature-copy{padding:55px 28px}.feature-image{min-height:390px}.service-band{padding:68px 0}.footer-top{grid-template-columns:1fr 1fr;gap:35px}.footer-location{grid-column:1/-1}.footer-bottom{align-items:flex-start;flex-direction:column}.floating-phone{width:58px;height:58px;right:16px;bottom:max(16px,env(safe-area-inset-bottom))}.floating-phone::after{display:none}
}
@media(max-width:520px){.four-col{grid-template-columns:1fr 1fr;gap:22px 14px}.product-card h3{font-size:18px}.product-card span{font-size:10.5px;letter-spacing:.05em}.product-art{margin-bottom:13px}.feature-copy h2{font-size:39px}.footer-top{grid-template-columns:1fr}.footer-location{grid-column:auto}.service-title h2{font-size:clamp(34px,10vw,48px)}}
