/* Essentially Amsterdam — theme stylesheet.
   Values derived from indebuurt.nl/amsterdam's production CSS.
   Change --ea-accent once to rebrand. */

:root{
  --ea-accent:#F90023; --ea-accent-hover:#D10A10; --ea-green:#007A00;
  --ea-text:#000; --ea-text-dark:#292929; --ea-meta:#B4B4B4; --ea-meta-alt:#666;
  --ea-divider:#EFE8E1; --ea-border:#E5E5E5; --ea-bg:#F6F6F6; --ea-card:#FFF; --ea-card-alt:#F5F5F5;
  --ea-font:"Poppins",Arial,"Helvetica Neue",Helvetica,sans-serif;
  --ea-container:1024px; --ea-sidebar:310px; --ea-gap:10px;
}

*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{ margin:0; background:var(--ea-bg); color:var(--ea-text);
  font-family:var(--ea-font); font-size:16px; font-weight:400; line-height:24px; }
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--ea-accent); text-decoration:none; }
a:hover{ color:var(--ea-accent-hover); }
h1,h2,h3,h4,h5,h6{ font-family:var(--ea-font); font-weight:700; margin:0 0 .4em; color:var(--ea-text-dark); }

.ea-container{ max-width:var(--ea-container); margin:0 auto; padding:0 10px; }
.ea-skip{ position:absolute; left:-9999px; }

/* ---------- HEADER ---------- */
.ea-header{ position:sticky; top:0; z-index:100; background:#fff; border-bottom:1px solid var(--ea-border); }
.ea-header__top{ display:flex; align-items:center; justify-content:space-between;
  max-width:var(--ea-container); margin:0 auto; padding:10px 16px; }
.ea-logo,.ea-logo a{ font-family:var(--ea-font); font-weight:700; font-size:24px; color:var(--ea-accent); }
.ea-logo img{ max-height:40px; width:auto; }
.ea-search{ background:none; border:0; cursor:pointer; color:var(--ea-text-dark); font-size:18px; }

.ea-nav{ border-top:1px solid var(--ea-border); }
.ea-nav__list{ display:flex; flex-wrap:wrap; align-items:center; height:50px; margin:0 auto;
  padding:0 15px; max-width:var(--ea-container); list-style:none; }
.ea-nav__list a{ display:inline-block; padding:3px 10px; color:var(--ea-text-dark);
  font-weight:700; font-size:14px; line-height:28px; text-transform:uppercase; }
.ea-nav__list a:hover{ color:var(--ea-accent); }

.ea-catstrip{ background:var(--ea-accent); }
.ea-catstrip__list{ display:flex; flex-wrap:wrap; margin:0 auto; padding:0 15px;
  max-width:var(--ea-container); list-style:none; }
.ea-catstrip__list a{ display:inline-block; padding:8px 10px; color:#fff;
  font-weight:700; font-size:16px; line-height:1; text-transform:uppercase; }
.ea-catstrip__list a:hover{ color:#fff; opacity:.85; }

@media (max-width:599px){ .ea-nav__list{ height:40px; overflow-x:auto; flex-wrap:nowrap; } }

/* ---------- LAYOUT ---------- */
.ea-main{ padding:15px 0 30px; }
.ea-cols{ display:flex; flex-direction:row; gap:0; max-width:var(--ea-container); margin:0 auto; padding:0 10px; }
.ea-col--main{ width:calc(100% - var(--ea-sidebar)); padding:0 5px; min-width:0; }
.ea-col--side{ width:var(--ea-sidebar); min-width:var(--ea-sidebar); max-width:var(--ea-sidebar); padding:0 10px 10px 0; }
@media (max-width:767px){
  .ea-cols{ flex-direction:column; }
  .ea-col--main,.ea-col--side{ width:100%; max-width:100%; min-width:0; padding:0; }
}

/* ---------- SECTION-TITLE BAR ---------- */
.ea-section{ margin-bottom:20px; }
.ea-section__title{ display:inline-block; margin:0 0 10px; padding:7px 10px 4px;
  background:var(--ea-accent); color:#fff; font-weight:700; font-size:20px; line-height:1; text-transform:uppercase; }
.ea-section__title a{ color:#fff; }
@media (max-width:429px){ .ea-section__title{ font-size:16px; } }

/* ---------- GRID ---------- */
.ea-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--ea-gap); }
.ea-grid--3{ grid-template-columns:repeat(3,1fr); }
.ea-grid .is-hero{ grid-column:span 2; grid-row:span 2; }
.ea-grid .is-wide{ grid-column:span 2; }
@media (max-width:767px){ .ea-grid,.ea-grid--3{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:429px){
  .ea-grid,.ea-grid--3{ grid-template-columns:1fr; }
  .ea-grid .is-hero,.ea-grid .is-wide{ grid-column:span 1; grid-row:span 1; }
}

/* ---------- CARD ---------- */
.ea-card{ position:relative; background:var(--ea-card); display:flex; flex-direction:column; }
.ea-card__imglink{ display:block; position:relative; }
.ea-card__img{ width:100%; aspect-ratio:3/2; object-fit:cover; background:var(--ea-border); }
.ea-card__label{ position:absolute; top:10px; left:10px; z-index:2; }
.ea-card__body{ padding:5px 10px 20px; }
.ea-card__title{ margin:0 0 6px; font-weight:700; font-size:22px; line-height:1.1; }
.ea-card__title a{ color:var(--ea-text-dark); }
.ea-card__title a:hover{ color:var(--ea-accent); }
.ea-card__excerpt{ margin:0 0 6px; font-size:14px; line-height:1.3; color:var(--ea-text-dark); }
.ea-card__meta{ font-size:12px; line-height:1; color:var(--ea-meta); }
.is-hero .ea-card__title{ font-size:36px; line-height:40px; }
.is-wide .ea-card__title{ font-size:24px; line-height:28px; }

/* headline-over-image variant for hero */
.ea-card--overlay .ea-card__body{ position:absolute; left:0; right:0; bottom:0; padding:20px 10px 10px;
  background:linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.8) 100%); }
.ea-card--overlay .ea-card__title a,.ea-card--overlay .ea-card__meta{ color:#fff; }
@media (max-width:429px){
  .ea-card__title{ font-size:16px; }
  .is-hero .ea-card__title{ font-size:22px; line-height:1.1; }
}

/* ---------- LABEL ---------- */
.ea-label{ display:inline-flex; align-items:center; height:20px; background:var(--ea-accent);
  color:#fff; font-weight:700; font-size:12px; text-transform:uppercase; }
.ea-label span{ padding:0 6px; color:#fff; }
.ea-label--green{ background:var(--ea-green); }

/* ---------- SIDEBAR / WIDGETS ---------- */
.ea-widget{ margin-bottom:20px; background:#fff; }
.ea-widget .ea-section__title{ width:100%; }
.ea-widget ul{ list-style:none; margin:0; padding:0; }
.ea-widget li{ border-top:1px solid var(--ea-divider); padding:10px 0; }
.ea-widget li:first-child{ border-top:0; }
.ea-widget a{ color:var(--ea-text-dark); font-weight:700; font-size:16px; line-height:1.2; }
.ea-widget a:hover{ color:var(--ea-accent); }
.ea-widget .ea-wmeta{ display:block; margin-top:4px; font-size:12px; font-weight:400; color:var(--ea-meta); }
.ea-widget--numbered ol{ list-style:none; counter-reset:e; margin:0; padding:0; }
.ea-widget--numbered li{ position:relative; padding:10px 0 10px 34px; counter-increment:e; }
.ea-widget--numbered li:before{ content:counter(e); position:absolute; left:0; top:8px;
  color:var(--ea-accent); font-weight:700; font-size:24px; line-height:1; }

/* list-item card (used in Popular / related) */
.ea-listcard{ display:flex; gap:10px; align-items:flex-start; }
.ea-listcard__thumb{ width:115px; height:86px; flex:none; object-fit:cover; background:var(--ea-border); }
.ea-listcard__t{ font-weight:700; font-size:16px; line-height:1.1; color:var(--ea-text-dark); }
.ea-listcard__t:hover{ color:var(--ea-accent); }

/* ---------- ARCHIVE ---------- */
.ea-pagination{ margin:20px 0; display:flex; gap:6px; flex-wrap:wrap; }
.ea-pagination a,.ea-pagination span{ display:inline-block; padding:6px 12px; background:#fff;
  border:1px solid var(--ea-border); color:var(--ea-text-dark); font-weight:700; }
.ea-pagination .current{ background:var(--ea-accent); color:#fff; border-color:var(--ea-accent); }

/* ---------- SINGLE ARTICLE ---------- */
.ea-article{ max-width:746px; margin:0 auto; background:#fff; padding:20px; }
.ea-article__label{ margin-bottom:10px; }
.ea-article__title{ font-weight:700; font-size:40px; line-height:44px; color:var(--ea-text-dark); margin:0 0 15px; }
.ea-article__meta{ color:var(--ea-meta); font-size:16px; margin-bottom:20px; }
.ea-article__meta b{ color:var(--ea-text-dark); }
.ea-article__figure{ margin:0 0 20px; }
.ea-article__figure figcaption{ position:relative; padding:5px 0 5px 35px; color:var(--ea-meta);
  font-size:14px; line-height:20px; }
.ea-article__figure figcaption:before{ content:""; position:absolute; left:15px; top:6px; width:0; height:0;
  border-right:5px solid transparent; border-bottom:10px solid var(--ea-accent); border-left:5px solid transparent; }
.ea-article__body{ font-size:18px; line-height:27px; color:var(--ea-text); }
.ea-article__body p{ margin:0 0 25px; }
.ea-article__body h2{ font-size:24px; line-height:1.2; margin:30px 0 10px; }
.ea-article__body h3{ font-size:18px; line-height:26px; margin:24px 0 8px; }
.ea-article__body a{ color:var(--ea-accent); text-decoration:underline; }
.ea-article__body blockquote{ margin:20px 0; padding:0 0 0 40px; position:relative; }
.ea-article__body blockquote:before{ content:"\201C"; position:absolute; left:0; top:-10px;
  color:var(--ea-accent); font-weight:700; font-size:64px; line-height:1; }
.ea-article__body blockquote p{ color:var(--ea-text-dark); font-weight:700; font-size:28px; line-height:1.2; margin:0; }
.ea-article__body img{ margin:10px 0; }

/* ---------- NEWSLETTER ---------- */
.ea-newsletter{ max-width:746px; margin:0 auto 20px; padding:20px; border-bottom:1px solid var(--ea-divider); background:#fff; }
.ea-newsletter h3{ font-size:28px; margin-bottom:10px; }
.ea-newsletter form{ display:flex; gap:10px; flex-wrap:wrap; }
.ea-newsletter input[type=email]{ flex:1 1 220px; height:40px; padding:0 10px; border:1px solid var(--ea-meta); }
.ea-newsletter button{ height:40px; padding:0 18px; border:0; background:var(--ea-accent); color:#fff;
  font-weight:700; text-transform:uppercase; cursor:pointer; }

/* ---------- FOOTER ---------- */
.ea-footer{ background:var(--ea-bg); margin-top:30px; }
.ea-footer__bar{ min-height:120px; background:var(--ea-accent); display:flex; align-items:center; }
.ea-footer__bar .ea-container{ display:flex; align-items:center; gap:16px; }
.ea-footer__bar .ea-quotemark{ color:#fff; font-size:48px; font-weight:700; line-height:1; }
.ea-footer__bar .ea-tagline{ color:#fff; font-weight:700; font-size:24px; }
@media (max-width:905px){ .ea-footer__bar{ min-height:140px; } }
.ea-footer__cols{ display:flex; flex-wrap:wrap; gap:30px; padding:30px 10px; }
.ea-footer__col{ flex:1 1 180px; }
.ea-footer__col h4{ font-size:20px; color:var(--ea-text-dark); margin:0 0 10px; }
.ea-footer__col ul{ list-style:none; margin:0; padding:0; }
.ea-footer__col a{ display:block; padding:4px 0; color:var(--ea-text-dark); }
.ea-footer__col a:hover{ color:var(--ea-accent); }
.ea-footer__legal{ border-top:1px solid var(--ea-border); padding:16px 10px; color:var(--ea-meta-alt); font-size:12px; }
@media (max-width:767px){ .ea-footer__col h4{ font-size:16px; } }

/* ============================================================
   DIRECTORY PLUGIN INTEGRATION — "CSV Directory Listings" (cdl-*)
   The plugin renders its own templates (wrapped in this theme's
   header/footer) and injects its own inline CSS with hardcoded
   blue/orange/gold accents. These rules recolour it to the brand
   and flatten radii/shadows to match the news layout. !important
   is required because the plugin's styles are inlined in wp_head.
   ============================================================ */

/* fonts already inherit Poppins from body */

/* hero */
.cdl-hero-section{ background-color:var(--ea-accent) !important; }
#cdl-search-button{ background-color:#292929 !important; border-radius:0 !important; }
.cdl-filters-hero{ border-radius:0 !important; box-shadow:none !important; }
.cdl-filters-hero #cdl-search-filter{ border-radius:0 !important; }

/* archive controls */
.cdl-listings-section-title{ color:var(--ea-text-dark) !important; }
#cdl-sort-filter{ border-radius:0 !important; }
#cdl-archive-map,#cdl-single-map{ border-radius:0 !important; }

/* cards → flat, brand-coloured */
.cdl-card{ border:1px solid var(--ea-border) !important; border-radius:0 !important; box-shadow:none !important; }
.cdl-card-image{ height:200px !important; }
.cdl-card-title a{ color:var(--ea-text-dark) !important; font-family:var(--ea-font) !important; }
.cdl-card-title a:hover{ color:var(--ea-accent) !important; }
.cdl-card-button{ background-color:var(--ea-accent) !important; border-radius:0 !important; }
.cdl-card-button:hover{ background-color:var(--ea-accent-hover) !important; transform:none !important; }
.cdl-card-badge{ color:var(--ea-accent) !important; }
.cdl-card.is-featured{ border:3px solid var(--ea-accent) !important; background-color:#FFF2EE !important; box-shadow:none !important; }
.cdl-card.is-featured:hover{ transform:none !important; box-shadow:none !important; }

/* load more */
#cdl-load-more{ background-color:var(--ea-accent) !important; border-radius:0 !important; }
#cdl-load-more:hover{ background-color:var(--ea-accent-hover) !important; }

/* single listing */
.cdl-breadcrumb a{ color:var(--ea-accent) !important; }
.cdl-single-badge{ color:var(--ea-accent) !important; background-color:#FFF2EE !important; border:2px solid var(--ea-accent) !important; border-radius:0 !important; }
.cdl-featured-image{ border-radius:0 !important; }
.cdl-contact-info{ border:1px solid var(--ea-border) !important; border-radius:0 !important; }
