/*
Theme Name: Top End Community Legal Centre
Theme URI:
Description: Child theme of GeneratePress for the Top End Community Legal Centre prototype.
Author: MSIT402 Group
Template: generatepress
Version: 1.0
*/
/* TECLC custom styles */

/* --- Brand colour variables --- */
:root {
    --teclc-teal: #1A5E63;
    --teclc-navy: #12343B;
    --teclc-amber: #E8A33D;
    --teclc-cream: #F7F9F9;
}

/* --- Full-width bands: contain text to a readable width --- */
.entry-content > .wp-block-group {
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 55px;
    padding-bottom: 55px;
}
.wp-block-group__inner-container,
.wp-block-group .wp-block-group__inner-container {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

/* --- Services section: turn each column into a card --- */
.services-grid .wp-block-column {
    background: #ffffff;
    border: 1px solid #e4eaea;
    border-radius: 10px;
    padding: 28px 26px;
    box-shadow: 0 3px 10px rgba(18, 52, 59, 0.06);
}

.services-grid .wp-block-columns {
    margin-bottom: 28px;
    gap: 28px;
}

.services-grid .wp-block-column h3 {
    color: var(--teclc-navy);
    margin-top: 0;
    margin-bottom: 10px;
    font-size: 1.25rem;
}

.services-grid > h2 {
    text-align: center;
    margin-bottom: 35px;
    color: var(--teclc-navy);
}

/* --- Hero button hover --- */
.wp-block-button__link {
    transition: background 0.2s ease;
}

/* --- Mobile responsiveness --- */
@media (max-width: 768px) {
    .services-grid .wp-block-columns {
        flex-direction: column;
    }
    .services-grid .wp-block-column {
        margin-bottom: 18px;
    }
    .entry-content > .wp-block-group {
        padding-top: 35px;
        padding-bottom: 35px;
    }
    .wp-block-group h1 {
        font-size: 1.9rem;
    }
}
/* --- All form inputs site-wide: clearer, accessible --- */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
input[type="number"],
textarea,
select {
    background: #ffffff;
    border: 1px solid #7A8A8C;
    border-radius: 6px;
    padding: 10px 12px;
    color: #12343B;
}

/* clear focus state for keyboard/accessibility */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
textarea:focus,
select:focus {
    border-color: #1A5E63;
    outline: 2px solid #1A5E63;
    outline-offset: 1px;
}

/* submit / search buttons in brand style */
.wpcf7-form input[type="submit"],
.wp-block-search__button {
    background: #E8A33D;
    color: #12343B;
    border: none;
    border-radius: 6px;
    padding: 12px 24px;
    font-weight: 600;
    cursor: pointer;
}
.wpcf7-form input[type="submit"]:hover,
.wp-block-search__button:hover {
    background: #C8862B;
}
/* --- Service details box on single service pages --- */
.service-meta {
    background: #F7F9F9;
    border: 1px solid #e4eaea;
    border-left: 4px solid #1A5E63;
    border-radius: 8px;
    padding: 18px 22px;
    margin-bottom: 28px;
}
.service-meta h3 {
    margin-top: 0;
    margin-bottom: 10px;
    color: #12343B;
    font-size: 1.1rem;
}
.service-meta ul {
    margin: 0;
    padding-left: 18px;
}
.service-meta li {
    margin-bottom: 4px;
}
/* --- Related fact sheets on service pages --- */
.related-factsheets {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 2px solid #e4eaea;
}
.related-factsheets h3 {
    margin-top: 0;
    color: #12343B;
    font-size: 1.2rem;
}
.related-factsheets ul {
    margin: 0;
    padding-left: 18px;
}
.related-factsheets li {
    margin-bottom: 6px;
}
.related-factsheets a {
    color: #1A5E63;
}
/* --- How to access section on service pages --- */
.service-access {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 2px solid #e4eaea;
}
.service-access h3 {
    margin-top: 0;
    color: #12343B;
    font-size: 1.2rem;
}
.service-access p {
    margin-bottom: 0;
}
/* Footer styling */

/* Subtle background + spacing so the footer reads as a finished section */
.site-footer .inside-site-info,
.footer-widgets {
    background: #12343B;
}
.footer-widgets {
    padding-top: 35px !important;
    padding-bottom: 35px !important;
}

/* Footer text and headings in light colours on the dark background */
.footer-widgets,
.footer-widgets p,
.footer-widgets li {
    color: #E4EAEA;
}
.footer-widgets .widget-title,
.footer-widgets h3,
.footer-widgets h4 {
    color: #ffffff;
    margin-bottom: 16px;
    font-size: 1.15rem;
}

/* Quick links: remove bullets, tidy spacing, brand hover */
.footer-widgets ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.footer-widgets li {
    margin-bottom: 10px;
    line-height: 1.4;
}
.footer-widgets a {
    color: #E4EAEA;
    text-decoration: none;
}
.footer-widgets a:hover {
    color: #E8A33D;
}

/* Affiliations list with amber checkmarks */
.affiliations {
    list-style: none;
    margin: 0;
    padding: 0;
}
.affiliations li {
    position: relative;
    padding-left: 26px;
    margin-bottom: 12px;
    line-height: 1.4;
}
.affiliations li::before {
    content: "\2713";
    position: absolute;
    left: 0;
    top: 0;
    color: #E8A33D;
    font-weight: bold;
}

/* Footer bar (copyright strip) */
.site-info {
    background: #0E2A30;
    color: #C9D4D5;
    padding: 16px 20px;
}
.site-info a {
    color: #E8A33D;
}
/* Divider between page content and footer */
.footer-widgets {
    border-top: 3px solid #E8A33D;
}
/* Tighten footer inner spacing */
.footer-widgets .widget:first-child,
.footer-widgets .wp-block-heading:first-child,
.footer-widgets h3:first-child {
    margin-top: 0 !important;
}
.footer-widgets .widget:last-child,
.footer-widgets *:last-child {
    margin-bottom: 0 !important;
}
.footer-widgets p,
.footer-widgets ul {
    margin-top: 0;
    margin-bottom: 0;
}
/* Remove GeneratePress widget inner padding in footer */
.footer-widgets .inner-padding {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
/* About page values strip */
.values-strip {
  background-color: #F7F9F9;
  padding: 45px 30px;
  border-radius: 8px;
  margin: 35px 0;
}

.values-strip .wp-block-column {
  text-align: center;
  padding: 0 20px;
}

.values-strip .value-icon {
  width: 48px;
  height: 48px;
  margin-bottom: 14px;
}

.values-strip h3 {
  color: #1A5E63;
  margin: 0 0 8px;
}

.values-strip p {
  color: #12343B;
  margin-top: 0;
}
/* Centre the Website Cover Page title */
.page-id-151 .entry-title,
.page-id-151 .page-title {
  text-align: center;
}
/* Footer copyright policy links */
.footer-policy-link {
  color: #ffffff !important;
  text-decoration: none;
}
.footer-policy-link:hover {
  color: #E8A33D !important;
}
/* More space below the About page banner image */
.page-id-37 .wp-block-image {
  margin-bottom: 35px;
}