/* ==========================================================================
   Hand-written component styles (navigation, form, reviews, post cards…).
   ========================================================================== */

/* --- Header / main navigation ------------------------------------------------ */
.site-header{position:relative;z-index:9999}
.site-header .wp-block-site-logo{margin:0}
.site-header .wp-block-site-logo img{display:block;height:auto}
.e-nav.wp-block-navigation{font-size:16px;font-weight:700;line-height:30px;--wp--style--block-gap:0}
.e-nav.wp-block-navigation .wp-block-navigation-item__content{padding:13px 20px;color:#fff;text-decoration:none;display:flex;align-items:center}
.e-nav.wp-block-navigation .wp-block-navigation__submenu-container{background:var(--wp--preset--color--light-grey);border:0;border-radius:0 0 25px 25px;width:156px;min-width:156px;padding:0;overflow:hidden}
.e-nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content{padding:15px 20px;line-height:20px;color:var(--wp--preset--color--primary)}
.e-nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{background:var(--wp--preset--color--primary);color:var(--wp--preset--color--light-grey)}
.e-nav.wp-block-navigation .wp-block-navigation__submenu-icon{color:#fff;margin-left:4px}
.e-nav.wp-block-navigation .wp-block-navigation__responsive-container-open{background:var(--wp--preset--color--primary);color:var(--wp--preset--color--light-grey);border-radius:3px;padding:5.5px}
.e-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open{background:var(--wp--preset--color--primary);color:#fff}
.e-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{color:var(--wp--preset--color--light-grey)}
.e-nav.wp-block-navigation .wp-block-navigation__responsive-container-close{color:#fff}

/* --- Footer navigation ------------------------------------------------------- */
.site-footer .e-nav.wp-block-navigation{align-items:flex-start}
.site-footer .e-nav.wp-block-navigation .wp-block-navigation-item__content{padding:13px 0;color:#fff;font-size:13.2px;font-weight:400;line-height:1em;display:block}
.site-footer .e-nav.wp-block-navigation .wp-block-navigation__container{flex-direction:column;align-items:flex-start;gap:0}
.site-footer .wp-block-navigation-item{margin:0}

/* --- Forms ------------------------------------------------------------------- */
.bss-form{display:flex;flex-wrap:wrap;gap:10px}
.bss-form__field{flex:1 1 100%}
.bss-form__field input,.bss-form__field textarea{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:12px 18px;border:1px solid #ccc;border-radius:25px;background:#fff;color:#333}
.bss-form__field textarea{border-radius:20px}
.bss-form__hp{position:absolute;left:-9999px;visibility:hidden}
.bss-form__submit{border:0;cursor:pointer}
.bss-form__success{padding:10px 18px;border-radius:25px;background:var(--wp--preset--color--accent);color:#fff;font-size:16px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* --- Reviews ----------------------------------------------------------------- */
.bss-reviews__track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 0}
.bss-review{flex:0 0 min(420px,85%);scroll-snap-align:start;background:#fff;border-radius:25px;padding:25px;box-sizing:border-box;font-size:16px;line-height:1.5}
.bss-review__stars{color:#f5b301;font-size:20px;letter-spacing:2px}
.bss-review__who{display:flex;gap:12px;align-items:center;margin-top:14px}
.bss-review__who img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.bss-review__who span{display:block;font-size:14px}

/* --- Post card grid ---------------------------------------------------------- */
.bss-loop{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.bss-loop__item img{width:100%;height:auto;border-radius:25px}
@media(max-width:1024px){.bss-loop{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.bss-loop{grid-template-columns:1fr}}

/* --- Header layout fixes ------------------------------------------------------ */
.e-con>.e-nav.wp-block-navigation,.e-con-inner>.e-nav.wp-block-navigation{width:auto;flex:0 1 auto}
.e-nav.wp-block-navigation .wp-block-navigation__container{flex-wrap:nowrap;gap:0}
.e-nav.wp-block-navigation .wp-block-navigation-item{margin:0}

/* footer newsletter form */
.site-footer .bss-form{flex-wrap:nowrap;gap:10px;align-items:stretch;margin:0}
.site-footer .bss-form__field{flex:1 1 auto}
.site-footer .bss-form__field input{background:transparent;color:#fff;border:1px solid #fff;border-radius:0;font-size:15px;line-height:20px;padding:10px;height:40px}
.site-footer .bss-form__field input::placeholder{color:#fff;opacity:.8}
.site-footer .bss-form__submit.wp-element-button{background:transparent;color:#fff;border:1px solid #fff;border-radius:0;font-size:.7em;font-weight:400;line-height:1;padding:0 15px;height:40px}
.e-nav.wp-block-navigation .wp-block-navigation__submenu-icon{margin-left:0;margin-right:16px}
.e-nav.wp-block-navigation .wp-block-navigation-item.has-child>.wp-block-navigation-item__content{padding-right:8px}
.e-nav.wp-block-navigation .wp-block-navigation__container{justify-content:flex-end}

/* --- Timeline ("How it works") --------------------------------------------------- */
.bss-timeline{position:relative}
.bss-timeline::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:#fff}
.bss-timeline__item{display:flex;align-items:flex-start;gap:25px;position:relative}
.bss-timeline__point{flex:none;width:18px;height:18px;border-radius:50%;background:#fff;color:transparent;font-size:0;line-height:0;margin:3px 0 0;position:relative;z-index:1}
.bss-timeline__card{flex:1;min-width:0}
.bss-timeline__title{color:#fff;margin:3px 0 20px;font-weight:900}
.bss-timeline__card p{color:#fff}

/* --- Single post meta / recent articles / share ---------------------------------- */
.e-postinfo{align-items:center;gap:4px;font-size:13.2px;font-weight:700;color:var(--wp--preset--color--secondary);line-height:30px}
.e-postinfo>*{margin:0}
.e-postinfo .wp-block-post-date{font-size:inherit}
.bss-recent-posts .wp-block-post-template{display:grid;row-gap:26px;list-style:none;margin:0;padding:0}
.bss-recent{display:flex;align-items:flex-start;gap:20px;flex-wrap:nowrap}
.bss-recent__img{flex:0 0 40%;max-width:40%}
.bss-recent__img .wp-block-post-featured-image{margin:0}
.bss-recent__img img{width:100%;height:auto;aspect-ratio:1/.7;object-fit:cover;display:block}
.bss-recent__body{flex:1;min-width:0}
.bss-recent .wp-block-post-title{font-size:17.6px;font-weight:700;line-height:17.6px;margin:0 0 10px;color:var(--wp--preset--color--secondary)}
.bss-recent .wp-block-post-title a{color:inherit}
.bss-recent .wp-block-post-excerpt{margin:0;font-size:14px;line-height:1.2em;color:var(--wp--preset--color--secondary)}
.bss-recent .wp-block-post-excerpt p{margin:0;font-size:14px;line-height:1.2em;color:var(--wp--preset--color--secondary)}
.bss-recent .wp-block-post-excerpt__more-link{display:block;width:fit-content;margin-top:6px;font-size:12px;font-weight:700}
.e-social.wp-block-social-links{gap:13px;margin:0}

/* "Read more" link rendered as a button (use-case cards) */
.wp-block-read-more.e-readmore{display:inline-block;background:var(--wp--preset--color--primary);color:#fff;border-radius:50px;text-decoration:none;font-weight:900;text-transform:uppercase;font-size:14px;line-height:32px;padding:5px 35px;transition:all .3s}
.wp-block-read-more.e-readmore:hover{background:var(--wp--preset--color--light-grey);color:var(--wp--preset--color--primary)}

/* --- Archive / search / index (same constrained column the old theme used) ----------- */
.site-main.bss-archive{width:100%;margin-inline:auto;padding-inline:10px;box-sizing:border-box}
@media(min-width:576px){.site-main.bss-archive{max-width:500px;padding-inline:0}}
@media(min-width:768px){.site-main.bss-archive{max-width:720px}}
@media(min-width:992px){.site-main.bss-archive{max-width:960px}}
@media(min-width:1200px){.site-main.bss-archive{max-width:1140px}}
.bss-archive .wp-block-post-template{list-style:none;margin:0;padding:0}
.bss-archive .wp-block-post-title{font-size:30px;font-weight:900;line-height:36px;margin:8px 0 16px}
.bss-archive .wp-block-post-title a{color:var(--wp--preset--color--primary)}
.bss-archive .wp-block-post-featured-image{margin:0}
.bss-archive .wp-block-post-featured-image img{width:100%;object-fit:cover;display:block}
.bss-archive .wp-block-post-excerpt{margin:0}
.bss-archive .wp-block-query-pagination{margin:20px auto}

/* mobile menu toggle */
.e-nav.wp-block-navigation{display:flex}
.e-nav.wp-block-navigation .wp-block-navigation__responsive-container-open{margin-left:auto;width:33px;height:33px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--wp--preset--color--primary);color:var(--wp--preset--color--light-grey);border-radius:3px}
.e-nav.wp-block-navigation .wp-block-navigation__responsive-container-open svg{width:22px;height:22px;fill:currentColor}

/* mobile menu overlay: a purple panel under the header, like the old dropdown */
.e-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open{top:78px;bottom:auto;height:auto;max-height:calc(100vh - 78px);padding:0;background:var(--wp--preset--color--primary)}
.e-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{display:none}
.e-nav.wp-block-navigation .is-menu-open .wp-block-navigation__responsive-dialog,.e-nav.wp-block-navigation .is-menu-open .wp-block-navigation__responsive-container-content{padding:0;margin:0}
.e-nav.wp-block-navigation .is-menu-open .wp-block-navigation__container{width:100%;align-items:stretch;gap:0}
.e-nav.wp-block-navigation .is-menu-open .wp-block-navigation-item{width:100%;border-top:1px solid #fff;align-items:stretch}
.e-nav.wp-block-navigation .is-menu-open .wp-block-navigation-item:first-child{border-top:0}
.e-nav.wp-block-navigation .is-menu-open .wp-block-navigation-item__content{width:100%;justify-content:center;text-align:center;padding:13px 20px;color:var(--wp--preset--color--light-grey)}
.e-nav.wp-block-navigation .is-menu-open .wp-block-navigation__submenu-container{position:static;width:100%;min-width:0;background:rgba(255,255,255,.12);border-radius:0;opacity:1;visibility:visible}
.e-nav.wp-block-navigation .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{color:var(--wp--preset--color--light-grey)}
.e-nav.wp-block-navigation .is-menu-open .wp-block-navigation__submenu-icon{color:#fff;margin-left:8px}
/* accordion behaviour in the mobile panel + close icon */
.e-nav.wp-block-navigation .is-menu-open .wp-block-navigation-submenu>.wp-block-navigation__submenu-container{display:none!important}
.e-nav.wp-block-navigation .is-menu-open .wp-block-navigation-submenu:has(>.wp-block-navigation-submenu__toggle[aria-expanded="true"])>.wp-block-navigation__submenu-container{display:flex!important}
.e-nav.wp-block-navigation .is-menu-open .wp-block-navigation-submenu__toggle{display:flex;align-items:center;justify-content:center;width:100%;background:none;border:0;font:inherit;color:inherit;padding:13px 20px}
.e-nav.wp-block-navigation .is-menu-open .wp-block-navigation__submenu-icon{display:inline-flex!important;position:static;width:12px;height:12px;margin-left:8px}
.e-nav.wp-block-navigation .is-menu-open .wp-block-navigation__submenu-icon svg{display:block;width:12px;height:12px;stroke:currentColor}
.e-nav.wp-block-navigation .wp-block-navigation__responsive-container-open:has(+ .wp-block-navigation__responsive-container.is-menu-open) svg{display:none}
.e-nav.wp-block-navigation .wp-block-navigation__responsive-container-open:has(+ .wp-block-navigation__responsive-container.is-menu-open)::after{content:"\2715";font-size:20px;line-height:1;color:#fff}

/* --- FAQ accordion (Help Centre) ------------------------------------------------- */
.e-accordion .wp-block-details{margin:0 0 32px;padding:0;border:0;background:none}
.e-accordion .wp-block-details summary{display:flex;justify-content:space-between;align-items:center;padding:20px;background:#fff;color:var(--wp--preset--color--primary);font-size:22px;font-weight:300;line-height:30px;cursor:pointer;list-style:none}
.e-accordion .wp-block-details summary::-webkit-details-marker{display:none}
.e-accordion .wp-block-details summary::after{content:"";flex:0 0 14px;width:14px;height:14px;margin-left:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M207 381.5L12.7 187.1c-9.4-9.4-9.4-24.6 0-33.9l22.7-22.7c9.4-9.4 24.5-9.4 33.9 0L224 284.5l154.7-154c9.4-9.3 24.5-9.3 33.9.1l22.7 22.7c9.4 9.4 9.4 24.6 0 33.9L241 381.5c-9.4 9.4-24.6 9.4-34 0z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M207 381.5L12.7 187.1c-9.4-9.4-9.4-24.6 0-33.9l22.7-22.7c9.4-9.4 24.5-9.4 33.9 0L224 284.5l154.7-154c9.4-9.3 24.5-9.3 33.9.1l22.7 22.7c9.4 9.4 9.4 24.6 0 33.9L241 381.5c-9.4 9.4-24.6 9.4-34 0z'/%3E%3C/svg%3E") center/contain no-repeat}
.e-accordion .wp-block-details[open] summary::after{transform:rotate(180deg)}
.e-accordion .wp-block-details>:not(summary){background:#fff}
.site-footer .e-nav.wp-block-navigation .wp-block-navigation-item{width:100%}
.site-footer .e-nav.wp-block-navigation .wp-block-navigation-item__content{width:100%}

/* text widgets keep the bottom margin of their last paragraph (as the original did) */
.e-text>p:last-child{margin-block-end:.9rem}
.site-footer .bss-form__field{flex:0 0 calc(70% - 5px)}
.site-footer .bss-form__submit.wp-element-button{flex:1}

/* page title used on plain pages (e.g. Sitemap) */
.bss-page-title{font-size:60px;font-weight:900;line-height:1.2;color:var(--wp--preset--color--secondary);max-width:1140px;margin:40px auto 20px;padding-inline:20px}

/* desktop nav sits on one row: the pill can grow past the old 850px cap and never wraps */
@media(min-width:1025px){#navCon{max-width:none;width:fit-content!important;margin-left:auto}.e-nav.wp-block-navigation{flex-wrap:nowrap;white-space:nowrap}}

/* card grids (use-case archives and loops): the original grid used a 20px gap */
.wp-block-query.e-loop .wp-block-post-template.is-layout-grid{gap:20px}
.wp-block-query.e-loop .wp-block-post-template>li{margin:0}
