/* ArigatouApps 広告スロット + 同意バナー（ネオブルータリズム）
 * 高さは format ごとに事前予約し、導入前後で CLS≈0 を保つ。 */

/* ── 広告スロット枠 ───────────────────────────── */
.ad-slot{
  position:relative;
  margin:22px 0;
  border:2px solid var(--frame,#221E16);
  border-radius:14px 11px 15px 12px;
  background:var(--card,#FBF8F1);
  box-shadow:4px 5px 0 var(--frame,#221E16);
  overflow:hidden;
  /* 既定（auto）の高さ予約。format 別に上書き。 */
  min-height:262px;
}
.ad-slot[data-format="rectangle"]{min-height:262px}   /* 300x250 + ラベル分 */
.ad-slot[data-format="horizontal"]{min-height:114px}  /* 728x90 + ラベル分 */
.ad-slot[data-format="auto"]{min-height:262px}

/* 左上の "AD" ラベル（mono） */
.ad-slot::before{
  content:attr(data-label);
  position:absolute;top:0;left:0;z-index:2;
  font-family:'JetBrains Mono',monospace;font-size:9.5px;font-weight:700;
  letter-spacing:.14em;color:#8A8478;
  background:var(--cream,#F1ECE0);
  border-right:1.5px solid var(--frame,#221E16);
  border-bottom:1.5px solid var(--frame,#221E16);
  border-radius:12px 0 8px 0;
  padding:3px 9px 3px 8px;
}

/* 中身（プレースホルダ or 実広告）はラベルを避けて中央寄せ */
.ad-slot__inner{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:100%;min-height:inherit;padding:12px;
}
.ad-slot .adsbygoogle{display:block;width:100%}

/* 未発火時のプレースホルダ */
.ad-ph{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  width:100%;min-height:inherit;color:#A8A296;text-align:center;
  background-image:
    linear-gradient(45deg,rgba(34,30,22,.03) 25%,transparent 25%,transparent 75%,rgba(34,30,22,.03) 75%),
    linear-gradient(45deg,rgba(34,30,22,.03) 25%,transparent 25%,transparent 75%,rgba(34,30,22,.03) 75%);
  background-size:16px 16px;background-position:0 0,8px 8px;
}
.ad-ph .ad-ph__t{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em}
.ad-ph .ad-ph__s{font-family:'JetBrains Mono',monospace;font-size:9.5px;color:#BDB7A9}

/* ── 同意バナー ───────────────────────────────── */
.consent-banner{
  position:fixed;left:14px;right:14px;bottom:14px;z-index:9999;
  max-width:560px;margin:0 auto;
  background:var(--card,#FBF8F1);
  color:var(--ink,#1F1B14);
  border:2.5px solid var(--frame,#221E16);
  border-radius:16px 13px 17px 14px;
  box-shadow:6px 7px 0 var(--frame,#221E16);
  padding:16px 18px;
  font-family:'Hanken Grotesk',system-ui,sans-serif;
  transform:translateY(0);transition:transform .25s ease,opacity .25s ease;
}
.consent-banner[hidden]{display:none}
.consent-banner.is-out{transform:translateY(140%);opacity:0}
.consent-banner__t{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:16px;margin-bottom:6px}
.consent-banner__b{font-size:13px;line-height:1.7;color:#3a3529;margin-bottom:12px}
.consent-banner__b a{color:#2a52a0;text-decoration:underline;text-underline-offset:2px}
.consent-actions{display:flex;gap:10px;flex-wrap:wrap}
.consent-btn{
  font-family:'JetBrains Mono',monospace;font-size:12.5px;font-weight:700;cursor:pointer;
  padding:9px 16px;border:2px solid var(--frame,#221E16);border-radius:10px 8px 11px 9px;
  background:#fff;color:var(--ink,#1F1B14);box-shadow:2px 3px 0 var(--frame,#221E16);
  transition:transform .1s ease,box-shadow .1s ease;
}
.consent-btn:hover{transform:translate(-1px,-1px);box-shadow:3px 4px 0 var(--frame,#221E16)}
.consent-btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--frame,#221E16)}
.consent-btn--accept{background:var(--lime,#CDEB45)}
.consent-btn--reject{background:var(--cream,#F1ECE0)}

@media (max-width:760px){
  .ad-slot{margin:18px 0}
  .consent-banner{left:8px;right:8px;bottom:8px;padding:14px 15px}
  .consent-actions{flex-direction:column-reverse}
  .consent-btn{width:100%;text-align:center}
}
