
/* I Am Blairgowrie Community Directory */
.elementor-widget-iab-chairpeople,
.elementor-widget-iab-chairpeople > .elementor-widget-container,
.elementor-widget-iab-business-supporters,
.elementor-widget-iab-business-supporters > .elementor-widget-container{
    height:100%;
}

.iab-chair-card,
.iab-business-home-card{
    position:relative;
    overflow:hidden;
    width:100%;
    height:100%;
    min-height:300px;
    padding:26px 28px 22px;
    border-radius:30px;
    background:#f6f2e9;
    box-shadow:0 10px 28px rgba(27,52,34,.06);
    font-family:"Montserrat",Arial,sans-serif;
}
.iab-chair-card *,
.iab-business-home-card *,
.iab-portal-shell *{box-sizing:border-box}

.iab-community-heading{
    position:relative;
    z-index:3;
    margin:0;
    color:#173d28;
    font-size:20px;
    line-height:1.1;
    font-weight:900;
    letter-spacing:-.025em;
    text-transform:uppercase;
}
.iab-community-subtitle{
    position:relative;
    z-index:3;
    margin-top:5px;
    color:#4c524c;
    font-size:10px;
    line-height:1.2;
    font-weight:700;
    text-transform:uppercase;
}

/* Chair people */
.iab-chair-card{
    display:flex;
    flex-direction:column;
}
.iab-chair-botanical{
    --iab-cd-sway:.9deg;
    --iab-cd-drift:3px;
    --iab-cd-duration:10s;
    position:absolute;
    left:-24px;
    bottom:-10px;
    width:220px;
    pointer-events:none;
    opacity:.95;
    z-index:2;
    transform-origin:45% 100%;
}
.iab-chair-botanical img{
    display:block;
    width:100%;
    height:auto;
    transform-origin:45% 100%;
    will-change:transform;
}
.iab-chairpeople-grid{
    position:relative;
    z-index:3;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
    margin-top:24px;
    flex:1 1 auto;
}
.iab-chairperson{
    display:grid;
    grid-template-columns:88px minmax(0,1fr);
    gap:14px;
    align-items:center;
}
.iab-chair-photo{
    width:82px;
    height:82px;
    overflow:hidden;
    border-radius:50%;
    background:#173d28;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    border:4px solid rgba(255,255,255,.8);
    box-shadow:0 6px 18px rgba(31,58,39,.13);
}
.iab-chair-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.iab-chair-photo span{
    font-size:30px;
    font-weight:900;
}
.iab-chair-copy{
    display:flex;
    flex-direction:column;
}
.iab-chair-copy strong{
    color:#242a25;
    font-size:12px;
    line-height:1.3;
    font-weight:900;
}
.iab-chair-role{
    margin-top:3px;
    color:#424941;
    font-size:10px;
    line-height:1.4;
    font-weight:600;
}
.iab-chair-copy em{
    margin-top:8px;
    color:#40453f;
    font-size:10px;
    line-height:1.45;
    font-weight:600;
}
.iab-community-button{
    position:relative;
    z-index:3;
    align-self:center;
    margin-top:20px;
    min-height:44px;
    padding:0 28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:#fff;
    color:#285a36!important;
    text-decoration:none!important;
    font-size:10px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    box-shadow:0 6px 16px rgba(31,58,39,.08);
}

/* Business supporters */
.iab-business-home-card{
    display:flex;
    flex-direction:column;
    text-align:center;
}
.iab-business-botanical{
    --iab-cd-sway:1.2deg;
    --iab-cd-drift:4px;
    --iab-cd-duration:11s;
    position:absolute;
    right:-18px;
    bottom:-16px;
    width:210px;
    pointer-events:none;
    opacity:.98;
    z-index:2;
    transform-origin:55% 100%;
}
.iab-business-botanical img{
    display:block;
    width:100%;
    height:auto;
    transform-origin:55% 100%;
    will-change:transform;
}
.iab-business-logo-grid{
    position:relative;
    z-index:3;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
    align-items:center;
    margin-top:30px;
    flex:1 1 auto;
}
.iab-business-logo{
    min-height:96px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:8px;
    color:#173d28!important;
    text-decoration:none!important;
}
.iab-business-logo img{
    display:block;
    max-width:100%;
    max-height:82px;
    width:auto;
    height:auto;
    object-fit:contain;
}
.iab-business-logo strong{
    font-size:12px;
}
.iab-business-actions{
    position:relative;
    z-index:3;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin-top:18px;
}
.iab-business-actions .iab-community-button{
    margin-top:0;
}
.iab-business-login{
    color:#2a6438!important;
    font-size:9px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    text-decoration:none!important;
}

/* Business portal */
.iab-portal-shell{
    width:100%;
    max-width:1150px;
    margin:30px auto;
    padding:0 18px;
    font-family:"Montserrat",Arial,sans-serif;
}
.iab-portal-login,
.iab-portal-card,
.iab-portal-empty{
    background:#f8f5ef;
    border-radius:24px;
    padding:28px;
    box-shadow:0 12px 35px rgba(30,55,35,.08);
}
.iab-portal-login{
    max-width:620px;
    margin:0 auto;
}
.iab-portal-kicker{
    color:#f47a20;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
}
.iab-portal-shell h2{
    margin:6px 0 10px;
    color:#173d28;
    font-size:28px;
    line-height:1.1;
}
.iab-portal-shell p{
    color:#454b45;
    font-size:13px;
    line-height:1.6;
}
.iab-portal-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    margin-bottom:18px;
}
.iab-portal-logout{
    color:#285e37;
    font-weight:800;
    font-size:12px;
}
.iab-portal-success{
    margin-bottom:18px;
    padding:13px 16px;
    border-radius:12px;
    background:#e6f4e9;
    color:#205b32;
    font-size:13px;
    font-weight:700;
}
.iab-portal-statusbar{
    display:flex;
    flex-wrap:wrap;
    gap:10px 25px;
    margin-bottom:22px;
    padding:12px 15px;
    border-radius:14px;
    background:#fff;
    font-size:11px;
}
.iab-portal-media-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin-bottom:22px;
}
.iab-portal-media-card{
    padding:15px;
    border-radius:16px;
    background:#fff;
}
.iab-portal-media-preview{
    min-height:130px;
    margin:10px 0;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:#f2efe8;
    overflow:hidden;
}
.iab-portal-media-preview img{
    max-width:100%;
    max-height:220px;
    width:auto;
    height:auto;
}
.iab-portal-cover img{
    width:100%;
    max-height:220px;
    object-fit:cover;
}
.iab-portal-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}
.iab-portal-grid label{
    display:flex;
    flex-direction:column;
    gap:6px;
}
.iab-portal-grid label > span{
    color:#263c2d;
    font-size:11px;
    font-weight:800;
}
.iab-portal-grid input,
.iab-portal-grid textarea,
.iab-portal-login input{
    width:100%;
    border:1px solid #d8d6ce;
    border-radius:10px;
    padding:11px 12px;
    background:#fff;
    font:inherit;
}
.iab-portal-wide{
    grid-column:1/-1;
}
.iab-portal-save,
.iab-portal-login input[type=submit]{
    margin-top:20px;
    min-height:46px;
    padding:0 24px;
    border:0;
    border-radius:999px;
    background:#2b6b37;
    color:#fff;
    font-size:11px;
    font-weight:900;
    cursor:pointer;
}
.iab-business-empty{
    grid-column:1/-1;
    font-size:12px;
    color:#555;
}

@media(max-width:900px){
    .iab-chairpeople-grid{grid-template-columns:1fr}
    .iab-business-logo-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:767px){
    .iab-chair-card,
    .iab-business-home-card{
        padding:22px 18px;
        border-radius:24px;
    }
    .iab-community-heading{font-size:18px}
    .iab-chairperson{grid-template-columns:72px minmax(0,1fr)}
    .iab-chair-photo{width:68px;height:68px}
    .iab-business-logo-grid{gap:10px;margin-top:22px}
    .iab-business-logo{min-height:76px}
    .iab-business-logo img{max-height:62px}
    .iab-portal-top{flex-direction:column}
    .iab-portal-media-grid,
    .iab-portal-grid{grid-template-columns:1fr}
    .iab-portal-wide{grid-column:auto}
}


/* ==========================================
   Botanical motion system v1.0.2
   ========================================== */
.iab-cd-botanical-motion img{
    animation:iabCdBotanicalSway var(--iab-cd-duration) ease-in-out infinite;
}

@keyframes iabCdBotanicalSway{
    0%,100%{
        transform:translate3d(0,0,0) rotate(calc(var(--iab-cd-sway) * -0.35));
    }
    25%{
        transform:translate3d(calc(var(--iab-cd-drift) * .25), calc(var(--iab-cd-drift) * -.45), 0)
                  rotate(calc(var(--iab-cd-sway) * .25));
    }
    50%{
        transform:translate3d(var(--iab-cd-drift), calc(var(--iab-cd-drift) * -.2), 0)
                  rotate(var(--iab-cd-sway));
    }
    75%{
        transform:translate3d(calc(var(--iab-cd-drift) * -.25), calc(var(--iab-cd-drift) * .15), 0)
                  rotate(calc(var(--iab-cd-sway) * .15));
    }
}

@media(prefers-reduced-motion:reduce){
    .iab-cd-botanical-motion img{
        animation:none !important;
        transform:none !important;
    }
}

@media(max-width:767px){
    .iab-cd-no-mobile-motion img{
        animation:none !important;
        transform:none !important;
    }
}
