/* Demi's House — FAQ & Local Guide add-on */
:root {
  --dh-ink: #24211d;
  --dh-muted: #6f6962;
  --dh-line: rgba(36, 33, 29, .13);
  --dh-paper: #f8f5ef;
  --dh-accent: #a9825a;
}

.dh-info-section,
.dh-explore-section { position: relative; background: var(--dh-paper); color: var(--dh-ink); }
.dh-info-section { padding: clamp(84px, 9vw, 132px) 0 clamp(88px, 9vw, 128px); }
.dh-explore-section { padding: clamp(82px, 9vw, 126px) 0 clamp(96px, 10vw, 138px); border-top: 1px solid rgba(36,33,29,.06); }
.dh-section-heading { max-width: 820px; margin: 0 auto clamp(42px, 5vw, 64px); text-align: center; }
.dh-section-heading .section-title { margin-bottom: 14px; }
.dh-section-intro { max-width: 650px; margin: 0 auto; color: var(--dh-muted); font-size: clamp(15px,1.35vw,18px); line-height: 1.75; }

.dh-faq-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.dh-faq-card { min-height: 245px; padding: 30px 28px 28px; display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 20px; border: 1px solid var(--dh-line); background: rgba(255,255,255,.24); transition: transform .3s ease,border-color .3s ease,background .3s ease; }
.dh-faq-card:hover { transform: translateY(-2px); border-color: rgba(169,130,90,.42); background: rgba(255,255,255,.5); }
.dh-faq-icon { width: 48px; height: 48px; border: 1px solid rgba(169,130,90,.42); border-radius: 50%; display: grid; place-items: center; color: var(--dh-accent); }
.dh-faq-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.dh-faq-card h3 { margin: 3px 0 15px; color: var(--dh-ink); font-size: 16px; font-weight: 500; letter-spacing: .02em; line-height: 1.35; }
.dh-faq-main { margin: 0; color: var(--dh-ink); font-size: 15px; line-height: 1.65; }
.dh-faq-note { position: relative; margin: 19px 0 0; padding-top: 17px; color: var(--dh-muted); font-size: 13px; line-height: 1.58; }
.dh-faq-note::before { content:""; position:absolute; top:0; left:0; width:28px; height:1px; background:rgba(169,130,90,.55); }

.dh-explore-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; max-width:1080px; margin:0 auto; }
.dh-place-card { border:1px solid var(--dh-line); background:rgba(255,255,255,.28); overflow:hidden; transition:border-color .3s ease,background .3s ease,box-shadow .3s ease; }
.dh-place-card.is-open { border-color:rgba(169,130,90,.55); background:rgba(255,255,255,.56); box-shadow:0 12px 32px rgba(35,29,22,.05); }
.dh-place-trigger { width:100%; min-height:132px; padding:16px 18px 16px 16px; display:grid; grid-template-columns:108px 34px minmax(0,1fr) 34px; align-items:center; gap:18px; border:0; background:transparent; color:inherit; text-align:left; cursor:pointer; font:inherit; }
.dh-place-trigger:focus-visible { outline:2px solid var(--dh-accent); outline-offset:-2px; }
.dh-place-image { width:108px; height:82px; object-fit:cover; display:block; border-radius:0; }
.dh-place-copy { min-width:0; }
.dh-place-copy strong { display:block; margin-bottom:7px; color:var(--dh-ink); font-size:16px; font-weight:500; line-height:1.35; }
.dh-place-copy small { display:block; color:var(--dh-muted); font-size:13px; line-height:1.5; }
.dh-place-plus { width:32px; height:32px; border:1px solid rgba(169,130,90,.55); border-radius:50%; display:grid; place-items:center; color:var(--dh-accent); font-size:19px; font-weight:300; transition:transform .3s ease,background .3s ease,color .3s ease; }
.dh-place-card.is-open .dh-place-plus { transform:rotate(180deg); background:var(--dh-accent); color:#fff; }
.dh-place-panel { padding:0 72px 24px 194px; animation:dhPanelIn .28s ease both; }
.dh-place-panel p { max-width:660px; margin:0 0 15px; color:var(--dh-muted); font-size:14px; line-height:1.7; }
.dh-place-panel a { display:inline-flex; align-items:center; color:var(--dh-ink); text-decoration:none; font-size:12px; letter-spacing:.05em; border-bottom:1px solid rgba(169,130,90,.5); padding-bottom:3px; transition:color .2s ease,border-color .2s ease; }
.dh-place-panel a:hover { color:var(--dh-accent); border-color:var(--dh-accent); }
.dh-image-credit { max-width:1080px; margin:22px auto 0; text-align:right; color:rgba(111,105,98,.7); font-size:10px; letter-spacing:.03em; }
@keyframes dhPanelIn { from{opacity:0;transform:translateY(-5px)} to{opacity:1;transform:translateY(0)} }

@media (max-width:900px){ .dh-faq-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:680px){
  .dh-info-section,.dh-explore-section{padding-left:0;padding-right:0}
  .dh-faq-grid,.dh-explore-grid{grid-template-columns:1fr}
  .dh-faq-card{min-height:0;padding:24px 22px}.dh-faq-note{font-size:12.5px;line-height:1.52}
  .dh-place-trigger{min-height:108px;padding:14px;grid-template-columns:86px 28px minmax(0,1fr) 32px;gap:13px}
  .dh-place-image{width:86px;height:72px}
  .dh-place-panel{padding:0 18px 22px}
  .dh-place-copy strong{font-size:15px}
  .dh-image-credit{text-align:center;margin-top:18px}
}
