/* Minification failed. Returning unminified contents.
(20,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(21,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(22,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(23,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(24,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(26,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(27,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(39,22): run-time error CSS1039: Token not allowed after unary operator: '-islington-header-green'
(276,22): run-time error CSS1039: Token not allowed after unary operator: '-islington-footer-bg'
(312,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-text-black'
(328,28): run-time error CSS1039: Token not allowed after unary operator: '-islington-green'
(329,30): run-time error CSS1039: Token not allowed after unary operator: '-islington-visited-green'
(334,28): run-time error CSS1039: Token not allowed after unary operator: '-islington-dark-green'
(339,28): run-time error CSS1039: Token not allowed after unary operator: '-islington-dark-green'
(347,28): run-time error CSS1039: Token not allowed after unary operator: '-islington-border-grey'
(354,28): run-time error CSS1039: Token not allowed after unary operator: '-islington-border-grey'
(361,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-text-black'
(378,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-green'
(384,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-visited-green'
(388,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-dark-green'
(393,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-text-black'
(401,32): run-time error CSS1039: Token not allowed after unary operator: '-islington-header-green'
(417,35): run-time error CSS1039: Token not allowed after unary operator: '-islington-header-green'
(423,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-text-black'
(427,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-green'
(432,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-visited-green'
(436,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-dark-green'
(462,22): run-time error CSS1039: Token not allowed after unary operator: '-islington-green'
(477,28): run-time error CSS1039: Token not allowed after unary operator: '-islington-green'
(482,28): run-time error CSS1039: Token not allowed after unary operator: '-islington-green'
(505,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-text-black'
(550,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-text-black'
(560,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-green'
(564,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-visited-green'
(568,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-dark-green'
(572,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-text-black'
(580,24): run-time error CSS1039: Token not allowed after unary operator: '-islington-green'
(584,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-green'
(588,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-green'
(592,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-dark-green'
(596,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-text-black'
(603,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-green'
(607,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-dark-green'
(618,28): run-time error CSS1039: Token not allowed after unary operator: '-islington-green'
(624,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-green'
(628,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-dark-green'
(634,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-text-black'
(638,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-text-black'
(642,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-green'
(648,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-green'
(652,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-dark-green'
(656,28): run-time error CSS1039: Token not allowed after unary operator: '-islington-green'
(663,17): run-time error CSS1039: Token not allowed after unary operator: '-islington-text-black'
 */
/* ==========================================================================
   London Borough of Islington - Client Branding Overrides (OPM)
   ==========================================================================
   This file overrides GOV.UK Frontend 3.13.0 defaults with Islington Council branding.

   WCAG AAA Compliant Colour Palette:
     Header background:        #288647  (matches logo; 4.57:1 — AAA large text)
     Primary green (text/UI):  #1D6535  (was #278646 — 4.58:1, now 7.08:1 AAA)
     Hover green:              #14522A  (was #1E6636 — 6.98:1, now 9.25:1 AAA)
     Visited links:            #0F3D1F  (distinct from default; 12.30:1 AAA)
     Footer: Black with white underlined links

   Customer Code: ISL
   ========================================================================== */

/* Brand Color Variables (CSS Custom Properties)
   ========================================================================== */
:root {
    /* Islington Council brand colors — WCAG AAA compliant */
    --islington-green: #1D6535;             /* AAA compliant green (7.08:1) */
    --islington-header-green: #288647;      /* Header bg — matches logo (AAA large text) */
    --islington-dark-green: #14522A;        /* Darker green for hover states (9.25:1) */
    --islington-visited-green: #0F3D1F;     /* Visited link state (12.30:1) */
    --islington-footer-bg: #000000;         /* Black footer */
    --islington-text-black: #0b0c0c;        /* GOV.UK black text */
    --islington-body-bg: #FFFFFF;           /* White background */
    --islington-border-grey: #B1B4B6;       /* Mid grey borders */
}

/* Override default GOV.UK template background
   ========================================================================== */
.govuk-template {
    background-color: #ffffff !important;
}

/* Header Styling
   ========================================================================== */
.govuk-header {
    background: var(--islington-header-green) !important;
    border-bottom: none !important;
    padding-top: 8px;
    padding-bottom: 8px;
}

.govuk-header__container,
.app-header {
    border-bottom: none !important;
}

/* Header link colors on dark background */
.govuk-header__link,
.govuk-header__service-name {
    color: #ffffff !important;
}

.govuk-header__link:hover,
.govuk-header__service-name:hover {
    color: #ffffff !important;
    text-decoration: underline;
}

/* Logo link focus state — visible outline for keyboard navigation (WCAG 2.4.7) */
.govuk-header__link--homepage.logo:focus {
    outline: 3px solid #ffdd00;
    outline-offset: 2px;
    box-shadow: 0 0 0 6px #ffdd00;
}

/* Logo Styling
   ========================================================================== */
.logo {
    background: url("images/isl-logo.png") no-repeat center left !important;
    background-size: contain !important;
    width: 220px !important;
    height: 55px !important;
    border: 0 !important;
    vertical-align: middle;
    display: inline-block;
    margin: 0;
}

@media (min-width: 40.0625em) {
    .logo {
        background: url("images/isl-logo.png") no-repeat center left !important;
        background-size: contain !important;
        width: 280px !important;
        height: 70px !important;
        display: inline-block;
        margin: 0;
    }
}

/* Narrow viewport: cap logo width so it doesn't cause horizontal scroll (WCAG 1.4.10 Reflow) */
@media (max-width: 360px) {
    .logo {
        max-width: 60vw !important;
        width: auto !important;
        height: auto !important;
        min-height: 40px !important;
    }
}

/* Ensure logo image tag doesn't interfere */
.logo img {
    display: none !important;
}

/* Align header container to match main content padding */
.govuk-header__container {
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 5px;
    padding-bottom: 5px;
    max-width: 960px;
    margin: 0 auto;
}

.govuk-header__logo {
    margin-bottom: 0;
    padding-right: 0 !important;
    padding-left: 0 !important;
    width: auto;
    float: left;
}

/* Ensure header aligns with content area */
.taranto-header {
    max-width: 960px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: flex;
    align-items: center;
    padding-left: 15px;
    padding-right: 15px;
}

/* Make header more compact */
.govuk-header__content {
    flex: 1;
}

/* Header navigation area alignment */
.taranto-header-content {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

/* Mobile Menu Button - white text/border on green header for accessibility
   (dark text on green is problematic for deuteranopia)
   ========================================================================== */

/* Prevent header overflow on mobile */
html, body {
    overflow-x: hidden;
}

.govuk-header__content {
    min-width: 0;
    overflow: hidden;
}

.taranto-header-content {
    flex-wrap: nowrap;
    overflow: hidden;
    min-width: 0;
}

.taranto-header-content-user {
    flex-shrink: 1;
    min-width: 0;
    overflow: hidden;
}

.taranto-header-content-user p {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 0 !important;
}

.taranto-header-content-menu {
    flex-shrink: 0;
}

@media (max-width: 768px) {
    /* Menu button with "Menu" label — white on green for colour-blind accessibility */
    #menuOpm.widthmenu {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 4px;
        color: #ffffff !important;
        background: none;
        border: 2px solid #ffffff;
        border-radius: 4px;
        padding: 2px 8px;
        min-height: 44px;
        min-width: 44px;
        font-size: 22px;
        line-height: 1;
        flex-shrink: 0;
    }

    #menuOpm.widthmenu::after {
        content: "Menu";
        font-size: 14px;
        font-weight: 700;
        font-family: "GDS Transport", arial, sans-serif;
    }

    .logo {
        width: 150px !important;
        height: 40px !important;
    }

    .govuk-header__container {
        padding-left: 8px;
        padding-right: 8px;
    }

    /* Stack header into two rows on mobile */
    .taranto-header {
        flex-wrap: wrap;
        padding-left: 8px;
        padding-right: 8px;
        gap: 4px;
    }

    .govuk-header__logo {
        flex-shrink: 0;
    }

    /* Push menu button to top-right, next to logo */
    .govuk-header__content {
        display: flex;
        flex-direction: column-reverse;
        align-items: flex-end;
        flex: 1;
        min-width: 0;
    }

    .taranto-header-content {
        flex-direction: column-reverse;
        align-items: flex-end;
        width: 100%;
    }

    /* Menu button top-right */
    .taranto-header-content-menu {
        flex-shrink: 0;
    }

    /* Name and logout below, stacked vertically */
    .taranto-header-content-user {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
    }

    .taranto-header-content-user p {
        font-size: 13px;
        max-width: 100%;
        margin-bottom: 0 !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

/* Footer Styling
   ========================================================================== */
.govuk-footer {
    background: var(--islington-footer-bg) !important;
    border-top: none !important;
    margin-top: 4px;
    padding-top: 20px;
    padding-bottom: 20px;
}

/* Remove any separator line before footer */
body::after {
    display: none !important;
}

/* Footer links — white with underline (matches council site, WCAG 1.4.1) */
.govuk-footer__link,
.govuk-footer__link:link,
.govuk-footer__link:visited,
.govuk-footer .govuk-link,
.govuk-footer .govuk-link:link,
.govuk-footer .govuk-link:visited,
.govuk-footer a,
.govuk-footer a:link,
.govuk-footer a:visited {
    color: #ffffff !important;
    text-decoration: underline;
}

.govuk-footer__link:hover,
.govuk-footer .govuk-link:hover,
.govuk-footer a:hover {
    color: #ffdd00 !important;
    text-decoration: underline;
}

.govuk-footer__link:focus,
.govuk-footer .govuk-link:focus,
.govuk-footer a:focus {
    color: var(--islington-text-black) !important;
    background-color: #ffdd00;
    outline: 3px solid #ffdd00;
}

.govuk-footer__link:visited {
    color: #ffffff !important;
}

.govuk-footer__meta-item p {
    color: #ffffff !important;
}

/* Button Styling - Islington Green
   ========================================================================== */
.govuk-button {
    background-color: var(--islington-green);
    box-shadow: 0 2px 0 var(--islington-visited-green);
    color: #ffffff;
}

.govuk-button:hover {
    background-color: var(--islington-dark-green);
}

.govuk-button:active,
.govuk-button:focus {
    background-color: var(--islington-dark-green);
    color: #ffffff;
}

/* Disabled button — dark text for contrast (was white on grey at 2.08:1 FAIL) */
.govuk-button--disabled,
.govuk-button[disabled="disabled"],
.govuk-button[disabled] {
    background-color: var(--islington-border-grey);
    color: #383838;
}

.govuk-button--disabled:hover,
.govuk-button[disabled="disabled"]:hover,
.govuk-button[disabled]:hover {
    background-color: var(--islington-border-grey);
    color: #383838;
}

/* Secondary Button */
.govuk-button--secondary {
    background-color: #f3f2f1;
    color: var(--islington-text-black);
    box-shadow: 0 2px 0 #929191;
}

.govuk-button--secondary:hover {
    background-color: #dbdad9;
}

/* Warning Button */
.govuk-button--warning {
    background-color: #d4351c;
    box-shadow: 0 2px 0 #942514;
}

/* Link Styling — Islington Green with underline for WCAG 1.4.1
   ========================================================================== */
.govuk-link {
    color: var(--islington-green);
    text-decoration: underline;
}

/* Visited links use a distinct darker shade for differentiation */
.govuk-link:visited {
    color: var(--islington-visited-green);
}

.govuk-link:hover {
    color: var(--islington-dark-green);
}

.govuk-link:active,
.govuk-link:focus {
    color: var(--islington-text-black);
    background-color: #ffdd00;
    outline: 3px solid #ffdd00;
}

/* Navigation Styling
   ========================================================================== */
.govuk-header__navigation {
    border-top: 2px solid var(--islington-header-green);
}

.govuk-header__navigation-item a {
    color: #ffffff;
}

.govuk-header__navigation-item a:hover {
    color: #ffffff;
    text-decoration: underline;
    text-decoration-thickness: 3px;
    text-underline-offset: 0.1em;
}

.govuk-header__navigation-item--active a {
    color: #ffffff;
    border-bottom: 3px solid var(--islington-header-green);
}

/* Breadcrumbs
   ========================================================================== */
.govuk-breadcrumbs {
    color: var(--islington-text-black);
}

.govuk-breadcrumbs__link {
    color: var(--islington-green);
    text-decoration: underline;
}

.govuk-breadcrumbs__link:visited {
    color: var(--islington-visited-green);
}

.govuk-breadcrumbs__link:hover {
    color: var(--islington-dark-green);
}

/* Notification Banners
   ========================================================================== */
.govuk-notification-banner--success {
    border-color: #00703c;
    background-color: #00703c;
}

.govuk-notification-banner--success .govuk-notification-banner__heading {
    color: #ffffff;
}

.govuk-notification-banner--success .govuk-notification-banner__link:link,
.govuk-notification-banner--success .govuk-notification-banner__link:visited {
    color: #ffffff;
}

.govuk-notification-banner--success .govuk-notification-banner__link:hover {
    color: #ffdd00;
}

/* Panels (Success/Confirmation screens)
   ========================================================================== */
.govuk-panel--confirmation {
    background: var(--islington-green);
    color: #ffffff;
}

.govuk-panel__title {
    color: #ffffff;
}

.govuk-panel__body {
    color: #ffffff;
}

/* Tags (Status indicators) — with AAA-compliant colours
   ========================================================================== */
.govuk-tag {
    background-color: var(--islington-green);
    color: #ffffff;
}

.govuk-tag--blue {
    background-color: var(--islington-green);
}

.govuk-tag--grey {
    background-color: #505a5f;
}

.govuk-tag--green {
    background-color: #00703c;
}

.govuk-tag--red {
    background-color: #d4351c;
}

/* FIX: Orange tag uses dark text instead of white (was 2.78:1 FAIL, now 7.04:1 AAA) */
.govuk-tag--orange {
    background-color: #f47738;
    color: #0b0c0c;
}

.govuk-tag--yellow {
    background-color: #ffdd00;
    color: var(--islington-text-black);
}

/* Form Elements - Focus States — GOV.UK standard yellow
   ========================================================================== */
.govuk-input:focus,
.govuk-textarea:focus,
.govuk-select:focus {
    outline: 3px solid #ffdd00;
    outline-offset: 0;
    box-shadow: inset 0 0 0 2px;
}

.govuk-radios__input:focus + .govuk-radios__label::before,
.govuk-checkboxes__input:focus + .govuk-checkboxes__label::before {
    border-width: 4px;
    box-shadow: 0 0 0 3px #ffdd00;
}

/* Error Styling - Keep GOV.UK Red
   ========================================================================== */
.govuk-error-summary {
    border: 5px solid #d4351c;
}

.govuk-error-summary__title {
    color: #d4351c;
}

.govuk-error-message {
    color: #d4351c;
}

.govuk-form-group--error .govuk-input {
    border-color: #d4351c;
}

.govuk-form-group--error .govuk-input:focus {
    border-color: #d4351c;
    outline: 3px solid #d4351c;
}

/* Warning Text
   ========================================================================== */
.govuk-warning-text {
    color: var(--islington-text-black);
}

.govuk-warning-text__icon {
    background: #d4351c;
}

/* Back Link
   ========================================================================== */
.govuk-back-link {
    color: var(--islington-green);
}

.govuk-back-link:visited {
    color: var(--islington-visited-green);
}

.govuk-back-link:hover {
    color: var(--islington-dark-green);
}

.govuk-back-link:focus {
    color: var(--islington-text-black);
    background-color: #ffdd00;
    outline: 3px solid #ffdd00;
}

/* Tabs
   ========================================================================== */
.govuk-tabs__list-item--selected {
    border-color: var(--islington-green);
}

.govuk-tabs__list-item--selected .govuk-tabs__tab {
    color: var(--islington-green);
}

.govuk-tabs__tab {
    color: var(--islington-green);
}

.govuk-tabs__tab:hover {
    color: var(--islington-dark-green);
}

.govuk-tabs__tab:focus {
    color: var(--islington-text-black);
    background: #ffdd00;
}

/* Accordion
   ========================================================================== */
.govuk-accordion__section-button {
    color: var(--islington-green);
}

.govuk-accordion__section-button:hover {
    color: var(--islington-dark-green);
}

.govuk-accordion__section-button:focus {
    background: #ffdd00;
    outline: 3px solid #ffdd00;
}

/* Phase Banner (if used)
   ========================================================================== */
.govuk-phase-banner__content__tag {
    background-color: var(--islington-green);
}

/* Details/Disclosure
   ========================================================================== */
.govuk-details__summary {
    color: var(--islington-green);
}

.govuk-details__summary:hover {
    color: var(--islington-dark-green);
}

/* Summary List (for displaying permit details)
   ========================================================================== */
.govuk-summary-list__key {
    color: var(--islington-text-black);
}

.govuk-summary-list__value {
    color: var(--islington-text-black);
}

.govuk-summary-list__actions .govuk-link {
    color: var(--islington-green);
}

/* Pagination (if used)
   ========================================================================== */
.govuk-pagination__link {
    color: var(--islington-green);
}

.govuk-pagination__link:hover {
    color: var(--islington-dark-green);
}

.govuk-pagination__item--current {
    background-color: var(--islington-green);
    color: #ffffff;
}

/* Skip Link
   ========================================================================== */
.govuk-skip-link {
    color: var(--islington-text-black);
}

.govuk-skip-link:focus {
    background-color: #ffdd00;
    outline: 3px solid #ffdd00;
}

/* Sidebar Navigation - Black links
   ========================================================================== */
.app-subnav__link,
.app-subnav__link:link,
.app-subnav__link:visited {
    color: #0b0c0c !important;
}

.app-subnav__link:hover {
    color: #505a5f !important;
}

/* Touch-friendly tap targets on mobile only (WCAG 2.5.8 — 24px AA minimum) */
@media (max-width: 768px) {
    .app-subnav__link {
        display: block;
        padding: 6px 15px;
        min-height: 32px;
        line-height: 1.4;
    }
}

/* ==========================================================================
   Windows High Contrast / Forced Colours Support
   Ensures the site respects system-level accessibility preferences
   ========================================================================== */
@media (forced-colors: active) {
    .govuk-header {
        background: Canvas !important;
        border-bottom: 2px solid ButtonText !important;
    }

    .govuk-header__link,
    .govuk-header__service-name {
        color: LinkText !important;
    }

    .govuk-header__link--homepage.logo:focus {
        outline: 3px solid Highlight !important;
        box-shadow: none !important;
    }

    .govuk-footer {
        background: Canvas !important;
        border-top: 2px solid ButtonText !important;
    }

    .govuk-footer__link,
    .govuk-footer .govuk-link,
    .govuk-footer a {
        color: LinkText !important;
    }

    .govuk-footer__meta-item p {
        color: CanvasText !important;
    }

    .govuk-button {
        background-color: ButtonFace !important;
        color: ButtonText !important;
        border: 2px solid ButtonText !important;
        box-shadow: none !important;
    }

    .govuk-link,
    .govuk-link:visited {
        color: LinkText !important;
    }

    .govuk-input:focus,
    .govuk-textarea:focus,
    .govuk-select:focus {
        outline: 3px solid Highlight !important;
    }

    .govuk-tag,
    .govuk-phase-banner__content__tag,
    .govuk-pagination__item--current,
    .govuk-panel--confirmation {
        background-color: Highlight !important;
        color: HighlightText !important;
    }
}

@media (prefers-contrast: high) {
    .govuk-button {
        border: 2px solid currentColor;
    }

    .govuk-link:focus,
    .govuk-button:focus {
        outline: 4px solid transparent;
        box-shadow: 0 0 0 4px #ffdd00, 0 0 0 8px #0b0c0c;
    }
}

/* Print Styles
   ========================================================================== */
@media print {
    .logo {
        background-image: none !important;
    }

    .govuk-header {
        background: #ffffff;
        border-bottom: 2px solid #000000;
    }

    .govuk-footer {
        background: #ffffff;
        border-top: 2px solid #000000;
    }

    .govuk-button {
        background: #ffffff;
        color: #000000;
        border: 2px solid #000000;
    }
}

/* Responsive adjustments
   ========================================================================== */
@media (max-width: 768px) {
    .govuk-header {
        padding: 10px 0;
    }

    .logo {
        margin: 10px auto;
    }
}

/* Make footer stick to bottom of page without white space below
   ========================================================================== */
html {
    height: 100%;
    margin: 0;
}

body {
    min-height: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
}

.govuk-width-container {
    flex: 1 0 auto;
}

.govuk-footer {
    flex-shrink: 0;
    margin-top: auto;
}

/* ==========================================================================
   END OF ISLINGTON COUNCIL BRANDING (OPM)
   ========================================================================== */

