:root{
  --ebc-ink:#1E1A22;
  --ebc-ink-soft:#4A4351;
  --ebc-cream:#FAF7F2;
  --ebc-sand:#F3E9DC;
  --ebc-coral:#FF3567;
  --ebc-coral-dk:#E01B4C;
  --ebc-marigold:#FFC13C;
  --ebc-teal:#14B8A6;
  --ebc-plum:#7A2E5E;
  --ebc-radius:18px;
  --ebc-shadow:0 10px 30px rgba(30,26,34,.10);
  --ebc-max:1180px;
}

/* ---------- base ---------- */
html,body{overflow-x:hidden;}
body,#main,.site-content,#content-wrap{background:var(--ebc-cream);}
body{color:var(--ebc-ink-soft);font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.6;}
h1,h2,h3,h4,h5{font-family:"Fraunces","Georgia",serif;color:var(--ebc-ink);letter-spacing:-.01em;line-height:1.12;font-weight:600;}
h1{font-size:clamp(2rem,4.4vw,3.2rem);margin:0 0 .6rem;}
h2{font-size:clamp(1.55rem,3vw,2.3rem);margin:0 0 .6rem;}
h3{font-size:clamp(1.15rem,1.9vw,1.4rem);margin:0 0 .5rem;}
p{margin:0 0 1rem;}
a{color:var(--ebc-coral-dk);}
a:hover{color:var(--ebc-plum);}

/* ---------- classic-theme block layout fix ---------- */
.entry-content .alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
.entry-content .wp-block-group.alignfull > *{max-width:var(--ebc-max);margin-left:auto;margin-right:auto;}
.entry-content > *{margin-top:0;}
.entry-content .wp-block-columns{gap:1.6rem;margin-bottom:0;}
.content-area,.content-full-width #primary{width:100%;}

/* ---------- header: utility bar ---------- */
#site-header{border:0;background:transparent;}
.ebc-utility{background:var(--ebc-cream);}
.ebc-utility-inner{position:relative;display:flex;align-items:center;justify-content:center;min-height:86px;padding:.5rem 0;}
.ebc-utility-logo a{display:block;line-height:0;}
.ebc-utility-logo img{height:clamp(52px,6.4vw,92px);width:auto;max-width:100%;display:block;}
.ebc-social{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;gap:.3rem;list-style:none;margin:0;padding:0;}
.ebc-social li{margin:0;}
.ebc-social a{position:relative;display:flex;width:42px;height:42px;align-items:center;justify-content:center;
  border-radius:50%;color:var(--ebc-ink);transition:background .15s ease,color .15s ease;}
.ebc-social a:hover{background:var(--ebc-coral);color:#fff;}
.ebc-cart-count{position:absolute;top:3px;right:1px;background:var(--ebc-coral);color:#fff;font-size:10px;
  font-weight:800;min-width:17px;height:17px;border-radius:999px;display:flex;align-items:center;justify-content:center;
  font-family:"Inter",sans-serif;line-height:1;}
.ebc-social a:hover .ebc-cart-count{background:var(--ebc-ink);}

/* ---------- header: nav bar ---------- */
.ebc-navbar{background:var(--ebc-ink);}
.ebc-navbar-inner{display:flex;align-items:center;justify-content:center;position:relative;}
.ebc-navbar .main-menu{display:flex;flex-wrap:wrap;justify-content:center;list-style:none;margin:0;padding:0;}
.ebc-navbar .main-menu > li{margin:0;position:relative;}
.ebc-navbar .main-menu > li > a{display:block;padding:1.05rem 1.35rem;color:#D9D2E0;font-weight:600;
  font-size:14.5px;letter-spacing:.055em;text-transform:uppercase;text-decoration:none;transition:color .15s ease;}
.ebc-navbar .main-menu > li > a:hover{color:#fff;}
.ebc-navbar .main-menu > li > a:after{content:"";position:absolute;left:1.35rem;right:1.35rem;bottom:.55rem;
  height:3px;border-radius:999px;background:var(--ebc-marigold);opacity:0;transform:scaleX(.4);
  transition:opacity .18s ease,transform .18s ease;}
.ebc-navbar .main-menu > li > a:hover:after{opacity:.5;transform:scaleX(1);}
.ebc-navbar .main-menu > li.current-menu-item > a,
.ebc-navbar .main-menu > li.current_page_item > a,
.ebc-navbar .main-menu > li.current-menu-ancestor > a,
.ebc-navbar .main-menu > li.current-menu-parent > a{color:#fff;}
.ebc-navbar .main-menu > li.current-menu-item > a:after,
.ebc-navbar .main-menu > li.current_page_item > a:after,
.ebc-navbar .main-menu > li.current-menu-ancestor > a:after,
.ebc-navbar .main-menu > li.current-menu-parent > a:after{opacity:1;transform:scaleX(1);}
.ebc-navbar #site-navigation-wrap{float:none;}
.ebc-navbar li.woo-menu-icon,.ebc-navbar .wcmenucart-wrap,.ebc-navbar .wcmenucart,
.ebc-navbar .owp-cart-shop-link,.ebc-navbar .current-shop-items-dropdown{display:none!important;}
.ebc-navbar .oceanwp-mobile-menu-icon,.ebc-navbar a.mobile-menu{display:none;}
.ebc-navbar .oceanwp-mobile-menu-icon a{color:#fff;padding:.9rem 0;display:block;}

@media (max-width:959px){
  .ebc-navbar #site-navigation-wrap{display:none;}
  .ebc-navbar .oceanwp-mobile-menu-icon,.ebc-navbar a.mobile-menu{display:block;}
  .ebc-navbar-inner{justify-content:center;}
  .ebc-utility-inner{min-height:72px;}
  .ebc-social a{width:38px;height:38px;}
}
@media (max-width:520px){
  .ebc-utility-inner{flex-direction:column;gap:.5rem;padding:.9rem 0;}
  .ebc-social{position:static;transform:none;}
}

/* ---------- buttons ---------- */
.wp-block-button__link,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,
.ebc-quote-form button{
  border-radius:999px;font-weight:700;letter-spacing:.01em;padding:.8em 1.8em;border:0;font-size:15px;
  background:var(--ebc-coral);color:#fff;text-decoration:none;display:inline-block;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.wp-block-button__link:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.ebc-quote-form button:hover{
  background:var(--ebc-coral-dk);color:#fff;transform:translateY(-1px);box-shadow:var(--ebc-shadow);
}
.wp-block-button.is-style-outline > .wp-block-button__link{
  background:transparent;color:var(--ebc-ink);box-shadow:inset 0 0 0 2px var(--ebc-ink);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover{background:var(--ebc-ink);color:var(--ebc-cream);box-shadow:inset 0 0 0 2px var(--ebc-ink);}
.ebc-dark .wp-block-button.is-style-outline > .wp-block-button__link{color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55);}
.ebc-dark .wp-block-button.is-style-outline > .wp-block-button__link:hover{background:#fff;color:var(--ebc-ink);}

/* ---------- section rhythm ---------- */
.ebc-sec{padding:3rem 1.5rem;}
.ebc-sec-tight{padding:2.25rem 1.5rem;}
.ebc-eyebrow{font-size:12.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ebc-coral-dk);margin:0 0 .5rem;}
.ebc-dark .ebc-eyebrow{color:var(--ebc-marigold);}
.ebc-lede{font-size:clamp(1rem,1.4vw,1.15rem);color:var(--ebc-ink-soft);max-width:62ch;}
.ebc-band{background:var(--ebc-sand);}
.ebc-dark{background:var(--ebc-ink);color:#CFC7D6;}
.ebc-dark h1,.ebc-dark h2,.ebc-dark h3{color:#fff;}
.ebc-rule{height:5px;width:80px;border:0;border-radius:999px;
  background:linear-gradient(90deg,var(--ebc-coral),var(--ebc-marigold),var(--ebc-teal));margin:1rem 0 1.2rem;}

/* ---------- cards ---------- */
.ebc-card{background:#fff;border:1px solid rgba(30,26,34,.07);border-radius:var(--ebc-radius);
  padding:1.6rem!important;box-shadow:var(--ebc-shadow);}
.ebc-card h3{margin-top:0;}
.ebc-card p:last-child{margin-bottom:0;}
.ebc-kicker{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  padding:.35em .8em;border-radius:999px;margin-bottom:.8rem;}
.k-coral{background:rgba(255,53,103,.12);color:var(--ebc-coral-dk);}
.k-marigold{background:rgba(255,193,60,.25);color:#8A5A00;}
.k-teal{background:rgba(20,184,166,.15);color:#0B6E63;}

/* ---------- owner panel ---------- */
.ebc-owner{background:#fff;border:1px solid rgba(30,26,34,.07);border-radius:var(--ebc-radius);
  box-shadow:var(--ebc-shadow);padding:1.7rem!important;text-align:center;}
.ebc-owner .wp-block-image{margin:0 auto .9rem;max-width:190px;}
.ebc-owner img{border-radius:50%;display:block;width:100%;height:auto;}
.ebc-owner h3{margin:0 0 .35rem;}
.ebc-owner p{font-size:15px;margin-bottom:.8rem;}
.ebc-owner .ebc-owner-tag{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ebc-coral-dk);margin-bottom:.6rem;}

/* ---------- badges & steps ---------- */
.ebc-badges{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;padding:0;margin:1.3rem 0 0;}
.ebc-badges li{font-size:12.5px;font-weight:700;background:#fff;border:1px solid rgba(30,26,34,.1);
  padding:.4em .9em;border-radius:999px;color:var(--ebc-ink);margin:0;}
.ebc-steps{counter-reset:ebcstep;}
.ebc-step{counter-increment:ebcstep;position:relative;padding-left:3.6rem;}
.ebc-step:before{content:counter(ebcstep);position:absolute;left:0;top:-.1rem;width:2.6rem;height:2.6rem;
  border-radius:50%;background:var(--ebc-marigold);color:var(--ebc-ink);font-family:"Fraunces",serif;
  font-weight:700;font-size:1.2rem;display:flex;align-items:center;justify-content:center;}
.ebc-step p:last-child{margin-bottom:0;}

/* ---------- proof strip ---------- */
.ebc-proof{gap:1rem;}
.ebc-proof .wp-block-image{margin:0;}
.ebc-proof img{border-radius:14px;width:100%;height:190px;object-fit:cover;display:block;}
@media (max-width:781px){.ebc-proof img{height:150px;}}

/* ---------- woocommerce ---------- */
.woocommerce ul.products li.product{background:#fff;border:1px solid rgba(30,26,34,.07);
  border-radius:var(--ebc-radius);padding:1rem 1rem 1.3rem;box-shadow:var(--ebc-shadow);}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:"Fraunces",serif;font-size:1.02rem!important;}
.woocommerce ul.products li.product .price{color:var(--ebc-ink)!important;font-weight:700;}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info{border-top-color:var(--ebc-coral);}

/* ---------- footer ---------- */
#footer-widgets,#footer-bottom{background:var(--ebc-ink);color:#B9B1C2;}
#footer-widgets .widget-title,#footer-widgets h3{color:#fff;}
#footer-widgets a,#footer-bottom a{color:var(--ebc-marigold);}

/* ---------- quote form ---------- */
.ebc-hp{position:absolute!important;left:-9999px!important;height:1px;overflow:hidden;}
.ebc-quote-form{background:#fff;border:1px solid rgba(30,26,34,.08);border-radius:var(--ebc-radius);
  padding:1.9rem;box-shadow:var(--ebc-shadow);margin-top:1.6rem;}
.ebc-quote-form .ebc-field{margin:0 0 1.1rem;flex:1 1 240px;}
.ebc-quote-form .ebc-field-row{display:flex;gap:1.1rem;flex-wrap:wrap;}
.ebc-quote-form label{display:block;font-weight:700;font-size:14px;color:var(--ebc-ink);margin-bottom:.35rem;}
.ebc-quote-form label span{color:var(--ebc-coral-dk);}
.ebc-quote-form input[type=text],.ebc-quote-form input[type=email],.ebc-quote-form input[type=tel],
.ebc-quote-form input[type=date],.ebc-quote-form select,.ebc-quote-form textarea,.ebc-quote-form input[type=file]{
  width:100%;border:1.5px solid rgba(30,26,34,.16);border-radius:12px;padding:.65rem .85rem;
  font:inherit;font-size:16px;background:var(--ebc-cream);color:var(--ebc-ink);}
.ebc-quote-form input:focus,.ebc-quote-form select:focus,.ebc-quote-form textarea:focus{
  outline:0;border-color:var(--ebc-coral);box-shadow:0 0 0 3px rgba(255,53,103,.16);background:#fff;}
.ebc-quote-form .ebc-hint{display:block;font-weight:400;font-size:13px;color:var(--ebc-ink-soft);margin-top:.4rem;}
.ebc-quote-form .ebc-check label{display:flex;gap:.55rem;align-items:flex-start;font-weight:500;}
.ebc-quote-form .ebc-check input{width:auto;margin-top:.25rem;}
.ebc-quote-form button{cursor:pointer;font-size:16px;}
.ebc-form-success{background:var(--ebc-sand);border-radius:var(--ebc-radius);padding:1.8rem;margin-top:1.6rem;}
.ebc-form-success h3{margin-top:0;}
.ebc-form-error{background:rgba(255,53,103,.1);border:1px solid var(--ebc-coral);
  border-radius:12px;padding:.9rem 1.1rem;margin-bottom:1.3rem;color:var(--ebc-ink);}

@media (max-width:781px){
  .ebc-sec{padding:2.2rem 1.25rem;}
  .ebc-card{padding:1.3rem!important;}
  .ebc-quote-form{padding:1.25rem;}
  .ebc-quote-form .ebc-field-row{gap:0;}
  .entry-content .wp-block-columns{gap:1.1rem;}
}

/* ---------- footer ---------- */
#footer{background:var(--ebc-ink);}
.ebc-footer{background:var(--ebc-ink);color:#B3AABE;padding:2.8rem 1.5rem 1.6rem;}
.ebc-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:2rem;max-width:var(--ebc-max);margin:0 auto;}
.ebc-footer-brand img{max-width:250px;height:auto;display:block;margin-bottom:1rem;}
.ebc-footer-brand p{font-size:14.5px;max-width:38ch;margin-bottom:1rem;}
.ebc-footer-social{display:inline-flex;align-items:center;gap:.5rem;color:var(--ebc-marigold);
  font-weight:700;font-size:14px;text-decoration:none;}
.ebc-footer-social:hover{color:#fff;}
.ebc-footer-col h4{color:#fff;font-family:"Fraunces",serif;font-size:1.02rem;margin:0 0 .7rem;}
.ebc-footer-col ul{list-style:none;margin:0;padding:0;}
.ebc-footer-col li{margin:0 0 .45rem;font-size:14.5px;}
.ebc-footer-col a{color:#B3AABE;text-decoration:none;}
.ebc-footer-col a:hover{color:var(--ebc-marigold);}
#footer-bottom{background:var(--ebc-ink);border-top:1px solid rgba(255,255,255,.08);padding:1rem 0;}
#footer-bottom,#footer-bottom p{color:#8D8399;font-size:13px;}
@media (max-width:900px){
  .ebc-footer-grid{grid-template-columns:1fr 1fr;gap:1.6rem;}
  .ebc-footer-brand{grid-column:1 / -1;}
}
@media (max-width:560px){ .ebc-footer-grid{grid-template-columns:1fr;} }

/* ---------- narrow content pages ---------- */
.entry-content .wp-block-group.alignfull.ebc-narrow > *{max-width:860px;}
.entry-content .wp-block-group.alignfull.ebc-narrow .wp-block-columns{max-width:860px;}
.ebc-narrow h2{margin-top:2rem;}
.ebc-narrow h2:first-of-type{margin-top:1rem;}
.ebc-narrow ul.wp-block-list li{margin-bottom:.4rem;}

/* ---------- remove empty OceanWP top bar ---------- */
#top-bar-wrap{display:none!important;}
