

/* ASD-Blog-Posts: scoped styles that inherit theme typography */
/* Box sizing & overflow guards */
.asdbp-layout, .asdbp-layout *{ box-sizing:border-box; }
.asdbp-layout{ overflow:visible; }
.asdbp-layout--breakout{
  /* Use the theme's "wide" container sizing (not full-bleed 100vw).
     This better matches Woo product templates and reduces empty space on desktop. */
  width: min(100%, var(--wp--style--global--wide-size, 1400px));
  max-width: min(100%, var(--wp--style--global--wide-size, 1400px));
  margin-left:auto;
  margin-right:auto;
  padding-left:clamp(14px, 2vw, 28px);
  padding-right:clamp(14px, 2vw, 28px);
}
.asdbp-layout__content{ min-width:0; }
.asdbp-layout__content img{ max-width:100%; height:auto; }

.asdbp-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) clamp(320px, 30vw, 440px);
  gap:22px;
  align-items:start;
}
@media (max-width: 980px){
  .asdbp-layout{grid-template-columns:1fr}
  .asdbp-layout__rail{display:none}
}
/* Sidebar rail: sticky, but let the page scroll (no inner scroll box) */
.asdbp-layout__rail{position:sticky;top:16px}

.asdbp-hero{margin:0 0 16px}
.asdbp-hero__media{border-radius:14px;overflow:hidden;max-width:100%;width:100%;text-align:center}
/* Do NOT zoom/crop the hero image (avoid blur); constrain it responsively */
.asdbp-hero__media img{
  display:block;
  width:auto !important;
  max-width:100% !important;
  height:auto;
  max-height:520px;
  margin:0 auto;
}
.asdbp-hero__title{margin:12px 0 0;font-size:clamp(28px,3vw,40px);line-height:1.12}

.asdbp-rail{background:transparent;border:none;padding:0}
.asdbp-rail__section{
  background:var(--asdbp-surface, #fff);
  border:1px solid rgba(0,0,0,.10);
  border-radius:18px;
  padding:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.06)
}
.asdbp-rail__section + .asdbp-rail__section{margin-top:14px}
.asdbp-rail__heading{font-weight:800;margin:0 0 10px;font-size:1.05em}
.asdbp-rail__cards{display:grid;gap:10px}

.asdbp-card{display:grid;grid-template-columns:72px 1fr;gap:10px;border-radius:14px;padding:10px;border:1px solid rgba(0,0,0,.10);background:var(--asdbp-surface, #fff);box-shadow:0 1px 6px rgba(0,0,0,.06);transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease}
.asdbp-card:hover{border-color:rgba(0,0,0,.22);box-shadow:0 6px 18px rgba(0,0,0,.10);transform:translateY(-1px)}
.asdbp-card__media{display:block;text-decoration:none}
.asdbp-card__media img,.asdbp-card__placeholder{width:72px;height:72px;border-radius:10px;object-fit:cover;display:block;background:rgba(0,0,0,.06)}
.asdbp-card__title{font-size:0.98em;display:inline-block;font-weight:750;line-height:1.2;font-size:1.02em;color:inherit;text-decoration:none}
.asdbp-card__title:hover{text-decoration:underline}
.asdbp-card__snippet{margin-top:4px;opacity:.78;font-size:.92em;line-height:1.35}
.asdbp-card__price{margin-top:4px;opacity:.9;font-size:.95em}
.asdbp-card__ctas{margin-top:8px;display:flex;gap:10px;flex-wrap:wrap}
.asdbp-card__btn{white-space:nowrap}
.asdbp-card__ctas :where(.button){display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 10px;font-weight:600;font-size:.86em;line-height:1.1;text-decoration:none}
.asdbp-card__btn.is-loading{opacity:.75;cursor:progress}
.asdbp-card__btn:disabled{opacity:.6;cursor:not-allowed}

.asdbp-cta{margin:28px 0;border:1px solid rgba(0,0,0,.10);border-radius:14px;padding:16px;background:rgba(0,0,0,.02)}
.asdbp-cta__inner{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.asdbp-cta__title{margin:0;font-size:1.35em}
.asdbp-cta__subtitle{margin:6px 0 0;opacity:.85}
.asdbp-cta__actions{display:flex;gap:10px;flex-wrap:wrap}

/* Trust bullets */
.asdbp-trust{margin:10px 0 0; padding:0; list-style:none; display:flex; gap:10px; flex-wrap:wrap; opacity:.9}
.asdbp-trust li{padding:6px 10px; border-radius:999px; border:1px solid rgba(0,0,0,.10); background:rgba(255,255,255,.7); font-size:.92em}
@media (max-width: 640px){ .asdbp-trust{gap:8px} .asdbp-trust li{font-size:.9em} }

.asdbp-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:10px;border:1px solid rgba(0,0,0,.14);text-decoration:none;background:#fff;cursor:pointer}
.asdbp-btn--primary{background:#111;color:#fff;border-color:#111}
.asdbp-btn--ghost{background:#fff;color:inherit}

.asdbp-modal{position:fixed;inset:0;display:none;z-index:99999}
.asdbp-modal[aria-hidden="false"]{display:block}
.asdbp-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.asdbp-modal__panel{position:relative;max-width:640px;margin:8vh auto;background:#fff;border-radius:14px;padding:16px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
@media (max-width: 720px){.asdbp-modal__panel{margin:5vh 14px}}
.asdbp-modal__close{position:absolute;right:10px;top:10px;border:none;background:transparent;font-size:26px;line-height:1;cursor:pointer}
.asdbp-modal__title{margin:0 0 6px}
.asdbp-modal__subtitle{margin:0 0 14px;opacity:.85}

.asdbp-form input,.asdbp-form textarea{width:100%;max-width:100%;padding:10px;border-radius:10px;border:1px solid rgba(0,0,0,.14)}
.asdbp-form__notice{margin-top:10px;font-weight:600}
.asdbp-autolink{text-decoration:underline}


/* Avoid duplicate rails: when the sidebar rail exists, hide the inline rail on desktop */
.asdbp-layout--has-rail .asdbp-rail--inline{display:none}
@media (max-width: 980px){
  .asdbp-layout--has-rail .asdbp-rail--inline{display:block}
}

@media (max-width: 640px){
  .asdbp-hero__media img{width:auto !important;max-width:100% !important;display:block;height:auto;max-height:420px;margin:0 auto;}
  .asdbp-card{grid-template-columns:80px 1fr}
  .asdbp-card__media img,.asdbp-card__placeholder{width:80px;height:80px}
  .asdbp-card__ctas{gap:8px}
  .asdbp-card__ctas :where(.button){display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 10px;font-weight:600;font-size:.86em;line-height:1.1;text-decoration:none}
}


/* Mobile sticky booking bar */
.asdbp-stickybar{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:99998;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.96);
  border-top:1px solid rgba(0,0,0,.10);
  box-shadow:0 -10px 30px rgba(0,0,0,.08);
  display:none;
}
.asdbp-stickybar__inner{
  max-width:1600px;
  margin:0 auto;
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
}
.asdbp-stickybar__copy{font-weight:750; font-size:.95em; line-height:1.2; opacity:.92}
.asdbp-stickybar__actions{display:flex; gap:10px; flex-wrap:wrap}
.asdbp-stickybar .asdbp-btn{padding:10px 14px; border-radius:999px}
@media (max-width: 980px){
  .asdbp-stickybar{display:block}
  body{padding-bottom:70px}
}
@media (max-width: 420px){
  .asdbp-stickybar__copy{display:none}
}



/* Rail footer pitch */
.asdbp-rail__footer{margin-top:14px;padding-top:14px;border-top:1px solid rgba(0,0,0,.08)}
.asdbp-rail__pitch{font-weight:650;line-height:1.25;opacity:.9;margin-bottom:12px}
.asdbp-btn--wide{width:100%}

/* Prevent WP "constrained layout" from shrinking the ASDBP grid (LiteSpeed CSS order can make this bite) */
.is-layout-constrained > .asdbp-layout.asdbp-layout{max-width:none;width:100%}
.is-layout-constrained > .asdbp-layout--breakout.asdbp-layout--breakout{max-width:none}

/* Subtle theme alignment: inherit common Woo/Astra button colors if present */
.asdbp-card__ctas :where(.button.alt){
  background: var(--ast-global-color-0, var(--woocommerce, #111));
  border-color: var(--ast-global-color-0, #111);
  color: #fff;
}
