/*
Theme Name: Cool Carrot
Version: 4.1.1
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: cool-carrot
*/
@font-face{font-family:CCHeading;src:url(assets/heading.woff2)}@font-face{font-family:CCBody;src:url(assets/body.woff2)}@font-face{font-family:CCBold;src:url(assets/bold.woff2);font-weight:400 700}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:white;color:#181818;font:20px/1.4 CCBody,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,summary,select,textarea{outline-offset:5px}button,summary{cursor:pointer}h1,h2,h3{font-family:CCHeading,'Arial Narrow',sans-serif;font-weight:400;line-height:1.25;margin:0 0 26px}h1{font-family:CCBold,sans-serif;color:#ee8753;font-size:72px;font-weight:500;line-height:1.02}h2{font-size:60px}h3{font-size:30px}p{margin:0 0 28px}header{height:182px;position:relative;padding:38px 34px;font-size:14px}.brand{display:flex;align-items:flex-start;gap:8px;font-family:CCHeading;font-size:28px}.brand img{width:40px;height:57px;object-fit:contain}.utility{position:absolute;right:42px;top:42px;display:flex;gap:18px;align-items:center}.utility a[href^="tel"]{text-decoration:underline}nav{position:absolute;right:42px;top:86px;display:flex;gap:22px;align-items:center}nav details{position:relative}summary{list-style:none}nav details div{position:absolute;z-index:10;width:165px;background:white;padding:20px;box-shadow:0 4px 12px #ddd}nav details div a{display:block;padding:8px 0}.tagline{position:absolute;bottom:18px;left:80px;margin:0}.menutoggle{display:none}.hero{margin:0 15px 14px 0;height:701px;position:relative;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;display:none}.hero>img.active{display:block}.herocard{position:absolute;bottom:10px;left:0;width:463px;min-height:369px;background:white;padding:10px 10px 65px}.herocard h1{margin-left:14px;margin-bottom:23px}.herocard p{margin-bottom:40px}.buttons{display:flex;gap:18px}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #ee8753;color:#181818;background:transparent;min-height:40px;padding:9px 26px;font:14px CCBody,Arial;text-align:center}.button:hover{background:#ffddcc}.buttons .button{flex:1;padding:9px 5px}.buttons .button+ .button{background:#ffddcc}.slidecontrols{position:absolute;right:12px;top:8px;display:flex;align-items:center;gap:12px;font-size:13px}.slidecontrols button{background:#ffffffb0;border:0;font-size:24px}.split{display:grid;grid-template-columns:1fr 1fr}.events{min-height:826px;background-position:center;background-size:cover;padding:50px 0}.poster{display:flex;flex-direction:column;align-items:center}.poster img{width:72%;height:692px;object-fit:contain}.poster button{background:white;border:1px solid #ee8753;font-size:14px;margin-top:10px;padding:8px 20px}.eventcopy{align-self:center;background:#ffffffdb;padding:50px 65px;max-width:600px;text-align:center}.eventcopy h2{font-size:72px}.eventcopy .button{margin:10px}.boutique{margin:10px 0 65px;background:#f2f2f2;text-align:center;min-height:947px;padding:55px 8%}.boutique>p{max-width:760px;margin:32px auto}.products{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin:55px 0}.product img{width:100%;aspect-ratio:1;object-fit:contain;background:white}.product span{display:block;font-size:16px;margin-top:10px}.food{background:#f2f2f2;min-height:790px;align-items:center}.food img{width:100%;height:500px;object-fit:cover}.copy{padding:80px 65px;text-align:center}.about{margin:50px 0;min-height:648px;align-items:center}.about img{width:100%;height:538px;object-fit:cover}.reviews{padding:50px 5%;text-align:center}.reviewgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:60px}.reviewgrid img{width:100%;height:308px;object-fit:cover}.reviewgrid p{margin-top:32px}.reservation{padding:80px 5%;background:#f2f2f2;text-align:center}.reservation h2{font-size:28px}.reservation form{display:flex;gap:22px;max-width:980px;margin:auto;align-items:end}.reservation label{flex:1;text-align:left;font-size:14px;display:block}input,select,textarea{width:100%;padding:12px;background:transparent;border:1px solid #aaa;font-size:16px;min-height:45px}label input,label select{margin-top:8px}.contact{padding:80px 10%;gap:70px}.contact h2,footer h2{font-size:40px}.contact form{display:grid;gap:15px;align-content:start}.contact textarea{min-height:150px}.contact .button{justify-self:end;min-width:160px}footer{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:70px 10%;background:#f2f2f2;min-height:387px}#bookingstatus,#contactstatus{font-size:16px;margin-top:20px}@media(max-width:900px){header{height:auto;min-height:160px;padding:25px}.utility{display:none}.menutoggle{display:block;position:absolute;right:25px;top:35px;background:white;border:1px solid #ee8753;padding:8px 15px;font-size:16px}nav{display:none;position:static;flex-wrap:wrap;margin-top:28px;padding-bottom:40px}nav.open{display:flex}.tagline{left:73px;bottom:20px}.hero{height:650px;margin-right:0}.herocard{width:min(463px,90%)}h1{font-size:56px}h2,.eventcopy h2{font-size:46px}.split{grid-template-columns:1fr}.events{padding:35px 20px}.poster img{width:100%;height:500px}.eventcopy{padding:35px 20px;margin:auto}.boutique{padding:50px 20px;min-height:0}.products{grid-template-columns:repeat(2,1fr)}.copy{padding:50px 25px}.food{min-height:0}.food img,.about img{height:400px}.about{min-height:0}.reviewgrid{grid-template-columns:1fr}.reservation form{flex-wrap:wrap}.reservation label{flex:1 1 200px}.reservation button{width:100%}.contact{padding:50px 25px;gap:35px}footer{grid-template-columns:1fr;padding:50px 25px;gap:30px}.herocard{padding-bottom:35px}.herocard p{font-size:18px}.buttons{gap:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Client brief revision 2 */
body{font-size:18px}.hero{height:620px;margin:0}.herocard{min-height:0;padding:22px 20px 34px;width:min(485px,90%)}.herocard h1{margin-left:0;font-size:64px}.herocard p{margin-bottom:26px}.food{min-height:580px;margin-top:18px}.food>img{height:440px}.about{min-height:500px;margin:0}.about>img{height:470px}.copy{padding:55px}.eventteaser{text-align:center;padding:65px 25px;background:white}.eventteaser h2{font-size:52px}.sectionintro{text-align:center;max-width:740px;margin:0 auto 35px}.ordersection{padding:65px 6%;background:#f2f2f2;scroll-margin-top:15px}.ordergrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.ordergrid article{padding:30px;background:white;border-top:3px solid #ee8753}.ordergrid h3{font-size:32px}.primary{background:#f08a55;color:#181818}.button{min-height:46px;font-size:16px}.button:disabled{border-color:#ccc;background:#eee;color:#666;cursor:not-allowed}.enquirysection{padding:65px 6%;background:#f5f5f5}.enquiryform{max-width:950px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:22px}.enquiryform label{font-size:16px;display:block}.enquiryform input,.enquiryform textarea,.enquiryform select{margin-top:8px;background:white}.wide{grid-column:1/-1}.formhelp{font-size:14px;max-width:720px;margin:16px 0}#enquirystatus{margin:18px 0;font-size:16px}#messagepreview{background:white;border:1px solid #ccc;padding:20px;white-space:pre-wrap;font:16px/1.5 CCBody,Arial}.pagetitle{text-align:center;padding:70px 20px;background:#f2f2f2}.pagetitle h1{font-size:64px}.eventlist{padding:65px 8%;max-width:1440px;margin:auto}.eventlist>h2{text-align:center}.emptyevents{text-align:center;padding:45px 20px;background:#f5f5f5}.eventcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.eventcard{padding:25px;border:1px solid #ddd}.eventcard img{width:100%;height:270px;object-fit:cover}.eventcard h3{font-size:38px;margin-top:20px}.eventdate{font-weight:bold}.mobileactions{display:none}footer{font-size:17px}.wp-site-blocks{padding:0}img{max-width:100%;height:auto}header nav{gap:20px}header .utility{top:30px}header nav{top:98px}section{scroll-margin-top:20px}input,textarea,select{border-radius:0}button:focus-visible,a:focus-visible{outline:3px solid #a34412}
@media(max-width:900px){.hero{height:580px}.herocard h1{font-size:52px}.copy{padding:40px 25px}.food{min-height:0}.food>img,.about>img{height:330px;object-fit:cover}.ordergrid{grid-template-columns:1fr}.about{min-height:0}.pagetitle h1{font-size:48px}.eventcards{grid-template-columns:1fr}header nav{position:static}.eventteaser h2{font-size:44px}.enquirysection,.ordersection{padding:45px 22px}.mobileactions{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:50;background:white;box-shadow:0 -2px 8px #0002}.mobileactions a{flex:1;text-align:center;padding:16px 8px;font-size:16px}.mobileactions a:last-child{background:#ee8753}body{padding-bottom:58px}footer{padding-bottom:40px}}
@media(max-width:540px){.enquiryform{grid-template-columns:1fr}.hero{height:550px}.herocard{width:94%;bottom:15px}.herocard h1{font-size:46px}.enquiryform .wide{grid-column:auto}h2{font-size:42px}.brand{font-size:25px}.buttons .button{font-size:15px}}

[hidden]{display:none!important}.cc-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.enquiryform [disabled]{opacity:.65;cursor:wait}#whatsappnext{margin:10px}.cc-form-note{font-size:14px}


/* Events upgrade — preserves the existing Cool Carrot visual style */
.eventlist{padding:65px 6%;max-width:1500px;margin:auto}.eventlist>h2{text-align:center;margin-bottom:38px}.eventcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch}.eventcard{display:flex;flex-direction:column;padding:0;background:#fff;border:1px solid #ddd;overflow:hidden}.eventcard-media{display:block;background:#f2f2f2}.eventcard-media img{display:block;width:100%;height:280px;object-fit:cover}.eventcard-body{display:flex;flex:1;flex-direction:column;padding:26px}.eventcard h3{font-size:36px;margin:0 0 15px}.eventcard h3 a:hover{text-decoration:underline}.eventmeta{display:grid;gap:7px;margin:0 0 18px;padding:0;list-style:none;font-size:16px}.eventmeta strong{font-family:CCBold,Arial,sans-serif}.eventdate{font-weight:400}.eventexcerpt{font-size:17px;margin-bottom:20px}.eventactions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}.eventactions .button{flex:1 1 155px}.event-admin-note{text-align:center;font-size:15px;margin:-18px auto 34px;max-width:760px;color:#555}.eventcard-placeholder{width:100%;height:280px;display:flex;align-items:center;justify-content:center;background:#f2f2f2;font-size:16px;color:#555}
@media(max-width:1050px){.eventcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.eventcards{grid-template-columns:1fr}.eventlist{padding:45px 22px}.eventcard-media img,.eventcard-placeholder{height:240px}.eventcard h3{font-size:32px}.eventcard-body{padding:22px}}


/* v4.1 — editable homepage slider and Gallery page; existing theme design retained */
.cc-home-slider .cc-slides,.cc-home-slider .cc-slide{position:absolute;inset:0;margin:0}.cc-home-slider .cc-slide{opacity:0;visibility:hidden;transition:opacity .7s ease;z-index:0}.cc-home-slider .cc-slide.active{opacity:1;visibility:visible}.cc-home-slider .cc-slide img{width:100%;height:100%;object-fit:cover;display:block}.cc-home-slider .herocard{z-index:2}.cc-home-slider .slidecontrols{z-index:3;top:18px;right:20px;background:#ffffffd9;padding:4px 8px}.cc-home-slider .slidecontrols button{width:38px;height:38px;display:grid;place-items:center;background:transparent;border:0;line-height:1}.cc-home-slider .cc-slide-count{min-width:44px;text-align:center}.cc-gallery-section{padding:65px 5% 90px;overflow:hidden}.gallery-admin-note{font-size:14px;color:#555}.cc-gallery-toolbar{display:flex;justify-content:center;gap:12px;margin:0 0 30px}.cc-gallery-wrap{max-width:1280px;margin:auto}.cc-gallery-stage{position:relative;margin:0 auto}.cc-gallery-wrap.is-circle .cc-gallery-stage{height:560px;perspective:1200px;transform-style:preserve-3d}.cc-gallery-wrap.is-circle .cc-gallery-card{position:absolute;left:50%;top:50%;width:300px;height:360px;margin:-180px 0 0 -150px;transition:transform .7s ease,opacity .7s ease;transform-style:preserve-3d;background:white;box-shadow:0 18px 50px #0002;border:1px solid #e5e5e5}.cc-gallery-card{margin:0;background:white}.cc-gallery-open{display:block;width:100%;height:280px;padding:0;border:0;background:#f2f2f2}.cc-gallery-open img{width:100%;height:100%;object-fit:cover;display:block}.cc-gallery-card figcaption{display:grid;gap:5px;padding:18px 20px;font-size:15px}.cc-gallery-card figcaption strong{font-family:CCBold,Arial,sans-serif;font-size:17px}.cc-gallery-card figcaption span{color:#555}.cc-gallery-wrap.is-grid .cc-gallery-stage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.cc-gallery-wrap.is-grid .cc-gallery-card{position:static;transform:none!important;opacity:1!important;border:1px solid #ddd}.cc-gallery-controls{display:flex;justify-content:center;gap:14px;margin-top:28px}.cc-gallery-wrap.is-grid .cc-gallery-controls{display:none}.cc-gallery-lightbox{width:min(1000px,92vw);max-width:none;padding:0;border:0;background:#111;box-shadow:0 20px 70px #0008}.cc-gallery-lightbox::backdrop{background:#000b}.cc-gallery-lightbox img{display:block;width:100%;max-height:86vh;object-fit:contain}.cc-lightbox-close{position:absolute;right:10px;top:10px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;font-size:30px;line-height:1;z-index:2}.cc-gallery-lightbox:not([open]){display:none}
@media(max-width:900px){.cc-gallery-toolbar{display:none}.cc-gallery-wrap.is-circle .cc-gallery-stage,.cc-gallery-stage{height:auto!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;perspective:none}.cc-gallery-wrap.is-circle .cc-gallery-card,.cc-gallery-card{position:static!important;width:auto!important;height:auto!important;margin:0!important;transform:none!important;opacity:1!important;border:1px solid #ddd;box-shadow:none}.cc-gallery-controls{display:none}.cc-gallery-open{height:260px}.cc-gallery-section{padding:45px 22px 70px}}
@media(max-width:560px){.cc-gallery-wrap.is-circle .cc-gallery-stage,.cc-gallery-stage{grid-template-columns:1fr}.cc-gallery-open{height:280px}}
@media(prefers-reduced-motion:reduce){.cc-home-slider .cc-slide,.cc-gallery-wrap.is-circle .cc-gallery-card{transition:none}}


/* v4.1.1 — slider proportions + gallery navigation control fix */
@media(min-width:901px){
  .cc-home-slider{
    width:calc(100% - 30px);
    max-width:1440px;
    margin:0 auto 14px;
  }
}
.cc-gallery-wrap{position:relative;isolation:isolate}
.cc-gallery-stage{position:relative;z-index:1}
.cc-gallery-controls{
  position:relative;
  z-index:1000;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  width:100%;
  min-height:54px;
  margin:32px auto 0;
  pointer-events:auto;
  transform:translateZ(0);
}
.cc-gallery-controls .button{
  position:relative;
  z-index:1001;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:132px;
  min-height:46px;
  pointer-events:auto;
  cursor:pointer;
  touch-action:manipulation;
}
.cc-gallery-wrap.is-circle .cc-gallery-stage{margin-bottom:8px}
.cc-gallery-wrap.is-grid .cc-gallery-controls{display:none}
@media(max-width:900px){
  .cc-home-slider{width:100%;margin-left:0;margin-right:0}
}
