/*
Theme Name: BD Info
Theme URI: https://bd-info.com/
Author: BD Info
Description: Bangladesh Information & Local Directory theme. Presentation layer for the BD Info platform; directory data and business logic live in BD Info Core.
Version: 0.11.0
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.1
Text Domain: bd-info
*/

:root {
  --bdi-primary: #087f6b;
  --bdi-primary-dark: #075e54;
  --bdi-text: #13251f;
  --bdi-muted: #64736d;
  --bdi-surface: #ffffff;
  --bdi-surface-soft: #f6f9f8;
  --bdi-border: #e3ebe8;
  --bdi-radius: 14px;
  --bdi-container: 1280px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--bdi-text); background: var(--bdi-surface); font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { color: inherit; }
.bdi-container { width: min(100% - 32px, var(--bdi-container)); margin-inline: auto; }

/* Phase 2 — Location archives */
.bdi-location-hero { padding: 58px 0 52px; background: linear-gradient(135deg, #f3faf7 0%, #ffffff 70%); border-bottom: 1px solid var(--bdi-border); }
.bdi-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 22px; color: var(--bdi-muted); font-size: 14px; }
.bdi-breadcrumb a { text-decoration: none; }
.bdi-breadcrumb a:hover { color: var(--bdi-primary); }
.bdi-location-kicker { display: inline-flex; padding: 6px 10px; border-radius: 999px; background: #e7f5f0; color: var(--bdi-primary-dark); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.bdi-location-hero h1 { margin: 12px 0 10px; font-size: clamp(34px, 5vw, 58px); line-height: 1.06; }
.bdi-location-description { max-width: 760px; margin: 0; color: var(--bdi-muted); font-size: 17px; line-height: 1.75; }
.bdi-location-content { padding-top: 48px; padding-bottom: 72px; }
.bdi-location-children + .bdi-location-listings { margin-top: 58px; }
.bdi-section-heading { display: flex; justify-content: space-between; gap: 20px; align-items: end; margin-bottom: 22px; }
.bdi-section-heading h2 { margin: 0 0 5px; font-size: clamp(24px, 3vw, 34px); }
.bdi-section-heading p { margin: 0; color: var(--bdi-muted); }
.bdi-location-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.bdi-location-card { min-height: 104px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 20px; border: 1px solid var(--bdi-border); border-radius: var(--bdi-radius); background: var(--bdi-surface); text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.bdi-location-card:hover { transform: translateY(-2px); border-color: rgba(8,127,107,.28); box-shadow: 0 14px 34px rgba(19,37,31,.08); }
.bdi-location-card strong { display: block; margin-bottom: 5px; font-size: 17px; }
.bdi-location-card span:not(.bdi-location-arrow) { color: var(--bdi-muted); font-size: 13px; }
.bdi-location-arrow { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; flex: 0 0 auto; background: var(--bdi-surface-soft); color: var(--bdi-primary); }
.bdi-listing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.bdi-listing-card { overflow: hidden; border: 1px solid var(--bdi-border); border-radius: var(--bdi-radius); background: #fff; }
.bdi-listing-card__image { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--bdi-surface-soft); }
.bdi-listing-card__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bdi-listing-placeholder { width: 100%; height: 100%; display: grid; place-items: center; font-weight: 800; font-size: 32px; color: #a3b7af; }
.bdi-listing-card__body { padding: 18px; }
.bdi-listing-card__body h3 { margin: 0 0 8px; font-size: 18px; }
.bdi-listing-card__body h3 a, .bdi-text-link { text-decoration: none; }
.bdi-listing-card__body p { margin: 0 0 12px; color: var(--bdi-muted); line-height: 1.55; }
.bdi-text-link { color: var(--bdi-primary); font-weight: 700; font-size: 14px; }
.bdi-empty-state { padding: 36px; border: 1px dashed var(--bdi-border); border-radius: var(--bdi-radius); background: var(--bdi-surface-soft); text-align: center; }
.bdi-empty-state h3 { margin: 0 0 8px; }
.bdi-empty-state p { margin: 0; color: var(--bdi-muted); }

@media (max-width: 980px) {
  .bdi-location-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bdi-listing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .bdi-location-hero { padding: 38px 0 34px; }
  .bdi-location-content { padding-top: 32px; }
  .bdi-location-grid, .bdi-listing-grid { grid-template-columns: 1fr; }
  .bdi-location-card { min-height: 88px; }
}


/* Phase 7 — Trust, Reviews & Featured System */
.bdi-review-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--bdi-muted);font-size:14px}.bdi-review-stars{color:#d99a16;letter-spacing:1px;font-size:17px}.bdi-trust-note{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;color:var(--bdi-muted);font-size:13px}.bdi-last-updated{display:inline-flex;align-items:center;gap:6px}.bdi-review-section,.bdi-feedback-section{margin-top:36px;padding:28px;border:1px solid var(--bdi-border);border-radius:var(--bdi-radius);background:#fff}.bdi-review-section h2,.bdi-feedback-section h2{margin-top:0}.bdi-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.bdi-review-list{display:grid;gap:14px}.bdi-review-item{padding:16px;border:1px solid var(--bdi-border);border-radius:12px}.bdi-review-item__head{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.bdi-review-item p{margin:0;color:var(--bdi-muted);line-height:1.65}.bdi-review-form,.bdi-feedback-form{display:grid;gap:12px}.bdi-review-form input,.bdi-review-form textarea,.bdi-review-form select,.bdi-feedback-form textarea,.bdi-feedback-form select{width:100%;padding:11px 12px;border:1px solid var(--bdi-border);border-radius:10px;background:#fff}.bdi-review-form button,.bdi-feedback-form button{justify-self:start;border:0;border-radius:10px;padding:11px 16px;background:var(--bdi-primary);color:#fff;font-weight:700;cursor:pointer}.bdi-popular-badge{background:#fff3d6;color:#8a5a00}.bdi-sponsored-disclosure{font-size:11px;text-transform:uppercase;letter-spacing:.06em}.bdi-feedback-tabs{display:grid;grid-template-columns:1fr 1fr;gap:14px}.bdi-feedback-card{padding:18px;border:1px solid var(--bdi-border);border-radius:12px;background:var(--bdi-surface-soft)}
@media(max-width:760px){.bdi-review-grid,.bdi-feedback-tabs{grid-template-columns:1fr}.bdi-review-section,.bdi-feedback-section{padding:20px}.bdi-review-item__head{align-items:flex-start;flex-direction:column}}


/* Phase 10 — Production accessibility & responsive hardening */
.bdi-skip-link{position:absolute;z-index:100000;left:12px;top:-120px;padding:10px 14px;border-radius:8px;background:#fff;color:#073f36;box-shadow:0 6px 20px rgba(0,0,0,.18);font-weight:800;text-decoration:none}.bdi-skip-link:focus{top:12px}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #15a98d;outline-offset:3px}
.bdi-screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
img{max-width:100%;height:auto}.bdi-ad-slot iframe{max-width:100%}
@media(max-width:420px){.bdi-container{width:min(100% - 22px,var(--bdi-container))}.bdi-single-title h1{font-size:30px}.bdi-archive-grid,.bdi-related-grid{gap:8px}.bdi-directory-card__body{padding:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
