/* BISCOTTI Studio — café & bakery template by Honey Bloom Studio */
@font-face{font-family:'HB Coastal Caps';src:url(/wp-content/plugins/biscotti-template-setup/assets/fonts/PostcardClub-CapsBold.woff2) format('woff2');font-display:swap}
@font-face{font-family:'HB Coastal Caps Regular';src:url(/wp-content/plugins/biscotti-template-setup/assets/fonts/PostcardClub-CapsRegular.woff2) format('woff2');font-display:swap}
@font-face{font-family:'HB Coastal Outline';src:url(/wp-content/plugins/biscotti-template-setup/assets/fonts/PostcardClub-OutlineCapsBold.woff2) format('woff2');font-display:swap}
@font-face{font-family:'HB Coastal Script';src:url(/wp-content/plugins/biscotti-template-setup/assets/fonts/PostcardClub-Script.woff2) format('woff2');font-display:swap}

:root{
  --bsc-cream:#FBF5EC;--bsc-paper:#FFFDF8;--bsc-butter:#F2C95B;--bsc-butter-pale:#FBEBB8;--bsc-green:#2F6B45;--bsc-tomato:#D9472B;--bsc-espresso:#4A2E22;--bsc-soft:#7A6457;--bsc-line:#E9DCCB;
  --bsc-caps:'HB Coastal Caps','Arial Narrow',sans-serif;--bsc-reg:'HB Coastal Caps Regular','Arial Narrow',sans-serif;--bsc-out:'HB Coastal Outline','HB Coastal Caps',sans-serif;--bsc-scr:'HB Coastal Script','Brush Script MT',cursive;
}
body.bsc-site{background:var(--bsc-cream);color:var(--bsc-espresso);font-family:var(--bsc-reg);font-size:15px;line-height:1.75;letter-spacing:.035em;font-synthesis:none}
body.bsc-site a{color:inherit}
body.bsc-site .site-header,body.bsc-site .site-footer{display:none}
.bsc-site *{font-synthesis:none}
.bsc-site img{max-width:100%;height:auto}

/* ---------- Text styles (CSS classes for Elementor headings & text) ---------- */
.bsc-site .elementor-widget-heading .elementor-heading-title{font-family:var(--bsc-caps);font-weight:400;text-transform:uppercase;letter-spacing:.04em;line-height:1;color:var(--bsc-green);text-wrap:balance}
.bsc-site .elementor-widget-text-editor{font-family:var(--bsc-reg);color:var(--bsc-soft);font-size:15px;line-height:1.75}
.bsc-site .elementor-widget-text-editor p{margin:0 0 12px}
.bsc-h1 .elementor-heading-title{font-size:clamp(46px,5.6vw,84px)!important}
.bsc-h2 .elementor-heading-title{font-size:clamp(36px,4.4vw,58px)!important}
.bsc-h3 .elementor-heading-title{font-size:clamp(24px,2.6vw,34px)!important}
.bsc-center .elementor-heading-title,.bsc-center{text-align:center}
.bsc-script .elementor-heading-title{font-family:var(--bsc-scr)!important;text-transform:none!important;letter-spacing:0!important;color:var(--bsc-tomato)!important;font-size:clamp(30px,3.2vw,44px)!important;line-height:1.05!important}
.bsc-script-lg .elementor-heading-title{font-size:clamp(40px,4.6vw,66px)!important}
.bsc-lab .elementor-heading-title{font-family:var(--bsc-reg)!important;font-size:12px!important;letter-spacing:.24em!important;color:var(--bsc-tomato)!important}
.bsc-outline .elementor-heading-title{font-family:var(--bsc-out)!important;font-size:clamp(18px,2vw,26px)!important;letter-spacing:.12em!important;color:var(--bsc-tomato)!important}
.bsc-on-dark .elementor-heading-title{color:var(--bsc-cream)!important}
.bsc-butter-text .elementor-heading-title{color:var(--bsc-butter)!important}
.bsc-body{max-width:46ch}
.bsc-body.bsc-center{margin-inline:auto}

/* ---------- Layout helpers (container classes) ---------- */
.bsc-sec{--padding-top:84px;--padding-bottom:84px}
.bsc-sec-tight{--padding-top:30px;--padding-bottom:30px}
.bsc-bg-butter{background:var(--bsc-butter-pale)}
.bsc-bg-green{background:var(--bsc-green)}
.bsc-bg-cream{background:var(--bsc-cream)}
.bsc-grid-4>.e-con-inner,.bsc-grid-4:not(:has(>.e-con-inner)){display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.bsc-grid-3>.e-con-inner,.bsc-grid-3:not(:has(>.e-con-inner)){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.bsc-grid-2>.e-con-inner,.bsc-grid-2:not(:has(>.e-con-inner)){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;align-items:center}
@media (max-width:1000px){.bsc-grid-4>.e-con-inner,.bsc-grid-4:not(:has(>.e-con-inner)){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){.bsc-grid-2>.e-con-inner,.bsc-grid-2:not(:has(>.e-con-inner)),.bsc-grid-3>.e-con-inner,.bsc-grid-3:not(:has(>.e-con-inner)){grid-template-columns:1fr}}
@media (max-width:560px){.bsc-grid-4>.e-con-inner,.bsc-grid-4:not(:has(>.e-con-inner)){grid-template-columns:1fr}}
.bsc-grid-4>.e-con-inner>.elementor-element,.bsc-grid-3>.e-con-inner>.elementor-element,.bsc-grid-2>.e-con-inner>.elementor-element{min-width:0;width:auto!important}

/* ---------- Ticket button ---------- */
.bsc-tk{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:58px;padding:0 6px 4px;border-style:solid;border-color:transparent;border-width:0 34px;border-image:url(/wp-content/plugins/biscotti-template-setup/assets/media/tk-cream.svg) 0 34 fill / 0 34px stretch;color:var(--bsc-green)!important;font-family:var(--bsc-caps);font-size:14px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none!important;white-space:nowrap;transition:transform .2s;background:none;cursor:pointer;box-sizing:border-box;line-height:1}
.bsc-tk.has-arrow::after{content:"\2192";font-size:17px;line-height:1}
.bsc-tk:hover,.bsc-tk:focus-visible{transform:translateY(-2px) rotate(-1deg);outline:none}
.bsc-tk--green{border-image-source:url(/wp-content/plugins/biscotti-template-setup/assets/media/tk-green.svg);color:var(--bsc-cream)!important}
.bsc-tk--tomato{border-image-source:url(/wp-content/plugins/biscotti-template-setup/assets/media/tk-tomato.svg);color:var(--bsc-cream)!important}
.bsc-tk--espresso{border-image-source:url(/wp-content/plugins/biscotti-template-setup/assets/media/tk-espresso.svg);color:var(--bsc-cream)!important}
.bsc-tk--sm{height:50px;border-width:0 30px;border-image-width:0 30px;font-size:12px}
.bsc-tk-wrap{display:flex;gap:14px;flex-wrap:wrap}
.bsc-tk-wrap.is-center{justify-content:center}.bsc-tk-wrap.is-right{justify-content:flex-end}

/* ---------- Header ---------- */
.bsc-ann{background:var(--bsc-green);color:var(--bsc-cream);text-align:center;font-size:12px;letter-spacing:.2em;text-transform:uppercase;padding:9px 16px}
.bsc-header{position:relative;background:rgba(251,245,236,.96);border-bottom:1.5px solid var(--bsc-line)}
.bsc-header-in{max-width:1240px;margin:0 auto;padding:12px max(20px,env(safe-area-inset-left,0px));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}
.bsc-nav{display:flex;gap:26px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;list-style:none;margin:0;padding:0}
.bsc-nav a{text-decoration:none}.bsc-nav a:hover,.bsc-nav .current-menu-item>a{color:var(--bsc-tomato)}
.bsc-logo{text-decoration:none!important;text-align:center;color:var(--bsc-espresso);display:block;line-height:1}
.bsc-logo .bsc-logo-name{font-family:var(--bsc-scr);font-size:44px;color:var(--bsc-tomato);display:block;margin-bottom:-2px}
.bsc-logo img{max-height:64px;width:auto;margin:0 auto}
.bsc-logo small{font-family:var(--bsc-reg);font-size:10px;letter-spacing:.38em;text-transform:uppercase}
.bsc-hright{display:flex;justify-content:flex-end}
.bsc-burger{display:none;width:42px;height:42px;align-items:center;justify-content:center;border:1.5px solid var(--bsc-green);border-radius:50%;background:none;color:var(--bsc-green);cursor:pointer;padding:0}
.bsc-mnav{display:none}
@media (max-width:860px){
  .bsc-header-in{grid-template-columns:auto 1fr auto}
  .bsc-header .bsc-nav{display:none}
  .bsc-burger{display:inline-flex}
  .bsc-hright .bsc-tk{height:44px;border-width:0 26px;border-image-width:0 26px;font-size:11px}
  .bsc-mnav.is-open{display:block;border-top:1.5px solid var(--bsc-line);background:var(--bsc-cream);padding:10px 20px 20px}
  .bsc-mnav ul{list-style:none;margin:0;padding:0}
  .bsc-mnav a{display:block;font-family:var(--bsc-scr);font-size:30px;text-decoration:none;color:var(--bsc-green);padding:4px 0}
}
@media (max-width:480px){.bsc-hright .bsc-tk{display:none}}

/* ---------- Hero postcard ---------- */
.bsc-pc{position:relative;background:var(--bsc-paper);padding:16px;box-shadow:0 30px 50px -34px rgba(74,46,34,.55),0 0 0 1px var(--bsc-line);transform:rotate(2deg);max-width:560px;margin:20px auto}
.bsc-pc .bsc-art{position:relative;aspect-ratio:4/4.4;background:var(--bsc-tomato);overflow:hidden}
.bsc-pc .bsc-art>img.is-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bsc-pc .bsc-art::before{content:"";position:absolute;inset:14px;border:1.5px solid rgba(251,245,236,.7);z-index:1;pointer-events:none}
.bsc-pc .bsc-art .d1{position:absolute;width:36%;left:10%;top:12%;transform:rotate(-8deg)}
.bsc-pc .bsc-art .d2{position:absolute;width:44%;right:8%;top:20%;transform:rotate(6deg)}
.bsc-pc .bsc-art .d3{position:absolute;width:46%;left:26%;bottom:8%;transform:rotate(-4deg)}
.bsc-pc .bsc-cap{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:14px 4px 2px}
.bsc-pc .bsc-cap .s{font-family:var(--bsc-scr);font-size:30px;color:var(--bsc-green);line-height:1}
.bsc-pc .bsc-cap small{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--bsc-soft);text-align:right}
.bsc-pc .bsc-pstamp{position:absolute;right:-26px;top:-30px;width:132px;transform:rotate(9deg);z-index:2}
.bsc-pc .bsc-pstamp span{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--bsc-scr);font-size:26px;color:var(--bsc-green)}
.bsc-pc .bsc-pdog{position:absolute;width:clamp(110px,11vw,160px);left:-100px;bottom:-60px;z-index:3;transform:scaleX(-1)}
@media (max-width:860px){.bsc-pc .bsc-pdog{left:-6px;bottom:-60px;width:110px}.bsc-pc .bsc-pstamp{width:96px;right:-6px;top:-24px}}

.bsc-hours-chip{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--bsc-soft)}
.bsc-hours-chip i{width:9px;height:9px;border-radius:50%;background:var(--bsc-green);box-shadow:0 0 0 4px rgba(47,107,69,.18)}

/* ---------- Diamond band / marquee ---------- */
.bsc-band{position:relative;background:url(/wp-content/plugins/biscotti-template-setup/assets/media/diamonds-butter.png) center/auto 100% repeat-x;height:96px;display:flex;align-items:center;overflow:hidden}
.bsc-band--tomato{background-image:url(/wp-content/plugins/biscotti-template-setup/assets/media/diamonds-tomato.png)}
.bsc-band--green{background-image:url(/wp-content/plugins/biscotti-template-setup/assets/media/diamonds-green.png)}
.bsc-band--plain{height:70px}
.bsc-band .bsc-track{display:flex;white-space:nowrap;animation:bscroll var(--bsc-speed,34s) linear infinite}
.bsc-band .bsc-pill{background:var(--bsc-paper);padding:8px 26px 5px;border-radius:999px;margin-right:24px;font-family:var(--bsc-caps);font-size:18px;letter-spacing:.1em;color:var(--bsc-green);text-transform:uppercase;box-shadow:0 6px 14px -10px rgba(74,46,34,.5)}
.bsc-band .bsc-pill.s{font-family:var(--bsc-scr);text-transform:none;letter-spacing:0;font-size:26px;color:var(--bsc-tomato);padding-top:4px}
@keyframes bscroll{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.bsc-band .bsc-track{animation:none}}

/* ---------- Stamp tiles ---------- */
.bsc-st{position:relative;display:block;aspect-ratio:600/426;text-decoration:none!important;transition:transform .35s cubic-bezier(.2,1.3,.4,1);transform:rotate(var(--bsc-tilt,-1.5deg))}
.bsc-st:hover{transform:rotate(0) translateY(-6px)}
.bsc-st>img{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 14px 16px rgba(74,46,34,.14))}
.bsc-st .in{position:absolute;inset:9% 9% 11%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2px;z-index:1;color:var(--c)}
.bsc-st .in img{width:34%;margin-bottom:4px}
.bsc-st .in .s{font-family:var(--bsc-scr);font-size:clamp(26px,2.4vw,36px);line-height:1}
.bsc-st .in small{font-size:10px;letter-spacing:.22em;text-transform:uppercase}

/* ---------- Bake cards ---------- */
.bsc-card{background:var(--bsc-paper);border:1.5px solid var(--bsc-line);padding:12px;display:flex;flex-direction:column;gap:12px;height:100%}
.bsc-card .ph{position:relative;aspect-ratio:1;display:grid;place-items:center;background:var(--bg);overflow:hidden}
.bsc-card .ph::before{content:"";position:absolute;inset:10px;border:1.5px solid rgba(255,253,248,.75);z-index:1;pointer-events:none}
.bsc-card .ph img.is-doodle{width:60%}
.bsc-card .ph img.is-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bsc-card .tag{position:absolute;top:16px;left:16px;background:var(--bsc-paper);color:var(--bsc-tomato);font-size:10px;letter-spacing:.2em;text-transform:uppercase;padding:3px 10px;border-radius:99px;z-index:2}
.bsc-card h3{margin:0;font-family:var(--bsc-caps);font-weight:400;font-size:19px;letter-spacing:.05em;color:var(--bsc-espresso);text-transform:uppercase;line-height:1.1}
.bsc-card p{margin:0;font-size:13px;color:var(--bsc-soft);line-height:1.6}
.bsc-card .row{display:flex;justify-content:space-between;align-items:center;border-top:1.5px dashed var(--bsc-line);padding-top:10px;margin-top:auto}
.bsc-card .price{font-family:var(--bsc-caps);font-size:22px;color:var(--bsc-tomato)}
.bsc-card .add{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--bsc-green);text-decoration:none;border-bottom:1.5px solid var(--bsc-green)}

/* ---------- Polaroid ---------- */
.bsc-pol{background:var(--bsc-paper);padding:14px 14px 60px;transform:rotate(-3deg);box-shadow:0 26px 44px -30px rgba(74,46,34,.6);position:relative;max-width:440px;margin:0 auto}
.bsc-pol .tape{position:absolute;top:-14px;left:50%;width:120px;height:30px;background:rgba(217,71,43,.55);transform:translateX(-50%) rotate(-4deg)}
.bsc-pol .ph{aspect-ratio:4/4.6;background:var(--bg,var(--bsc-green));display:grid;place-items:center;position:relative;overflow:hidden}
.bsc-pol .ph img.is-doodle{width:66%}
.bsc-pol .ph img.is-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bsc-pol .s{position:absolute;bottom:14px;left:0;right:0;text-align:center;font-family:var(--bsc-scr);font-size:30px;color:var(--bsc-tomato);line-height:1}

/* ---------- Facts / signature ---------- */
.bsc-facts{display:flex;gap:30px;flex-wrap:wrap}
.bsc-facts div{border-left:2px solid var(--bsc-tomato);padding-left:14px}
.bsc-facts b{display:block;font-family:var(--bsc-caps);font-weight:400;font-size:30px;color:var(--bsc-green);line-height:1}
.bsc-facts span{font-size:11px;letter-spacing:.2em;text-transform:uppercase}

/* ---------- Visit ticket ---------- */
.bsc-vt{display:grid;grid-template-columns:minmax(0,1fr) clamp(170px,22%,220px);max-width:980px;margin:0 auto;filter:drop-shadow(0 12px 20px rgba(74,46,34,.14))}
.bsc-vp{--n:26px;position:relative;background:var(--bsc-paper);
  -webkit-mask:radial-gradient(circle var(--n) at 0 0,#0000 98%,#000) top left/51% 51% no-repeat,radial-gradient(circle var(--n) at 100% 0,#0000 98%,#000) top right/51% 51% no-repeat,radial-gradient(circle var(--n) at 0 100%,#0000 98%,#000) bottom left/51% 51% no-repeat,radial-gradient(circle var(--n) at 100% 100%,#0000 98%,#000) bottom right/51% 51% no-repeat;
  mask:radial-gradient(circle var(--n) at 0 0,#0000 98%,#000) top left/51% 51% no-repeat,radial-gradient(circle var(--n) at 100% 0,#0000 98%,#000) top right/51% 51% no-repeat,radial-gradient(circle var(--n) at 0 100%,#0000 98%,#000) bottom left/51% 51% no-repeat,radial-gradient(circle var(--n) at 100% 100%,#0000 98%,#000) bottom right/51% 51% no-repeat}
.bsc-vmain{padding:44px clamp(26px,5vw,56px)}
.bsc-vmain .lab{display:block;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--bsc-tomato)}
.bsc-vmain h2{margin:6px 0 0;font-family:var(--bsc-caps);font-weight:400;text-transform:uppercase;font-size:clamp(34px,4vw,52px);color:var(--bsc-green);line-height:1}
.bsc-vmain h2 .s{display:block;font-family:var(--bsc-scr);text-transform:none;color:var(--bsc-tomato);font-size:.85em;margin-top:6px}
.bsc-vgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;margin-top:22px}
.bsc-hours{display:grid;grid-template-columns:auto 1fr;gap:4px 18px;font-size:14px;margin:0}
.bsc-hours dt{letter-spacing:.16em;text-transform:uppercase}
.bsc-hours dd{margin:0;text-align:right;border-bottom:1.5px dotted var(--bsc-line)}
.bsc-addr{font-size:14px;text-transform:uppercase}
.bsc-addr b{display:block;font-family:var(--bsc-caps);font-weight:400;font-size:18px;color:var(--bsc-espresso);letter-spacing:.05em;margin-bottom:6px}
.bsc-addr .bsc-tk{margin-top:18px}
.bsc-vstub{background:var(--bsc-tomato);color:var(--bsc-cream);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:30px 16px;text-align:center;background-image:radial-gradient(circle 4px,var(--bsc-cream) 92%,#0000);background-size:10px 16px;background-repeat:repeat-y;background-position:0 50%}
.bsc-vstub .t{font-family:var(--bsc-caps);font-size:30px;line-height:.95;text-transform:uppercase}
.bsc-vstub img{width:76%}
.bsc-vstub small{font-size:11px;letter-spacing:.22em;text-transform:uppercase}
@media (max-width:860px){.bsc-vt{grid-template-columns:1fr}.bsc-vgrid{grid-template-columns:1fr}.bsc-vstub{background-size:16px 10px;background-repeat:repeat-x;background-position:50% 0;flex-direction:row;flex-wrap:wrap;gap:6px 18px}.bsc-vstub img{width:120px}}

/* ---------- Pill band (catering) ---------- */
.bsc-pband{background:url(/wp-content/plugins/biscotti-template-setup/assets/media/diamonds-tomato.png) center/auto 100% repeat-x;padding:20px 16px;display:flex;justify-content:center}
.bsc-pband--butter{background-image:url(/wp-content/plugins/biscotti-template-setup/assets/media/diamonds-butter.png)}
.bsc-pband--green{background-image:url(/wp-content/plugins/biscotti-template-setup/assets/media/diamonds-green.png)}
.bsc-pband .box{background:var(--bsc-paper);padding:30px clamp(24px,5vw,60px);border-radius:999px;display:flex;align-items:center;gap:28px;flex-wrap:wrap;justify-content:center;box-shadow:0 10px 24px -16px rgba(74,46,34,.5)}
.bsc-pband h3{margin:0;font-family:var(--bsc-caps);font-weight:400;text-transform:uppercase;font-size:clamp(24px,2.6vw,34px);color:var(--bsc-green);line-height:1}
.bsc-pband h3 .s{font-family:var(--bsc-scr);text-transform:none;color:var(--bsc-tomato);font-size:1.15em}
@media (max-width:560px){.bsc-pband .box{border-radius:28px}}

/* ---------- Gram grid ---------- */
.bsc-gram{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.bsc-gram a,.bsc-gram div{position:relative;aspect-ratio:1;display:grid;place-items:center;background:var(--bg);overflow:hidden}
.bsc-gram img.is-doodle{width:58%}
.bsc-gram img.is-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:1000px){.bsc-gram{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ---------- Doodle ---------- */
.bsc-doodle{display:block;margin:0 auto;transform:rotate(var(--r,0deg))}
.bsc-doodle.flip{transform:rotate(var(--r,0deg)) scaleX(-1)}

/* ---------- Footer ---------- */
.bsc-footer{background:var(--bsc-green);color:var(--bsc-cream);position:relative}
.bsc-footer .fband{height:40px;background:url(/wp-content/plugins/biscotti-template-setup/assets/media/diamonds-butter.png) center/auto 100% repeat-x}
.bsc-footer .fin{max-width:1240px;margin:0 auto;padding:0 max(20px,env(safe-area-inset-left,0px))}
.bsc-footer .fgrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:40px;padding:60px 0 40px}
.bsc-footer .flogo .s{font-family:var(--bsc-scr);font-size:64px;color:var(--bsc-butter);line-height:1}
.bsc-footer .flogo p{max-width:34ch;opacity:.85;font-size:13px;text-transform:uppercase}
.bsc-footer h4{font-family:var(--bsc-caps);font-weight:400;font-size:16px;letter-spacing:.12em;margin:0 0 12px;color:var(--bsc-butter)}
.bsc-footer .fcol ul{list-style:none;margin:0;padding:0}
.bsc-footer .fcol a{display:block;text-decoration:none;font-family:var(--bsc-scr);font-size:26px;line-height:1.5;letter-spacing:0;color:var(--bsc-cream)}
.bsc-footer .fcol a:hover{color:var(--bsc-butter)}
.bsc-footer .fbig{font-family:var(--bsc-caps);font-size:clamp(60px,15vw,230px);line-height:.8;text-align:center;color:var(--bsc-butter);padding-bottom:12px;letter-spacing:.02em;overflow:hidden;text-transform:uppercase}
.bsc-footer .fbottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:11px;letter-spacing:.2em;text-transform:uppercase;border-top:1px solid rgba(251,245,236,.25);padding:16px 0;opacity:.85}
.bsc-footer .fdog{position:absolute;right:max(4vw,16px);top:-82px;width:clamp(120px,12vw,170px)}
@media (max-width:1000px){.bsc-footer .fgrid{grid-template-columns:1fr 1fr}.bsc-footer .flogo{grid-column:1/-1}}
@media (max-width:560px){.bsc-footer .fgrid{grid-template-columns:1fr}.bsc-footer .fdog{top:-62px;width:110px}}

/* ---------- Bake list sign-up (taped note) ---------- */
.bsc-bake{position:relative;background:var(--bsc-paper);color:var(--bsc-espresso);padding:26px 24px 22px;margin-top:22px;max-width:430px;transform:rotate(-1.5deg);box-shadow:0 20px 34px -24px rgba(0,0,0,.55)}
.bsc-bake .tape{position:absolute;top:-12px;left:50%;width:96px;height:24px;background:rgba(242,201,91,.85);transform:translateX(-50%) rotate(3deg)}
.bsc-bake .s{font-family:var(--bsc-scr);font-size:38px;color:var(--bsc-tomato);display:block;line-height:1}
.bsc-bake small{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--bsc-soft);margin:4px 0 14px}
.bsc-news{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.bsc-news input[type=email]{flex:1 1 160px;min-width:0;background:transparent;border:0;border-bottom:1.5px dashed var(--bsc-espresso);border-radius:0;color:var(--bsc-espresso);font-family:var(--bsc-reg);letter-spacing:.08em;padding:10px 2px;font-size:14px;box-shadow:none}
.bsc-news input[type=email]:focus{outline:none;border-bottom-style:solid;border-color:var(--bsc-green)}
.bsc-msg{margin:10px 0 0;font-size:13px;color:var(--bsc-green)}
.bsc-msg.is-err{color:var(--bsc-tomato)}
.bsc-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* ---------- Contact / catering form ---------- */
.bsc-form{background:var(--bsc-paper);border:1.5px solid var(--bsc-line);padding:clamp(22px,4vw,40px);display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}
.bsc-form .full{grid-column:1/-1}
.bsc-form label{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--bsc-soft);margin-bottom:6px}
.bsc-form input,.bsc-form select,.bsc-form textarea{width:100%;background:var(--bsc-cream);border:1.5px solid var(--bsc-line);border-radius:0;padding:12px 14px;font-family:var(--bsc-reg);font-size:14px;letter-spacing:.06em;color:var(--bsc-espresso);box-sizing:border-box}
.bsc-form input:focus,.bsc-form select:focus,.bsc-form textarea:focus{outline:none;border-color:var(--bsc-green)}
.bsc-form textarea{min-height:140px;resize:vertical}
@media (max-width:640px){.bsc-form{grid-template-columns:1fr}}

/* ---------- Menu list ---------- */
.bsc-menu{background:var(--bsc-paper);border:1.5px solid var(--bsc-line);padding:clamp(22px,4vw,40px);position:relative}
.bsc-menu .mh{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.bsc-menu .mh img{width:64px}
.bsc-menu .mh h3{margin:0;font-family:var(--bsc-caps);font-weight:400;text-transform:uppercase;font-size:28px;color:var(--bsc-green);line-height:1}
.bsc-menu .mh .s{display:block;font-family:var(--bsc-scr);font-size:24px;color:var(--bsc-tomato);text-transform:none}
.bsc-menu ul{list-style:none;margin:0;padding:0}
.bsc-menu li{padding:10px 0;border-bottom:1.5px dotted var(--bsc-line)}
.bsc-menu li:last-child{border-bottom:0}
.bsc-menu .r{display:flex;align-items:baseline;gap:10px}
.bsc-menu .n{font-family:var(--bsc-caps);font-size:17px;letter-spacing:.05em;text-transform:uppercase;color:var(--bsc-espresso)}
.bsc-menu .dots{flex:1;border-bottom:1.5px dotted var(--bsc-soft);transform:translateY(-4px);opacity:.5}
.bsc-menu .p{font-family:var(--bsc-caps);font-size:17px;color:var(--bsc-tomato)}
.bsc-menu .d{font-size:12px;color:var(--bsc-soft);margin-top:2px;text-transform:uppercase}

/* ---------- Page hero (inner pages) ---------- */
.bsc-phero{text-align:center;position:relative}
.bsc-phero .doodles img{position:absolute;width:clamp(80px,10vw,150px)}

/* page hero grid (doodle · text · doodle) */
.bsc-phero-grid>.e-con-inner{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,2.6fr) minmax(0,1fr);align-items:center;gap:20px}
.bsc-phero-grid>.e-con-inner>.elementor-element{width:auto!important;min-width:0}
@media (max-width:760px){.bsc-phero-grid>.e-con-inner{grid-template-columns:1fr}.bsc-ph-d1,.bsc-ph-d2{display:none!important}}
.bsc-head{margin-bottom:30px}
.bsc-hero .bsc-pc{margin-top:30px}

/* fixes v1.0.1 */
body.bsc-site{overflow-x:clip}
.bsc-footer .bsc-bake .s{color:var(--bsc-tomato);font-size:38px}
.bsc-grid-2>.e-con-inner>.elementor-widget-bsc-menu-list{align-self:stretch}
.bsc-grid-2>.e-con-inner>.elementor-widget-bsc-menu-list .bsc-menu{height:100%}
@media (max-width:860px){
  .bsc-hero .bsc-pc{margin-bottom:80px}
  .bsc-pc .bsc-pdog{left:-4px;bottom:-92px;width:96px}
}
@media (max-width:560px){
  .bsc-card .ph{aspect-ratio:4/3}
  .bsc-card .ph img.is-doodle{width:44%}
}

/* dogs v1.0.2: footer dog stands on the band, scooter dog rides below the postcard */
.bsc-footer .fdog{top:auto;bottom:calc(100% - 6px)}
.bsc-hero .bsc-pc{margin-bottom:110px}
.bsc-pc .bsc-pdog{left:-18px;bottom:-112px;width:clamp(110px,10vw,140px)}
@media (max-width:860px){.bsc-hero .bsc-pc{margin-bottom:100px}.bsc-pc .bsc-pdog{left:-4px;bottom:-96px;width:100px}}
@media (max-width:560px){.bsc-footer .fdog{top:auto;bottom:calc(100% - 4px)}}

/* ---------- Order ahead ---------- */
.bsc-order{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px;align-items:start}
.bsc-order-items,.bsc-order-details{background:var(--bsc-paper);border:1.5px solid var(--bsc-line);padding:clamp(20px,3.5vw,36px)}
.bsc-order-details{position:sticky;top:20px}
.bsc-order h3{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-family:var(--bsc-caps);font-weight:400;text-transform:uppercase;font-size:24px;color:var(--bsc-green);line-height:1}
.bsc-order h3 .n{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--bsc-tomato);color:var(--bsc-cream);font-size:16px}
.bsc-order ul{list-style:none;margin:0;padding:0}
.bsc-order li{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:12px 0;border-bottom:1.5px dotted var(--bsc-line)}
.bsc-order li:last-child{border-bottom:0}
.bsc-order li.is-on .nm{color:var(--bsc-tomato)}
.bsc-order .nm{display:block;font-family:var(--bsc-caps);font-size:16px;letter-spacing:.05em;text-transform:uppercase;color:var(--bsc-espresso);line-height:1.2}
.bsc-order .ds{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--bsc-soft)}
.bsc-order .pr{font-family:var(--bsc-caps);font-size:16px;color:var(--bsc-tomato)}
.bsc-order .qty{display:inline-flex;align-items:center;border:1.5px solid var(--bsc-green);border-radius:999px;overflow:hidden}
.bsc-order .qty button{width:34px;height:34px;border:0;background:none;color:var(--bsc-green);font-size:18px;cursor:pointer;padding:0;line-height:1}
.bsc-order .qty button:hover{background:var(--bsc-green);color:var(--bsc-cream)}
.bsc-order .qty input{width:34px;height:34px;border:0;text-align:center;background:none;font-family:var(--bsc-caps);font-size:15px;color:var(--bsc-espresso);-moz-appearance:textfield;padding:0}
.bsc-order .qty input::-webkit-inner-spin-button,.bsc-order .qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.bsc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.bsc-form-grid .full{grid-column:1/-1}
.bsc-order label{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--bsc-soft);margin-bottom:6px}
.bsc-order-details input,.bsc-order-details select,.bsc-order-details textarea{width:100%;background:var(--bsc-cream);border:1.5px solid var(--bsc-line);border-radius:0;padding:11px 12px;font-family:var(--bsc-reg);font-size:14px;letter-spacing:.06em;color:var(--bsc-espresso);box-sizing:border-box}
.bsc-order-details input:focus,.bsc-order-details select:focus,.bsc-order-details textarea:focus{outline:none;border-color:var(--bsc-green)}
.bsc-order-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1.5px dashed var(--bsc-line);margin-top:20px;padding-top:14px}
.bsc-order-total span{font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.bsc-order-total b{font-family:var(--bsc-caps);font-weight:400;font-size:30px;color:var(--bsc-tomato)}
.bsc-order-note{font-size:12px;color:var(--bsc-soft);text-transform:uppercase;letter-spacing:.06em;margin:4px 0 18px}
@media (max-width:900px){.bsc-order{grid-template-columns:1fr}.bsc-order-details{position:static}}
@media (max-width:480px){.bsc-form-grid{grid-template-columns:1fr}.bsc-order li{grid-template-columns:1fr auto;}.bsc-order .pr{grid-row:1;grid-column:2}.bsc-order .qty{grid-column:1/-1;justify-self:start}}

/* v1.0.4: neutralise the theme's pink button hover on our buttons */
.bsc-site button.bsc-tk,.bsc-site button.bsc-tk:hover,.bsc-site button.bsc-tk:focus,.bsc-site button.bsc-tk:active{background:none!important;background-color:transparent!important;border-style:solid;border-color:transparent;border-radius:0;box-shadow:none;outline:none}
.bsc-site button.bsc-tk--green,.bsc-site button.bsc-tk--green:hover,.bsc-site button.bsc-tk--green:focus,.bsc-site button.bsc-tk--tomato,.bsc-site button.bsc-tk--tomato:hover,.bsc-site button.bsc-tk--espresso,.bsc-site button.bsc-tk--espresso:hover{color:var(--bsc-cream)!important}
.bsc-site button.bsc-tk[disabled]{opacity:.6}
.bsc-site .bsc-order .qty button,.bsc-site .bsc-order .qty button:focus{background:none;color:var(--bsc-green);border:0;border-radius:0}
.bsc-site .bsc-order .qty button:hover{background:var(--bsc-green)!important;color:var(--bsc-cream)!important}
.bsc-site .bsc-burger:hover,.bsc-site .bsc-burger:focus{background:var(--bsc-green)!important;color:var(--bsc-cream)!important;border-color:var(--bsc-green)}

/* back to top */
.bsc-top{position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:50;width:56px;height:56px;border-radius:50%;background:var(--bsc-green);color:var(--bsc-cream);display:grid;place-items:center;text-decoration:none!important;box-shadow:0 10px 22px -12px rgba(74,46,34,.7);opacity:0;transform:translateY(12px) rotate(-8deg);pointer-events:none;transition:opacity .3s,transform .3s}
.bsc-top::before{content:"";position:absolute;inset:5px;border:1.5px dashed rgba(251,245,236,.7);border-radius:50%}
.bsc-top svg{width:20px;height:20px}
.bsc-top.is-on{opacity:1;transform:none;pointer-events:auto}
.bsc-top:hover{background:var(--bsc-tomato);transform:translateY(-3px) rotate(-6deg)}
.bsc-top:focus-visible{outline:2px solid var(--bsc-tomato);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.bsc-top{transition:none}}
.bsc-top{background:var(--bsc-tomato)}
.bsc-top:hover{background:var(--bsc-espresso)}

/* ---------- 404 + privacy ---------- */
.bsc-404{max-width:640px;margin:0 auto;padding:70px 20px 150px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}
.bsc-404-dog{width:190px;transform:rotate(-4deg)}
.bsc-404 .bsc-lab{font-family:var(--bsc-reg);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--bsc-tomato);margin:6px 0 0}
.bsc-404 .bsc-h1{font-family:var(--bsc-caps);font-weight:400;text-transform:uppercase;color:var(--bsc-green);font-size:clamp(40px,6vw,72px);line-height:1;letter-spacing:.04em;margin:0;text-wrap:balance}
.bsc-404 .bsc-script{font-family:var(--bsc-scr);color:var(--bsc-tomato);font-size:clamp(30px,3.4vw,42px);line-height:1.05;margin:0}
.bsc-404 .bsc-body{color:var(--bsc-soft);margin:6px auto 10px}
.bsc-404-btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.bsc-legal{max-width:68ch!important;margin-inline:auto}
.bsc-legal h3{font-family:var(--bsc-caps);font-weight:400;text-transform:uppercase;color:var(--bsc-green);font-size:22px;letter-spacing:.06em;margin:30px 0 8px}
.bsc-legal ul{padding-left:1.2em;margin:0 0 12px}.bsc-legal li{margin:0 0 8px}
.bsc-legal strong{color:var(--bsc-espresso)}

/* v1.1.2: scooter dog sits to the left of the postcard, under the hero text */
@media (min-width:861px){.bsc-pc .bsc-pdog{left:-175px;bottom:-78px;width:clamp(110px,10vw,140px)}}
.bsc-pc .bsc-pdog.no-flip{transform:none}

/* v1.1.5: two bake cards side by side on phones */
@media (max-width:560px){
  .bsc-grid-4:has(.elementor-widget-bsc-bake-card)>.e-con-inner,.bsc-grid-4:has(.elementor-widget-bsc-bake-card):not(:has(>.e-con-inner)){grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .bsc-grid-4 .bsc-card{padding:8px;gap:8px}
  .bsc-grid-4 .bsc-card .ph{aspect-ratio:1}
  .bsc-grid-4 .bsc-card .ph::before{inset:6px}
  .bsc-grid-4 .bsc-card .ph img.is-doodle{width:62%}
  .bsc-grid-4 .bsc-card .tag{top:10px;left:10px;font-size:8px;letter-spacing:.14em;padding:2px 7px}
  .bsc-grid-4 .bsc-card h3{font-size:14px;letter-spacing:.04em}
  .bsc-grid-4 .bsc-card p{font-size:11px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .bsc-grid-4 .bsc-card .row{padding-top:8px;gap:6px}
  .bsc-grid-4 .bsc-card .price{font-size:17px}
  .bsc-grid-4 .bsc-card .add{font-size:9.5px;letter-spacing:.14em}
}
/* v1.1.6: two stamp tiles per row on phones */
@media (max-width:560px){
  .bsc-grid-4:has(.elementor-widget-bsc-stamp)>.e-con-inner,.bsc-grid-4:has(.elementor-widget-bsc-stamp):not(:has(>.e-con-inner)){grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}
  .bsc-grid-4 .bsc-st .in{inset:10% 10% 12%;gap:1px}
  .bsc-grid-4 .bsc-st .in img{width:30%;margin-bottom:2px}
  .bsc-grid-4 .bsc-st .in .s{font-size:20px}
  .bsc-grid-4 .bsc-st .in small{font-size:6.5px;letter-spacing:.1em;line-height:1.3}
}
/* v1.1.6: opening hours stay on one line on phones */
.bsc-hours dd{white-space:nowrap}
@media (max-width:560px){
  .bsc-hours{gap:6px 10px;font-size:12.5px}
  .bsc-hours dt{letter-spacing:.08em}
  .bsc-hours dd{letter-spacing:.04em}
}
