/* Defaults match the original Policies page: a centered 700px list, Gotham Ultra section headings, light rows
   separated by a 2px white border, and navy pill buttons that grow on hover. Elementor widget controls override them. */
/* Buttons here never take the WordPress theme's magenta hover/focus (Hello Elementor's reset): a light gold with navy
   text instead. First in this file at the theme's own weight, so it beats the theme but each button's own hover below
   still wins. */
:where(.prep-policies,[class*="prep-policies__"]) :is(button,[type=button],[type=submit],[type=reset]):is(:hover,:focus){background-color:#f3e8cd;color:#002b54;text-decoration:none}
.prep-policies{--pp-navy:#002b54;--pp-row:#f2f5f7;--pp-btn-line:#e6d5bd;--pp-muted:#64798c;--pp-ultra:'Gotham Ultra',Arial,sans-serif;--pp-medium:'Gotham Medium',Arial,sans-serif;--pp-bold:'Gotham Bold',Arial,sans-serif;--pp-book:'Gotham Book',Arial,sans-serif;--pp-btn-scale:1.1;
  width:100%;max-width:700px;margin-left:auto;margin-right:auto;color:var(--pp-navy);font-family:var(--pp-medium)}
.prep-policies *{box-sizing:border-box}
.prep-policies [hidden]{display:none!important}
.prep-policies .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* Sections and headings */
.prep-policies .prep-policies__section{margin:0 0 30px}
.prep-policies .prep-policies__section:last-of-type{margin-bottom:0}
/* Heading text starts where the policy numbers do (rows: 2px border + 5px padding). */
.prep-policies .prep-policies__heading{margin:0 0 10px;padding:0 7px;font:500 18px/1 var(--pp-ultra);color:var(--pp-navy);letter-spacing:normal;text-transform:none;border-bottom:0 solid transparent}
.prep-policies .prep-policies__toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:inherit;cursor:pointer}
.prep-policies .prep-policies__toggle:hover,.prep-policies .prep-policies__toggle:focus{background:none;color:inherit}
/* Collapsible heading hover: a light gold highlight with rounded corners, like the site search results. The
   padding is offset with negative margins so the heading text stays where it was. The button selector outranks the
   site theme's button hover (white background and shadow). */
.prep-policies button.prep-policies__toggle{width:calc(100% + 2 * var(--pp-heading-pad-x,10px));margin:calc(-1 * var(--pp-heading-pad-y,6px)) calc(-1 * var(--pp-heading-pad-x,10px));padding:var(--pp-heading-pad-y,6px) var(--pp-heading-pad-x,10px);border:0;border-radius:var(--pp-heading-hover-radius,10px);background:transparent;box-shadow:none;transform:none;transition:background-color .18s ease,color .18s ease}
.prep-policies button.prep-policies__toggle:not(:hover):focus:not(:focus-visible){background:transparent;box-shadow:none}
.prep-policies button.prep-policies__toggle:hover,.prep-policies button.prep-policies__toggle:focus-visible{background:var(--pp-heading-hover-bg,#efe9df);color:var(--pp-heading-hover-color,inherit);box-shadow:none}

.prep-policies .prep-policies__toggle:focus-visible{outline:2px solid var(--pp-navy);outline-offset:4px}
.prep-policies .prep-policies__chevron{flex:0 0 auto;width:18px;height:18px;transition:transform .2s ease}
.prep-policies .prep-policies__toggle[aria-expanded="false"] .prep-policies__chevron{transform:rotate(-90deg)}

/* Rows */
.prep-policies .prep-policies__list{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.prep-policies .prep-policies__row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:5px;background:var(--pp-row);border:2px solid #fff;border-radius:10px;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.prep-policies .prep-policies__title{flex:1 1 auto;min-width:0;margin:0;font:500 14px/1.5 var(--pp-medium);color:var(--pp-navy);letter-spacing:normal;text-transform:none;overflow-wrap:anywhere}
.prep-policies .prep-policies__title-link{color:inherit;text-decoration:none;transition:color .2s ease}
.prep-policies .prep-policies__title-link:hover{text-decoration:underline}

/* Buttons */
.prep-policies .prep-policies__buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;flex:0 0 auto;margin-right:5px}
.prep-policies .prep-policies__btn{display:inline-flex;align-items:center;gap:10px;padding:5px 10px;border:1px solid var(--pp-btn-line);border-radius:100px;background:var(--pp-navy);color:#fff;font:400 14px/1 var(--pp-bold);text-decoration:none;white-space:nowrap;transition:transform .3s ease,background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}
.prep-policies .prep-policies__btn:hover,.prep-policies .prep-policies__btn:focus-visible{transform:translateY(calc(-1 * var(--pp-btn-lift,0px))) scale(var(--pp-btn-scale));color:#fff;text-decoration:none}
.prep-policies .prep-policies__btn:focus-visible{outline:2px solid var(--pp-focus,var(--pp-navy));outline-offset:2px}
/* Button style presets (Content → Buttons → Style). Written as "a.prep-policies__btn" so they beat the defaults above
   but stay below the widget's Style → Buttons settings, which always win. */
.prep-policies--btn-outline a.prep-policies__btn{background:transparent;color:var(--pp-navy);border-color:var(--pp-navy)}
.prep-policies--btn-outline a.prep-policies__btn:hover,.prep-policies--btn-outline a.prep-policies__btn:focus-visible{background:var(--pp-navy);color:#fff}
.prep-policies--btn-soft a.prep-policies__btn{background:#e3eaf1;color:var(--pp-navy);border-color:transparent}
.prep-policies--btn-soft a.prep-policies__btn:hover,.prep-policies--btn-soft a.prep-policies__btn:focus-visible{background:var(--pp-navy);color:#fff}
.prep-policies--btn-link a.prep-policies__btn{padding:4px 2px;background:transparent;border-color:transparent;color:var(--pp-navy);--pp-btn-scale:1}
.prep-policies--btn-link a.prep-policies__btn:hover,.prep-policies--btn-link a.prep-policies__btn:focus-visible{color:var(--pp-navy)}
.prep-policies--btn-link a.prep-policies__btn:hover .prep-policies__btn-text,.prep-policies--btn-link a.prep-policies__btn:focus-visible .prep-policies__btn-text{text-decoration:underline}
.prep-policies .prep-policies__icon{flex:0 0 auto;width:14px;height:14px}
.prep-policies .prep-policies__icon--custom{display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1}
.prep-policies .prep-policies__icon--custom svg{width:100%;height:100%;fill:currentColor}
.prep-policies--icon-after .prep-policies__icon{order:2}
.prep-policies--no-icon .prep-policies__icon{display:none}

/* Search, section links, count and no-results message (all optional) */
/* Search & filter bar: a colored band (full screen width by default, like the staff directory's) holding the
   search box, Section and Sort menus and a Clear button on one line. */
.prep-policies{--pp-bar-bg:#efe9df;--pp-height:36px;--pp-sticky-top:0px;--pp-admin-bar:0px}
body.admin-bar .prep-policies{--pp-admin-bar:32px}
@media(max-width:782px){body.admin-bar .prep-policies{--pp-admin-bar:46px}}
@media(max-width:600px){
  .prep-policies{--pp-height:38px}body.admin-bar .prep-policies{--pp-admin-bar:0px}}
.prep-policies .prep-policies__bar{--pp-bar-fill:linear-gradient(to top,var(--pp-bar-line,transparent) 0 var(--pp-bar-line-w,0px),var(--pp-bar-bg) 0);margin:0 0 24px;padding:16px 0;background:var(--pp-bar-fill)}
.prep-policies.prep-policies--bleed .prep-policies__bar{border-image:var(--pp-bar-fill) fill 0//0 100vmax}
.prep-policies.prep-policies--freeze-bar .prep-policies__bar{position:sticky;top:calc(var(--pp-sticky-top) + var(--pp-admin-bar));z-index:30;transition:box-shadow .2s ease}
.prep-policies .prep-policies__bar.is-stuck{box-shadow:none}
.prep-policies .prep-policies__bar-inner{display:flex;flex-wrap:var(--pp-bar-wrap,nowrap);align-items:flex-end;gap:10px;margin:0 auto}
.prep-policies .prep-policies__field{display:flex;flex-direction:column;gap:5px;min-width:0}
.prep-policies .prep-policies__field--search{flex:var(--pp-search-grow,var(--pp-search-share-grow,1)) 1 var(--pp-search-basis,var(--pp-search-share,0%));min-width:min(160px,100%)}
.prep-policies .prep-policies__field--section{flex:var(--pp-menu-grow,0) 1 210px}
.prep-policies .prep-policies__field--sort{flex:var(--pp-menu-grow,0) 1 170px}
.prep-policies .prep-policies__field--clear{flex:0 0 auto}
.prep-policies .prep-policies__field--toggle-all{flex:0 0 auto}
.prep-policies .prep-policies__field--clear.is-idle:not(.is-always){display:none}
.prep-policies .prep-policies__bar .prep-policies__clear:disabled{opacity:.5;cursor:default}
.prep-policies .prep-policies__bar-label{font:12px/1.4 var(--pp-medium);color:var(--pp-navy)}
.prep-policies--no-bar-labels .prep-policies__bar-label{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.prep-policies .prep-policies__bar select{display:block;width:100%;height:var(--pp-height);margin:0;padding:0 36px 0 16px;border:1px solid #d4dce4;border-radius:999px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%23002b54' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center/14px 14px;color:var(--pp-navy);font:14px var(--pp-book);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-appearance:none;appearance:none;transition:border-color .18s ease,box-shadow .18s ease}
.prep-policies .prep-policies__bar select:hover{border-color:var(--pp-navy)}
.prep-policies .prep-policies__bar select:focus{outline:0}
.prep-policies .prep-policies__bar select:focus-visible{outline:2px solid var(--pp-navy);outline-offset:2px}
.prep-policies .prep-policies__clear{display:inline-flex;align-items:center;justify-content:center;width:var(--pp-height);height:var(--pp-height);min-height:0;margin:0;padding:0;border:1px solid #d4dce4;border-radius:50%;background:#fff;color:var(--pp-navy);cursor:pointer;box-shadow:none;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.prep-policies .prep-policies__clear:hover{border-color:var(--pp-navy);background:#fff;color:var(--pp-navy)}
.prep-policies .prep-policies__clear:focus-visible{outline:2px solid var(--pp-navy);outline-offset:2px}
/* Clear button: an X circle by default; Icon + text and Text make it a pill. */
.prep-policies .prep-policies__bar .prep-policies__clear:not(.prep-policies__clear--compact){width:auto;gap:8px;padding:0 18px;border-radius:999px;font:14px/1 var(--pp-book);white-space:nowrap}
.prep-policies .prep-policies__clear .prep-policies__menu-icon{position:static;transform:none;width:16px;height:16px;color:inherit}
/* Menu icons (Icon + text) and Icon only circles, as in the staff directory. */
.prep-policies .prep-policies__menu-box{position:relative;display:block}
/* Keep filter icons in front of native select controls, including in Elementor's mobile preview and iOS browsers.
   The SVG must not consume taps: the native picker remains the actual interaction target. */
.prep-policies .prep-policies__menu-box > select{position:relative;z-index:0}
.prep-policies .prep-policies__menu-box > .prep-policies__menu-icon{z-index:3;visibility:visible;opacity:1;pointer-events:none}
.prep-policies .prep-policies__menu-icon{position:absolute;z-index:1;top:50%;left:var(--pp-menu-icon-left,16px);width:var(--pp-menu-icon-size,16px);height:var(--pp-menu-icon-size,16px);transform:translateY(-50%);color:var(--pp-menu-icon-color,var(--pp-navy));pointer-events:none}
.prep-policies .prep-policies__menu-icon--custom{display:inline-flex;align-items:center;justify-content:center;font-size:var(--pp-menu-icon-size,16px);line-height:1}
.prep-policies .prep-policies__menu-icon--custom svg{width:100%;height:100%;fill:currentColor}
.prep-policies .prep-policies__menu-box:hover .prep-policies__menu-icon{color:var(--pp-menu-icon-hover,var(--pp-menu-icon-color,var(--pp-navy)))}
.prep-policies .prep-policies__bar .prep-policies__menu.has-icon select{padding-left:calc(var(--pp-menu-icon-left,16px) + var(--pp-menu-icon-size,16px) + 8px)}
.prep-policies .prep-policies__bar .prep-policies__field.is-compact{flex:0 0 auto}
.prep-policies .prep-policies__bar .prep-policies__menu.is-compact .prep-policies__bar-label{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.prep-policies .prep-policies__bar .prep-policies__menu.is-compact .prep-policies__menu-box{width:var(--pp-compact-size,var(--pp-height));height:var(--pp-compact-size,var(--pp-height))}
.prep-policies .prep-policies__bar .prep-policies__menu.is-compact select{width:100%;height:100%;padding:0!important;border-radius:var(--pp-compact-radius,50%);color:transparent;background-image:none;text-indent:-9999px}
.prep-policies .prep-policies__bar .prep-policies__menu.is-compact select option{color:var(--pp-navy);text-indent:0}
.prep-policies .prep-policies__bar .prep-policies__menu.is-compact .prep-policies__menu-icon{left:50%;transform:translate(-50%,-50%)}
.prep-policies .prep-policies__bar .prep-policies__field--clear.is-compact .prep-policies__clear{width:var(--pp-compact-size,var(--pp-height));height:var(--pp-compact-size,var(--pp-height));border-radius:var(--pp-compact-radius,50%)}
.prep-policies .prep-policies__menu.is-compact.is-set .prep-policies__menu-box::after{content:'';position:absolute;z-index:2;top:0;right:0;width:10px;height:10px;border-radius:50%;background:var(--pp-set-dot,#b79664);box-shadow:0 0 0 2px #fff;pointer-events:none}
.prep-policies--no-search-icon .prep-policies__glass{display:none}
/* Styled dropdown list (policies.js): opens below its menu instead of over it. */
.prep-policies .prep-policies__popup{position:absolute;z-index:60;top:calc(100% + 6px);left:0;min-width:max(100%,200px);max-height:min(60vh,360px);overflow:auto;padding:6px;background:#fff;border:1px solid #cbd6e1;border-radius:14px;box-shadow:none;outline:0;text-align:left;cursor:default}
.prep-policies .prep-policies__popup.is-right{left:auto;right:0}
.prep-policies .prep-policies__option{padding:9px 12px;border-radius:9px;font:14px/1.3 var(--pp-book);color:var(--pp-navy);white-space:nowrap;cursor:pointer}
.prep-policies .prep-policies__option.is-active{background:var(--pp-row)}
.prep-policies .prep-policies__option[aria-selected="true"]{font-family:var(--pp-medium)}
/* Frozen section headings stay below a frozen bar while their section scrolls by. */
.prep-policies--freeze-headings .prep-policies__heading{position:sticky;top:var(--pp-frozen-bottom,calc(var(--pp-sticky-top) + var(--pp-admin-bar)));z-index:20;background:var(--pp-heading-bg,#fff);padding-top:8px;padding-bottom:8px;margin-bottom:2px}
/* Search results: policies found inside their documents show an excerpt under the title. While searching, rows get
   the site search's hover (light gold, 1% larger) and fade up as they appear. Optionally the hover applies all the time. */
.prep-policies.prep-policies--searching .prep-policies__row,.prep-policies.prep-policies--hover-all .prep-policies__row{position:relative;transition:transform .24s cubic-bezier(.2,.7,.3,1),background-color .18s ease,border-color .2s ease,box-shadow .2s ease}
.prep-policies.prep-policies--searching .prep-policies__row:hover,.prep-policies.prep-policies--searching .prep-policies__row:focus-within,.prep-policies.prep-policies--hover-all .prep-policies__row:hover,.prep-policies.prep-policies--hover-all .prep-policies__row:focus-within{z-index:2;transform:scale(var(--pp-result-scale,1.01));background-color:var(--pp-result-hover,#efe9df)}
.prep-policies .prep-policies__row.is-entering>*{animation:prep-policies-fade-up .39s cubic-bezier(.2,.7,.3,1) both;animation-delay:calc(var(--pp-order,0) * 32.5ms)}
@keyframes prep-policies-fade-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.prep-policies .prep-policies__snippet[hidden]{display:none}
/* Click anywhere on a result to open it; with several buttons, a pop-up asks which. */
.prep-policies.prep-policies--clickable.prep-policies--searching .prep-policies__row,.prep-policies.prep-policies--clickable.prep-policies--hover-all .prep-policies__row{cursor:pointer}
.prep-policies .prep-policies__row.is-choosing{z-index:30;background-color:var(--pp-result-hover,#efe9df)}
.prep-policies .prep-policies__choose{position:absolute;top:calc(100% - 8px);z-index:40;display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:200px;max-width:min(320px,calc(100% - 16px));padding:12px;background:var(--pp-choose-bg,#fff);border-radius:12px;box-shadow:none;cursor:default;animation:prep-policies-fade-up .2s cubic-bezier(.2,.7,.3,1) both}
.prep-policies .prep-policies__choose.is-above{top:auto;bottom:calc(100% - 8px)}
.prep-policies .prep-policies__choose-title{margin:0 0 2px;padding:0;font:13px/1.35 var(--pp-book);color:var(--pp-muted)}
.prep-policies .prep-policies__choose .prep-policies__btn{justify-content:flex-start;margin:0}
@media (prefers-reduced-motion:reduce){.prep-policies .prep-policies__row.is-entering>*{animation:none}.prep-policies.prep-policies--searching .prep-policies__row,.prep-policies.prep-policies--hover-all .prep-policies__row{transform:none!important;transition:background-color .18s ease}}
.prep-policies .prep-policies__main{flex:1 1 auto;min-width:0}
.prep-policies .prep-policies__snippet{margin:2px 0 0;padding:0;font:13px/1.45 var(--pp-book);color:var(--pp-muted);overflow-wrap:anywhere}
.prep-policies .prep-policies__mark{background:#f6e7b8;color:inherit;border-radius:3px;padding:0 1px}
.prep-policies .prep-policies__search{display:flex;align-items:center;gap:10px;height:var(--pp-height);padding:0 16px;border:1px solid #d4dce4;border-radius:999px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease}
.prep-policies .prep-policies__search:focus-within{border-color:var(--pp-navy)}
.prep-policies .prep-policies__glass{flex:0 0 auto;width:18px;height:18px;color:var(--pp-navy)}
.prep-policies .prep-policies__search input,.prep-policies .prep-policies__search input:focus{flex:1 1 0;width:0;min-width:0;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;outline:0!important;box-shadow:none !important;background:transparent!important;color:var(--pp-navy);font:15px var(--pp-book)}
.prep-policies .prep-policies__search input::placeholder{color:#7d8fa1;opacity:1}
.prep-policies .prep-policies__nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 24px}
.prep-policies .prep-policies__nav-link{padding:7px 14px;border:1px solid transparent;border-radius:999px;background:var(--pp-row);color:var(--pp-navy);font:14px/1.2 var(--pp-medium);text-decoration:none;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.prep-policies .prep-policies__nav-link:hover,.prep-policies .prep-policies__nav-link:focus-visible{background:var(--pp-navy);color:#fff}
/* The count line, with the Collapse all / Expand all button at the right. */
.prep-policies .prep-policies__meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:0 0 16px;padding:0 7px}
.prep-policies .prep-policies__meta .prep-policies__count{margin:0;padding:0}
.prep-policies .prep-policies__toggle-all{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;min-height:0;margin:0 0 0 var(--pp-toggle-all-ml,auto);padding:0 12px;border:1px solid #d4dce4;border-radius:999px;background:#fff;color:var(--pp-navy);font:13px/1 var(--pp-book);letter-spacing:normal;text-transform:none;white-space:nowrap;box-shadow:none;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}
.prep-policies .prep-policies__toggle-all:hover,.prep-policies .prep-policies__toggle-all:focus{background:var(--pp-bar-bg,#efe9df);border-color:#c9b99c;color:var(--pp-navy)}
.prep-policies .prep-policies__toggle-all:focus-visible{outline:2px solid var(--pp-focus,var(--pp-navy));outline-offset:2px}
.prep-policies .prep-policies__toggle-all-icon{flex:0 0 auto;width:16px;height:16px;font-size:16px;line-height:1}
.prep-policies .prep-policies__toggle-all-icon--custom{display:inline-flex;align-items:center;justify-content:center}
.prep-policies .prep-policies__toggle-all-icon--custom svg{width:1em;height:1em;fill:currentColor}
.prep-policies .prep-policies__toggle-all .prep-policies__toggle-all-icon--expand,.prep-policies .prep-policies__toggle-all.is-collapsed .prep-policies__toggle-all-icon--collapse{display:none}
.prep-policies .prep-policies__toggle-all.is-collapsed .prep-policies__toggle-all-icon--expand{display:inline-flex}
.prep-policies .prep-policies__toggle-all.is-icon{width:auto;aspect-ratio:1/1;padding:0}
.prep-policies .prep-policies__toggle-all.is-icon .prep-policies__toggle-all-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* In the search & menus bar: as tall as the search box. Listed after the defaults above with the same weight, and one
   class lighter than the widget's Style → Collapse all button settings, so those always win. */
.prep-policies__bar .prep-policies__toggle-all{height:var(--pp-height);margin:0;padding:0 16px;font-size:14px}
.prep-policies__bar .prep-policies__toggle-all.is-icon{padding:0}
.prep-policies__bar .prep-policies__toggle-all:hover,.prep-policies__bar .prep-policies__toggle-all:focus{background:#fff;border-color:var(--pp-navy)}
.prep-policies .prep-policies__count,.prep-policies .prep-policies__empty{margin:0 0 16px;padding:0 7px;font:14px/1.4 var(--pp-book);color:var(--pp-muted)}

@media(max-width:767px){
  .prep-policies .prep-policies__title{font-size:15px}
  /* The bar wraps: search on its own line, then the menus and Clear button. */
  .prep-policies .prep-policies__bar-inner{flex-wrap:wrap}
  .prep-policies:not(.prep-policies--menus-compact) .prep-policies__field--search{flex-basis:100%}
  .prep-policies.prep-policies--menus-compact .prep-policies__bar-inner{flex-wrap:nowrap}
  .prep-policies .prep-policies__field--section,.prep-policies .prep-policies__field--sort{flex:1 1 0}
  /* Long button labels wrap instead of squeezing the title. */
  .prep-policies .prep-policies__buttons{max-width:45%}
  .prep-policies .prep-policies__btn{white-space:normal;line-height:1.2;text-align:left}
}
@media(prefers-reduced-motion:reduce){
  .prep-policies .prep-policies__btn,.prep-policies .prep-policies__row,.prep-policies .prep-policies__chevron{transition:none}
  .prep-policies .prep-policies__btn:hover,.prep-policies .prep-policies__btn:focus-visible{transform:none}
}

/* Phones and tablets: iOS zooms the page into any text box or menu with text under 16px, so on touch screens the
   search box and menus always use 16px (this outranks a smaller size set in the widget, on touch screens only). */
@media (hover:none),(pointer:coarse){.prep-policies .prep-policies__search input,.prep-policies .prep-policies__bar select{font-size:16px!important}}

/* Shown when several words found nothing as an exact phrase and were looked for separately instead. */
.prep-policies .prep-policies__loose{margin:0 0 14px;padding:0 7px;font:italic 13px/1.45 var(--pp-book);color:var(--pp-muted)}
.prep-policies .prep-policies__each-word{display:inline;margin:0;padding:0;border:0;background:none;box-shadow:none;color:var(--pp-navy,#002b54);font:inherit;font-style:normal;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.prep-policies .prep-policies__each-word:hover,.prep-policies .prep-policies__each-word:focus{background:none;color:var(--pp-navy,#002b54);text-decoration-thickness:2px}

/* Phones (Elementor's mobile breakpoint) don't grow buttons or search results on tap; the widget's Grow settings for Mobile can turn it back on. */
@media(max-width:767px){.prep-policies{--pp-btn-scale:1;--pp-result-scale:1}}
/* Touch screens: a tap leaves a button or row "hovered" until the next tap, so hover grow and lift never apply there. */
@media (hover:none){.prep-policies .prep-policies__btn:hover,.prep-policies .prep-policies__btn:focus-visible,.prep-policies .prep-policies__row:hover,.prep-policies .prep-policies__row:focus-within{transform:none!important}}

/* 1.9.39: Accordion state must hide contents even when theme/Elementor overrides
   the [hidden] attribute. Applies to section buttons and Collapse all. */
.prep-policies .prep-policies__section.is-collapsed > .prep-policies__list,
.prep-policies .prep-policies__section > .prep-policies__list[hidden] { display:none!important; }

/* v2.0.55 — Policies widget mobile bar: search + icon-only menus share one row.
   Compact menus must never flex-grow (the old mobile flex:1 made their empty
   columns push the last icon beyond the Elementor mobile viewport). */
@media (max-width:767px) {
  .prep-policies.prep-policies--menus-compact .prep-policies__bar-inner {
    display:flex;
    flex-wrap:nowrap!important;
    align-items:flex-end;
    gap:clamp(5px,2vw,10px);
    width:100%;
    min-width:0;
    box-sizing:border-box;
  }
  .prep-policies.prep-policies--menus-compact .prep-policies__bar-inner > .prep-policies__field--search {
    flex:1 1 0!important;
    width:auto;
    min-width:0!important;
    max-width:100%;
  }
  .prep-policies.prep-policies--menus-compact .prep-policies__bar-inner > .prep-policies__field--search .prep-policies__search {
    min-width:0;
    max-width:100%;
  }
  .prep-policies.prep-policies--menus-compact .prep-policies__bar-inner > .prep-policies__field--search input {
    min-width:0!important;
    max-width:100%;
  }
  .prep-policies.prep-policies--menus-compact .prep-policies__bar-inner > .prep-policies__field--section.is-compact,
  .prep-policies.prep-policies--menus-compact .prep-policies__bar-inner > .prep-policies__field--sort.is-compact,
  .prep-policies.prep-policies--menus-compact .prep-policies__bar-inner > .prep-policies__field--clear.is-compact,
  .prep-policies.prep-policies--menus-compact .prep-policies__bar-inner > .prep-policies__field--toggle-all.is-compact {
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none;
  }
}

/* 2.0.119: compact, right-aligned policy filter controls; search owns the rest. */
.prep-policies .prep-policies__bar-inner {width:100%;max-width:100%;justify-content:flex-end;}
.prep-policies .prep-policies__bar-inner > .prep-policies__field--search {
  flex:1 1 0%!important;width:auto!important;min-width:0;
}
.prep-policies .prep-policies__bar-inner > :not(.prep-policies__field--search){flex-shrink:0;}
.prep-policies .prep-policies__btn,.prep-policies .prep-policies__btn-text {
  font-family:'Gotham Black','Gotham Bold',Arial,sans-serif;font-weight:400;
}
@media(max-width:767px){
  .prep-policies .prep-policies__bar-inner{flex-wrap:wrap!important;justify-content:flex-end;}
  .prep-policies .prep-policies__bar-inner > .prep-policies__field--search{flex:1 0 100%!important;}
}

/* Compact icon-only controls must not reserve the 170–210px text-menu basis.
   Keep their native target size, and give all remaining width to Search. */
.prep-policies .prep-policies__bar-inner > :is(.prep-policies__field--section,.prep-policies__field--sort,.prep-policies__field--clear,.prep-policies__field--toggle-all).is-compact {
  flex:0 0 auto!important;min-width:0;width:var(--pp-height,36px);
}
.prep-policies .prep-policies__bar-inner > :is(.prep-policies__field--section,.prep-policies__field--sort,.prep-policies__field--clear,.prep-policies__field--toggle-all).is-compact .prep-policies__menu-box {width:100%;}
