/*
 * AZORES_HIKING_20260917_R008
 * Page-specific styles for /azores/hiking-trails/
 * Upload to: /wp-content/themes/portugal/css/azores-hiking-trails.css
 *
 * Extends the existing azores-info-pages.css component system.
 * Does not alter global styles or other Azores information pages.
 */

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-content {
    --azh-blue: #3b7bcd;
    --azh-blue-dark: #2e62a8;
    --azh-green: #139a68;
    --azh-ink: #343434;
    --azh-muted: #667384;
    --azh-border: #d9e1eb;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-status-callout {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    margin:0 0 24px;
    padding:28px 30px;
    background:#f3f8fd;
    border:1px solid #cbddec;
    border-left:6px solid var(--azh-blue);
    border-radius:6px;
    box-shadow:0 3px 14px rgba(0,0,0,.05);
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-status-callout h2 { margin:3px 0 9px; }
:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-status-callout p { margin:0 0 8px; }
:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-status-callout .azm-button { flex:0 0 auto; white-space:nowrap; }

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-status-label {
    color:var(--azh-blue-dark);
    font-size:13px;
    font-weight:700;
    letter-spacing:.07em;
    text-transform:uppercase;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-island-grid {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    grid-auto-flow:row !important;
    gap:15px !important;
    margin-top:20px;
}

/*
 * R007 — The card text is no longer inside the anchor. Legacy Information
 * link typography cannot collapse the title/tagline/detail onto one line.
 * A transparent stretched link makes the entire card clickable.
 */
:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-island-grid > .azh-island-choice {
    position:relative !important;
    display:block !important;
    min-width:0 !important;
    min-height:118px;
    margin:0 !important;
    padding:18px 19px !important;
    float:none !important;
    clear:none !important;
    box-sizing:border-box !important;
    background:#f9fbfd;
    border:1px solid var(--azh-border);
    border-top:4px solid var(--azh-green);
    border-radius:5px;
    overflow:hidden;
    transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-island-choice-hit {
    position:absolute !important;
    z-index:5 !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    text-decoration:none !important;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-island-choice:hover,
:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-island-choice:focus-within {
    transform:translateY(-2px);
    border-color:#b7c9dc;
    box-shadow:0 5px 14px rgba(0,0,0,.07);
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-island-name,
:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-island-tagline,
:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-island-detail {
    display:block !important;
    float:none !important;
    clear:both !important;
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    position:relative;
    z-index:1;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-island-name {
    margin-top:0 !important;
    margin-bottom:5px !important;
    color:var(--azh-blue) !important;
    font-size:19px !important;
    font-weight:700 !important;
    line-height:1.25 !important;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-island-tagline {
    margin-top:0 !important;
    margin-bottom:7px !important;
    color:#27313b !important;
    font-size:15px !important;
    font-weight:600 !important;
    line-height:1.4 !important;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-island-detail {
    margin-top:0 !important;
    margin-bottom:0 !important;
    color:var(--azh-muted) !important;
    font-size:13px !important;
    font-weight:400 !important;
    line-height:1.45 !important;
}


:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-reading-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin-top:20px;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-reading-card {
    margin:0;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-reading-card h3 {
    margin-top:0;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-reading-card p:last-child {
    margin-bottom:0;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-difficulty-list p {
    margin-bottom:12px;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-island-section { scroll-margin-top:110px; }

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-trail-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin-top:20px;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-trail-card {
    display:flex;
    flex-direction:column;
    padding:22px;
    background:#fbfcfd;
    border:1px solid var(--azh-border);
    border-radius:6px;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-trail-head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:14px;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-trail-head h3 {
    margin:0;
    color:var(--azh-blue);
    font-size:21px;
    line-height:1.3;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-code,
:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-code-inline {
    display:inline-block;
    font-size:12px;
    font-weight:700;
    letter-spacing:.03em;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-code {
    flex:0 0 auto;
    padding:5px 7px;
    background:#edf4fa;
    border:1px solid #c9dced;
    border-radius:4px;
    color:var(--azh-blue-dark);
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-code-inline {
    margin-top:4px;
    color:var(--azh-muted);
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-trail-meta {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px 12px;
    margin-bottom:15px;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-trail-meta span {
    display:block;
    padding:9px 10px;
    background:#f1f5f8;
    border-radius:4px;
    color:#3f4b59;
    font-size:13px;
    line-height:1.35;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-trail-meta strong {
    display:block;
    margin-bottom:2px;
    color:#53677c;
    font-size:11px;
    letter-spacing:.04em;
    text-transform:uppercase;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-trail-card p { margin:0 0 13px; }
:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-trail-card p:last-child { margin-bottom:0; }
:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-best-for { color:#35495b; }

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-logistics {
    margin-top:auto !important;
    padding-top:13px;
    border-top:1px solid #e2e8ed;
    color:#56636f;
    font-size:14px;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-back {
    margin:18px 0 0;
    text-align:right;
    font-size:13px;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-back a { color:#5c6f84; text-decoration:none; }
:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-pico-special { border-left:5px solid var(--azh-blue); }

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-pico-grid {
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
    gap:28px;
    align-items:start;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-pico-facts {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-pico-facts div {
    padding:13px;
    background:#f4f8fb;
    border:1px solid #d7e3ed;
    border-radius:5px;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-pico-facts strong,
:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-pico-facts span { display:block; }

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-pico-facts strong {
    margin-bottom:4px;
    color:#526a80;
    font-size:11px;
    letter-spacing:.04em;
    text-transform:uppercase;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-pico-facts span {
    color:#313b45;
    font-size:14px;
    font-weight:600;
    line-height:1.35;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-table-wrap {
    width:100%;
    overflow-x:auto;
    margin-top:20px;
    border:1px solid #d7e0e8;
    border-radius:6px;
    -webkit-overflow-scrolling:touch;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-grand-table {
    width:100%;
    min-width:850px;
    margin:0;
    border-collapse:collapse;
    background:#fff;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-grand-table th,
:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-grand-table td {
    padding:13px 14px;
    border:0;
    border-bottom:1px solid #e0e6eb;
    vertical-align:top;
    text-align:left;
    font-size:14px;
    line-height:1.45;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-grand-table thead th {
    background:var(--azh-blue);
    color:#fff;
    font-weight:700;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-grand-table tbody tr:nth-child(even) { background:#f7f9fb; }
:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-grand-table tbody tr:last-child td { border-bottom:0; }

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-logistics-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin-top:18px;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-logistics-grid > div {
    padding:20px;
    background:#f8fafc;
    border:1px solid #dbe3ea;
    border-radius:5px;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-logistics-grid strong {
    display:block;
    margin-bottom:7px;
    color:var(--azh-blue);
    font-size:18px;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-logistics-grid p { margin:0; }
:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-faq { border-top:1px solid #dce3e9; }
:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-faq details { border-bottom:1px solid #dce3e9; }

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-faq summary {
    position:relative;
    padding:17px 38px 17px 0;
    color:#344b61;
    font-size:17px;
    font-weight:700;
    line-height:1.4;
    cursor:pointer;
    list-style:none;
}

:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-faq summary::-webkit-details-marker { display:none; }
:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-faq summary::after { content:"+"; position:absolute; right:6px; top:14px; color:var(--azh-blue); font-size:24px; font-weight:400; }
:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-faq details[open] summary::after { content:"–"; }
:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-faq details p { margin:0; padding:0 38px 18px 0; }
:is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-final-cta { margin-top:24px; }

@media screen and (max-width:900px) {
    :is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-island-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
    :is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-pico-grid { grid-template-columns:1fr; }
}

@media screen and (max-width:720px) {
    :is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-reading-grid { grid-template-columns:1fr; }
    :is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-status-callout { display:block; padding:23px 19px; }
    :is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-status-callout .azm-button { display:block; width:100%; margin-top:16px; white-space:normal; text-align:center; }
    :is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-trail-grid,
    :is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-logistics-grid { grid-template-columns:1fr; }
}

@media screen and (max-width:600px) {
    :is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-island-grid { grid-template-columns:1fr !important; }
    :is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-trail-card { padding:18px; }
    :is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-trail-head { display:block; }
    :is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-code { margin-top:8px; }
    :is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-trail-meta,
    :is(#body.azores-hiking-trails-page, body.azores-hiking-trails-page #body) .azh-pico-facts { grid-template-columns:1fr; }
}
