/*
Theme Name: Gulf Bread
Theme URI: https://gulfbread.com
Author: Gulf Bread
Author URI: https://gulfbread.com
Description: A warm, coastal WordPress theme for the Gulf Bread homemade bakery. Built for WooCommerce (Stripe-ready) and fully compatible with the Elementor editor. Soft coastal blue & sand palette, Marcellus + Mulish typography.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gulfbread
Tags: e-commerce, woocommerce, custom-logo, custom-menu, featured-images, full-width-template, blog, food-and-drink
WC requires at least: 6.0
WC tested up to: 8.9
*/

/* ===================================================================
   Gulf Bread — design tokens
   =================================================================== */
:root{
  --gb-cream:#FBF7F0;
  --gb-sand:#F4ECDD;
  --gb-ink:#2A3A40;
  --gb-blue:#4A7A91;
  --gb-lightblue:#C6DBE4;
  --gb-muted:#5A686D;
  --gb-border:#EBE0CE;
  --gb-cream-2:#F2E9D8;
  --gb-footer-muted:#9FB1B7;
  --gb-gold:#C9B996;
  --gb-maxw:1320px;
  --gb-serif:'Marcellus', Georgia, serif;
  --gb-sans:'Mulish', system-ui, -apple-system, Segoe UI, sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:var(--gb-sans);
  color:var(--gb-ink);
  background:var(--gb-cream);
  overflow-x:hidden;
  line-height:1.6;
}
body.admin-bar .gb-nav{top:32px;}
@media (max-width:782px){ body.admin-bar .gb-nav{top:46px;} }
::selection{background:var(--gb-lightblue);}
a{color:var(--gb-blue);}
img{max-width:100%;height:auto;}

@keyframes gbFadeUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
@keyframes gbDrift{from{transform:translateX(0);}to{transform:translateX(-50%);}}

.gb-container{max-width:var(--gb-maxw);margin:0 auto;padding-left:40px;padding-right:40px;}
.gb-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gb-blue);margin-bottom:14px;}
.gb-eyebrow .gb-rule{width:26px;height:1px;background:var(--gb-blue);display:inline-block;}
.gb-h2{font-family:var(--gb-serif);font-weight:400;font-size:46px;margin:0;line-height:1.05;}
.gb-btn{display:inline-flex;align-items:center;gap:9px;background:var(--gb-blue);color:var(--gb-cream)!important;text-decoration:none;padding:16px 30px;border:none;border-radius:999px;font-family:var(--gb-sans);font-weight:700;font-size:15px;letter-spacing:.03em;cursor:pointer;transition:filter .2s;}
.gb-btn:hover{filter:brightness(1.08);}
.gb-btn-ghost{color:var(--gb-ink)!important;text-decoration:none;padding:16px 18px;font-weight:700;font-size:15px;border-bottom:1.5px solid var(--gb-ink);}

/* ===================================================================
   Announcement + nav
   =================================================================== */
.gb-announce{background:var(--gb-ink);color:var(--gb-cream-2);text-align:center;font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding:9px 16px;font-weight:600;}
.gb-nav{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:14px 40px;background:rgba(251,247,240,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--gb-border);}
.gb-nav-left{display:flex;align-items:center;gap:38px;}
.gb-logo{display:flex;align-items:center;text-decoration:none;}
.gb-logo img,.gb-nav .custom-logo{height:var(--gb-logo-h,170px);width:auto;display:block;mix-blend-mode:multiply;}
.gb-menu{display:flex;gap:26px;font-size:20px;font-weight:600;letter-spacing:.04em;list-style:none;margin:0;padding:0;}
.gb-menu li{margin:0;}
.gb-menu a{text-decoration:none;color:var(--gb-ink);}
.gb-menu a:hover,.gb-menu .current-menu-item>a{color:var(--gb-blue);}
.gb-cart-btn{display:flex;align-items:center;gap:9px;background:var(--gb-ink);color:var(--gb-cream-2);border:none;border-radius:999px;padding:10px 20px;font-family:var(--gb-sans);font-size:17px;font-weight:600;cursor:pointer;letter-spacing:.03em;text-decoration:none;}
.gb-cart-count{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--gb-blue);color:#fff;font-size:13px;display:inline-flex;align-items:center;justify-content:center;}
.gb-burger{display:none;background:none;border:none;cursor:pointer;font-size:26px;color:var(--gb-ink);line-height:1;}

/* ===================================================================
   Hero
   =================================================================== */
.gb-hero{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;padding:72px 40px 90px;max-width:var(--gb-maxw);margin:0 auto;}
.gb-hero-glow{position:absolute;top:-40px;right:30%;width:260px;height:260px;background:radial-gradient(circle,var(--gb-lightblue) 0%,rgba(198,219,228,0) 70%);opacity:.55;pointer-events:none;}
.gb-hero-copy{position:relative;animation:gbFadeUp .8s ease both;}
.gb-hero h1{font-family:var(--gb-serif);font-weight:400;font-size:64px;line-height:1.04;margin:0 0 24px;letter-spacing:-.01em;}
.gb-hero p{font-size:18px;line-height:1.7;color:var(--gb-muted);max-width:460px;margin:0 0 36px;}
.gb-hero-cta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.gb-hero-stats{display:flex;gap:34px;margin-top:48px;flex-wrap:wrap;}
.gb-hero-stats .num{font-family:var(--gb-serif);font-size:30px;}
.gb-hero-stats .lbl{font-size:13px;color:var(--gb-muted);letter-spacing:.04em;}
.gb-hero-stats .div{width:1px;background:var(--gb-border);}
.gb-hero-media{position:relative;animation:gbFadeUp .9s ease .1s both;}
.gb-hero-photo{position:relative;aspect-ratio:4/5;border-radius:240px 240px 18px 18px;overflow:hidden;background-size:cover;background-position:center;box-shadow:0 30px 60px -30px rgba(42,58,64,.4);}
.gb-hero-badge{position:absolute;bottom:30px;left:-28px;background:var(--gb-cream);border-radius:16px;padding:16px 20px;box-shadow:0 16px 40px -16px rgba(42,58,64,.35);display:flex;align-items:center;gap:12px;}
.gb-hero-badge .star{width:42px;height:42px;border-radius:50%;background:var(--gb-lightblue);display:flex;align-items:center;justify-content:center;font-family:var(--gb-serif);color:var(--gb-ink);}

/* ===================================================================
   Marquee
   =================================================================== */
.gb-marquee{border-top:1px solid var(--gb-border);border-bottom:1px solid var(--gb-border);background:var(--gb-sand);overflow:hidden;padding:16px 0;}
.gb-marquee-track{display:flex;gap:48px;width:max-content;animation:gbDrift 28s linear infinite;font-family:var(--gb-serif);font-size:22px;color:var(--gb-blue);letter-spacing:.03em;}
.gb-marquee-track .sep{color:var(--gb-gold);}

/* ===================================================================
   Shop / products
   =================================================================== */
.gb-section{max-width:var(--gb-maxw);margin:0 auto;padding:96px 40px;}
.gb-shop-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:48px;gap:24px;flex-wrap:wrap;}
.gb-shop-head .intro{max-width:1200px;font-size:16px;color:var(--gb-muted);line-height:1.7;margin:14px 0 0;}
.gb-products{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.gb-card{background:#fff;border:1px solid var(--gb-border);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;}
.gb-card-media{position:relative;aspect-ratio:4/3;background-size:cover;background-position:center;}
.gb-card-tag{position:absolute;top:14px;left:14px;background:var(--gb-blue);color:var(--gb-cream);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 11px;border-radius:999px;}
.gb-card-body{padding:22px;display:flex;flex-direction:column;flex:1;}
.gb-card-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
.gb-card-title{font-family:var(--gb-serif);font-weight:400;font-size:22px;margin:0;}
.gb-card-title a{color:inherit;text-decoration:none;}
.gb-card-price{font-family:var(--gb-serif);font-size:20px;color:var(--gb-blue);white-space:nowrap;}
.gb-card-price del{opacity:.5;font-size:15px;margin-right:6px;}
.gb-card-desc{font-size:14px;color:var(--gb-muted);line-height:1.6;margin:10px 0 20px;flex:1;}
.gb-card .gb-add{width:100%;text-align:center;background:var(--gb-sand);color:var(--gb-ink)!important;border:1px solid #E0D4BE;border-radius:999px;padding:13px;font-family:var(--gb-sans);font-size:14px;font-weight:700;cursor:pointer;letter-spacing:.03em;transition:background .2s,color .2s,border-color .2s;text-decoration:none;display:inline-block;}
.gb-card .gb-add:hover,.gb-card .gb-add.loading{background:var(--gb-blue);color:var(--gb-cream)!important;border-color:var(--gb-blue);}
.gb-card .gb-add.added::after{content:" ✓";}

/* Hover-swap secondary image */
.gb-card-media-hover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease;}
.gb-flip:hover .gb-card-media-hover{opacity:1;}

/* Flip card */
.gb-flip{background:none!important;border:0!important;overflow:visible!important;perspective:1700px;}
.gb-flip-inner{position:relative;height:100%;transition:transform .65s cubic-bezier(.2,.75,.2,1);transform-style:preserve-3d;}
.gb-flip.flipped .gb-flip-inner{transform:rotateY(180deg);}
.gb-face{position:relative;display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--gb-border);border-radius:20px;overflow:hidden;}
.gb-face-front{opacity:1;transition:opacity .18s ease .26s;}
.gb-flip.flipped .gb-face-front{opacity:0;pointer-events:none;transition:opacity .18s ease;}
.gb-face-front .gb-card-media{cursor:pointer;}
.gb-flip.is-flippable:hover .gb-flip-btn{opacity:1;}
.gb-flip-btn{position:absolute;top:14px;right:14px;width:30px;height:30px;border-radius:50%;border:none;background:rgba(251,247,240,.92);color:var(--gb-ink);font-family:var(--gb-serif);font-style:italic;font-size:16px;line-height:1;cursor:pointer;opacity:.85;transition:opacity .2s,transform .2s;box-shadow:0 4px 12px -4px rgba(42,58,64,.4);}
.gb-flip-btn:hover{transform:scale(1.08);}
.gb-face-back{position:absolute;inset:0;transform:rotateY(180deg);background:var(--gb-ink);color:var(--gb-cream-2);border-color:var(--gb-ink);opacity:0;pointer-events:none;transition:opacity .18s ease;}
.gb-flip.flipped .gb-face-back{opacity:1;pointer-events:auto;transition:opacity .18s ease .26s;}
.gb-back-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px 14px;border-bottom:1px solid #3C4D54;}
.gb-back-head span{font-family:var(--gb-serif);font-size:20px;color:var(--gb-cream);line-height:1.15;}
.gb-flip-close{background:none;border:none;color:var(--gb-footer-muted);font-size:24px;line-height:1;cursor:pointer;flex:none;}
.gb-flip-close:hover{color:var(--gb-cream);}
.gb-back-body{flex:1;overflow-y:auto;padding:18px 22px 22px;}
.gb-back-block{margin-bottom:16px;}
.gb-back-block:last-child{margin-bottom:0;}
.gb-back-block h4{margin:0 0 4px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gb-lightblue);font-weight:700;font-family:var(--gb-sans);}
.gb-back-block p{margin:0;font-size:14px;line-height:1.6;color:#D8E2E6;}

/* ===================================================================
   Story
   =================================================================== */
.gb-story{background:var(--gb-sand);}
.gb-story-inner{max-width:var(--gb-maxw);margin:0 auto;padding:96px 40px;display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center;}
.gb-story-media{position:relative;}
.gb-story-photo{aspect-ratio:5/6;border-radius:18px;background-size:cover;background-position:center;box-shadow:0 24px 50px -28px rgba(42,58,64,.4);}
.gb-story-est{position:absolute;top:-22px;right:-22px;width:110px;height:110px;border-radius:50%;background:var(--gb-blue);color:var(--gb-cream);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:var(--gb-serif);line-height:1.1;box-shadow:0 16px 30px -14px rgba(42,58,64,.5);}
.gb-story-est span{font-size:26px;}
.gb-story h2{font-family:var(--gb-serif);font-weight:400;font-size:44px;line-height:1.1;margin:0 0 24px;}
.gb-story p{font-size:17px;line-height:1.8;color:var(--gb-muted);margin:0 0 18px;}

/* ===================================================================
   How to order
   =================================================================== */
.gb-steps-head{text-align:center;margin-bottom:56px;}
.gb-steps-head .gb-eyebrow .gb-rule{display:inline-block;}
.gb-steps-head h2{font-family:var(--gb-serif);font-weight:400;font-size:46px;margin:0;}
.gb-steps-head .sub{color:var(--gb-muted);font-family:var(--gb-sans);font-size:17px;display:block;margin-top:8px;}
.gb-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.gb-step{text-align:center;padding:12px;}
.gb-step .n{width:64px;height:64px;border-radius:50%;background:var(--gb-lightblue);color:var(--gb-ink);font-family:var(--gb-serif);font-size:26px;display:flex;align-items:center;justify-content:center;margin:0 auto 22px;}
.gb-step h3{font-family:var(--gb-serif);font-weight:400;font-size:24px;margin:0 0 10px;}
.gb-step p{font-size:15px;color:var(--gb-muted);line-height:1.7;margin:0;}

/* ===================================================================
   Testimonial
   =================================================================== */
.gb-quote{background:var(--gb-ink);color:var(--gb-cream-2);}
.gb-quote-inner{max-width:900px;margin:0 auto;padding:100px 40px;text-align:center;}
.gb-quote .mark{font-family:var(--gb-serif);font-size:56px;color:var(--gb-blue);line-height:.6;}
.gb-quote p{font-family:var(--gb-serif);font-weight:400;font-size:34px;line-height:1.4;margin:16px 0 32px;letter-spacing:-.01em;}
.gb-quote .who{font-size:14px;letter-spacing:.06em;color:var(--gb-footer-muted);}

/* ===================================================================
   Newsletter
   =================================================================== */
.gb-news-card{background:var(--gb-sand);border-radius:28px;padding:64px;display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;}
.gb-news-card h2{font-family:var(--gb-serif);font-weight:400;font-size:40px;line-height:1.1;margin:0 0 16px;}
.gb-news-card p{font-size:16px;color:var(--gb-muted);line-height:1.7;margin:0 0 28px;max-width:420px;}
.gb-news-form{display:flex;gap:12px;max-width:460px;}
.gb-news-form input{flex:1;border:1px solid #E0D4BE;background:var(--gb-cream);border-radius:999px;padding:15px 22px;font-family:var(--gb-sans);font-size:15px;color:var(--gb-ink);}
.gb-news-form button{background:var(--gb-blue);color:var(--gb-cream);border:none;border-radius:999px;padding:15px 28px;font-family:var(--gb-sans);font-size:15px;font-weight:700;cursor:pointer;white-space:nowrap;}
.gb-news-photo{aspect-ratio:16/11;border-radius:18px;background-size:cover;background-position:center;}

/* ===================================================================
   Blog grid (homepage + archive)
   =================================================================== */
.gb-blog-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:56px;gap:24px;flex-wrap:wrap;}
.gb-link{display:inline-flex;align-items:center;gap:8px;color:var(--gb-blue);text-decoration:none;font-weight:700;font-size:15px;border-bottom:1.5px solid var(--gb-blue);padding-bottom:2px;}
.gb-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.gb-post{text-decoration:none;color:inherit;display:flex;flex-direction:column;background:#fff;border:1px solid var(--gb-border);border-radius:20px;overflow:hidden;}
.gb-post-media{aspect-ratio:16/10;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:16px;}
.gb-post-cat{background:var(--gb-blue);color:var(--gb-cream);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:999px;}
.gb-post-body{padding:24px;display:flex;flex-direction:column;flex:1;gap:10px;}
.gb-post-date{font-size:12px;color:var(--gb-footer-muted);letter-spacing:.06em;text-transform:uppercase;font-weight:600;}
.gb-post-body h3{font-family:var(--gb-serif);font-weight:400;font-size:22px;margin:0;line-height:1.25;}
.gb-post-body p{font-size:14px;color:var(--gb-muted);line-height:1.65;margin:0;flex:1;}
.gb-post-more{font-size:14px;font-weight:700;color:var(--gb-blue);margin-top:4px;}

/* ===================================================================
   Generic page / post content (Elementor pages stay untouched)
   =================================================================== */
.gb-page{max-width:860px;margin:0 auto;padding:72px 40px 96px;}
.gb-page.gb-wide{max-width:var(--gb-maxw);}
.gb-page h1.entry-title{font-family:var(--gb-serif);font-weight:400;font-size:48px;line-height:1.1;margin:0 0 24px;}
.gb-page .entry-content{font-size:17px;line-height:1.8;color:var(--gb-ink);}
.gb-page .entry-content h2{font-family:var(--gb-serif);font-weight:400;}
.gb-page .entry-content a{color:var(--gb-blue);}
.gb-page-hero{background:var(--gb-sand);padding:80px 40px 72px;}
.gb-page-hero-inner{max-width:var(--gb-maxw);margin:0 auto;}
.gb-page-hero h1{font-family:var(--gb-serif);font-weight:400;font-size:62px;line-height:1.05;margin:0 0 18px;}
.gb-page-hero p{font-size:18px;color:var(--gb-muted);line-height:1.7;max-width:560px;margin:0;}

/* ===================================================================
   Footer
   =================================================================== */
.gb-footer{background:var(--gb-ink);color:#D8E2E6;padding:72px 40px 32px;}
.gb-footer-grid{max-width:var(--gb-maxw);margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;}
.gb-footer-logo{height:90px;width:auto;display:block;filter:brightness(0) invert(1);opacity:.85;margin-bottom:18px;}
.gb-footer p{font-size:14px;line-height:1.7;color:var(--gb-footer-muted);max-width:280px;margin:0;}
.gb-footer h4{font-family:var(--gb-serif);font-weight:400;font-size:16px;color:var(--gb-cream-2);margin:0 0 16px;}
.gb-footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;font-size:14px;}
.gb-footer-col a{color:var(--gb-footer-muted);text-decoration:none;}
.gb-footer-col a:hover{color:var(--gb-cream-2);}
.gb-footer-col .line{font-size:14px;color:var(--gb-footer-muted);}
.gb-footer-bottom{max-width:var(--gb-maxw);margin:48px auto 0;padding-top:24px;border-top:1px solid #3C4D54;display:flex;justify-content:space-between;font-size:13px;color:#7E9098;flex-wrap:wrap;gap:12px;}

/* ===================================================================
   Cart drawer
   =================================================================== */
.gb-drawer-root{position:fixed;inset:0;z-index:60;display:none;}
.gb-drawer-root.open{display:block;}
.gb-drawer-scrim{position:absolute;inset:0;background:rgba(42,58,64,.5);}
.gb-drawer{position:absolute;top:0;right:0;bottom:0;width:400px;max-width:90vw;background:var(--gb-cream);box-shadow:-20px 0 60px -20px rgba(42,58,64,.5);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s ease;}
.gb-drawer-root.open .gb-drawer{transform:translateX(0);}
.gb-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid var(--gb-border);}
.gb-drawer-head .t{font-family:var(--gb-serif);font-size:22px;}
.gb-drawer-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--gb-muted);line-height:1;}
.gb-drawer-body{flex:1;overflow-y:auto;padding:12px 28px;}
.gb-drawer-empty{text-align:center;padding:60px 0;color:var(--gb-muted);}
.gb-drawer-empty .t{font-family:var(--gb-serif);font-size:20px;color:var(--gb-ink);margin-bottom:8px;}
.gb-drawer-foot{padding:22px 28px;border-top:1px solid var(--gb-border);}
/* Style WooCommerce mini-cart widget inside drawer */
.gb-drawer .woocommerce-mini-cart{list-style:none;margin:0;padding:0;}
.gb-drawer .woocommerce-mini-cart__total{display:flex;justify-content:space-between;font-size:16px;margin:0 0 16px;}
.gb-drawer .woocommerce-mini-cart__total strong{font-family:var(--gb-serif);font-size:22px;font-weight:400;}
.gb-drawer .woocommerce-mini-cart__buttons{display:flex;flex-direction:column;gap:10px;margin:0;}
.gb-drawer .woocommerce-mini-cart__buttons a{display:block;text-align:center;text-decoration:none;border-radius:999px;padding:14px;font-weight:700;font-size:15px;}
.gb-drawer .woocommerce-mini-cart__buttons a.checkout{background:var(--gb-blue);color:var(--gb-cream);}
.gb-drawer .woocommerce-mini-cart__buttons a:not(.checkout){background:var(--gb-sand);color:var(--gb-ink);border:1px solid #E0D4BE;}
.gb-drawer .woocommerce-mini-cart-item{display:flex;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--gb-border);position:relative;}
.gb-drawer .woocommerce-mini-cart-item img{width:56px;height:56px;border-radius:12px;object-fit:cover;margin:0;}
.gb-drawer .woocommerce-mini-cart-item a:not(.remove){font-weight:700;font-size:15px;color:var(--gb-ink);text-decoration:none;}
.gb-drawer .woocommerce-mini-cart-item .remove{position:absolute;top:14px;right:0;color:var(--gb-muted)!important;}

/* ===================================================================
   WooCommerce shop / product / cart / checkout pages
   =================================================================== */
.woocommerce-page .gb-woo-wrap,.gb-woo-wrap{max-width:var(--gb-maxw);margin:0 auto;padding:64px 40px 96px;}
.woocommerce ul.products li.product .price{color:var(--gb-blue);font-family:var(--gb-serif);}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--gb-serif);font-weight:400;}
.woocommerce a.button,.woocommerce button.button,.woocommerce #respond input#submit,.woocommerce input.button,.woocommerce #content input.button{background:var(--gb-blue);color:var(--gb-cream);border-radius:999px;font-family:var(--gb-sans);font-weight:700;}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--gb-ink);color:var(--gb-cream);}
.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--gb-ink);}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--gb-blue);}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info{border-top-color:var(--gb-blue);}
.woocommerce-products-header__title.page-title,.woocommerce div.product .product_title{font-family:var(--gb-serif);font-weight:400;}
.woocommerce span.onsale{background:var(--gb-blue);border-radius:999px;}

/* ===================================================================
   Responsive
   =================================================================== */
/* Large tablets / small laptops */
@media (max-width:1024px){
  .gb-hero{grid-template-columns:1fr;gap:40px;}
  .gb-story-inner{grid-template-columns:1fr;gap:40px;}
  .gb-news-card{grid-template-columns:1fr;gap:32px;padding:48px;}
  .gb-products,.gb-steps,.gb-posts{grid-template-columns:repeat(2,1fr);}
  .gb-hero h1{font-size:52px;}
  .gb-footer-grid{grid-template-columns:1fr 1fr;}
  .gb-logo img{height:100px;}
}

/* Tablets (portrait) & large phones — collapse the nav to a hamburger here
   so the menu never crowds the logo. */
@media (max-width:900px){
  .gb-menu{display:none;}
  .gb-burger{display:block;}
  .gb-nav.gb-open .gb-menu{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--gb-cream);padding:10px 24px 18px;border-bottom:1px solid var(--gb-border);gap:0;box-shadow:0 14px 30px -16px rgba(42,58,64,.4);}
  .gb-nav.gb-open .gb-menu li{border-bottom:1px solid var(--gb-border);}
  .gb-nav.gb-open .gb-menu li:last-child{border-bottom:0;}
  .gb-nav.gb-open .gb-menu a{display:block;padding:15px 0;font-size:17px;}
  .gb-logo img{height:88px;}
}

/* Phones */
@media (max-width:680px){
  .gb-container,.gb-section,.gb-hero,.gb-story-inner,.gb-quote-inner,.gb-page,.gb-page-hero,.gb-footer{padding-left:22px;padding-right:22px;}
  .gb-nav{padding:10px 22px;}
  .gb-announce{font-size:11px;letter-spacing:.08em;padding:8px 14px;}
  .gb-products,.gb-steps,.gb-posts,.gb-footer-grid{grid-template-columns:1fr;}
  .gb-hero{padding-top:48px;padding-bottom:56px;}
  .gb-hero h1{font-size:40px;}
  .gb-hero p{font-size:16px;}
  .gb-hero-cta{flex-direction:column;align-items:stretch;}
  .gb-hero-cta .gb-btn{justify-content:center;}
  .gb-hero-cta .gb-btn-ghost{text-align:center;border-bottom:none;padding:8px 0;}
  .gb-hero-stats{gap:22px;}
  .gb-hero-stats .div{display:none;}
  .gb-hero-badge{left:auto;right:14px;bottom:14px;}
  .gb-h2,.gb-steps-head h2,.gb-story h2{font-size:32px;}
  .gb-page-hero{padding:56px 22px 48px;}
  .gb-page-hero h1{font-size:38px;}
  .gb-logo img{height:72px;}
  .gb-section,.gb-story-inner{padding-top:56px;padding-bottom:56px;}
  .gb-story-est{width:84px;height:84px;top:-16px;right:auto;left:16px;}
  .gb-story-est span{font-size:20px;}
  .gb-quote-inner{padding:64px 22px;}
  .gb-quote p{font-size:23px;}
  .gb-news-card{padding:32px 24px;}
  .gb-news-card h2{font-size:30px;}
  .gb-news-form{flex-direction:column;}
  .gb-news-form input,.gb-news-form button{width:100%;}
  .gb-footer{padding:56px 22px 28px;}
  .gb-footer-bottom{flex-direction:column;}
  .gb-shop-head .intro{font-size:15px;}
}

/* Small phones */
@media (max-width:380px){
  .gb-hero h1{font-size:34px;}
  .gb-cart-btn{padding:9px 15px;font-size:15px;}
  .gb-logo img{height:64px;}
}
