/*
 Theme Name: Kadence CCC Child
 Theme URI: https://capecodcommission.org
 Description: Cape Cod Commission child theme for Kadence. Holds all custom code so site-specific functionality survives parent theme updates.
 Author: Cape Cod Commission Digital Services
 Template: kadence
 Version: 1.0.0
 License: Private
*/

/*
 * Custom CSS goes below this line.
 * Anything currently in Appearance → Customize → Additional CSS
 * can be moved here so it lives in version-controlled theme files.
 */
 /* Email icon class */
 .email-icon {
     display: inline-flex;
     align-items: center;
     gap: 8px; /* space between icon and text */
     font-size: 16px;
     color: #333;
 	background-image: url (/assets/email.png);
     text-decoration: none;
     transition: color 0.3s ease;
 }

 .email-icon i {
     font-size: 20px; /* icon size */
     color: #0073e6;  /* icon color */
 }

 .email-icon:hover {
     color: #0073e6; /* text color on hover */
 }

 .email-icon:hover i {
     color: #005bb5; /* icon color on hover */
 }


 #primary .tribe-common .tribe-common-l-container{
 	padding: 40px 40px 20px;
 }
 #masthead {
 	z-index: 101;
 }

 .entry-hero-container-inner {
   display: block;
   background-image: url(https://capecodcommstg.wpengine.com/wp-content/uploads/2026/02/HighHeadTruro__FocusFillWzE2MDAsNDcwLCJ5IiwxMTVd.png);
   background-size: cover;
   background-position: center center;
   height: 300px;
 }

 .archive-title {
 	color:#fff;
 	  text-shadow: 2px 2px 4px #000000;
 text-transform: uppercase;
 	font-size: 2.5em;

 }

 .entry-title  {
 	color:#000;
 	  text-shadow:  0px 0px 10px #fff, 0px 0px 20px #fff;

 }

 .wp-media-buttons {margin-bottom: 3px;}

 #masthead { z-index: 1000;}

 /* Remove meta data */
 .entry-meta .byline, .entry-meta .cat-links { display: none; }

 .postedintop, .postcommentscount, .kad-hidepostedin, .postmeta  { display: none; }


 .responsive-third {
   width:33.4%;
   height:auto;
   float: right;
   margin: 15px;
 }

 .responsive-half {
   width:50%;
   float: right;
   padding: 15px;
 }

 .responsive-quarter {
   width:25%;
   height:auto;
   float: right;
   margin: 15px;
 }

 .responsive-full {
   width:100%;
   margin: 15px;
   height:auto;
 }


    .two-column {
    columns:  2;
    }

    .three-column {
    columns:  3;
    }




 /* Ordered List Start and Restart */
 ol.start {
     counter-reset: mycounter;
 }
 ol.start li, ol.continue li {
     list-style: none;
 }
 ol.start li:before, ol.continue li:before {
     content: counter(mycounter) ". ";
     counter-increment: mycounter;
 }




    @media(max-width:992px)
    {




    .two-column {
    columns:  1;
    }

    .three-column {
    columns:  1;
    }


    .recover {
      width:97%;
    }

 		 .postcommentscount {display:none;}

 }

 .sp-icon-wrapper img {
 	  object-fit: fill;

 }


 /**
  * CCC Print Stylesheet — Example
  *
  * Intended to be added to your Kadence theme's Additional CSS
  * or enqueued as a separate stylesheet for the Report CPT.
  *
  * Structure:
  *   1. @page rules — paper size, margins, running content
  *   2. Universal print resets — hide chrome, reset colors
  *   3. Typography — print-appropriate sizing and spacing
  *   4. Links — handle URLs in printed output
  *   5. Tables — keep together, format for print
  *   6. Images and figures — sizing and captions
  *   7. Report-specific rules — page breaks, section headings
  *   8. Generated content — page numbers, agency footer
  */

 /* ==========================================================================
    1. PAGE RULES
    Controls the physical page — size, margins, and named margin boxes
    for headers/footers. These apply to every page unless overridden
    by :first, :left, or :right selectors.
    ========================================================================== */

 @media print {

     @page {
         size: letter portrait;          /* 8.5 x 11in — change to 'A4' if needed  */
         margin: 0.75in 1in 1in 1in;    /* top right bottom left                   */

         /* Footer margin box — CSS-generated content in the page margin.
            @bottom-center, @bottom-left, @bottom-right are named margin boxes.
            Not all browsers support these — Chrome ignores them, Firefox supports them.
            For broad compatibility, use a fixed-position footer element instead
            (see Section 8 below). */
         @bottom-center {
             content: "Cape Cod Commission  |  capecodcommission.org";
             font-size: 8pt;
             color: #555;
         }

         @bottom-right {
             content: "Page " counter(page) " of " counter(pages);
             font-size: 8pt;
             color: #555;
         }
     }

     /* First page — more top margin for title treatment */
     @page :first {
         margin-top: 1.25in;
     }

     /* Left/right pages for double-sided printing — mirror margins */
     @page :left {
         margin-left: 1.25in;    /* wider inner margin for binding */
         margin-right: 0.75in;
     }

     @page :right {
         margin-left: 0.75in;
         margin-right: 1.25in;
     }


 /* ==========================================================================
    2. UNIVERSAL PRINT RESETS
    Hide everything that doesn't belong in a printed document.
    These selectors should match your actual Kadence theme class names —
    update them to match your site's markup.
    ========================================================================== */

     /* Navigation and chrome */
     .site-header,
     .main-navigation,
     .mobile-navigation,
     #mobile-toggle,
     .site-footer,
     .footer-widgets,
     .breadcrumb-trail,
     .kadence-breadcrumbs,
     #wpadminbar {
         display: none !important;
     }

     /* Sidebars and secondary content */
     .sidebar,
     .widget-area,
     .wp-block-column:not(.report-main-column) {
         display: none !important;
     }

     /* SP Bridge elements — hide filters, show results cleanly */
     .sp-sidebar,
     .sp-doc-search-form,
     .sp-search-tip,
     .sp-load-more-wrap,
     .sp-archive-section,
     #sp-load-more-container {
         display: none !important;
     }

     /* Interactive elements that don't translate to print */
     button:not(.print-trigger),
     .button,
     input[type="search"],
     input[type="text"],
     select,
     .cookie-notice,
     .popup,
     [aria-hidden="true"] {
         display: none !important;
     }

     /* Remove backgrounds, shadows, borders that look wrong on paper */
     *,
     *::before,
     *::after {
         background: transparent !important;
         box-shadow: none !important;
         text-shadow: none !important;
         -webkit-print-color-adjust: exact;  /* forces background colors where wanted */
         print-color-adjust: exact;
     }


 /* ==========================================================================
    3. TYPOGRAPHY
    Print uses points (pt) not pixels (px).
    1em ≈ 12pt at standard browser zoom.
    Slightly tighter than screen reading — print density reads differently.
    ========================================================================== */

     body {
         font-family: Georgia, "Times New Roman", serif;  /* serif reads better in print */
         font-size: 11pt;
         line-height: 1.45;
         color: #000;
         background: #fff;
     }

     h1 {
         font-size: 20pt;
         line-height: 1.2;
         margin-bottom: 12pt;
         color: #000;
     }

     h2 {
         font-size: 15pt;
         line-height: 1.25;
         margin-top: 18pt;
         margin-bottom: 8pt;
         color: #000;
         border-bottom: 0.5pt solid #999;  /* subtle rule under major section headings */
         padding-bottom: 4pt;
     }

     h3 {
         font-size: 13pt;
         margin-top: 14pt;
         margin-bottom: 6pt;
     }

     h4, h5, h6 {
         font-size: 11pt;
         font-weight: bold;
         margin-top: 10pt;
         margin-bottom: 4pt;
     }

     p {
         margin-bottom: 8pt;
         orphans: 3;     /* minimum lines at bottom of page before break */
         widows: 3;      /* minimum lines at top of page after break */
     }

     ul, ol {
         margin-left: 20pt;
         margin-bottom: 8pt;
     }

     li {
         margin-bottom: 3pt;
     }

     blockquote {
         border-left: 2pt solid #ccc;
         margin-left: 16pt;
         padding-left: 12pt;
         font-style: italic;
     }


 /* ==========================================================================
    4. LINKS
    On screen, links are colored and underlined. In print:
    - Internal navigation links (#, relative URLs) — suppress the URL
    - External links — show the URL after the anchor text
    - Document download links — show the URL so the reader can access it
    ========================================================================== */

     /* Show URL after external links */
     a[href]::after {
         content: " (" attr(href) ")";
         font-size: 8pt;
         color: #555;
         font-style: italic;
         word-break: break-all;
     }

     /* Suppress URL for internal anchors, javascript, and mailto links
        where the URL isn't useful in print */
     a[href^="#"]::after,
     a[href^="javascript"]::after {
         content: "";
     }

     /* Suppress URL for internal site links — update domain to match your site */
     a[href^="https://capecodcommstg.wpengine.com"]::after,
     a[href^="https://capecodcommstg.wpengine.com"]::after {
         content: "";
     }

     /* Style links themselves — black, underlined, no color dependency */
     a {
         color: #000;
         text-decoration: underline;
     }


 /* ==========================================================================
    5. TABLES
    Tables need explicit print treatment to look professional.
    Key concerns: header rows repeating on each page, no mid-row breaks,
    visible borders for readability without background colors.
    ========================================================================== */

     table {
         width: 100%;
         border-collapse: collapse;
         font-size: 10pt;
         page-break-inside: auto;    /* allow table to break across pages if necessary */
         margin-bottom: 12pt;
     }

     /* Repeat table header row on every page when table spans multiple pages */
     thead {
         display: table-header-group;
     }

     /* Prevent a single table row from breaking across pages */
     tr {
         page-break-inside: avoid;
     }

     th {
         background: #f0f0f0 !important;   /* light grey — needs print-color-adjust */
         border: 0.5pt solid #999;
         padding: 5pt 8pt;
         font-weight: bold;
         text-align: left;
         font-size: 9pt;
     }

     td {
         border: 0.5pt solid #ccc;
         padding: 4pt 8pt;
         vertical-align: top;
     }

     /* Zebra striping — subtle, works in print */
     tr:nth-child(even) td {
         background: #fafafa !important;
     }

     /* Caption above the table */
     caption {
         font-size: 9pt;
         font-style: italic;
         text-align: left;
         margin-bottom: 4pt;
         color: #333;
     }


 /* ==========================================================================
    6. IMAGES AND FIGURES
    Images should be constrained to the page width.
    Figures need captions to be meaningful in print.
    Decorative images (background, UI chrome) should be suppressed.
    ========================================================================== */

     img {
         max-width: 100% !important;
         height: auto !important;
         page-break-inside: avoid;
     }

     figure {
         page-break-inside: avoid;
         margin: 12pt 0;
     }

     figcaption {
         font-size: 9pt;
         font-style: italic;
         color: #444;
         margin-top: 4pt;
         text-align: center;
     }

     /* Infographics and charts — add a visible border so they read as
        intentional content rather than a layout artefact */
     .wp-block-image img,
     .report-figure img {
         border: 0.5pt solid #ddd;
         padding: 4pt;
     }

     /* SVG charts — ensure they scale correctly */
     svg {
         max-width: 100%;
         height: auto;
     }


 /* ==========================================================================
    7. REPORT-SPECIFIC PAGE BREAK RULES
    These target the Report CPT template structure.
    Update class names to match your actual template markup.
    ========================================================================== */

     /* Major report sections start on a new page */
     .report-section {
         page-break-before: always;
     }

     /* Exception — the first section follows the title, no break needed */
     .report-section:first-of-type {
         page-break-before: avoid;
     }

     /* Keep section headings with the content that follows them */
     h2, h3 {
         page-break-after: avoid;
     }

     /* Keep a heading with at least the first paragraph of its section */
     h2 + p,
     h3 + p {
         page-break-before: avoid;
     }

     /* Key findings list — keep together if it fits on one page */
     .report-key-findings {
         page-break-inside: avoid;
     }

     /* Data tables in reports — try to keep together, allow break if necessary */
     .report-data-table {
         page-break-inside: avoid;
     }

     /* Full-page maps or large figures — force their own page */
     .report-full-page-figure {
         page-break-before: always;
         page-break-after: always;
     }

     /* Downloads section — suppress in print (redundant when you're already printing) */
     .report-downloads,
     .sp-resource-library {
         display: none !important;
     }


 /* ==========================================================================
    8. GENERATED CONTENT — PRINT HEADER AND FOOTER
    @page margin boxes (Section 1) aren't supported in Chrome.
    This approach uses a fixed-position element that appears in the
    print margin via CSS. More broadly supported.
    ========================================================================== */

     /* Agency identifier — appears at top of every printed page */
     body::before {
         content: "Cape Cod Commission  |  capecodcommission.org";
         display: block;
         font-size: 8pt;
         color: #777;
         border-bottom: 0.5pt solid #ccc;
         padding-bottom: 4pt;
         margin-bottom: 16pt;
         font-family: Arial, sans-serif;
     }

     /* Print date — useful for reports that update periodically */
     .report-print-date::after {
         content: "Printed: " attr(data-print-date);
         font-size: 8pt;
         color: #777;
         display: block;
         margin-top: 4pt;
     }


 /* ==========================================================================
    9. UTILITY — PRINT-ONLY AND SCREEN-ONLY CLASSES
    Add these to elements in your templates to show/hide content
    specifically for print or screen without JavaScript.
    ========================================================================== */

     /* Hide on print — add class="no-print" to any element to suppress it */
     .no-print {
         display: none !important;
     }

     /* Show only in print — add class="print-only" to elements like
        "This document is available online at..." notices */
     .print-only {
         display: block !important;
     }

     /* Print-only URL notice — add to report pages so printed copies
        reference the live accessible web version */
     .print-web-notice {
         display: block !important;
         font-size: 9pt;
         font-style: italic;
         color: #555;
         border: 0.5pt solid #ccc;
         padding: 6pt 10pt;
         margin-top: 16pt;
         page-break-inside: avoid;
     }

 } /* end @media print */


 /* ==========================================================================
    SCREEN-ONLY RULES
    Styles that should ONLY apply on screen, not in print.
    Wrap in @media screen to explicitly exclude from print.
    ========================================================================== */

 @media screen {

     /* Print button — visible on screen, hidden in print (via .no-print above) */
     .print-trigger {
         display: inline-flex;
         align-items: center;
         gap: 6px;
         padding: 6px 14px;
         font-size: 13px;
         color: #555;
         border: 1px solid #ddd;
         border-radius: 4px;
         cursor: pointer;
         background: #fafafa;
         text-decoration: none;
     }

     .print-trigger:hover {
         background: #f0f0f0;
         color: #333;
     }

     /* Elements only shown in print are hidden on screen */
     .print-only,
     .print-web-notice {
         display: none;
     }

 }


 .tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container {
   min-height: 100px;
 }
 .tribe-events-l-container {
 	  min-height: 100px;

 }

 /* Fix menu dropdown z-index trapped by sticky header stacking context */
 .header-navigation .sub-menu,
 .primary-navigation .sub-menu,
 #site-navigation .sub-menu {
     position: absolute;
     z-index: 9999;
 }

 /* If Kadence sticky header is creating the stacking context via transform */
 .header-wrap.header-sticky-active,
 .site-header-wrap {
     transform: none !important;
     will-change: auto !important;
 }

 /* Prevent Kadence row/section blocks from creating stacking contexts
   that trap navigation dropdowns */
.kb-row-layout-wrap,
.kb-section-wrap,
.wp-block-kadence-rowlayout {
    isolation: auto !important;
    transform: none !important;
    will-change: auto !important;
}

/* Ensure navigation sits above page content */
#main-header,
.site-header,
.header-wrap {
    isolation: isolate;
    z-index: 1000;
}



/**
 * CCC Expandable Embed
 * Toggle between contained (1350px) and full-viewport width.
 * Add to child theme style.css or enqueue separately.
 */

/* ── Wrapper — constrained by default ─────────────────────────────────────── */

.ccc-embed-wrapper {
    position: relative;
    margin: 1.5rem 0;
}

/* ── Full-width breakout ───────────────────────────────────────────────────── */
/* Pulls the wrapper to 100vw regardless of parent container width.
   Works at any nesting depth inside Kadence sections/columns. */

.ccc-embed-wrapper.is-fullwidth {
    width:     100vw;
    max-width: 100vw;
    position:  relative;
    left:      50%;
    transform: translateX(-50%);
    margin-left:  0;
    margin-right: 0;
}

/* ── Container ────────────────────────────────────────────────────────────── */

.ccc-embed-container {
    width: 100%;
    overflow: hidden;
    border-radius: 6px;
    border: 1px solid #e5e7eb;
    background: #f9fafb;
    transition: border-radius 0.2s ease;
}

.ccc-embed-wrapper.is-fullwidth .ccc-embed-container {
    border-radius: 0;
    border-left:   none;
    border-right:  none;
}

.ccc-embed-container iframe,
.ccc-embed-container object,
.ccc-embed-container embed {
    display: block;
    width: 100%;
    border: none;
}

/* ── Toggle button ────────────────────────────────────────────────────────── */

.ccc-embed-toggle {
    position:    absolute;
    top:         -36px;
    right:       0;
    display:     inline-flex;
    align-items: center;
    gap:         6px;
    padding:     6px 12px 6px 10px;
    background:  #05487D;
    color:       #ffffff;
    border:      none;
    border-radius: 4px 4px 0 0;
    font-size:   0.78rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    cursor:      pointer;
    transition:  background 0.15s ease;
    white-space: nowrap;
    z-index:     10;
}

.ccc-embed-toggle:hover {
    background: #003044;
}

.ccc-embed-toggle:focus-visible {
    outline: 2px solid #006A94;
    outline-offset: 2px;
}

/* Icon states */
.ccc-embed-toggle .collapse-icon {
    display: none;
}

.ccc-embed-wrapper.is-fullwidth .ccc-embed-toggle .expand-icon {
    display: none;
}

.ccc-embed-wrapper.is-fullwidth .ccc-embed-toggle .collapse-icon {
    display: inline;
}

/* Label text update handled via JS aria-label + data attribute */
.ccc-embed-wrapper.is-fullwidth .ccc-embed-toggle__label::before {
    content: 'Exit full width';
}

.ccc-embed-wrapper:not(.is-fullwidth) .ccc-embed-toggle__label::before {
    content: 'Full width';
}

/* Hide the static label text — replaced by ::before */
.ccc-embed-toggle__label {
    font-size: 0;
}

.ccc-embed-toggle__label::before {
    font-size: 0.78rem;
}

/* ── Smooth height transition for iframe resize ───────────────────────────── */

.ccc-embed-container iframe {
    transition: height 0.2s ease;
}

/* ── Accessibility: respect reduced motion ───────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
    .ccc-embed-wrapper,
    .ccc-embed-container,
    .ccc-embed-container iframe {
        transition: none;
    }
}
/*
 * CCC Resources Standalone — Header & Footer Styles
 * Commission palette: Navy #05487D | BlueCyan #006A94 | Deep Navy #003044
 * Mirrors capecodcommission.org visual structure.
 * Add to child theme style.css or enqueue separately.
 */

/* ── Reset / base ──────────────────────────────────────────────────────── */

.ccc-back-banner,
.ccc-header,
.ccc-footer {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}

*, *::before, *::after { box-sizing: inherit; }

/* ── Back banner ───────────────────────────────────────────────────────── */

.ccc-back-banner {
    background: #003044;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.03em;
}

.ccc-back-banner__inner {
    max-width: 1350px;
    margin: 0 auto;
    padding: 8px 24px;
}

.ccc-back-banner__link {
    color: #fff;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    opacity: 0.9;
    transition: opacity 0.15s;
}

.ccc-back-banner__link:hover {
    opacity: 1;
    text-decoration: underline;
}

/* ── Main header ───────────────────────────────────────────────────────── */

.ccc-header {
    background: #fff;
    border-bottom: 3px solid #05487D;
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.ccc-header__inner {
    max-width: 1350px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    gap: 24px;
    height: 72px;
}

.ccc-header__logo-link {
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

.ccc-header__logo {
    height: 48px;
    width: auto;
}

.ccc-header__title {
    flex-shrink: 0;
    padding-left: 20px;
    border-left: 1px solid #e5e7eb;
}

.ccc-header__title-text {
    font-size: 0.9rem;
    font-weight: 700;
    color: #05487D;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.ccc-header__nav {
    margin-left: auto;
}

.ccc-header__nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 4px;
}

.ccc-header__nav-list a {
    display: block;
    padding: 6px 12px;
    color: #1a1a1a;
    text-decoration: none;
    font-size: 0.88rem;
    font-weight: 500;
    border-radius: 4px;
    transition: background 0.15s, color 0.15s;
}

.ccc-header__nav-list a:hover,
.ccc-header__nav-list a[aria-current="page"] {
    background: #05487D;
    color: #fff;
}

/* Mobile toggle */
.ccc-header__menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 40px;
    height: 40px;
    background: none;
    border: 2px solid #05487D;
    border-radius: 4px;
    cursor: pointer;
    margin-left: auto;
    padding: 6px;
}

.ccc-header__menu-toggle span {
    display: block;
    width: 20px;
    height: 2px;
    background: #05487D;
    border-radius: 2px;
    transition: transform 0.2s;
}

/* Mobile nav */
.ccc-header__mobile-nav {
    background: #003044;
    padding: 16px 24px;
}

.ccc-header__mobile-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ccc-header__mobile-nav a {
    display: block;
    padding: 10px 0;
    color: #fff;
    text-decoration: none;
    font-size: 1rem;
    font-weight: 500;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.ccc-header__mobile-nav a:hover { color: #90cdf4; }

/* ── Page wrap ─────────────────────────────────────────────────────────── */

.ccc-page-wrap {
    min-height: 60vh;
}

/* ── Footer ────────────────────────────────────────────────────────────── */

.ccc-footer {
    background: #003044;
    color: #fff;
    margin-top: 4rem;
}

.ccc-footer__inner {
    max-width: 1350px;
    margin: 0 auto;
    padding: 48px 24px 32px;
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 40px;
    align-items: start;
}

.ccc-footer__heading {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(255,255,255,0.6);
    margin: 0 0 12px;
}

.ccc-footer__links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ccc-footer__links a {
    color: rgba(255,255,255,0.85);
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.15s;
}

.ccc-footer__links a:hover { color: #fff; }

.ccc-footer__col--seal {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding-top: 4px;
}

.ccc-footer__col--seal img {
    opacity: 1;
}

/* ── Footer legal bar ──────────────────────────────────────────────────── */

.ccc-footer__legal {
    background: #001e2e;
    border-top: 1px solid rgba(255,255,255,0.08);
}

.ccc-footer__legal-inner {
    max-width: 1350px;
    margin: 0 auto;
    padding: 16px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}

.ccc-footer__legal p {
    margin: 0;
    font-size: 0.78rem;
    color: rgba(255,255,255,0.5);
}

.ccc-footer__legal-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.ccc-footer__legal-links a {
    font-size: 0.78rem;
    color: rgba(255,255,255,0.5);
    text-decoration: none;
    transition: color 0.15s;
}

.ccc-footer__legal-links a:hover { color: rgba(255,255,255,0.85); }

/* ── Responsive ────────────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .ccc-header__nav { display: none; }
    .ccc-header__menu-toggle { display: flex; }

    .ccc-header__mobile-nav[hidden] { display: none; }
    .ccc-header__mobile-nav:not([hidden]) { display: block; }

    .ccc-footer__inner {
        grid-template-columns: 1fr 1fr;
    }

    .ccc-footer__col--seal {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .ccc-footer__legal-inner {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 480px) {
    .ccc-footer__inner {
        grid-template-columns: 1fr;
    }
}
