/*
Theme Name: Pizzeria Coco
Theme URI: https://pizzeriacoco.com
Author: Sunday & Co.
Author URI: https://www.sundayandcompany.co/
Description: Custom block theme for Pizzeria Coco. Warm, editorial mobile pizza and catering brand for the DMV. Preloads the Coco color palette (cream, Coco blue, espresso), Fraunces + Figtree fonts, and button styles.
Version: 5.5.0
Requires at least: 6.4
Tested up to: 6.7
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: pizzeria-coco
*/

/* Horizontal scroll gallery (matches the finalized "drag to explore" rows) */
.coco-scroll-row{display:flex;gap:30px;overflow-x:auto;padding:0 48px 16px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
.coco-scroll-row > figure,.coco-scroll-row > .wp-block-image{flex:0 0 380px;margin:0;scroll-snap-align:start;}
.coco-scroll-row img{width:100%;height:460px;object-fit:cover;display:block;}
.coco-scroll-row figcaption{margin-top:16px;font-family:'Libre Caslon Display',serif;font-size:24px;color:#29201A;text-align:left;}
.coco-scroll-row::-webkit-scrollbar{height:0;}

/* Checkerboard divider (Story section) */
.coco-checker{height:44px;background-image:repeating-conic-gradient(#E4D5BA 0% 25%, #F3E9D9 0% 50%);background-size:44px 44px;}
/* Event scenes scroll row (taller, varied) */
.coco-scenes{display:flex;gap:22px;overflow-x:auto;padding:0 48px 14px;scroll-snap-type:x mandatory;}
.coco-scenes > .wp-block-image{flex:0 0 420px;margin:0;scroll-snap-align:start;}
.coco-scenes img{width:100%;height:380px;object-fit:cover;display:block;}
.coco-scenes::-webkit-scrollbar{height:0;}
/* Full-bleed collage */
.coco-collage{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;}
.coco-collage img{width:100%;height:480px;object-fit:cover;display:block;}

.coco-scroll-short > .wp-block-image{flex:0 0 340px;}
.coco-scroll-short img{height:300px;}
.coco-scroll-short figcaption{font-family:'Hanken Grotesk',sans-serif;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:#8a7558;}

/* checkerboard as spacer (valid, non-empty block) */
.wp-block-spacer.coco-checker{height:44px !important;background-image:repeating-conic-gradient(#E4D5BA 0% 25%, #F3E9D9 0% 50%);background-size:44px 44px;}

/* block-default overrides — match the Claude build across every page */
.wp-block-separator{border:0;border-top:1px solid #d8c7a6;background:none;opacity:1;height:0;margin:0;}
.wp-block-separator.alignwide,.wp-block-separator:not(.is-style-dots){max-width:100%;}
.wp-block-quote{border-left:0!important;padding-left:0;margin:0;font-family:'Libre Caslon Display',serif;font-weight:400;font-size:22px;line-height:1.5;color:#3a3027;}
.wp-block-quote cite{display:block;margin-top:22px;font-family:'Hanken Grotesk',sans-serif;font-style:normal;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:#465ABE;}
/* menu-preview cards: rich stacked captions, left aligned */
.coco-card{flex:0 0 380px;scroll-snap-align:start;}
.coco-card img{width:100%;height:460px;object-fit:cover;display:block;}
.coco-card .coco-cat{font-family:'Hanken Grotesk',sans-serif;font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:#465ABE;margin:22px 0 8px;}
.coco-card .coco-name{font-family:'Libre Caslon Display',serif;font-size:26px;color:#29201A;margin:0;}
.coco-card .coco-desc{font-size:14px;line-height:1.6;color:#7a6e5f;margin:6px 0 0;}
.coco-scroll-row figcaption{text-align:left;}

/* lock covers + seams — guarantee hero photos fill and blocks butt cleanly */
.wp-block-cover{display:flex;position:relative;overflow:hidden;}
.wp-block-cover__image-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.wp-block-cover.alignfull{margin-top:0;margin-bottom:0;}
.coco-collage img,.coco-scenes img,.coco-card img{display:block;}
.coco-collage{gap:10px;}
/* remove seams between checkerboard and adjacent color blocks */
.wp-block-spacer.coco-checker{display:block;margin:0!important;border:0;line-height:0;}
.coco-checker + .wp-block-group,.wp-block-group + .coco-checker{margin-top:0!important;}

/* header/footer links + cover overlay */
header a{color:#F3E9D9!important;text-decoration:none!important;}
header a:hover{color:#F3E9D9!important;opacity:.75;}
footer a{color:#e4e9f8!important;text-decoration:none!important;}
footer a:hover{color:#ffffff!important;}
footer .coco-legal a{text-decoration:underline!important;text-underline-offset:2px;color:#c3d0ea!important;}
footer .coco-legal a:hover{color:#ffffff!important;}
/* cover overlay: guarantee image fills and text positions correctly in editor + front end */
.wp-block-cover{align-items:center;justify-content:center;}
.wp-block-cover .wp-block-cover__inner-container{position:relative;z-index:1;width:100%;}
.wp-block-cover.has-custom-content-position.is-position-bottom-left{align-items:flex-end;justify-content:flex-start;}
.wp-block-cover.has-custom-content-position.is-position-bottom-left>.wp-block-cover__inner-container{margin:0;width:auto;}
.wp-block-cover__image-background{z-index:0;}

/* image grid alignment lock — equal heights, no jagged rows, no gaps */
.coco-collage{display:grid!important;grid-template-columns:repeat(3,1fr);gap:10px;}
.coco-collage>.wp-block-image,.coco-collage>figure{margin:0;height:100%;}
.coco-collage .wp-block-image img,.coco-collage img{width:100%;height:480px;object-fit:cover;display:block;}
.coco-scroll-row{display:flex!important;gap:30px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 48px 16px;}
.coco-scroll-row>.wp-block-image,.coco-scroll-row>.coco-card{flex:0 0 380px;margin:0;scroll-snap-align:start;}
.coco-scroll-row .wp-block-image img,.coco-card img{width:100%;height:460px;object-fit:cover;display:block;}
.coco-scroll-short>.wp-block-image{flex-basis:340px;}
.coco-scroll-short .wp-block-image img{height:300px;}
.coco-scenes{display:flex!important;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 48px 14px;}
.coco-scenes>.wp-block-image{flex:0 0 420px;margin:0;scroll-snap-align:start;}
.coco-scenes .wp-block-image img,.coco-scenes img{width:100%;height:380px;object-fit:cover;display:block;}
/* keep event-card covers equal height */
.wp-block-columns .wp-block-cover{width:100%;}

/* full-bleed guarantee — sections run edge-to-edge like header/footer */
body{margin:0;}
main.wp-block-group{margin:0;padding:0;max-width:none;}
main.wp-block-group>.wp-block-group,main.wp-block-group>.wp-block-columns,main.wp-block-group>.wp-block-cover{max-width:none;}
main .alignfull{margin-left:0;margin-right:0;max-width:none;}

/* kill inter-section gaps — sections butt flush on every page */
main.wp-block-group{gap:0!important;row-gap:0!important;}
main.wp-block-group>*{margin-top:0!important;margin-bottom:0!important;}
main.wp-block-group>.wp-block-columns{margin-top:0!important;margin-bottom:0!important;}
.wp-site-blocks>*+*{margin-block-start:0;}

/* FAQ marker — small, tidy disclosure arrow (fixes oversized/wonky default) */
.wp-block-details summary{list-style:none;cursor:pointer;position:relative;padding-right:26px;}
.wp-block-details summary::-webkit-details-marker{display:none;}
.wp-block-details summary::marker{content:"";}
.wp-block-details summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-family:'Hanken Grotesk',sans-serif;font-size:15px;line-height:1;font-weight:400;opacity:.7;}
.wp-block-details[open] summary::after{content:"\2013";}

/* coco forms */
.coco-form{display:grid;gap:16px;}
.coco-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.coco-form label{display:block;font-family:'Hanken Grotesk',sans-serif;font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:#465ABE;margin-bottom:6px;}
.coco-form input,.coco-form select,.coco-form textarea{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #d8c7a6;background:#fffdf8;font-family:'Hanken Grotesk',sans-serif;font-size:14px;color:#29201A;border-radius:2px;}
.coco-form input:focus,.coco-form select:focus,.coco-form textarea:focus{outline:none;border-color:#465ABE;}
.coco-form textarea{min-height:120px;resize:vertical;}
.coco-form button{justify-self:start;margin-top:6px;background:#465ABE;color:#F3E9D9;border:0;padding:15px 34px;font-family:'Hanken Grotesk',sans-serif;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;cursor:pointer;border-radius:2px;}
.coco-form button:hover{background:#31459c;}
@media(max-width:640px){.coco-form .row2{grid-template-columns:1fr;}}
/* fluent forms skin — matches Coco cream/blue */
.fluentform .ff-el-input--label label{font-family:'Hanken Grotesk',sans-serif;font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:#465ABE;}
.fluentform .ff-el-form-control{border:1px solid #d8c7a6;background:#fffdf8;font-family:'Hanken Grotesk',sans-serif;font-size:14px;color:#29201A;border-radius:2px;padding:12px 14px;}
.fluentform .ff-el-form-control:focus{border-color:#465ABE;box-shadow:none;outline:none;}
.fluentform .ff-btn-submit{background:#465ABE;color:#F3E9D9;border:0;padding:15px 34px;font-family:'Hanken Grotesk',sans-serif;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;border-radius:2px;}
.fluentform .ff-btn-submit:hover{background:#31459c;}
/* fill columns — image column stretches flush edge-to-edge and scales */
.coco-fill-col{display:flex;align-self:stretch;padding:0 !important;}
.coco-fill-col > *{width:100%;}
.coco-fill-col img{width:100%;height:100%;object-fit:cover;display:block;}
/* ensure alignfull columns stretch their columns to equal height */
.wp-block-columns.alignfull{align-items:stretch;}
.coco-fill-img{margin:0;}
.coco-fill-img img{width:100%;height:420px;object-fit:cover;display:block;}
/* CF7 coco-form skin */
.coco-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:640px){.coco-form .row2{grid-template-columns:1fr;}}
.coco-form label{display:block;font-family:'Hanken Grotesk',sans-serif;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#465ABE;margin-bottom:6px;}
.coco-form .coco-in{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #d8c7a6;background:#fffdf8;font-family:'Hanken Grotesk',sans-serif;font-size:14px;color:#29201A;border-radius:2px;}
.coco-form .coco-in:focus{outline:none;border-color:#465ABE;}
.coco-form textarea.coco-in{min-height:120px;}
.coco-form .coco-btn{background:#465ABE;color:#F3E9D9;border:0;padding:15px 34px;font-family:'Hanken Grotesk',sans-serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;border-radius:2px;cursor:pointer;}
.coco-form .coco-btn:hover{background:#31459c;}
.coco-form .wpcf7-spinner{display:block;margin:10px 0;}
/* sticky header lock */
header.wp-block-group{position:sticky !important;top:0 !important;z-index:100 !important;}
html,body,.wp-site-blocks,main.wp-block-group{overflow:visible !important;}
.coco-fill-col{display:flex;align-self:stretch;padding:0 !important;}
.coco-fill-col > *{width:100%;height:100%;min-height:520px;}
/* sticky header lock v2 */
:where(html,body,.wp-site-blocks,.wp-site-blocks>*,main,main>*){overflow:visible !important;overflow-x:clip;}
.wp-site-blocks>header,header.wp-block-group{position:sticky !important;top:0 !important;z-index:999 !important;}
/* mobile responsive */
@media (max-width:781px){
  /* full-bleed 3-up collage -> stack */
  .coco-collage{grid-template-columns:1fr !important;}
  .coco-collage img{height:300px;}
  /* horizontal galleries: comfortable card width, keep swipe */
  .coco-scroll-row > .coco-card,.coco-scroll-row > figure,.coco-scroll-row .wp-block-image{flex-basis:78vw !important;}
  .coco-scroll-row img,.coco-card img{height:320px;}
  .coco-scenes > .wp-block-image,.coco-scenes img{flex-basis:80vw !important;width:80vw !important;}
  .coco-scenes img{height:300px;}
  /* forms single column */
  .coco-form .row2{grid-template-columns:1fr !important;}
  /* tame big section padding on phones */
  .wp-block-group[style*="padding-left:48px"],.wp-block-group[style*="padding-left:44px"]{padding-left:22px !important;padding-right:22px !important;}
  /* founder / signature fixed photos shorter on phones */
  .coco-fill-col > *{min-height:320px !important;}
  .coco-fill-img img{height:300px !important;}
  /* nav wraps instead of overflowing */
  header.wp-block-group{flex-wrap:wrap !important;row-gap:10px;}
  header .wp-block-group{flex-wrap:wrap !important;justify-content:center;}
}
/* checker hug all neighbors — no gap above/below the checkerboard */
.wp-block-spacer.coco-checker{margin:0 !important;}
.coco-checker + *,* + .coco-checker{margin-top:0 !important;margin-block-start:0 !important;}
.coco-checker + .wp-block-columns,.wp-block-columns + .coco-checker,
.coco-checker + .wp-block-group,.wp-block-group + .coco-checker{margin-top:0 !important;margin-block-start:0 !important;}
/* coco header nav */
.coco-header{position:sticky;top:0;z-index:100;background:#2A1A12;transition:background .3s ease;}
body .coco-header.coco-home,
body .coco-header.coco-home.has-background{position:fixed !important;left:0;right:0;top:0;background:transparent !important;background-color:transparent !important;}
body .coco-header.coco-home.coco-scrolled,
body .coco-header.coco-home.coco-scrolled.has-background{background:#2A1A12 !important;background-color:#2A1A12 !important;}
.coco-header .coco-nav a{color:#F3E9D9;text-decoration:none;}
.coco-burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px;}
.coco-burger span{width:24px;height:2px;background:#F3E9D9;display:block;}
@media(max-width:781px){
  .coco-header{flex-wrap:nowrap !important;align-items:center !important;justify-content:space-between !important;padding-left:22px !important;padding-right:22px !important;}
  .coco-header .coco-burger{display:flex !important;}
  .coco-header .coco-nav{position:absolute !important;top:100% !important;left:0 !important;right:0 !important;flex-direction:column !important;align-items:flex-start !important;background:#2A1A12 !important;padding:20px 22px !important;gap:16px !important;display:none !important;}
  .coco-header.coco-open .coco-nav{display:flex !important;}
  .coco-header.coco-open{background:#2A1A12 !important;}
}
/* coco email popup */
.coco-pop{display:none;position:fixed;inset:0;z-index:9999;background:rgba(42,26,18,.55);align-items:center;justify-content:center;padding:20px;}
.coco-pop.coco-pop-open{display:flex;}
.coco-pop-card{background:#F3E9D9;max-width:440px;width:100%;padding:48px 40px;position:relative;text-align:center;border-top:4px solid #465ABE;}
.coco-pop-x{position:absolute;top:14px;right:18px;border:0;background:none;font-size:24px;line-height:1;color:#2A1A12;cursor:pointer;}
.coco-pop-kicker{font-family:'Hanken Grotesk',sans-serif;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#465ABE;margin-bottom:16px;}
.coco-pop-title{font-family:'Libre Caslon Display',serif;font-weight:400;font-size:clamp(26px,3vw,34px);line-height:1.12;color:#29201A;margin:0 0 14px;}
.coco-pop-sub{font-family:'Hanken Grotesk',sans-serif;font-size:15px;line-height:1.7;color:#5c5046;margin:0 0 24px;}
.coco-pop-card .wpcf7-form-control-wrap{display:block;margin-bottom:12px;}
.coco-pop-card input[type=email]{width:100%;box-sizing:border-box;padding:14px;border:1px solid #d8c7a6;background:#fffdf8;font-family:'Hanken Grotesk',sans-serif;font-size:14px;}
.coco-pop-card input[type=submit]{width:100%;background:#465ABE;color:#F3E9D9;border:0;padding:15px;font-family:'Hanken Grotesk',sans-serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;}
.coco-pop-card input[type=submit]:hover{background:#31459c;}