/*
Theme Name: Fish Palatka Kadence
Template: kadence
Version: 1.2.2
Author: Waterside Solutions
Description: Shared layout rules for Fish Palatka. Colors and typography inherit Kadence global settings.
*/
/* Kadence owns the font families, heading sizes, palette and button defaults.
   These reusable components own layout and spacing; no page-specific styles. */
.fp-collection { margin-block:var(--global-lg-spacing,3rem); }
.fp-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--global-md-spacing,2rem); }
.fp-card { min-width:0; padding:var(--global-md-spacing,2rem); border:1px solid var(--global-palette7); background:var(--global-palette9); display:flex; flex-direction:column; gap:.8rem; }
.fp-card :is(h2,h3,p,figure) { margin:0; }
.fp-card h3 a { color:inherit; text-decoration:none; }
.fp-card h3 a:hover { text-decoration:underline; }
.fp-card a { overflow-wrap:anywhere; }
.fp-card .fp-actions { margin-top:auto; padding-top:1rem; border-top:1px solid var(--global-palette7); }
.fp-meta,.fp-photo figcaption { font-size:.875em; color:var(--global-palette5); line-height:1.6; }
.fp-date { font-weight:700; }
.fp-actions { display:flex; align-items:center; flex-wrap:wrap; gap:1rem 1.5rem; }
.fp-actions a,.fp-jump a { font-weight:700; }
.fp-pick { border-inline-start:3px solid var(--global-palette1); padding-inline-start:.7rem; font-weight:700; }
.fp-card[hidden] { display:none; }
/* Shared section styles apply to editable Group blocks, including their headings. */
.fp-section { padding:var(--global-lg-spacing,3rem); background:var(--global-palette9); }
.entry-content .fp-section { margin-block:0; }
.fp-section h2 { margin:0 0 var(--global-md-spacing,2rem); padding-bottom:1.25rem; border-bottom:1px solid var(--global-palette7); }
.fp-section .fp-collection { margin-block:0; }
.fp-section :is(.fp-collection > p:last-child) { margin-bottom:0; }
.fp-section-events,.fp-section-trip,.fp-section-faq { background:var(--global-palette7); }
.fp-section-events h2,.fp-section-trip h2,.fp-section-faq h2 { border-color:var(--global-palette6); }
/* Reports read as an editorial lead followed by supporting stories. */
.fp-reports > .fp-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.fp-reports > .fp-grid > .fp-card:first-child { grid-column:1/-1; background:var(--global-palette7); border-inline-start:4px solid var(--global-palette3); }
.fp-reports > .fp-grid > .fp-card:first-child > p { max-width:75ch; }
/* Video and gallery collections use two generous columns. */
.fp-videos > .fp-grid,.fp-photos > .fp-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.fp-section-videos { background:var(--global-palette3); color:var(--global-palette9); border-top:5px solid var(--global-palette1); }
.fp-section-videos :is(h2,h3,a,.fp-meta) { color:inherit; }
.fp-section-videos .fp-card { background:var(--global-palette4); border-color:var(--global-palette5); }
.fp-section-videos :is(.fp-actions,h2) { border-color:var(--global-palette5); }
.fp-section-videos a:hover { color:var(--global-palette1); }
.fp-video { padding:0; position:relative; width:100%; overflow:hidden; text-align:left; }
.fp-video img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.fp-video span { display:block; padding:.75rem 1rem; }
.fp-video-frame { width:100%; aspect-ratio:16/9; border:0; }
/* Events form a readable date-and-details list instead of another card grid. */
.fp-events > .fp-grid { grid-template-columns:1fr; gap:0; }
.fp-events .fp-card { display:grid; grid-template-columns:10rem minmax(0,1fr); gap:.65rem 2rem; border:0; border-bottom:1px solid var(--global-palette6); }
.fp-events .fp-card > * { grid-column:2; }
.fp-events .fp-card > .fp-date { grid-column:1; grid-row:1/7; color:var(--global-palette3); }
.fp-events .fp-card .fp-actions { margin-top:0; border:0; padding-top:.4rem; }
.fp-trip { grid-template-columns:repeat(4,minmax(0,1fr)); }
.fp-trip > .fp-card { padding:1.5rem; }
.fp-trip > .fp-card > a:last-child { margin-top:auto; font-weight:700; }
/* Hero uses the global H1; only the introduction has a relative size adjustment. */
.fp-hero { display:grid; grid-template-columns:1fr 1.1fr; gap:var(--global-lg-spacing,3rem); align-items:center; background:var(--global-palette3); color:var(--global-palette9); padding:var(--global-lg-spacing,3rem); }
.fp-hero > div { min-width:0; }
.fp-hero :is(h1,a,figcaption) { color:inherit; }
.fp-hero h1 { margin:1rem 0 1.5rem; }
.fp-hero p { margin:0 0 1.5rem; }
.fp-hero h1 + p { font-size:1.1875em; line-height:1.6; }
.fp-kicker { font-size:.875em; text-transform:uppercase; letter-spacing:.1em; font-weight:700; }
.fp-hero .fp-kicker { color:var(--global-palette1); }
.fp-hero .fp-actions { padding-top:.5rem; }
.fp-hero .button { color:var(--global-palette3); }
.fp-hero .button:hover { color:var(--global-palette9); }
.fp-photo { margin:0; }
.fp-photo img { display:block; width:100%; height:auto; }
.fp-photo iframe { max-width:100%; }
/* The Flickr hero has a 1024 × 454 source; override its fixed embed height. */
.fp-hero .fp-photo iframe { display:block; width:100% !important; height:auto !important; aspect-ratio:1024/454; }
.custom-logo { mix-blend-mode:multiply; }
.fp-photo figcaption { padding-top:.75rem; }
.fp-jump { display:flex; flex-wrap:wrap; gap:1rem 2rem; padding:1.5rem 2rem; background:var(--global-palette7); border-bottom:3px solid var(--global-palette1); }
/* Filters, maps and detail pages retain the same shared controls. */
.fp-filters { display:flex; flex-wrap:wrap; gap:1rem; align-items:end; padding:var(--global-md-spacing,2rem); background:var(--global-palette7); margin-bottom:var(--global-md-spacing,2rem); }
.fp-filters label { flex:1 1 12rem; font-weight:700; }
.fp-filters :is(input,select),.fp-submission :is(input,select,textarea) { display:block; width:100%; max-width:100%; min-height:2.75rem; margin-top:.5rem; font:inherit; font-weight:400; }
.fp-submission { max-width:48rem; display:grid; gap:1.25rem; }
.fp-submission button { justify-self:start; }
.fp-map { height:32rem; max-height:70vh; border:1px solid var(--global-palette6); margin-bottom:2rem; z-index:0; }
.fp-map .leaflet-interactive { stroke:var(--global-palette3); fill:var(--global-palette1); }
.fp-map .leaflet-popup-content { font-family:var(--global-body-font-family); }
.fp-pagination { display:flex; flex-wrap:wrap; gap:1rem; padding-block:2rem; }
.fp-pagination .page-numbers { min-width:2.75rem; padding:.5rem .85rem; border:1px solid var(--global-palette7); text-align:center; }
.fp-pagination .current { background:var(--global-palette3); color:var(--global-palette9); }
.fp-single { max-width:var(--global-content-width,80rem); margin-inline:auto; }
.fp-single > .fp-card { margin-top:2rem; border-top:3px solid var(--global-palette1); }
.fp-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.entry-content > h2 { margin-top:var(--global-lg-spacing,3rem); }
.entry-content #meet-mike { display:grid; grid-template-columns:1fr 1fr; gap:var(--global-lg-spacing,3rem); padding-block:var(--global-lg-spacing,3rem); align-items:center; }
.entry-content #meet-mike img { width:100%; height:auto; }
.entry-content #meet-mike > div { min-width:0; }
#meet-mike > div > p > span { display:block; }
#meet-mike > div > div { display:flex; flex-wrap:wrap; gap:1rem; }
.entry-content details { border-bottom:1px solid var(--global-palette6); padding-block:1rem; }
.entry-content summary { cursor:pointer; font-weight:700; }
.entry-content section[aria-labelledby="website-promo-title"] { padding:var(--global-lg-spacing,3rem); background:var(--global-palette7); }
@media(max-width:1024px) {
 .fp-grid,.fp-trip { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .fp-hero { gap:1.5rem; padding:2rem; }
 .fp-section { padding:2rem; }
}
@media(max-width:700px) {
 .fp-grid,.fp-hero,.fp-reports > .fp-grid,.fp-videos > .fp-grid,.fp-photos > .fp-grid,.entry-content #meet-mike { grid-template-columns:1fr; }
 .fp-hero,.fp-card,.fp-filters,.fp-section { padding:1.25rem; }
 .fp-hero h1 { margin-top:.75rem; }
 .fp-hero .button { padding-inline:.75rem; }
 .fp-hero h1 + p { font-size:1.0625em; }
 .fp-hero .fp-actions { align-items:flex-start; flex-direction:column; }
 .fp-jump { gap:.75rem 1.25rem; padding:1.25rem; }
 .fp-events .fp-card { display:flex; }
 .fp-filters label { flex-basis:100%; }
 .fp-map { height:25rem; }
}


/* Shared editorial components — migrated from page content. */

/* Homepage section polish; collections remain dynamic. */
:is(.home .entry-content,.editor-styles-wrapper) .fp-section { margin: 36px 0; padding: clamp(28px,4vw,56px); border-radius: 12px; overflow: hidden; }
:is(.home .entry-content,.editor-styles-wrapper) .fp-section h2.wp-block-heading { font-size: clamp(28px,3vw,40px); line-height: 1.15; margin: 0 0 12px; padding: 0; border: 0; }
:is(.home .entry-content,.editor-styles-wrapper) .fp-section .fp-section-intro { margin: 0 0 30px; max-width: 680px; font-size: 17px; line-height: 1.6; color: var(--global-palette5); }
:is(.home .entry-content,.editor-styles-wrapper) .fp-section-videos .fp-section-intro { color: var(--global-palette7); }
:is(.home .entry-content,.editor-styles-wrapper) .fp-section-reports { background: var(--global-palette9); border-top: 3px solid var(--global-palette1); }
:is(.home .entry-content,.editor-styles-wrapper) .fp-section .fp-grid { gap: 24px; }
:is(.home .entry-content,.editor-styles-wrapper) .fp-section .fp-card { border-radius: 8px; padding: 28px; }
:is(.home .entry-content,.editor-styles-wrapper) .fp-section .fp-actions { margin-top: auto; padding-top: 20px; }
:is(.home .entry-content,.editor-styles-wrapper) .fp-collection > p:last-child { margin: 28px 0 0; }
:is(.home .entry-content,.editor-styles-wrapper) .fp-collection > p:last-child > a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; text-underline-offset: 5px; }
:is(.home .entry-content,.editor-styles-wrapper) .fp-card-video { position: relative; display: flex; flex-direction: column; }
:is(.home .entry-content,.editor-styles-wrapper) .fp-card-video .fp-pick { position: absolute; z-index: 2; top: 40px; left: 40px; margin: 0; padding: 7px 12px; border: 0; border-radius: 4px; background: var(--global-palette1); color: var(--global-palette3); font-size: 13px; font-weight: 800; }
:is(.home .entry-content,.editor-styles-wrapper) .fp-card-video .fp-video { width: 100%; margin: 0 0 20px; border-radius: 5px; overflow: hidden; }
:is(.home .entry-content,.editor-styles-wrapper) .fp-card-video .fp-video img { display: block; width: 100%; aspect-ratio: 16/9; height: auto; object-fit: cover; }
:is(.home .entry-content,.editor-styles-wrapper) .fp-section-events { background: var(--global-palette8); border-top: 3px solid var(--global-palette1); }
:is(.home .entry-content,.editor-styles-wrapper) .fp-events .fp-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; }
:is(.home .entry-content,.editor-styles-wrapper) .fp-events .fp-card-event { display: flex; flex-direction: column; gap: 14px; min-width: 0; background: var(--global-palette9); border: 1px solid var(--global-palette7); border-top: 4px solid var(--global-palette4); box-shadow: 0 5px 16px rgba(25,50,56,.05); }
:is(.home .entry-content,.editor-styles-wrapper) .fp-card-event > * { grid-area: auto; margin: 0; }
:is(.home .entry-content,.editor-styles-wrapper) .fp-card-event .fp-date { align-self: flex-start; padding: 9px 14px; background: var(--global-palette3); color: var(--global-palette9); border-radius: 5px; font-size: 15px; font-weight: 800; letter-spacing: .02em; }
:is(.home .entry-content,.editor-styles-wrapper) .fp-card-event h3 { font-size: 25px; line-height: 1.25; }
:is(.home .entry-content,.editor-styles-wrapper) .fp-card-event h3 a { color: var(--global-palette3); text-decoration: none; }
:is(.home .entry-content,.editor-styles-wrapper) .fp-card-event h3 + p { font-weight: 650; color: var(--global-palette4); font-size: 15px; }
:is(.home .entry-content,.editor-styles-wrapper) .fp-card-event p:not(.fp-meta) { line-height: 1.6; }
:is(.home .entry-content,.editor-styles-wrapper) .fp-card-event .fp-actions { border-top: 1px solid var(--global-palette7); }
:is(.home .entry-content,.editor-styles-wrapper) .fp-card-event .fp-actions a { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; padding: 10px 16px; border-radius: 5px; background: var(--global-palette3); color: var(--global-palette9); text-decoration: none; font-size: 15px; font-weight: 700; }
:is(.home .entry-content,.editor-styles-wrapper) .fp-card-event .fp-actions a:hover { background: var(--global-palette4); }
:is(.home .entry-content,.editor-styles-wrapper) .fp-section a:focus-visible, :is(.home .entry-content,.editor-styles-wrapper) .fp-section button:focus-visible { outline: 3px solid var(--global-palette1); outline-offset: 4px; }
:is(.home .entry-content,.editor-styles-wrapper) #meet-mike { margin-top: 48px; }
@media (max-width: 1000px) { :is(.home .entry-content,.editor-styles-wrapper) .fp-events .fp-grid { grid-template-columns: 1fr; } :is(.home .entry-content,.editor-styles-wrapper) .fp-events .fp-card-event { gap: 12px; } }
@media (max-width: 640px) { :is(.home .entry-content,.editor-styles-wrapper) .fp-section { margin: 24px 0; padding: 26px 20px; border-radius: 8px; } :is(.home .entry-content,.editor-styles-wrapper) .fp-section .fp-card { padding: 22px; } :is(.home .entry-content,.editor-styles-wrapper) .fp-section .fp-grid { grid-template-columns: 1fr; gap: 20px; } :is(.home .entry-content,.editor-styles-wrapper) .fp-card-video .fp-pick { top: 32px; left: 32px; } :is(.home .entry-content,.editor-styles-wrapper) .fp-card-event h3 { font-size: 23px; } }

:is(.home .entry-content,.editor-styles-wrapper) .fp-local-note{padding:18px 28px;margin:24px 0;text-align:center;border-top:1px solid var(--global-palette7);border-bottom:1px solid var(--global-palette7);color:var(--global-palette5)}:is(.home .entry-content,.editor-styles-wrapper) .fp-local-note p{margin:0}:is(.home .entry-content,.editor-styles-wrapper) .fp-local-note a{font-weight:750;color:var(--global-palette3);margin-left:8px;text-underline-offset:4px}:is(.home .entry-content,.editor-styles-wrapper) .fp-website-promo{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:40px;align-items:center;background:var(--global-palette3);color:var(--global-palette9);border-top:4px solid var(--global-palette1);border-radius:12px;padding:clamp(28px,5vw,64px);margin:36px 0 48px}:is(.home .entry-content,.editor-styles-wrapper) .fp-website-promo .fp-promo-eyebrow{font-size:13px;letter-spacing:.12em;font-weight:800;color:var(--global-palette1);margin:0 0 18px}:is(.home .entry-content,.editor-styles-wrapper) .fp-website-promo h2{font-size:clamp(32px,4vw,48px);line-height:1.12;color:var(--global-palette9);border:0;margin:0 0 22px}:is(.home .entry-content,.editor-styles-wrapper) .fp-website-promo .fp-promo-copy{font-size:18px;line-height:1.7;color:var(--global-palette7);margin:0;max-width:660px}:is(.home .entry-content,.editor-styles-wrapper) .fp-promo-action a{display:inline-flex;background:var(--global-palette1);color:var(--global-palette3);border-radius:6px;padding:17px 22px;font-size:17px;font-weight:800;text-decoration:none;line-height:1.4}:is(.home .entry-content,.editor-styles-wrapper) .fp-promo-action a:hover{background:color-mix(in srgb,var(--global-palette1) 80%,white)}:is(.home .entry-content,.editor-styles-wrapper) .fp-promo-action a:focus-visible{outline:3px solid var(--global-palette9);outline-offset:4px}:is(.home .entry-content,.editor-styles-wrapper) .fp-promo-action p{font-size:14px;line-height:1.7;color:var(--global-palette7);margin:18px 0 0}@media(max-width:800px){:is(.home .entry-content,.editor-styles-wrapper) .fp-website-promo{grid-template-columns:1fr;gap:26px}:is(.home .entry-content,.editor-styles-wrapper) .fp-promo-action a{width:100%;justify-content:center}}
:is(.home .entry-content,.editor-styles-wrapper) .fp-section-trip{background:var(--global-palette7);border-top:3px solid var(--global-palette1)}:is(.home .entry-content,.editor-styles-wrapper) .fp-section-trip .fp-card{background:var(--global-palette9);border:1px solid var(--global-palette7)}:is(.home .entry-content,.editor-styles-wrapper) .fp-section-trip h3{font-size:24px;line-height:1.25}
.fp-about-story{max-width:1100px;margin:32px auto;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px;padding:clamp(24px,4vw,52px);background:var(--global-palette8);border-top:4px solid var(--global-palette1);border-radius:12px}.fp-about-story figure{margin:0}.fp-about-story img{width:100%;height:auto;border-radius:8px}.fp-about-story figcaption{font-size:14px;color:var(--global-palette5);margin-top:12px}.fp-about-story h2{font-size:42px;color:var(--global-palette3)}.fp-about-story p{line-height:1.75}.fp-about-story .eyebrow{font-size:13px;letter-spacing:.1em;font-weight:700}.fp-about-story a{font-weight:700}@media(max-width:760px){.fp-about-story{grid-template-columns:1fr;gap:24px}}
.fp-inquiry{max-width:820px;margin:32px auto;padding:clamp(24px,5vw,56px);border-radius:12px;background:var(--global-palette8);border-top:4px solid var(--global-palette1)}.fp-inquiry h2{color:var(--global-palette3);font-size:clamp(28px,4vw,40px)}.fp-inquiry p{line-height:1.7}.fp-inquiry form{margin:30px 0}.fp-inquiry input,.fp-inquiry textarea{background:var(--global-palette9);border-radius:5px;min-height:46px}.fp-inquiry button[type=submit]{background:var(--global-palette3);color:var(--global-palette9);border-radius:5px;min-height:48px}
/* Native Group blocks retain their editable inner container. */
.fp-website-promo > .wp-block-group__inner-container,.fp-about-story > .wp-block-group__inner-container{display:contents}

/* Photo-led introduction to the Places directory. */
.fp-trip-feature .wp-block-columns{gap:clamp(24px,4vw,56px);margin-bottom:0}
.fp-trip-feature-photo{margin:0}
.fp-trip-feature-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.fp-trip-feature-photo figcaption{font-size:.75rem;line-height:1.5;text-align:left;color:var(--global-palette5);margin-top:12px}
.fp-trip-feature .fp-trip-tagline{font-size:clamp(1.25rem,2vw,1.6rem);font-weight:700;line-height:1.3;color:var(--global-palette4);margin:0 0 20px}
.fp-trip-feature .fp-trip-categories{font-size:.875rem;font-weight:700;line-height:1.8;color:var(--global-palette4);padding-block:14px;border-block:1px solid var(--global-palette6);margin:0 0 24px}
.fp-trip-feature .wp-block-button__link{min-height:44px;display:inline-flex;align-items:center;border-radius:5px}
