/*
 Theme Name:   Hello Elementor Child - YSD
 Template:     hello-elementor
 Version:      1.0
*/

:root{
  --ysd-blue:#428bca;
  --ysd-orange:#f89d0e;
  --ysd-text:#666666;
  --ysd-dark:#303030;
  --ysd-muted:#6c757d;
}

body{
  font-family:Rubik,Arial,Helvetica,sans-serif;
  font-size:15px;
  line-height:26px;
  color:var(--ysd-text);
  background:#fff;
}
h1,h2,h3,h4,h5,h6,
.elementor-heading-title{
  font-family:Poppins,"MS Sans Serif",Geneva,sans-serif;
  color:var(--ysd-dark);
  font-weight:500;
  line-height:1.3;
}
h1{font-size:36px}
h2{font-size:30px}
h3{font-size:24px}
h4{font-size:20px}
h5{font-size:18px;font-weight:400}
h6{font-size:16px}

a{color:var(--ysd-dark);text-decoration:none}
a:hover{color:var(--ysd-blue)}

/* ---- top contact bar ---- */
.ysd-topbar{
  background:var(--ysd-blue);
  color:#fff;
  font-size:12px;
  padding:8px 0;
}
.ysd-topbar a{color:#fff}
.ysd-topbar .ysd-wrap{
  max-width:1170px;margin:0 auto;padding:0 15px;
  display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;
}
.ysd-topbar .ysd-left,.ysd-topbar .ysd-right{display:flex;flex-wrap:wrap;gap:20px;align-items:center}

/* ---- header ---- */
.site-header{
  max-width:1170px;margin:0 auto;padding:18px 15px;
  box-shadow:none;
}
.site-header .site-branding img{max-height:56px;width:auto}
.site-title,.site-title a{
  font-family:Poppins,sans-serif;font-size:26px;font-weight:600;color:var(--ysd-dark);
}
.site-navigation ul.menu > li > a,
.site-navigation .menu li a{
  font-family:Rubik,Arial,sans-serif;
  font-size:15px;font-weight:500;color:#555;
  padding:10px 12px;
}
.site-navigation ul.menu > li > a:hover{color:var(--ysd-blue)}

/* ---- layout ---- */
.elementor-section.elementor-section-boxed > .elementor-container{max-width:1170px}
.site-main{max-width:none;padding:0}
.page-header{display:none}

/* ---- widgets ---- */
.elementor-widget-image img{max-width:100%;height:auto}
.elementor-widget-text-editor{font-size:15px;line-height:26px;color:var(--ysd-text)}
.elementor-widget-button .elementor-button{
  background:var(--ysd-blue);color:#fff;border-radius:3px;
  font-family:Rubik,sans-serif;font-size:14px;font-weight:500;padding:12px 26px;
}
.elementor-widget-button .elementor-button:hover{background:#3071a9;color:#fff}

/* ---- footer ---- */
.ysd-footer{
  background:var(--ysd-dark);color:#bbb;font-size:14px;padding:40px 0 24px;margin-top:50px;
}
.ysd-footer a{color:#ddd}
.ysd-footer a:hover{color:var(--ysd-blue)}
.ysd-footer .ysd-wrap{max-width:1170px;margin:0 auto;padding:0 15px;display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between}
.ysd-footer h4{color:#fff;font-size:16px;margin:0 0 12px}
.ysd-footer .ysd-copy{border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:18px;text-align:center;font-size:13px;color:#999}

@media (max-width:767px){
  .ysd-topbar .ysd-wrap{flex-direction:column;align-items:flex-start;gap:6px}
  h1{font-size:28px}h2{font-size:24px}h3{font-size:20px}
}


/* ---- no horizontal overflow on any screen ---- */
html,body{max-width:100%;overflow-x:hidden}
img{max-width:100%;height:auto}
.elementor-section.elementor-section-boxed > .elementor-container{max-width:1170px}
@media (max-width:1199px){
  .elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;padding-left:15px;padding-right:15px}
}

/* kit CSS loads after the theme, so force the responsive container */
@media (max-width:1199px){
  body .elementor-section.elementor-section-boxed > .elementor-container{
    max-width:100%!important;
    padding-left:15px!important;
    padding-right:15px!important;
  }
}
body .elementor-widget-image img{max-width:100%!important;height:auto!important}

/* ---- latest news : matches live (flat, borderless, 3 columns) ---- */
.ysd-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0 -15px}
.ysd-news-item{padding:0 15px;background:none;border:0;border-radius:0;box-shadow:none}
.ysd-news-thumb{display:block;line-height:0}
.ysd-news-thumb img{width:100%;height:161px;object-fit:cover;border-radius:0;display:block}
.ysd-news-meta{margin-top:14px;font-family:Poppins,sans-serif;font-size:15px;line-height:26px;color:#ababab}
.ysd-news-meta .ysd-news-cat:before{content:"\2022";margin:0 7px}
.ysd-news-title{font-family:Poppins,sans-serif;font-size:20px;font-weight:400;line-height:26px;
  color:#303030;margin:12px 0}
.ysd-news-title a{color:#303030}
.ysd-news-title a:hover{color:var(--ysd-blue)}
.ysd-news-excerpt{font-family:Rubik,Arial,sans-serif;font-size:15px;line-height:26px;color:#666;margin:0 0 10px}
.ysd-news-more{font-family:Rubik,Arial,sans-serif;font-size:15px;color:#666}
.ysd-news-more:hover{color:var(--ysd-blue)}
@media (max-width:991px){.ysd-news-grid{grid-template-columns:repeat(2,1fr);row-gap:35px}}
@media (max-width:600px){.ysd-news-grid{grid-template-columns:1fr;row-gap:35px}}

/* ---- "Latest news" heading : live = H3 Poppins 37px/400, black, centred ---- */
.ysd-news-heading .elementor-heading-title{
  font-family:Poppins,sans-serif!important;
  font-size:37px!important;
  font-weight:400!important;
  line-height:1.2!important;
  color:#000!important;
  text-align:center!important;
  margin-bottom:15px!important;
}
.ysd-news-heading{text-align:center!important}
.ysd-more-news .elementor-button-wrapper{text-align:center}
@media (max-width:767px){
  .ysd-news-heading .elementor-heading-title{font-size:28px!important}
}


/* ---- header social icon ---- */
.ysd-topbar .ysd-social{
  display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;border-radius:50%;
  color:#fff;background:rgba(255,255,255,.16);
  transition:background .2s ease,color .2s ease;
}
.ysd-topbar .ysd-social:hover{background:#fff;color:var(--ysd-blue)}
.ysd-topbar .ysd-social svg{display:block}

/* ---- header search ---- */
.site-header{position:relative}
.ysd-search{display:flex;align-items:center;margin-left:14px}
.ysd-search-toggle{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;padding:0;border:0;border-radius:50%;
  background:transparent;color:#555;cursor:pointer;
  transition:background .2s ease,color .2s ease;
}
.ysd-search-toggle:hover,.ysd-search-toggle[aria-expanded="true"]{background:#f2f4f7;color:var(--ysd-blue)}
.ysd-search-toggle svg{display:block}
.ysd-search-panel{
  position:absolute;top:100%;right:0;z-index:120;
  background:#fff;border:1px solid #e6e6e6;border-radius:4px;
  box-shadow:0 8px 24px rgba(0,0,0,.10);padding:12px;
}
.ysd-search-panel form{display:flex;gap:8px}
.ysd-search-input{
  width:250px;max-width:60vw;padding:9px 12px;
  border:1px solid #ddd;border-radius:3px;
  font-family:Rubik,Arial,sans-serif;font-size:14px;color:var(--ysd-text);
}
.ysd-search-input:focus{outline:none;border-color:var(--ysd-blue)}
.ysd-search-submit{
  padding:9px 16px;border:0;border-radius:3px;cursor:pointer;
  background:var(--ysd-blue);color:#fff;
  font-family:Rubik,Arial,sans-serif;font-size:14px;font-weight:500;
}
.ysd-search-submit:hover{background:#3071a9}
@media (max-width:767px){
  .ysd-search-panel{left:0;right:0}
  .ysd-search-input{width:100%}
}


/* ---- full-bleed hero + spacing (the stretched section on the front page) ---- */
.home .elementor-section-stretched{padding:0!important;margin:0 0 60px 0!important}
.home .elementor-section-stretched > .elementor-container{max-width:100%!important;width:100%!important;padding:0!important}
.home .elementor-section-stretched .elementor-column,
.home .elementor-section-stretched .elementor-widget-wrap{padding:0!important}
.home .elementor-section-stretched .elementor-widget-image,
.home .elementor-section-stretched .elementor-widget-image .elementor-widget-container{margin:0!important;padding:0!important;line-height:0}
.home .elementor-section-stretched .elementor-widget-image img{
  width:100%!important;max-width:none!important;
  height:auto!important;            /* full banner, never cropped - scales with viewport */
  object-fit:contain!important;display:block;
}
@media (max-width:1199px){
  .home .elementor-section-stretched{margin-bottom:45px!important}
}
@media (max-width:767px){
  .home .elementor-section-stretched{margin-bottom:32px!important}
}

/* ---- Latest news: tinted full-bleed band, clearly separated ---- */
.home .elementor-section:has(.ysd-news-grid),
.home .elementor-section:has(.ysd-more-news){
  background-color:#f4f7fb;
}
/* top half of the band: heading + cards */
.home .elementor-section:has(.ysd-news-grid){
  margin-top:70px!important;
  padding-top:70px!important;
  padding-bottom:30px!important;
}
/* bottom half: the More News button, joined to the band above */
.home .elementor-section:has(.ysd-more-news){
  margin-top:0!important;
  padding-top:0!important;
  padding-bottom:70px!important;
}
/* cards sit on the tint, so give them a white surface to lift off it */
.home .elementor-section:has(.ysd-news-grid) .ysd-news-item{
  background:#fff;
  padding:0 0 22px;
  border-radius:4px;
  overflow:hidden;
  box-shadow:0 1px 3px rgba(16,42,67,.06);
}
.home .elementor-section:has(.ysd-news-grid) .ysd-news-grid{
  gap:30px;
  margin:0;
}
.home .elementor-section:has(.ysd-news-grid) .ysd-news-meta,
.home .elementor-section:has(.ysd-news-grid) .ysd-news-title,
.home .elementor-section:has(.ysd-news-grid) .ysd-news-excerpt,
.home .elementor-section:has(.ysd-news-grid) .ysd-news-more{
  padding-left:20px;padding-right:20px;
}
@media (max-width:1199px){
  .home .elementor-section:has(.ysd-news-grid){margin-top:50px!important;padding-top:50px!important}
  .home .elementor-section:has(.ysd-more-news){padding-bottom:50px!important}
}
@media (max-width:767px){
  .home .elementor-section:has(.ysd-news-grid){margin-top:36px!important;padding-top:40px!important}
  .home .elementor-section:has(.ysd-more-news){padding-bottom:40px!important}
}

/* ---- International Affiliates ---- */
.ysd-affil-heading .elementor-heading-title{
  font-family:Poppins,sans-serif!important;
  font-size:37px!important;font-weight:400!important;line-height:1.2!important;
  color:#000!important;text-align:center!important;margin-bottom:15px!important;
}
.ysd-affil-heading{text-align:center!important}

.ysd-affiliates{
  display:grid;
  grid-template-columns:repeat(4,1fr);   /* live uses vc_col-sm-3 = 4 per row */
  gap:30px;
  align-items:center;
  margin-top:30px;
}
.ysd-affiliate{
  display:flex;align-items:center;justify-content:center;
  height:120px;padding:16px;
  background:#fff;border:1px solid #eef1f4;border-radius:4px;
  transition:box-shadow .2s ease,border-color .2s ease;
}
.ysd-affiliate:hover{border-color:#dbe4ee;box-shadow:0 4px 14px rgba(16,42,67,.08)}
.ysd-affiliate img{
  max-width:100%;max-height:100%;
  width:auto;height:auto;
  object-fit:contain;                     /* uniform cells regardless of logo ratio */
  display:block;
}
@media (max-width:991px){ .ysd-affiliates{grid-template-columns:repeat(3,1fr);gap:22px} }
@media (max-width:700px){ .ysd-affiliates{grid-template-columns:repeat(2,1fr);gap:18px}
  .ysd-affiliate{height:100px} }


/* ==========================================================================
   Latest News archive (blog index + category archives)
   Single-column post list with a right sidebar, matching the live site.
   ========================================================================== */
.ysd-blog{padding:0}
.ysd-blog .ysd-blog-wrap{
  max-width:1170px;margin:0 auto;padding:50px 15px 20px;
  display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:50px;align-items:start;
}
.ysd-blog-heading{
  font-family:Poppins,sans-serif;font-size:37px;font-weight:400;line-height:1.2;
  color:#000;margin:0 0 8px;
}
.ysd-blog-description{margin:0 0 30px;color:var(--ysd-text)}

/* ---- post entry ---- */
.ysd-post{margin:0 0 55px;padding:0 0 55px;border-bottom:1px solid #ececec}
.ysd-post:last-of-type{border-bottom:0;margin-bottom:35px;padding-bottom:0}
.ysd-post-thumb{position:relative;display:block;line-height:0;overflow:hidden;border-radius:4px}
.ysd-post-thumb img{width:100%;height:auto;display:block;transition:transform .35s ease}
.ysd-post-thumb:hover img{transform:scale(1.03)}
.ysd-post-badge{
  position:absolute;left:20px;top:20px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-width:62px;padding:9px 6px;border-radius:4px;
  background:var(--ysd-blue);color:#fff;
  font-family:Poppins,sans-serif;line-height:1;
  box-shadow:0 2px 8px rgba(0,0,0,.18);
}
.ysd-badge-day{font-size:22px;font-weight:500}
.ysd-badge-mon{font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-top:4px}

.ysd-post-meta{
  margin-top:20px;
  font-family:Poppins,sans-serif;font-size:15px;line-height:26px;color:#ababab;
}
.ysd-post-meta a{color:#ababab}
.ysd-post-meta a:hover{color:var(--ysd-blue)}
.ysd-post-cat:before{content:"\2022";margin:0 7px}

.ysd-post-title{
  font-family:Poppins,sans-serif;font-size:28px;font-weight:400;line-height:1.3;
  color:#303030;margin:8px 0 14px;
}
.ysd-post-title a{color:#303030}
.ysd-post-title a:hover{color:var(--ysd-blue)}
.ysd-post-excerpt{margin:0 0 16px;color:var(--ysd-text)}
.ysd-post-more{
  font-family:Rubik,Arial,sans-serif;font-size:15px;font-weight:500;color:var(--ysd-blue);
}
.ysd-post-more span{display:inline-block;transition:transform .2s ease;margin-left:4px}
.ysd-post-more:hover span{transform:translateX(4px)}
.ysd-post-empty{color:var(--ysd-text)}

/* ---- pagination ---- */
.ysd-pagination{margin:10px 0 20px}
.ysd-pagination ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.ysd-pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;padding:0 12px;
  border:1px solid #e3e3e3;border-radius:3px;
  font-family:Rubik,Arial,sans-serif;font-size:15px;color:#666;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
.ysd-pagination a.page-numbers:hover{border-color:var(--ysd-blue);color:var(--ysd-blue);background:#f1f7fc}
.ysd-pagination .page-numbers.current{background:var(--ysd-blue);border-color:var(--ysd-blue);color:#fff}
.ysd-pagination .page-numbers.dots{border-color:transparent}

/* ---- sidebar ---- */
.ysd-blog-sidebar{font-family:Rubik,Arial,sans-serif}
.ysd-widget{margin:0 0 35px}
.ysd-widget-title{
  font-family:Poppins,sans-serif;font-size:18px;font-weight:500;color:#303030;
  margin:0 0 14px;padding:0 0 10px;border-bottom:2px solid var(--ysd-blue);
}
.ysd-widget-list{list-style:none;margin:0;padding:0}
.ysd-widget-list li{
  display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  padding:9px 0;border-bottom:1px solid #f0f0f0;font-size:14px;line-height:22px;
}
.ysd-widget-list li:last-child{border-bottom:0}
.ysd-widget-list a{color:#555}
.ysd-widget-list a:hover{color:var(--ysd-blue)}
.ysd-count{
  flex:0 0 auto;min-width:24px;padding:1px 7px;border-radius:11px;
  background:#f2f4f7;color:#8a8a8a;font-size:12px;text-align:center;
}
.ysd-recent-list li{flex-direction:column;gap:2px}
.ysd-recent-date{font-size:12px;color:#ababab}

@media (max-width:991px){
  .ysd-blog .ysd-blog-wrap{grid-template-columns:1fr;gap:40px;padding-top:35px}
  .ysd-blog-heading{font-size:28px}
  .ysd-post-title{font-size:23px}
  .ysd-post{margin-bottom:40px;padding-bottom:40px}
}


/* ==========================================================================
   Single news article
   ========================================================================== */
.ysd-single{padding:0}
.ysd-article{
  max-width:820px;margin:0 auto;
  padding:60px 15px 70px;      /* the gap under the menu */
}

/* ---- article header ---- */
.ysd-article-head{margin:0 0 28px}
.ysd-article-eyebrow{
  margin:0 0 12px;
  font-family:Rubik,Arial,sans-serif;font-size:12px;font-weight:500;
  letter-spacing:.10em;text-transform:uppercase;
}
.ysd-article-eyebrow a{color:var(--ysd-blue)}
.ysd-article-eyebrow a:hover{color:#3071a9}
.ysd-article-title{
  font-family:Poppins,sans-serif;font-size:40px;font-weight:400;line-height:1.22;
  color:#1c1c1c;margin:0 0 14px;
}
.ysd-article-meta{
  margin:0;padding:0 0 20px;border-bottom:1px solid #ececec;
  font-family:Poppins,sans-serif;font-size:14px;line-height:24px;color:#ababab;
}

/* ---- featured image ---- */
.ysd-article-media{margin:0 0 34px;line-height:0}
.ysd-article-media img{
  width:100%;height:auto;display:block;border-radius:4px;
}

/* ---- body copy ---- */
.ysd-article-body{
  font-family:Rubik,Arial,sans-serif;font-size:17px;line-height:31px;color:#4a4a4a;
}
.ysd-article-body > *:first-child{margin-top:0}
.ysd-article-body p{margin:0 0 24px}
.ysd-article-body h2,
.ysd-article-body h3,
.ysd-article-body h4{margin:38px 0 14px;color:#1c1c1c}
.ysd-article-body h2{font-size:27px}
.ysd-article-body h3{font-size:22px}
.ysd-article-body h4{font-size:19px}
.ysd-article-body a{color:var(--ysd-blue);text-decoration:underline;text-underline-offset:2px}
.ysd-article-body a:hover{color:#3071a9}
.ysd-article-body img{height:auto;border-radius:4px}
.ysd-article-body ul,
.ysd-article-body ol{margin:0 0 24px;padding-left:22px}
.ysd-article-body li{margin:0 0 8px}
.ysd-article-body blockquote{
  margin:28px 0;padding:6px 0 6px 22px;
  border-left:3px solid var(--ysd-blue);
  font-size:19px;line-height:32px;color:#333;
}
.ysd-article-body table{width:100%;border-collapse:collapse;margin:0 0 24px}
.ysd-article-body th,
.ysd-article-body td{border:1px solid #e6e6e6;padding:9px 12px;text-align:left}
.ysd-article-tags{margin:26px 0 0;font-size:14px;color:#8a8a8a}
.ysd-article-tags a{color:#8a8a8a}
.ysd-article-tags a:hover{color:var(--ysd-blue)}

/* ---- footer: back link + prev/next ---- */
.ysd-article-foot{margin-top:45px;padding-top:26px;border-top:1px solid #ececec}
.ysd-back-link{
  font-family:Rubik,Arial,sans-serif;font-size:15px;font-weight:500;color:var(--ysd-blue);
}
.ysd-back-link span{display:inline-block;margin-right:5px;transition:transform .2s ease}
.ysd-back-link:hover span{transform:translateX(-4px)}
.ysd-article-nav{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:26px;
}
.ysd-article-nav a{
  display:block;padding:16px 18px;
  border:1px solid #ececec;border-radius:4px;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.ysd-article-nav a:hover{border-color:#d6e3f0;box-shadow:0 3px 12px rgba(16,42,67,.07)}
.ysd-nav-next{text-align:right}
.ysd-nav-label{
  display:block;margin-bottom:5px;
  font-family:Rubik,Arial,sans-serif;font-size:12px;font-weight:500;
  letter-spacing:.08em;text-transform:uppercase;color:#ababab;
}
.ysd-nav-title{
  display:block;
  font-family:Poppins,sans-serif;font-size:16px;line-height:24px;color:#303030;
}
.ysd-article-nav a:hover .ysd-nav-title{color:var(--ysd-blue)}

@media (max-width:767px){
  .ysd-article{padding:38px 15px 50px}
  .ysd-article-title{font-size:29px}
  .ysd-article-body{font-size:16px;line-height:29px}
  .ysd-article-nav{grid-template-columns:1fr}
  .ysd-nav-next{text-align:left}
}


/* ==========================================================================
   Useful Links - a directory of outbound sites.
   Each entry carries its destination domain, so you can see where a link
   goes before you take it, and entries with no site say so plainly.
   ========================================================================== */
.page-id-10 .page-content{max-width:1170px;margin:0 auto;padding:55px 15px 70px}

/* page title */
.page-id-10 .elementor-element-4c63a06 .elementor-heading-title{
  font-family:Poppins,sans-serif;font-size:37px;font-weight:400;line-height:1.2;
  color:#1c1c1c;margin:0 0 6px;
}

/* stack the two Elementor columns into one full-width flow */
body.page-id-10 .page-content .elementor-container{display:block!important}
body.page-id-10 .page-content .elementor-column{width:100%!important}
body.page-id-10 .elementor-widget-wrap{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(268px,1fr));
  gap:2px;align-content:start;
}

/* group heading spans the grid and carries its entry count */
body.page-id-10 .elementor-widget-heading{grid-column:1/-1;width:auto}
.page-id-10 .ysd-link-group{margin:34px 0 14px;padding:0 0 10px;border-bottom:1px solid #ececec}
.page-id-10 .ysd-link-group .elementor-heading-title{
  display:flex;align-items:baseline;gap:10px;
  font-family:Poppins,sans-serif;font-size:20px;font-weight:500;color:#1c1c1c;margin:0;
}
.ysd-link-count{
  font-family:Rubik,Arial,sans-serif;font-size:13px;font-weight:400;color:#a5a5a5;
}
.ysd-link-count:before{content:"("}
.ysd-link-count:after{content:")"}

/* one entry */
body.page-id-10 .ysd-link p{margin:0;padding:0}
body.page-id-10 .ysd-link{width:auto}
body.page-id-10 .ysd-link a,
body.page-id-10 .ysd-link span.elementor-button{
  display:block!important;padding:13px 16px!important;
  background:none!important;border:0!important;border-left:2px solid transparent!important;
  border-radius:3px!important;
  color:inherit;font-size:inherit;font-weight:400;text-align:left;text-decoration:none;
  transition:background-color .16s ease,border-color .16s ease;
}
body.page-id-10 .ysd-link a:hover,
body.page-id-10 .ysd-link a:focus-visible{background:#f1f7fc!important;border-left-color:var(--ysd-blue)!important}
.page-id-10 .ysd-link a:focus-visible{outline:2px solid var(--ysd-blue);outline-offset:2px}

.ysd-link-name{
  display:block;
  font-family:Poppins,sans-serif;font-size:15px;font-weight:400;line-height:23px;color:#303030;
}
body.page-id-10 .ysd-link a:hover .ysd-link-name{color:var(--ysd-blue)}
.ysd-link-where{
  display:block;margin-top:3px;
  font-family:Rubik,Arial,sans-serif;font-size:12.5px;line-height:20px;color:#a5a5a5;
  word-break:break-word;
}
.ysd-link-where.is-empty{color:#c2c2c2;font-style:italic}

/* entries with nowhere to go are visibly inert */
.page-id-10 .ysd-link-dead span.elementor-button{cursor:default}
.page-id-10 .ysd-link-dead .ysd-link-name{color:#9a9a9a}

@media (prefers-reduced-motion:reduce){
  .page-id-10 .ysd-link a{transition:none}
}
@media (max-width:767px){
  .page-id-10 .page-content{padding:36px 15px 50px}
  .page-id-10 .elementor-element-4c63a06 .elementor-heading-title{font-size:28px}
  body.page-id-10 .elementor-widget-wrap{grid-template-columns:1fr}
}

/* headings centred */
body.page-id-10 .elementor-element-4c63a06 .elementor-heading-title{text-align:center}
body.page-id-10 .ysd-link-group .elementor-heading-title{justify-content:center}


/* ==========================================================================
   Events (Events Manager plugin page).
   .site-main is unconstrained for Elementor pages, which bring their own
   container - this page does not, so it needs the site column back.
   ========================================================================== */
body.page-id-9 .page-header{
  display:block;max-width:1170px;margin:0 auto;padding:55px 15px 0;text-align:center;
}
body.page-id-9 .page-header .entry-title{
  font-family:Poppins,sans-serif;font-size:37px;font-weight:400;line-height:1.2;
  color:#1c1c1c;margin:0;
}
body.page-id-9 .page-content{
  max-width:1170px;margin:0 auto;padding:28px 15px 70px;
}

/* search bar: a contained panel rather than a full-bleed strip */
body.page-id-9 .em-search{
  background:#fafbfc;border:1px solid #e6e9ed;border-radius:4px;padding:8px 10px;
}
body.page-id-9 .em-search-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
body.page-id-9 .em-search input[type="text"],
body.page-id-9 .em-search input[type="search"]{
  font-family:Rubik,Arial,sans-serif;font-size:14px;color:var(--ysd-text);
}
body.page-id-9 .em-search .em-search-submit,
body.page-id-9 .em-search button[type="submit"],
body.page-id-9 .em-search input[type="submit"]{
  background:var(--ysd-blue);border:0;border-radius:3px;color:#fff;
  font-family:Rubik,Arial,sans-serif;font-size:14px;font-weight:500;
  padding:10px 22px;cursor:pointer;
}
body.page-id-9 .em-search .em-search-submit:hover,
body.page-id-9 .em-search button[type="submit"]:hover,
body.page-id-9 .em-search input[type="submit"]:hover{background:#3071a9}

/* results */
body.page-id-9 .em-view-container{margin-top:26px}
body.page-id-9 .em-events-list{font-family:Rubik,Arial,sans-serif;color:var(--ysd-text)}

/* empty state - the list holds a bare "No Events" string when there is nothing on */
body.page-id-9 .em-events-list:not(:has(.em-item, .em-event, article, li)),
body.page-id-9 .em-search-no-results{
  margin:0;padding:46px 20px;text-align:center;
  border:1px dashed #e0e4e9;border-radius:4px;background:#fafbfc;
  font-family:Poppins,sans-serif;font-size:17px;color:#8a8a8a;
}

@media (max-width:767px){
  body.page-id-9 .page-header{padding-top:36px}
  body.page-id-9 .page-header .entry-title{font-size:28px}
  body.page-id-9 .page-content{padding:22px 15px 50px}
}


/* ==========================================================================
   Contact page - form and details
   ========================================================================== */
body.page-id-12 .page-content{max-width:1170px;margin:0 auto;padding:55px 15px 70px}
body.page-id-12 .elementor-heading-title{
  font-family:Poppins,sans-serif;font-size:24px;font-weight:500;color:#1c1c1c;margin:0 0 18px;
}

/* ---- messages ---- */
.ysd-form-note{
  margin:0 0 22px;padding:14px 18px;border-radius:4px;
  font-family:Rubik,Arial,sans-serif;font-size:15px;line-height:24px;
}
.ysd-form-note.is-sent{background:#eef7ef;border-left:3px solid #4a9e5c;color:#2f6b3c}
.ysd-form-note.is-problem{background:#fdf1f1;border-left:3px solid #c9524f;color:#95322f}

/* ---- fields ---- */
.ysd-form-body{font-family:Rubik,Arial,sans-serif}
.ysd-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.ysd-field{margin:0 0 18px}
.ysd-field label{
  display:block;margin:0 0 7px;
  font-size:14px;font-weight:500;color:#4a4a4a;
}
.ysd-optional{font-weight:400;color:#a5a5a5;margin-left:5px}
.ysd-field input[type="text"],
.ysd-field input[type="email"],
.ysd-field textarea{
  width:100%;padding:12px 14px;
  border:1px solid #dce1e7;border-radius:4px;background:#fff;
  font-family:Rubik,Arial,sans-serif;font-size:15px;line-height:24px;color:#333;
  transition:border-color .16s ease,box-shadow .16s ease;
}
.ysd-field textarea{resize:vertical;min-height:150px}
.ysd-field input:focus,
.ysd-field textarea:focus{
  outline:none;border-color:var(--ysd-blue);box-shadow:0 0 0 3px rgba(66,139,202,.14);
}
.ysd-field.has-error input,
.ysd-field.has-error textarea{border-color:#c9524f}
.ysd-field-error{display:block;margin-top:6px;font-size:13px;color:#95322f}

/* the honeypot is for bots only, never for people */
.ysd-field-honey{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.ysd-form-actions{margin:6px 0 0}
.ysd-form-submit{
  padding:13px 34px;border:0;border-radius:3px;cursor:pointer;
  background:var(--ysd-blue);color:#fff;
  font-family:Rubik,Arial,sans-serif;font-size:15px;font-weight:500;
  transition:background-color .16s ease;
}
.ysd-form-submit:hover{background:#3071a9}
.ysd-form-submit:focus-visible{outline:2px solid var(--ysd-blue);outline-offset:3px}

/* ---- contact details ---- */
.ysd-contact-details{list-style:none;margin:22px 0 0;padding:0;font-family:Rubik,Arial,sans-serif}
.ysd-contact-details li{
  padding:14px 0;border-top:1px solid #ececec;
  font-size:15px;line-height:25px;color:#4a4a4a;
}
.ysd-contact-details li:last-child{border-bottom:1px solid #ececec}
.ysd-contact-label{
  display:block;margin-bottom:2px;
  font-family:Poppins,sans-serif;font-size:13px;color:#a5a5a5;
}
.ysd-contact-details a{color:var(--ysd-blue)}
.ysd-contact-details a:hover{color:#3071a9;text-decoration:underline}

@media (prefers-reduced-motion:reduce){
  .ysd-field input,.ysd-field textarea,.ysd-form-submit{transition:none}
}
@media (max-width:767px){
  body.page-id-12 .page-content{padding:36px 15px 50px}
  .ysd-field-row{grid-template-columns:1fr}
}

/* ---- contact map ---- */
.ysd-map{margin:50px 0 0;padding-top:40px;border-top:1px solid #ececec}
.ysd-map-title{
  font-family:Poppins,sans-serif;font-size:24px;font-weight:500;color:#1c1c1c;margin:0 0 18px;
}
.ysd-map-frame{
  position:relative;overflow:hidden;border-radius:4px;border:1px solid #e6e9ed;
  background:#eef1f4;line-height:0;
}
.ysd-map-frame iframe{
  display:block;width:100%;height:420px;border:0;
}
.ysd-map-link{margin:14px 0 0;font-family:Rubik,Arial,sans-serif;font-size:15px}
.ysd-map-link a{color:var(--ysd-blue)}
.ysd-map-link a:hover{color:#3071a9;text-decoration:underline}
@media (max-width:767px){
  .ysd-map{margin-top:36px;padding-top:30px}
  .ysd-map-title{font-size:20px}
  .ysd-map-frame iframe{height:300px}
}


/* ==========================================================================
   Legislation & Publication - document library
   ========================================================================== */
body.page-id-8 .page-content{max-width:1170px;margin:0 auto;padding:20px 15px 70px}
body.page-id-8 .elementor-element > .elementor-container{max-width:1170px}
body.page-id-8 .elementor-widget-heading .elementor-heading-title{
  font-family:Poppins,sans-serif;font-size:37px;font-weight:400;line-height:1.2;
  color:#1c1c1c;text-align:center;margin:35px 0 6px;
}

/* the section's column caps the grid at half width otherwise */
body.page-id-8 .page-content .elementor-container{display:block!important}
body.page-id-8 .page-content .elementor-column{width:100%!important}

.ysd-docs{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));
  gap:16px;margin-top:34px;
  width:100%;flex:1 1 100%;   /* it sits in a flex widget-wrap, so claim the row */
}
.ysd-doc{
  display:flex;align-items:flex-start;gap:16px;
  padding:18px 20px;
  border:1px solid #e6e9ed;border-radius:5px;background:#fff;
  transition:border-color .16s ease,box-shadow .16s ease;
}
.ysd-doc:hover{border-color:#cfdcea;box-shadow:0 3px 14px rgba(16,42,67,.07)}
.ysd-doc.is-unavailable{background:#fbfbfc;border-style:dashed}

.ysd-doc-icon{flex:0 0 auto;width:38px;height:38px;line-height:0}
.ysd-doc-icon svg{width:38px;height:38px;display:block}
.ysd-doc.is-unavailable .ysd-doc-icon{opacity:.65}

.ysd-doc-text{min-width:0}
.ysd-doc-title{
  font-family:Poppins,sans-serif;font-size:16px;font-weight:400;line-height:24px;
  color:#303030;margin:0 0 8px;
}
.ysd-doc.is-unavailable .ysd-doc-title{color:#4a4a4a}
.ysd-doc-action{
  display:inline-block;
  font-family:Rubik,Arial,sans-serif;font-size:14px;font-weight:500;color:var(--ysd-blue);
}
.ysd-doc-action:hover{color:#3071a9;text-decoration:underline}
.ysd-doc-action:focus-visible{outline:2px solid var(--ysd-blue);outline-offset:3px}
.ysd-doc-missing{
  font-family:Rubik,Arial,sans-serif;font-size:13px;font-style:italic;color:#b0b0b0;
}

@media (prefers-reduced-motion:reduce){ .ysd-doc{transition:none} }
@media (max-width:767px){
  body.page-id-8 .page-content{padding:14px 15px 50px}
  body.page-id-8 .elementor-widget-heading .elementor-heading-title{font-size:28px}
  .ysd-docs{grid-template-columns:1fr;margin-top:26px}
}
.ysd-doc-meta{color:#a5a5a5;font-weight:400;font-size:13px;margin-left:4px}
.ysd-doc-action:hover .ysd-doc-meta{color:#a5a5a5;text-decoration:none}


/* ==========================================================================
   The Principal Secretary's Secretariat - matches the live page's layout
   ========================================================================== */
body.page-id-15 .page-content{max-width:1170px;margin:0 auto;padding:42px 15px 70px}

/* section title: left aligned, live's blue */
body.page-id-15 .elementor-widget-heading .elementor-heading-title{
  font-family:Poppins,sans-serif;font-size:30px;font-weight:500;line-height:1.3;
  color:#0286c9;text-align:left;margin:0 0 32px;
}

/* live splits the row 8/4 */
body.page-id-15 .page-content .elementor-container{
  display:grid!important;grid-template-columns:66.666% 33.333%;
  gap:0 30px;align-items:start;
}
body.page-id-15 .page-content .elementor-column{width:auto!important}
body.page-id-15 .elementor-widget-wrap{display:block}

/* prose */
body.page-id-15 .elementor-widget-text-editor{
  font-family:Rubik,Arial,sans-serif;font-size:15px;line-height:26px;color:var(--ysd-text);
}
body.page-id-15 .elementor-widget-text-editor p{margin:0 0 20px}

/* portrait at its natural proportions, no crop and no card */
body.page-id-15 .elementor-widget-image img{
  width:100%;height:auto;display:block;border-radius:0;
}

/* caption: centred, navy, bold italic - as live sets it */
body.page-id-15 .elementor-col-33 .elementor-widget-text-editor p,
body.page-id-15 .elementor-column:last-child .elementor-widget-text-editor p{
  margin:12px 0 0;text-align:center;
  color:#003366;font-weight:700;font-style:italic;
}

@media (max-width:767px){
  body.page-id-15 .page-content{padding:30px 15px 50px}
  body.page-id-15 .page-content .elementor-container{grid-template-columns:1fr;gap:28px}
  body.page-id-15 .elementor-widget-heading .elementor-heading-title{font-size:24px}
}


/* ==========================================================================
   Policy, Planning, Research, M&E - matches the live page's layout
   ========================================================================== */
body.page-id-16 .page-content{max-width:1170px;margin:0 auto;padding:42px 15px 70px}
body.page-id-16 .elementor-widget-heading .elementor-heading-title{
  font-family:Poppins,sans-serif;font-size:30px;font-weight:500;line-height:1.3;
  color:#006e96;text-align:left;margin:0 0 32px;
}
body.page-id-16 .page-content .elementor-container{
  display:grid!important;grid-template-columns:66.666% 33.333%;
  gap:0 30px;align-items:start;
}
body.page-id-16 .page-content .elementor-column{width:auto!important}
body.page-id-16 .elementor-widget-wrap{display:block}
body.page-id-16 .elementor-widget-text-editor{
  font-family:Rubik,Arial,sans-serif;font-size:15px;line-height:26px;color:var(--ysd-text);
}
body.page-id-16 .elementor-widget-text-editor p{margin:0 0 20px}
body.page-id-16 .elementor-widget-image img{width:100%;height:auto;display:block;border-radius:0}
/* caption: centred in live's amber */
body.page-id-16 .elementor-column:last-child .elementor-widget-text-editor p{
  margin:12px 0 0;text-align:center;color:#ffae00;
}
@media (max-width:767px){
  body.page-id-16 .page-content{padding:30px 15px 50px}
  body.page-id-16 .page-content .elementor-container{grid-template-columns:1fr;gap:28px}
  body.page-id-16 .elementor-widget-heading .elementor-heading-title{font-size:24px}
}


/* ==========================================================================
   The Duke of Edinburgh's International Award - matches the live page
   ========================================================================== */
body.page-id-13 .page-content{max-width:1170px;margin:0 auto;padding:42px 15px 70px}
body.page-id-13 .page-content .elementor-container{
  display:grid!important;grid-template-columns:66.666% 33.333%;
  gap:0 30px;align-items:start;
}
body.page-id-13 .page-content .elementor-column{width:auto!important}
body.page-id-13 .elementor-widget-wrap{display:block}

body.page-id-13 .elementor-widget-text-editor{
  font-family:Rubik,Arial,sans-serif;font-size:15px;line-height:26px;color:var(--ysd-text);
}
body.page-id-13 .elementor-widget-text-editor p{margin:0 0 20px}
body.page-id-13 .elementor-widget-image img{width:100%;height:auto;display:block}

/* section headings: live leaves the main column's plain, tints the sidebar's */
body.page-id-13 .elementor-widget-heading .elementor-heading-title{
  font-family:Poppins,sans-serif;font-size:24px;font-weight:500;line-height:1.3;
  color:#303030;margin:28px 0 14px;
}
body.page-id-13 .elementor-heading-title.ysd-doe-regions{color:#07bbf7}
body.page-id-13 .elementor-heading-title.ysd-doe-contact{color:#070bf7}

/* sidebar lists */
body.page-id-13 .elementor-column:last-child ul{margin:0 0 20px;padding-left:20px}
body.page-id-13 .elementor-column:last-child li{margin:0 0 6px;line-height:24px}
body.page-id-13 .elementor-column:last-child a{color:var(--ysd-blue)}
body.page-id-13 .elementor-column:last-child a:hover{text-decoration:underline}

@media (max-width:767px){
  body.page-id-13 .page-content{padding:30px 15px 50px}
  body.page-id-13 .page-content .elementor-container{grid-template-columns:1fr;gap:28px}
  body.page-id-13 .elementor-widget-heading .elementor-heading-title{font-size:20px}
}

/* ---- Who We Are (page 7): Elementor 4 no longer wraps section columns on desktop,
   so the 100% heading column + 25% team cards were squeezed onto one row ---- */
body.page-id-7 .elementor-top-section > .elementor-container{flex-wrap:wrap}
body.page-id-7 .elementor-top-section > .elementor-container > .elementor-column{flex-shrink:0}
body.page-id-7 .elementor-widget-image img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:top center}

/* ---- mobile menu: expandable sub-menus (arrow added by JS in functions.php) ---- */
.site-navigation-dropdown ul.menu li.menu-item-has-children{position:relative}
.site-navigation-dropdown ul.menu li.menu-item-has-children > a{padding-right:60px}
.site-navigation-dropdown .ysd-submenu-toggle{
  position:absolute;top:0;right:0;width:60px;height:62px;border:0;background:transparent;
  cursor:pointer;display:flex;align-items:center;justify-content:center;color:#55595c;padding:0;
}
.site-navigation-dropdown .ysd-submenu-toggle::before{
  content:"";width:10px;height:10px;margin-top:-5px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg);transition:transform .2s;
}
.site-navigation-dropdown li.elementor-active > .ysd-submenu-toggle::before{transform:rotate(-135deg);margin-top:5px}
.site-navigation-dropdown ul.menu li li a{padding-left:36px;font-size:14px;background:#f5f7fa}
