/* FOL public portal styles. Scoped to the plugin so the active WordPress theme remains intact. */
.fol-portal-open .site-content,.fol-portal-open .entry-content{max-width:100%;}
.fol-portal-open .entry-content{margin:0!important;padding:0!important;}
.fol-customer-wrap{--fol-green:#003159;--fol-green-dark:#001F3A;--fol-gold:#FD4500;--fol-sidebar:#101820;--fol-bg:#f4f6fa;display:grid;grid-template-columns:250px minmax(0,1fr);gap:0;position:relative;width:100%;max-width:100%;min-height:75vh;margin:0 auto;background:var(--fol-bg);color:#172033;font:400 15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;isolation:isolate;box-sizing:border-box;}
.fol-customer-wrap *{box-sizing:border-box;}
.fol-customer-wrap img{max-width:100%;height:auto;}
.fol-cust-sidebar{position:relative;z-index:3;align-self:stretch;background:var(--fol-sidebar);color:#fff;min-width:0;padding:18px 12px;}
.fol-cust-logo{display:flex;align-items:center;justify-content:center;padding:8px 8px 18px;}
.fol-cust-logo img{display:block;width:auto;max-width:100%;max-height:100px;object-fit:contain;}
.fol-cust-user{overflow-wrap:anywhere;color:#fff;}
.fol-side-nav{display:flex;flex-direction:column;gap:5px;margin:10px 0;}
.fol-side-nav a.fol-tab{display:flex;align-items:center;min-height:40px;padding:9px 12px;border-radius:8px;color:#e8edf3;text-decoration:none;font-size:14px;font-weight:600;line-height:1.35;overflow-wrap:anywhere;transition:background .15s,color .15s;}
.fol-side-nav a.fol-tab:hover,.fol-side-nav a.fol-tab:focus-visible,.fol-side-nav a.fol-tab.active{background:var(--fol-green);color:#fff;text-decoration:none;outline:none;}
.fol-side-nav a.fol-logout-tab{margin-top:8px;background:#8e1616;color:#fff;}
.fol-cust-main{position:relative;z-index:1;min-width:0;width:100%;padding:clamp(14px,2.5vw,32px);overflow-wrap:anywhere;}
.fol-cust-slim-bar{position:relative;z-index:2;max-width:100%;}
.fol-cust-main h1,.fol-cust-main h2,.fol-cust-main h3{line-height:1.25;overflow-wrap:anywhere;}
.fol-cust-main h1{font-size:clamp(1.35rem,2.3vw,2rem);}
.fol-cust-main h2{font-size:clamp(1.1rem,1.8vw,1.5rem);}
.fol-cust-main p{max-width:100%;}
.fol-cust-panel,.fol-cust-stats,.fol-order-card,.fol-loyalty-card{min-width:0;max-width:100%;}
.fol-cust-panel{padding:18px;margin:0 0 18px;background:#fff;border:1px solid #e1e7ef;border-radius:12px;box-shadow:0 3px 12px rgba(15,23,42,.05);}
.fol-cust-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,155px),1fr));gap:12px;}
.fol-cust-main button,.fol-cust-main .fol-btn-calc{max-width:100%;white-space:normal;overflow-wrap:anywhere;}
.fol-customer-wrap table{width:100%;border-collapse:collapse;}
.fol-customer-wrap th,.fol-customer-wrap td{padding:9px 10px;text-align:left;border-bottom:1px solid #e5e7eb;vertical-align:top;}
.fol-customer-wrap .fol-detail-table{display:block;max-width:100%;overflow-x:auto;}
.fol-customer-wrap input,.fol-customer-wrap select,.fol-customer-wrap textarea{max-width:100%;min-width:0;}
.fol-calc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.fol-map{width:100%;min-height:220px;max-width:100%;border-radius:10px;overflow:hidden;}
.fol-dash-bg-fade{position:absolute;top:0;right:0;width:min(45%,420px);height:240px;background-position:top right;background-size:cover;background-repeat:no-repeat;opacity:.06;pointer-events:none;z-index:0;}
.fol-modal-overlay,.fol-invoice-overlay,.fol-notif-overlay{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(15,23,42,.58);backdrop-filter:blur(4px);}
.fol-modal-panel,.fol-invoice-modal-panel,.fol-order-modal-panel,.fol-notif-panel-modal{width:min(720px,100%);max-height:90vh;overflow:auto;background:#fff;color:#172033;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.25);}
.fol-modal-header,.fol-notif-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border-bottom:1px solid #e5e7eb;}
.fol-modal-body{padding:18px;}
.fol-notif-badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:#dc2626;color:#fff;font-size:11px;text-align:center;}
.fol-customer-wrap a:focus-visible,.fol-customer-wrap button:focus-visible,.fol-customer-wrap input:focus-visible,.fol-customer-wrap select:focus-visible{outline:2px solid #003159;outline-offset:2px;}
@media(max-width:900px){.fol-customer-wrap{grid-template-columns:210px minmax(0,1fr);}.fol-cust-main{padding:18px;}.fol-side-nav a.fol-tab{font-size:13px;padding:9px;}}
@media(max-width:640px){
.fol-customer-wrap{display:flex;flex-direction:column;min-height:0;}
.fol-cust-sidebar{padding:10px 12px;min-height:0;background:var(--fol-sidebar)!important;color:#fff!important;width:100%;}
.fol-cust-logo{justify-content:flex-start;padding:4px 6px 10px;}
.fol-cust-logo img{max-height:58px;max-width:180px;}
.fol-cust-user{padding:6px 8px!important;color:#fff!important;}
.fol-side-nav{display:flex;flex-direction:row;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding:4px 0 8px;margin:4px 0;scrollbar-width:thin;background:transparent;}
.fol-side-nav a.fol-tab{flex:0 0 auto;min-height:36px;padding:8px 11px;font-size:12px;white-space:nowrap;color:#e8edf3!important;text-decoration:none!important;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);}
.fol-side-nav a.fol-tab:hover,.fol-side-nav a.fol-tab:focus-visible,.fol-side-nav a.fol-tab.active{background:var(--fol-green)!important;color:#fff!important;border-color:var(--fol-green);}
.fol-side-nav a.fol-logout-tab{margin-top:0;background:#8e1616!important;color:#fff!important;border-color:#8e1616;}
.fol-dash-footer{display:none;}
.fol-cust-main{padding:14px 12px;}
.fol-cust-dash-header{margin-bottom:1.25rem!important;padding-bottom:1rem!important;}
.fol-biz-name-header{font-size:1.15rem!important;}
.fol-cust-main [style*="min-width:200px"]{min-width:0!important;}
.fol-cust-main [style*="margin:0 0 2.5rem"]{margin-bottom:1rem!important;}
.fol-calc-grid{grid-template-columns:minmax(0,1fr);}
.fol-customer-wrap th,.fol-customer-wrap td{padding:7px;font-size:13px;}
.fol-modal-overlay,.fol-invoice-overlay,.fol-notif-overlay{padding:8px;}
.fol-modal-panel,.fol-invoice-modal-panel,.fol-order-modal-panel,.fol-notif-panel-modal{max-height:94vh;border-radius:10px;}
.fol-map{min-height:200px;}
.fol-cust-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(prefers-reduced-motion:reduce){.fol-customer-wrap *{scroll-behavior:auto!important;transition:none!important;animation:none!important;}}


/* Mobile full-bleed customer portal */
@media (max-width: 782px) {
    .fol-customer-wrap {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        min-height: 0 !important;
        overflow-x: hidden !important;
    }
    .fol-cust-sidebar {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        position: relative !important;
        left: auto !important;
    }
    .fol-cust-main {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding: 12px 10px 28px !important;
    }
    .fol-cust-main [style*="grid-template-columns:minmax(0,1fr) minmax(0,1fr)"] {
        grid-template-columns: 1fr !important;
    }
    .fol-usa-ship-card,
    .fol-cust-panel,
    .fol-order-card {
        max-width: 100% !important;
    }
}
