/*
Theme Name: svbs-asse v3 for wordpress
Author: m@raxus.ch
Description: exclusive WordPress theme for svbs-asse.ch
Theme URI: https://www.svbs-asse.ch/
Version: 1.0
*/

:root{
    --brand:#154896;
    --brand2:#1fa43a;
    --text:#1f2937;
    --muted:#6b7280;
    --card:#ffffff;
    --ring:rgba(21,72,150,.15);
}

/* Global box-sizing for predictable sizing */
*,*::before,*::after{box-sizing:border-box}

.svbsblue{background-color:var(--brand);opacity:.8}

.svbsgreen{background-color:var(--brand2);opacity:.8}

header h1{font-family:'vintage-deco',sans-serif;font-weight:700;font-style:normal;color:#000;font-size:1.5rem}

@media screen and (max-width:1100px){header h1{font-size:1.25rem;padding-left:10%}nav ul{padding-left:10%}}

.headertitle h2{font-family:'vintage-deco',sans-serif;font-weight:700;font-style:normal;color:lightgray;font-size:clamp(12px,5vw,3rem)}

@media screen and (max-width:700px){.headertitle h2{white-space:normal}}

#mobile-menu ul{font-size:1rem;font-weight:500}

.logo img{max-width:100px;width:auto;height:auto}

.lang-switcher{font-family:'vintage-deco',sans-serif;font-weight:400;font-style:normal;font-size:.9rem}

/* Consolidated PLL switcher styles */
.pll-switcher-select{padding:10px 40px 10px 12px;background-color:white;color:black;border:none;border-radius:4px;appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer}
.pll-switcher-select:focus{outline:none;box-shadow:0 0 0 2px rgba(21,72,150,.5)}
.pll-switcher-select-wrapper{position:relative;display:inline-block;top:45px}
.pll-switcher-select-wrapper::before{content:'';position:absolute;top:50%;left:0;width:12px;height:12px;pointer-events:none;transform:translateY(-50%);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M70 90 L30 50 L110 50 Z'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}

main{min-height:68vh}

main h2{font-family:'vintage-deco',sans-serif;font-weight:700;font-style:normal;color:var(--brand);font-size:1.25rem}

main h3{font-family:'vintage-deco',sans-serif;font-weight:700;color:var(--brand);font-size:1.1rem}

/* Single consolidated link styles inside main */
main a{color:var(--brand);font-weight:600;text-decoration:none;border-bottom:2px solid transparent;transition:all .2s ease-in-out}
main a:hover{color:var(--brand2);border-bottom:2px solid var(--brand2)}
main a:visited{color:var(--brand)}

.membership{background-image:url("../img/membership.png")} .events{background-image:url("../img/events.png");opacity:.9}.audit{background-image:url("../img/audits.png")} .faq{background-image:url("../img/faq.png")} .about{background-image:url("../img/about.png")} .news{background-image:url("../img/news.png")} .shop{background-image:url("../img/shop.png")} .schools{background-image:url("../img/schools.png")}

.box .fa-solid{font-size:60px;background-color:rgba(0,0,0,.75);padding:5px 10px;display:inline-block;border-radius:5px;color:white}

/* Make overlay absolute inside box for smooth transitions */
.box{position:relative;width:100%;max-width:250px;min-width:250px;min-height:125px}

.desc{padding-top:20px;font-family:'vintage-deco',sans-serif;font-weight:700;font-size:1rem;background-color:rgba(0,0,0,.75);padding:15px;display:inline-block;border-radius:5px;color:#fff}

.overlay{position:absolute;left:0;right:0;bottom:0;top:auto;height:0;overflow:hidden;transition:height .5s ease}
.box:hover .overlay{height:100%}

.box:hover .desc{display:none}

footer{font-family:'vintage-deco',sans-serif;font-weight:400;font-style:normal;color:#fff;font-size:1rem}

@media screen and (max-width:1100px){footer{font-size:.7rem}}

ul.svbs-list{list-style:none;padding:0;margin:0}

ul.svbs-list li{position:relative;padding-left:1.8em;margin-bottom:1em;line-height:1.5}

ul.svbs-list li::before{content:"•";position:absolute;left:0;top:0;color:var(--brand2);font-size:1.4em;line-height:1}

main ul,main ol{list-style:revert;margin-block-start:1em;margin-block-end:1em;padding-inline-start:1.5em;line-height:1.6}
main li + li{margin-top:.4em}

.wp-block-button__link{color:#fff!important}

.providers{max-width:1200px;margin-inline:auto;padding:2rem 1rem}

.providers__header{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:1rem}

.providers__search{flex:1 1 280px;padding:.7rem 1rem;border:1px solid #e5e7eb;border-radius:.75rem;outline:none;transition:box-shadow .2s,border-color .2s}
.providers__search:focus{border-color:var(--brand);box-shadow:0 0 0 .25rem var(--ring)}

.providers__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}

.provider{background:var(--card);border:1px solid #eef2f7;border-radius:1rem;padding:1rem;display:flex;flex-direction:column;gap:.75rem;transition:transform .15s ease,box-shadow .2s ease,border-color .2s}
.provider:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.06);border-color:#e2e8f0}

.provider__logo{display:grid;place-items:center;background:#f8fafc;border-radius:.75rem;aspect-ratio:16/9;overflow:hidden}
.provider__logo img{max-width:90%;max-height:90%;height:auto;width:auto;object-fit:contain}

.provider__title{margin:0;font-size:1.05rem;color:var(--text)}

.provider__meta{margin:0;color:var(--muted);font-size:.95rem;line-height:1.5}
.provider__meta a{color:var(--brand);text-decoration:none;border-bottom:2px solid transparent;transition:border-color .2s}
.provider__meta a:hover{border-bottom-color:var(--brand)}

.provider__cta{margin-top:auto;align-self:flex-start;padding:.55rem .9rem;border-radius:.7rem;font-weight:600;text-decoration:none;background:var(--brand);color:#fff;transition:filter .2s}
.provider__cta:hover{filter:brightness(1.08)}

main a.provider__cta,main a.provider__cta:visited,main a.provider__cta:active,main a.provider__cta:focus{color:#fff!important;border-bottom:none!important;text-decoration:none!important}

/* focus styles for keyboard users */
a:focus-visible,.provider__cta:focus-visible{outline:3px solid rgba(21,72,150,.25);outline-offset:2px}

/* Dokumente Accordion */
.docs{padding:1rem}
.docs__group{display:block;width:100%;margin:0 0 12px;box-sizing:border-box;border:1px solid #e5e7eb;border-radius:12px;background:#fff;overflow:hidden}
.docs__summary{display:block;width:100%;cursor:pointer;padding:.9rem 1rem;background:var(--brand);color:#fff;font-weight:600}
.docs__summary::-webkit-details-marker{display:none}
.docs__subgroup{display:block;width:100%;margin:8px 12px 12px;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}
.docs__subsummary{display:block;width:100%;cursor:pointer;padding:.6rem .8rem;background:#f1f5f9;color:#0f172a;font-weight:600}
.docs__subsummary::-webkit-details-marker{display:none}
.docs__list{list-style:none;margin:0;padding:.5rem 1rem 1rem}
.docs__item{padding:.4rem 0;border-bottom:1px solid #eef2f7}.docs__item:last-child{border-bottom:0}
.doc-link,.doc-link:visited{color:var(--brand);text-decoration:none;border-bottom:2px solid transparent;transition:.2s}
.doc-link:hover{border-bottom-color:var(--brand)}
.doc-link--disabled{color:#94a3b8}
.doc-meta{color:#64748b;font-size:.92rem;margin-left:.5rem}
.doc-desc{color:#475569;font-size:.95rem;margin-top:.25rem}

/* Container */
.breadcrumbs{font-size:clamp(.875rem,.84rem + .2vw,1rem);color:var(--wp--preset--color--contrast-2,#6b7280);margin-block:.75rem 1rem}
.breadcrumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem .5rem}
.breadcrumbs li{display:inline-flex;align-items:center}
.breadcrumbs a{color:inherit;text-decoration:none;max-width:28ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.breadcrumbs a:hover{text-decoration:underline}
.breadcrumbs .sep{opacity:.6;margin-inline:.25rem}
.breadcrumbs [aria-current="page"]{color:var(--wp--preset--color--foreground,#111827);font-weight:600}
