/* ============================================================
   Choice Hospice — WordPress / Elementor compatibility layer
   Maps wp_nav_menu() markup onto the brand nav + dropdown styles
   and handles fixed-header spacing.
   ============================================================ */

/* keep content clear of the fixed header (generic WP/Elementor pages) */
.site-main{padding-top:138px;}
@media(max-width:920px){.site-main{padding-top:96px;}}
/* If a page builds its own full-bleed hero with .page-hero, it already
   clears the header — add the .ch-flush class to <main> to remove padding:
   body.page-flush .site-main{padding-top:0;} */
body.page-flush .site-main{padding-top:0;}

/* --- primary menu (wp_nav_menu .main-nav) --- */
.main-nav{display:flex;align-items:center;gap:4px;margin:0;padding:0;list-style:none;}
.main-nav li{list-style:none;position:relative;}
.main-nav > li > a{display:flex;align-items:center;gap:6px;padding:14px 16px;font-family:var(--sans);
  font-weight:600;font-size:15.5px;color:var(--charcoal);border-radius:var(--radius);transition:color .2s;position:relative;}
.main-nav > li:hover > a{color:var(--navy);}
.main-nav > li > a::after{content:"";position:absolute;left:16px;right:16px;bottom:8px;height:2px;background:var(--sage);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);}
.main-nav > li:hover > a::after{transform:scaleX(1);}
/* caret for parents */
.main-nav > li.menu-item-has-children > a::before{content:"";display:inline-block;width:8px;height:8px;
  border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);
  margin-left:4px;position:relative;top:-2px;transition:transform .3s var(--ease);}
.main-nav > li.menu-item-has-children:hover > a::before{transform:rotate(-135deg);top:1px;}

/* dropdown (.sub-menu) */
.main-nav .sub-menu{position:absolute;top:calc(100% - 4px);left:0;min-width:262px;background:#fff;
  border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:10px;margin:0;
  list-style:none;opacity:0;visibility:hidden;transform:translateY(10px);z-index:60;
  transition:opacity .26s var(--ease),transform .26s var(--ease),visibility .26s;}
.main-nav > li:hover > .sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
.main-nav .sub-menu::before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px;}
.main-nav .sub-menu a{display:block;padding:11px 14px;border-radius:var(--radius);font-size:14.5px;font-weight:600;color:var(--charcoal);transition:background .2s,color .2s,padding-left .25s;}
.main-nav .sub-menu a:hover{background:var(--gentle-sky);color:var(--navy);padding-left:20px;}
.main-nav .sub-menu a::after{display:none;}

/* --- mobile drawer menu (.m-nav from wp_nav_menu) --- */
.m-nav{list-style:none;margin:0;padding:0;}
.m-nav > li{border-bottom:1px solid var(--line-soft);}
.m-nav > li > a{display:flex;justify-content:space-between;align-items:center;padding:15px 4px;
  font-weight:600;font-size:16px;color:var(--charcoal);}
.m-nav .menu-item-has-children > a::after{content:"";width:9px;height:9px;border-right:2px solid var(--muted);
  border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .3s;}
.m-nav li.open > a::after{transform:rotate(-135deg);}
.m-nav .sub-menu{list-style:none;margin:0;padding:0 0 8px 14px;max-height:0;overflow:hidden;transition:max-height .35s var(--ease);}
.m-nav li.open > .sub-menu{max-height:360px;}
.m-nav .sub-menu a{display:block;padding:9px 4px;font-size:14.5px;color:var(--muted);font-weight:500;}
.m-nav .sub-menu a:hover{color:var(--navy);}

@media(max-width:920px){
  .main-nav{display:none;}
}

/* --- Elementor helpers --- */
/* let the brand container widths line up if used inside Elementor */
.elementor .wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);}
.elementor .wrap-wide{max-width:var(--maxw-wide);margin:0 auto;padding:0 var(--gutter);}
/* default icon sizing for [ch_icon] / [data-icon] inside Elementor text widgets */
.ch-ico,[data-icon] > svg{width:1.5em;height:1.5em;color:var(--navy);}

/* --- Elementor Pro Forms → Choice Hospice brand styling --- */
/* Any Pro Form on the site automatically matches the brand. */
.elementor-form .elementor-field-group > label,
.elementor-form .elementor-field-label{
  font-family:var(--sans);font-size:13.5px;font-weight:700;color:var(--navy);
  letter-spacing:.02em;margin-bottom:7px;}
.elementor-form .elementor-field-group .elementor-field-textual{
  font-family:var(--sans) !important;font-size:15px !important;color:var(--ink) !important;
  padding:14px 16px !important;min-height:52px;background:#fff !important;
  border:1.5px solid var(--line) !important;border-radius:var(--radius) !important;
  transition:border-color .25s,box-shadow .25s;}
.elementor-form .elementor-field-group textarea.elementor-field-textual{min-height:130px;}
.elementor-form .elementor-field-group .elementor-field-textual:focus{
  outline:none;border-color:var(--hospice-blue) !important;
  box-shadow:0 0 0 3px rgba(92,125,153,.16) !important;}
.elementor-form .elementor-field-group .elementor-select-wrapper select{color:var(--ink) !important;}
.elementor-form .elementor-button,
.elementor-form button[type="submit"]{
  background:var(--navy) !important;color:#fff !important;font-family:var(--sans) !important;
  font-weight:700 !important;font-size:15px !important;letter-spacing:.01em;
  padding:16px 30px !important;min-height:54px;border:1.5px solid var(--navy) !important;
  border-radius:var(--radius) !important;transition:background .25s,transform .35s var(--ease),box-shadow .35s;}
.elementor-form .elementor-button:hover,
.elementor-form button[type="submit"]:hover{
  background:var(--navy-deep) !important;border-color:var(--navy-deep) !important;
  transform:translateY(-2px);box-shadow:var(--shadow);}
.elementor-form .elementor-field-required .elementor-field-label:after,
.elementor-form .elementor-mark-required .elementor-field-label:after{color:var(--sage-deep);}
