/**
 * com_jwb frontend legacy styling (Bootstrap 2/3 appearance on Joomla 6 / Cassiopeia).
 * Scoped to body so Cassiopeia elsewhere is unaffected.
 */

body {
	font-size: 13px !important;
	line-height: 1.42857143;
	color: #333;
}

body .jwb-large-block input {
	font-size: 180%;
	height: auto;
	line-height: 1.6;
}

body .straight-corner {
	border-radius: 0;
}

@media (min-width: 768px) {
	body .status-group {
		padding-left: 20px;
	}
}

/* Search box (RFS / Property ID) */
body #rfs_number,
body #property_id {
	border: 1px solid #aaa;
	border-radius: 0;
	width: 190px;
	height: 36px !important;
	font-size: 24px !important;
	line-height: 1.3em !important;
}

body #rfs_number_btn,
body #property_id_btn {
	height: 36px;
	font-size: 24px;
	line-height: 0 !important;
}

body .input-append {
	display: inline-flex;
	align-items: stretch;
}

body .input-append .btn {
	margin-left: -1px;
}

/* Legacy glyphicon search icon */
body .icon-search {
	display: inline-block;
	font-style: normal;
	font-weight: normal;
	line-height: 0;
}

body .icon-search::before {
	content: "\f002";
	font-family: var(--fa-style-family, "Font Awesome 6 Free"), "Font Awesome 5 Free", sans-serif;
	font-weight: 900;
	font-size: 14px;
}

/* Bootstrap 2/3 button sizes and colours */
body .btn-large,
body .btn-lg {
	padding: 11px 19px;
	font-size: 17.5px;
	border-radius: 6px;
}

body .btn {
	display: inline-block;
	margin-bottom: 0;
	font-weight: normal;
	text-align: center;
	vertical-align: middle;
	cursor: pointer;
	border: 1px solid transparent;
	padding: 6px 12px;
	font-size: 14px;
	line-height: 1.42857143;
	border-radius: 4px;
	user-select: none;
}

body .btn-primary {
	color: #fff;
	background-color: #428bca;
	border-color: #357ebd;
}

body .btn-primary:hover,
body .btn-primary:focus {
	color: #fff;
	background-color: #3276b1;
	border-color: #285e8e;
}

body .btn-primary[disabled] {
	background-color: #989898;
	border-color: #989898;
	color: #000;
	opacity: 1;
}

body .btn-success {
	color: #fff;
	background-color: #5cb85c;
	border-color: #4cae4c;
}

body .btn-success:hover,
body .btn-success:focus {
	color: #fff;
	background-color: #47a447;
	border-color: #398439;
}

body .btn-warning {
	color: #fff;
	background-color: #f0ad4e;
	border-color: #eea236;
}

body .btn-warning:hover,
body .btn-warning:focus {
	color: #fff;
	background-color: #ed9c28;
	border-color: #d58512;
}

body .btn-danger {
	color: #fff;
	background-color: #d9534f;
	border-color: #d43f3a;
}

body .btn-danger:hover,
body .btn-danger:focus {
	color: #fff;
	background-color: #d2322d;
	border-color: #ac2925;
}

body .btn-success.active,
body .btn-warning.active,
body .btn-danger.active,
body .btn-primary.active {
	opacity: 1;
	box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

body .status-group .btn {
	margin: 2px;
}

body .pull-left {
	float: left !important;
}

body .pull-right {
	float: right !important;
}

body .clearfix::before,
body .clearfix::after {
	content: " ";
	display: table;
}

body .clearfix::after {
	clear: both;
}

/* Tables */
body .table {
	width: 100%;
	max-width: 100%;
	margin-bottom: 20px;
	border-collapse: collapse;
}

body .table th,
body .table td {
	padding: 8px;
	line-height: 1.42857143;
	vertical-align: top;
	border-top: 1px solid #ddd;
}

body .table > thead > tr > th {
	vertical-align: bottom;
	border-bottom: 2px solid #ddd;
}

body .middle {
	vertical-align: middle;
}

body .center {
	text-align: center;
}

/* Form status inputs */
body .jwb-delivery-state {
	white-space: normal;
}

body #jwb-form input[type="text"] {
	border: 1px solid #ccc;
	padding: 4px 6px;
}

body .button-group {
	margin-bottom: 10px;
}

body .row {
	margin-left: -15px;
	margin-right: -15px;
}

body .row::before,
body .row::after {
	content: " ";
	display: table;
}

body .row::after {
	clear: both;
}

/* =============================================================================
   Cassiopeia shell – match legacy J3 “Just Wheelie Bins” layout
   ============================================================================= */

body.site {
	background: #f4f6f7 !important;
	font-family: Arial, Helvetica, sans-serif;
	color: #333;
	padding: 18px 16% 24px !important;
	font-size: 13px !important;
	line-height: 1.42857143;
}

@media (max-width: 1200px) {
	body.site {
		padding-left: 8% !important;
		padding-right: 8% !important;
	}
}

@media (max-width: 768px) {
	body.site {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}

/* Single white content panel (header + grid) */
body .header.container-header {
	position: static !important;
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 12px 28px 8px;
	border: 1px solid #a8a8a8;
	border-bottom: none;
	box-shadow: none;
	color: #004c6d;
	border: 1px solid rgba(0,0,0,0.15);
	-moz-box-shadow: 0px 0px 6px rgba(0,0,0,0.05);
	-webkit-box-shadow: 0px 0px 6px rgba(0,0,0,0.05);
	box-shadow: 0px 0px 6px rgba(0,0,0,0.05);
	border-radius: 4px;
	border-bottom: none;
}

body .site-grid {
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 14px 28px 26px;
	background: #fff;
	border: 1px solid #a8a8a8;
	border-top: 1px solid #ddd;
	grid-gap: 4px;
	border: 1px solid rgba(0,0,0,0.15);
	-moz-box-shadow: 0px 0px 6px rgba(0,0,0,0.05);
	-webkit-box-shadow: 0px 0px 6px rgba(0,0,0,0.05);
	box-shadow: 0px 0px 6px rgba(0,0,0,0.05);
}

body.wrapper-fluid .header.container-header,
body.wrapper-fluid .site-grid {
	max-width: none;
}

/* Site title like old “Just Wheelie Bins” */
body .navbar-brand {
	padding: 0;
	margin: 0;
}

body .navbar-brand a,
body .navbar-brand .brand-logo,
body .navbar-brand span {
	color: #fff !important;
	font-size: 26px;
	font-weight: bold;
	text-decoration: none;
	line-height: 1.2;
	font-size: 30px;
  	font-weight: 500;
}

body .navbar-brand a:hover,
body .navbar-brand a:focus {
	color: #003352 !important;
	text-decoration: none;
}

body .site-description {
	color: #666;
	font-size: 13px;
}

/* Old site used sidebar menu only */
body .container-nav,
body .container-search {
	display: none !important;
}

/* Typography – compact legacy sizes */
body .container-component,
body .container-component main,
body .table,
body .table td,
body .table th,
body p,
body label {
	font-size: 13px;
}

body .mod-breadcrumbs,
body .breadcrumb,
body .mod-breadcrumbs a {
	font-size: 12px;
}

body .mod-breadcrumbs {
	background: #f5f5f5;
	border: 1px solid #ddd;
	padding: 7px 12px;
	margin-bottom: 12px;
}

body .btn-group .btn-large {
	font-size: 14px;
	padding: 8px 14px;
}

body .table td,
body .table th {
	padding: 7px 10px;
}

body .alert {
	border-radius: 0;
	font-size: 13px;
}

/* Hide frontend module edit icons */
body .jmodedit,
body a[href*="joomla_content/modal-component"] {
	display: none !important;
}

body .container-footer.footer,
body #back-top {
	display: block !important;
}

/* Main column */
body .container-component {
	padding: 0;
}

body .container-component main {
	padding: 0;
}

/* Sidebar – grey menu / login boxes */
body .container-sidebar-right .card {
	background: #ececec;
	border: 1px solid #bbb;
	border-radius: 0;
	box-shadow: none;
	margin-bottom: 14px;
}

body .container-sidebar-right .card-header {
	background: #ececec;
	border-bottom: 1px solid #bbb;
	padding: 8px 12px;
	font-size: 13px;
	font-weight: bold;
	color: #333;
	border-radius: 0;
}

body .container-sidebar-right .card-body {
	padding: 0;
	background: #f5f5f5;
}

body .container-sidebar-right .mod-menu,
body .container-sidebar-right .mod-menu ul,
body .container-sidebar-right .nav {
	list-style: none;
	margin: 0;
	padding: 0;
}

body .container-sidebar-right .mod-menu.mod-list > li,
body .container-sidebar-right .nav-item {
	border-bottom: 1px solid #bbb;
	margin: 0;
}

body .container-sidebar-right .mod-menu.mod-list > li:last-child,
body .container-sidebar-right .nav-item:last-child {
	border-bottom: none;
}

body .container-sidebar-right .mod-menu a,
body .container-sidebar-right .nav-link {
	display: block;
	padding: 5px 14px;
	text-decoration: none;
	background: transparent;
	border: none;
	color: #08c !important;
	font-weight: bold;
	font-size: 16px;
}

body .mod-login-logout.form-vertical{
	text-align: center;
  	padding: 20px;
	background: #f5f5f5;
}

body .container-sidebar-right .mod-menu a:hover,
body .container-sidebar-right .nav-link:hover {
	background: #e0e0e0;
	color: #004466 !important;
}

body .container-sidebar-right .mod-menu .active a,
body .container-sidebar-right .mod-menu a.active {
	background: #e8e8e8;
	color: #004466 !important;
}

/* Login / logout module */
body .container-sidebar-right .mod-login {
	padding: 12px 14px;
}

body .container-sidebar-right .mod-login-greeting {
	margin-bottom: 10px;
	font-size: 13px;
}

body .container-sidebar-right .mod-login .btn,
body .container-sidebar-right .mod-login input[type="submit"],
body .container-sidebar-right .mod-login button {
	background: linear-gradient(to bottom, #4a90d9 0%, #2a6fc2 100%);
	border: 1px solid #1a5aa8;
	color: #fff !important;
	padding: 6px 18px;
	font-size: 13px;
	border-radius: 4px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}

body .container-sidebar-right .mod-login .btn:hover,
body .container-sidebar-right .mod-login input[type="submit"]:hover {
	background: linear-gradient(to bottom, #3a80c9 0%, #1a5fb2 100%);
}

/* Status row – inactive buttons look like old grey tabs */
body .btn-group .btn-large:not(.btn-success):not(.btn-warning):not(.btn-danger):not(.active) {
	background: #f5f5f5;
	border: 1px solid #bbb;
	color: #333;
	box-shadow: none;
}

body .btn-group .btn-large.btn-success,
body .btn-group .btn-large.active.btn-success {
	background-color: #4c9e47;
	border-color: #3d8538;
}

body .btn-group .btn-large.btn-warning.active {
	background-color: #f0ad4e;
	border-color: #eea236;
}

body .btn-group .btn-large.btn-danger.active {
	background-color: #d9534f;
	border-color: #d43f3a;
}

/* “See on Map” – small grey legacy button */
body .table a.btn {
	background: linear-gradient(to bottom, #ffffff 0%, #e4e4e4 100%);
	border: 1px solid #aaa;
	color: #333 !important;
	font-size: 12px;
	padding: 3px 10px;
	border-radius: 3px;
	text-decoration: none;
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.08);
}

body .table a.btn:hover {
	background: linear-gradient(to bottom, #f5f5f5 0%, #d8d8d8 100%);
	color: #111 !important;
}

/* Status helper text */
body .table em,
body #jwb-form em {
	color: #666;
	font-size: 13px;
}

/* Search button – bright blue like old */
body #rfs_number_btn,
body #property_id_btn {
	background: linear-gradient(to bottom, #4a90d9 0%, #2a6fc2 100%);
	border: 1px solid #1a5aa8;
	color: #fff;
	min-width: 42px;
	border-radius: 0;
}

body #rfs_number_btn:hover,
body #property_id_btn:hover {
	background: linear-gradient(to bottom, #3a80c9 0%, #1a5fb2 100%);
}

body #rfs_number,
body #property_id {
	border: 1px solid #aaa;
	border-radius: 0;
	width: 190px;
	height: 36px;
	font-size: 24px !important;
	line-height: 1.3em !important;
}

/* Delivery status button row */
body .jwb-delivery-state.btn-success.active {
	background-color: #4c9e47;
	border-color: #3d8538;
	font-size: 15px;
	max-width: 110px;
	padding: 9px;
}

body .jwb-delivery-state:not(.active) {
	background: #f0f0f0;
	border: 1px solid #bbb;
	color: #333;
	font-size: 15px;
	max-width: 110px;
	padding: 9px;
}

body .delivery-type td {
	padding: 10px !important;
}

body .footer .grid-child {
	padding: 10px !important;
}
