/* WordPress integration — maps WP markup to the Sham design system */

/* ----- primary nav (wp_nav_menu) ----- */
.main-nav .menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
.main-nav .menu li{position:relative}
.main-nav .menu a{display:block;color:rgba(255,255,255,.85);font-weight:600;font-size:15px;
  padding:9px 16px;border-radius:9px;white-space:nowrap;transition:.15s}
.main-nav .menu a:hover{background:rgba(255,255,255,.08);color:#fff}
.main-nav .menu .current-menu-item>a,.main-nav .menu .current_page_item>a,
.main-nav .menu .current-menu-parent>a,.main-nav .menu .current-menu-ancestor>a{background:var(--rust-600);color:#fff}
.main-nav .menu-item-has-children>a::after{content:"▾";margin-inline-start:6px;font-size:11px}
.main-nav .sub-menu{position:absolute;top:calc(100% + 6px);inset-inline-start:0;min-width:200px;
  background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);
  padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s;z-index:60;list-style:none;margin:0}
.main-nav .menu-item-has-children:hover .sub-menu{opacity:1;visibility:visible;transform:none}
.main-nav .sub-menu a{color:var(--ink);border-radius:10px;font-weight:700;font-size:14.5px}
.main-nav .sub-menu a:hover{background:var(--green-100);color:var(--green-700)}
.main-nav .sub-menu .current-menu-item>a{background:var(--green-100);color:var(--green-700)}

/* ----- drawer nav ----- */
.drawer .menu{list-style:none;margin:0;padding:0}
.drawer .menu a{display:block;padding:13px 12px;border-radius:11px;font-weight:700;color:var(--ink)}
.drawer .menu a:hover,.drawer .menu .current-menu-item>a,.drawer .menu .current_page_item>a{background:var(--green-100);color:var(--green-700)}
.drawer .sub-menu{list-style:none;margin:0;padding:0 10px}
.drawer .sub-menu a{font-weight:600;color:var(--ink-2)}

/* ----- footer menu ----- */
.fcol .menu,.fcol ul{list-style:none;margin:0;padding:0}
.fcol .menu a,.fcol ul a{display:block;color:rgba(255,255,255,.6);padding:6px 0;font-size:14px}
.fcol .menu a:hover,.fcol ul a:hover{color:#fff}

/* ----- widgets ----- */
.widget ul{list-style:none;margin:0;padding:0}
.widget > ul > li{padding:10px 0;border-bottom:1px solid var(--line);font-weight:600;font-size:14.5px}
.widget > ul > li:last-child{border:none}
.widget > ul > li a:hover{color:var(--green-700)}
.widget select{width:100%;height:42px;border-radius:11px;border:1px solid var(--line);
  background:var(--card);color:var(--ink);padding:0 12px;font-family:var(--font)}
.widget .wp-block-search__inside-wrapper{display:flex;gap:8px}

/* ----- content (prose already styles article body) ----- */
.entry-content > *{max-width:100%}
.alignwide{margin-inline:calc(-1 * clamp(0px,4vw,60px))}
.alignfull{margin-inline:calc(50% - 50vw);max-width:100vw}
.aligncenter{margin-inline:auto}
.wp-caption,figure.wp-block-image{max-width:100%;margin:26px 0}
.wp-caption-text,.wp-element-caption,figcaption{font-size:12.5px;color:var(--muted);text-align:center;padding-top:8px}
.wp-block-image img{border-radius:14px}

/* ----- pagination ----- */
.sham-pager{display:flex;gap:8px;justify-content:center;margin-top:30px;flex-wrap:wrap}
.sham-pager .page-numbers{min-width:42px;height:42px;padding:0 12px;border-radius:11px;display:grid;place-items:center;
  border:1px solid var(--line);background:var(--card);font-weight:700;transition:.15s}
.sham-pager .page-numbers:hover{border-color:var(--green-500)}
.sham-pager .page-numbers.current{background:var(--green-700);color:#fff;border-color:var(--green-700)}

/* ----- comments ----- */
.comments-area{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-top:26px}
.comment-list{list-style:none;padding:0;margin:0}
.comment-list li{padding:14px 0;border-bottom:1px solid var(--line)}
.comment-form input[type=text],.comment-form input[type=email],.comment-form textarea{
  width:100%;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);
  padding:12px 14px;font-family:var(--font);margin-bottom:12px}

/* ----- contact form ----- */
.sham-form{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow-sm)}
.sham-form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sham-form label{display:block;font-weight:700;font-size:14px;margin:0 0 6px}
.sham-form input,.sham-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--cream);
  color:var(--ink);padding:12px 14px;font-family:var(--font);font-size:15px;margin-bottom:16px}
.sham-form textarea{min-height:150px;resize:vertical}
.sham-form input:focus,.sham-form textarea:focus{outline:none;border-color:var(--green-500);box-shadow:var(--ring)}
.sham-notice{border-radius:12px;padding:14px 16px;font-weight:600;margin-bottom:18px}
.sham-notice.ok{background:var(--green-100);color:var(--green-800)}
.sham-notice.err{background:#fbeee6;color:var(--rust-700)}
[data-theme="dark"] .sham-notice.err{background:#2a1610}
.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:26px;align-items:start}
.contact-cards{display:flex;flex-direction:column;gap:14px}
.contact-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;gap:14px;align-items:center}
.contact-card .ci{width:46px;height:46px;border-radius:12px;background:var(--green-100);color:var(--green-700);display:grid;place-items:center;font-size:20px;flex-shrink:0}
.contact-card b{display:block;font-size:15px}
.contact-card span{color:var(--muted);font-size:13.5px}

@media(max-width:900px){.sham-form .row{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}}

/* ----- page header ----- */
.page-hero{margin-bottom:26px}
.page-hero .crumbs{margin-bottom:10px}
.page-hero h1{font-size:34px;line-height:1.25}
.page-hero .page-lead{color:var(--ink-2);font-size:17px;margin-top:8px;max-width:680px}
@media(max-width:720px){.page-hero h1{font-size:26px}}

/* ensure single article is block-flow (WP post_class can add flex elsewhere) */
.article{display:block;min-width:0}
