/*
Theme Name: Rivlite
Theme URI: https://www.rivmedia.co.uk
Author: Rivmedia
Author URI: https://www.rivmedia.co.uk
Description: A lightweight, Bootstrap-style, Elementor-ready WordPress theme with optional left sidebar layout and Customizer controls.
Version: 1.5.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rivlite
Tags: lightweight, responsive, elementor, bootstrap-like
*/

:root{
  --rl-spacing: 1rem;
  --rl-max: 1200px;
  --rl-font: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
  --rl-muted:#6c757d;
  --rl-border:#e5e7eb;
  --rl-bg:#ffffff;
  --rl-text:#212529;
  --rl-primary:#0d6efd;
  --rl-accent:#20c997;
  --rl-link:#0d6efd;
  --rl-radius:.5rem;
  --rl-heading-scale:1;
  --rl-logo-scale:1; /* NEW: logo height scale */
  /* Button vars */
  --rl-btn-font-weight:600;
  --rl-btn-border-width:1px;
  --rl-btn-border-color:var(--rl-primary);
  --rl-btn-radius:var(--rl-radius);
}

html{box-sizing:border-box}
*,*:before,*:after{box-sizing:inherit}
body{margin:0;font-family:var(--rl-font);line-height:1.65;color:var(--rl-text);background:var(--rl-bg)}
a{color:var(--rl-link);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
hr{border:0;border-top:1px solid var(--rl-border);margin:1.5rem 0}

/* Headings */
h1,h2,h3,h4,h5,h6{margin:.5rem 0 1rem;font-weight:700;line-height:1.25}
h1{font-size:calc(clamp(2rem,4vw,2.5rem) * var(--rl-heading-scale))}
h2{font-size:calc(clamp(1.5rem,3vw,2rem) * var(--rl-heading-scale))}
h3{font-size:calc(clamp(1.25rem,2.5vw,1.5rem) * var(--rl-heading-scale))}
h4{font-size:calc(1.125rem * var(--rl-heading-scale))}
h5{font-size:calc(1rem * var(--rl-heading-scale))}
h6{font-size:calc(.875rem * var(--rl-heading-scale));color:var(--rl-muted)}

/* Typography & lists */
p{margin:0 0 1rem}
ul,ol{padding-left:1.25rem;margin:0 0 1rem}
li{margin:.25rem 0}

/* Tables */
.table,table{width:100%;border-collapse:collapse}
.table th,.table td,table th,table td{border:1px solid var(--rl-border);padding:.625rem;text-align:left;vertical-align:top}
.table thead th,table thead th{background:#f8f9fa}
.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.table-responsive table{min-width:600px}


/* Forms */
input[type="text"],input[type="email"],input[type="url"],input[type="password"],input[type="search"],input[type="number"],select,textarea{
  width:100%;max-width:100%;padding:.5rem .625rem;border:1px solid var(--rl-border);border-radius:var(--rl-radius);background:#fff
}
label{display:inline-block;margin:.25rem 0 .25rem}

/* Buttons */
button,input[type="submit"],.btn{
  display:inline-block;
  padding:0.3rem 0.5rem;
  border:var(--rl-btn-border-width) solid var(--rl-btn-border-color);
  background:var(--rl-primary);
  color:#fff;
  border-radius:var(--rl-btn-radius);
  cursor:pointer;
  font-weight:var(--rl-btn-font-weight);
}

.ipp-btn {background:#eee; color:#000; }
.btn:hover{opacity:.95}
.btn-outline{background:transparent;color:var(--rl-primary)}
.btn-secondary{border-color:var(--rl-accent);background:var(--rl-accent)}
.btn-sm{padding:.25rem .5rem;border-radius:calc(var(--rl-btn-radius) - .125rem)}
.btn-lg{padding:.75rem 1.25rem;font-size:1.05rem}
/* If theme default is outline */
.body-btn-outline .btn{background:transparent;color:var(--rl-primary)}

/* Notices */
.notice{padding:.75rem 1rem;border-radius:var(--rl-radius);border:1px solid transparent;margin:1rem 0}
.notice-info{background:#e7f1ff;border-color:#cfe0ff;color:#084298}
.notice-success{background:#eaf7ef;border-color:#cfead9;color:#0f5132}
.notice-warning{background:#fff4e5;border-color:#ffe1b3;color:#7a5200}
.notice-error{background:#fde7ea;border-color:#f5c2c7;color:#842029}

/* Code & blockquotes */
code,kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;background:#f6f8fa;border:1px solid var(--rl-border);border-radius:.25rem;padding:.125rem .25rem}
pre{overflow:auto;background:#f6f8fa;border:1px solid var(--rl-border);border-radius:var(--rl-radius);padding:1rem}
blockquote{border-left:4px solid var(--rl-primary);margin:1rem 0;padding:.5rem 1rem;background:#f8f9ff}

/* Cards */
.card{border:1px solid var(--rl-border);border-radius:var(--rl-radius);overflow:hidden;background:#fff}
.card-body{padding:1rem}
.card-title{margin:0 0 .5rem 0;font-size:1.1rem}

/* Layout helpers */
.container{width:100%;max-width:var(--rl-max);margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}
.row{display:flex;flex-wrap:wrap;margin-left:-.5rem;margin-right:-.5rem}
[class^="col-"],[class*=" col-"]{padding-left:.5rem;padding-right:.5rem;flex:1 0 0%}
.col-12{flex-basis:100%;max-width:100%}
.col-6{flex-basis:50%;max-width:50%}
.col-4{flex-basis:33.333%;max-width:33.333%}
.col-3{flex-basis:25%;max-width:25%}
@media (max-width:768px){
  .col-md-12{flex-basis:100%;max-width:100%}
  .col-md-6{flex-basis:50%;max-width:50%}
}

/* Navbar */
.navbar{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--rl-border);background:#fff;position:sticky;top:0;z-index:10}
.navbar-brand{font-weight:700;display:flex;align-items:center;gap:.5rem}
.custom-logo{height:auto;max-height:calc(60px * var(--rl-logo-scale));width:auto}

/* Footer */
.footer{border-top:1px solid var(--rl-border);margin-top:2rem;padding:2rem 0;color:var(--rl-muted)}
.entry-content{margin-top:1rem}
.screen-reader-text{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

/* Mobile helpers */
.img-fluid{max-width:100%;height:auto}
.hidden-sm{display:block}
@media (max-width: 576px){ .hidden-sm{display:none} }

/* Map WP/Woo "button" patterns to theme buttons */
.wp-element-button,
a.button, button.button, input.button,
a.wp-element-button, button.wp-element-button, input.wp-element-button, em.button {
  display:inline-block;
  padding:0.3rem 0.5rem;
  border:var(--rl-btn-border-width) solid var(--rl-btn-border-color);
  background:var(--rl-primary);
  color:#fff;
  border-radius:var(--rl-btn-radius);
  cursor:pointer;
  font-weight:var(--rl-btn-font-weight);
  text-decoration:none;
}
a.button:hover, button.button:hover, input.button:hover,
.wp-element-button:hover, a.wp-element-button:hover, button.wp-element-button:hover, input.wp-element-button:hover {
  opacity:.95;
  color:#fff;
  text-decoration:none;
}

/* Variants */
.button.alt, .wp-element-button.is-style-primary { background:var(--rl-primary); border-color:var(--rl-primary); color:#fff; }
.button.secondary, .wp-element-button.is-style-secondary { background:var(--rl-accent); border-color:var(--rl-accent); color:#fff; }
.button.outline, .wp-element-button.is-style-outline { background:transparent; color:var(--rl-primary); }

/* Size helpers */
.button.small, .wp-element-button.is-small { padding:.25rem .5rem; }
.button.large, .wp-element-button.is-large { padding:.75rem 1.25rem; font-size:1.05rem; }


/* Topbar (mobile in sidebar layout) */
:root{
  --rl-topbar-bg:#ffffff;
  --rl-topbar-text:#111827;
  --rl-topbar-height:56px;
  --rl-toggle-bg:#0d6efd;
  --rl-toggle-text:#ffffff;
  --rl-toggle-radius:.5rem;
  --rl-toggle-border:#0d6efd;
  --rl-toggle-size:40px;
  --rl-table-stripe-odd:#ffffff;
  --rl-table-stripe-even:#fafafa;
  --rl-table-hover:#f2f6ff;
}

.layout-sidebar .mobile-topbar{
  position:sticky;top:0;left:0;right:0;height:var(--rl-topbar-height);
  background:var(--rl-topbar-bg);color:var(--rl-topbar-text);
  display:none;align-items:center;justify-content:space-between;
  padding:0 .75rem;border-bottom:1px solid var(--rl-border);z-index:25
}
.layout-sidebar .mobile-topbar .brand{flex:1;min-width:0;
  display:flex;align-items:center;gap:.5rem;font-weight:700
}
.layout-sidebar .mobile-topbar .brand img{max-height:calc(var(--rl-topbar-height) - 16px);height:auto;width:auto}
.layout-sidebar .mobile-topbar .sidebar-toggle{
  display:inline-flex;align-items:center;justify-content:center;
  width:calc(var(--rl-toggle-size) + 8px);height:calc(var(--rl-toggle-size) + 8px);
  border:1px solid var(--rl-toggle-border);border-radius:var(--rl-toggle-radius);
  background:var(--rl-toggle-bg);color:var(--rl-toggle-text);font-size:1rem;line-height:1
}

@media (max-width: 1100px){
  .layout-sidebar .mobile-topbar{display:flex}
}

/* Toggle icon */
.rivlite-burger{display:inline-block;width:18px;height:12px;position:relative}
.rivlite-burger::before,.rivlite-burger::after, .rivlite-burger span{
  content:"";position:absolute;left:0;right:0;height:2px;background:currentColor;border-radius:2px
}
.rivlite-burger span{top:5px}
.rivlite-burger::before{top:0}
.rivlite-burger::after{bottom:0}

/* Tables: zebra & hover */
.table tbody tr:nth-child(odd), table tbody tr:nth-child(odd){background:var(--rl-table-stripe-odd)}
.table tbody tr:nth-child(even), table tbody tr:nth-child(even){background:var(--rl-table-stripe-even)}
.table tbody tr:hover, table tbody tr:hover{background:var(--rl-table-hover)}



/* === v1.5.0 Navigation improvements === */

/* Structure */
.nav-inner{display:flex;align-items:center;gap:1rem}
.nav-inner .navbar-brand{flex:0 0 auto}
.nav-inner .nav-primary{flex:1 1 auto;min-width:0}
.nav-inner .menu-toggle{flex:0 0 auto;margin-left:auto}

/* Horizontal nav (desktop/all) */
.nav-horizontal{display:flex;gap:.5rem;list-style:none;margin:0;padding:0;flex-wrap:wrap;align-items:center}
.nav-horizontal > li{position:relative}
.nav-horizontal > li > a{display:inline-block;padding:.5rem .625rem;border-radius:.375rem}
.nav-horizontal > li:hover > a{background:#f5f5f5}

/* Dropdowns on desktop hover */
.nav-horizontal > li.menu-item-has-children:hover > .sub-menu{display:block}
.sub-menu{display:none;position:absolute;top:100%;left:0;min-width:220px;background:#fff;border:1px solid var(--rl-border);border-radius:.5rem;box-shadow:0 10px 30px rgba(0,0,0,.06);z-index:50;padding:.375rem 0}
.sub-menu li{position:relative}
.sub-menu a{display:block;padding:.5rem .875rem;white-space:nowrap}
.sub-menu li.menu-item-has-children:hover > .sub-menu{display:block;left:100%;top:0}

/* Menu toggle button */
.menu-toggle{border:1px solid var(--rl-toggle-border);background:var(--rl-toggle-bg);color:var(--rl-toggle-text);
  border-radius:var(--rl-toggle-radius);padding:.5rem .625rem;display:inline-flex;align-items:center;gap:.5rem}
.menu-toggle .rivlite-burger{width:20px;height:14px}
.menu-toggle[aria-expanded="true"]{opacity:.95}

/* Mobile dropdown (Top Navbar layout only) */
.nav-dropdown{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--rl-border);box-shadow:0 10px 30px rgba(0,0,0,.06);z-index:40}
body.nav-open .nav-dropdown{display:block}
.nav-dropdown .nav-vertical{list-style:none;margin:0;padding:.25rem 0}
.nav-dropdown .nav-vertical > li > a{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #f2f2f2}
.nav-dropdown .nav-vertical > li:last-child > a{border-bottom:none}
.nav-dropdown .sub-menu{position:static;display:none;border:none;box-shadow:none;padding:0;margin:0}
.nav-dropdown .sub-menu li a{padding:.5rem 1rem .5rem 1.75rem;border-bottom:1px solid #f7f7f7}
.nav-dropdown .submenu-toggle{background:transparent;border:0;cursor:pointer;margin-left:.5rem}
.nav-dropdown .open > .sub-menu{display:block}

/* Responsive visibility */
@media (max-width: 1100px){
  /* In mobile, hide desktop horizontal nav inside header; use dropdown instead */
  .navbar .nav-primary{display:none}
  .navbar{position:sticky;top:0;z-index:30}
}
@media (min-width: 1101px){
  .nav-dropdown{display:none !important}
}

/* Ensure header is positioning context for dropdown */
.navbar{position:sticky;top:0;z-index:30}



/* v1.5.1: Sidebar layout mobile/tablet topbar alignment */
@media (max-width: 1100px){
  .layout-sidebar .mobile-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .layout-sidebar .mobile-topbar .brand {
    flex: 1;
    min-width: 0;
  }
  .layout-sidebar .mobile-topbar .sidebar-toggle {
    order: 2;
    margin-left: auto;
  }
  
  /* FIXED: Increase specificity with !important */
  body.toggle-left .mobile-topbar .sidebar-toggle {
    order: 0 !important;
    margin-left: 0 !important;
    margin-right: .5rem !important;
  }
  body.toggle-right .mobile-topbar .sidebar-toggle {
    order: 2 !important;
    margin-left: auto !important;
    margin-right: 0 !important;
  }
  body.toggle-hidden .mobile-topbar .sidebar-toggle {
    display: none !important;
  }
}

@media (max-width: 1480px){

.statuscolumn { display:none;}
}
.reportcolumn, .inspectorcolumn { display:none;}


@media (max-width: 992px){
.inspectorcolumn, .quotecolumn, .reportcolumn { display:none; }
.statuscolumn, .duecolumn, .dayscolumn { display:none;}
}


@media (max-width: 768px){ 
    .inspectorcolumn, .datecolumn, .quotecolumn, .reportcolumn { display:none; }
    .statuscolumn, .duecolumn, .dayscolumn { display:none;}
    .buttongroup .button {
  width: 100%;
  text-align: center;
  display: block;
}
}

.ipp-dashboard-wrap td { width:25%; }

@media (max-width: 1480px){

.ipp-dashboard-wrap td { width:25%; }
}

@media (max-width: 992px){
.ipp-dashboard-wrap td { width:25%; }
}


@media (max-width: 768px){ 
.ipp-dashboard-wrap td { width:25%; }
.ipp-dashboard-wrap .button {
  width: 100%;
  text-align: center;
  margin: 4px;
}
}