/*
 * Information pages, terms and FAQ (inc/info-pages.php), by Tiago (2026-10), moved from the
 * pages' inline <style> (identical copies in 6 pages) (openspec: info-pages).
 * Loaded only on pages whose content uses .gf-bb-info, .gf-bb-terms or .gf-bb-faq.
 * The .woocommerce-terms-and-conditions rules are Tiago's checkout variant: this file does
 * not load on checkout, as his inline style never reached it (kses strips it there).
 */

/* ---------- Information pages (.gf-bb-info) ---------- */
.gf-bb-info { color:var(--bb-color-text-primary,#1e2327); font-family:var(--bb-font-family,"Lato",Arial,sans-serif); font-size:16px; line-height:1.6; text-align:left; overflow-wrap:anywhere; }
.gf-bb-info *, .gf-bb-info *::before, .gf-bb-info *::after { box-sizing:border-box; }
.gf-bb-info .gf-bb-info__layout { display:grid; grid-template-columns:minmax(210px,1fr) minmax(0,3fr); gap:32px; max-width:1200px; margin:0 auto; }
.gf-bb-info .gf-bb-info__layout > .col { width:100%; max-width:100%; padding:0; min-width:0; }
.gf-bb-info h1 { margin:0 0 32px; font-size:clamp(28px,3.6vw,51px); line-height:1.08; font-weight:700; color:inherit; }
.gf-bb-info h2 { margin:28px 0 16px; font-size:24px; line-height:1.3; color:inherit; }
.gf-bb-info h3 { margin:24px 0 16px; font-size:21px; line-height:1.35; color:inherit; }
.gf-bb-info h4 { margin:24px 0 12px; font-size:18px; line-height:1.4; color:inherit; }
.gf-bb-info p { margin:0 0 16px; text-align:left; }
.gf-bb-info ul, .gf-bb-info ol { margin:0 0 20px; padding-left:24px; }
.gf-bb-info li { margin:0 0 8px; }
.gf-bb-info a { color:var(--bb-color-text-link,#028543); text-underline-offset:3px; }
.gf-bb-info .gf-bb-info__document a { text-decoration:underline; }
.gf-bb-info a:focus-visible, .gf-bb-info summary:focus-visible, .gf-bb-info input:focus-visible, .gf-bb-info textarea:focus-visible, .gf-bb-info button:focus-visible { outline:3px solid var(--bb-color-brand-700,#029046); outline-offset:2px; border-radius:4px; }
.gf-bb-info .gf-bb-info__nav { margin:0; border:1px solid var(--bb-color-border-default,#e3e7ea); border-radius:8px; background:var(--bb-color-bg-subtle,#f7f8f9); }
.gf-bb-info .gf-bb-info__nav > summary { padding:16px 20px; min-height:52px; font-size:18px; font-weight:700; list-style:none; cursor:pointer; }
.gf-bb-info .gf-bb-info__nav ul { list-style:none; margin:0; padding:0 12px 12px; }
.gf-bb-info .gf-bb-info__nav li { margin:0; }
.gf-bb-info .gf-bb-info__nav a { display:flex; align-items:center; min-height:44px; padding:10px 8px; line-height:1.4; color:inherit; border-radius:4px; }
.gf-bb-info .gf-bb-info__nav a:hover { background:#fff; }
.gf-bb-info .gf-bb-info__nav a[aria-current="page"] { color:var(--bb-color-text-link,#028543); font-weight:700; background:#fff; }
.gf-bb-info .frm_forms { max-width:100%; }
.gf-bb-info .frm_primary_label, .gf-bb-info .frm_radio label { font-family:inherit; font-size:16px; line-height:1.6; color:inherit; }
.gf-bb-info .frm_radio label { display:flex; align-items:center; gap:10px; min-height:44px; }
.gf-bb-info input[type="text"], .gf-bb-info input[type="email"], .gf-bb-info textarea { width:100%; font-size:16px; min-height:44px; }
.gf-bb-info .frm_button_submit { min-height:44px; font-size:16px; text-transform:none; }
.gf-bb-info .gf-bb-info__rgpd-details[hidden] { display:none!important; }
@media (min-width:850px) { .gf-bb-info .gf-bb-info__nav > summary { pointer-events:none; cursor:default; } .gf-bb-info .gf-bb-info__nav:not([open]) > nav { display:block; } }
@media (max-width:849px) { .gf-bb-info .gf-bb-info__layout { grid-template-columns:minmax(0,1fr); gap:24px; } .gf-bb-info .gf-bb-info__nav > summary { display:flex; align-items:center; justify-content:space-between; } .gf-bb-info .gf-bb-info__nav > summary::after { content:"+"; font-size:24px; font-weight:400; } .gf-bb-info .gf-bb-info__nav[open] > summary::after { content:"−"; } }
@media (prefers-reduced-motion:reduce) { .gf-bb-info *, .gf-bb-info *::before, .gf-bb-info *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media print { .gf-bb-info .gf-bb-info__layout { display:block; } .gf-bb-info .gf-bb-info__aside { display:none; } .gf-bb-info h1, .gf-bb-info h2, .gf-bb-info h3 { break-after:avoid; } }

/* ---------- Terms and conditions (.gf-bb-terms) ---------- */
.gf-bb-terms {
  color: var(--bb-color-text-primary, #1e2327);
  font-family: var(--bb-font-family, "Lato", Arial, sans-serif);
  font-size: 16px;
  line-height: 1.6;
  text-align: left;
  overflow-wrap: anywhere;
}
.gf-bb-terms *, .gf-bb-terms *::before, .gf-bb-terms *::after { box-sizing: border-box; }
.gf-bb-terms .gf-bb-terms__layout {
  display: grid;
  grid-template-columns: minmax(210px, 1fr) minmax(0, 3fr);
  gap: 32px;
  max-width: 1200px;
  margin: 0 auto;
}
.gf-bb-terms .gf-bb-terms__layout > .col { width: 100%; max-width: 100%; padding: 0; min-width: 0; }
.gf-bb-terms h1 { margin: 0 0 32px; font-size: clamp(24px, 2.5vw, 32px); line-height: 1.2; font-weight: 700; color: inherit; }
.gf-bb-terms h2 { margin: 0 0 24px; font-size: 24px; line-height: 1.3; font-weight: 700; color: inherit; }
.gf-bb-terms h3 { margin: 28px 0 16px; font-size: 18px; line-height: 1.35; font-weight: 700; color: inherit; }
.gf-bb-terms h4 { margin: 24px 0 12px; font-size: 16px; line-height: 1.4; font-weight: 700; color: inherit; }
.gf-bb-terms p { margin: 0 0 16px; text-align: left; }
.gf-bb-terms ul, .gf-bb-terms ol { margin: 0 0 20px; padding-left: 24px; }
.gf-bb-terms li { margin: 0 0 8px; }
.gf-bb-terms li > p:last-child { margin-bottom: 0; }
.gf-bb-terms .accordion-item { margin-bottom: 12px; border: 1px solid var(--bb-color-border-default, #e3e7ea); border-radius: 8px; background: #fff; overflow: clip; }
.gf-bb-terms .accordion-title {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  padding: 16px 20px;
  border: 0;
  background: var(--bb-color-bg-subtle, #f7f8f9);
  color: var(--bb-color-text-primary, #1e2327);
  font-size: 16px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}
.gf-bb-terms .accordion-title:hover, .gf-bb-terms .accordion-title.active { background: var(--bb-color-bg-canvas, #f1f3f5); color: var(--bb-color-text-primary, #1e2327); }
.gf-bb-terms .accordion-title > span { flex: 1 1 auto; min-width: 0; order: 1; }
.gf-bb-terms .accordion-title > .toggle { position: static; order: 2; flex: 0 0 24px; width: 24px; min-height: 24px; margin: 0 0 0 auto; padding: 0; opacity: 1; color: inherit; }
.gf-bb-terms .accordion-title > .toggle i::before { content: ""; display: block; width: 8px; height: 8px; margin: 4px auto 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
.gf-bb-terms .accordion-inner { padding: 28px 24px 12px; }
.gf-bb-terms .accordion-inner .text > :last-child { margin-bottom: 16px; }
.gf-bb-terms a { color: var(--bb-color-text-link, #028543); text-underline-offset: 3px; }
.gf-bb-terms .accordion-inner a { text-decoration: underline; }
.gf-bb-terms a:focus-visible, .gf-bb-terms summary:focus-visible { outline: 3px solid var(--bb-color-brand-700, #029046); outline-offset: -3px; border-radius: 4px; }
.gf-bb-terms .gf-bb-terms__nav { margin: 0; border: 1px solid var(--bb-color-border-default, #e3e7ea); border-radius: 8px; background: var(--bb-color-bg-subtle, #f7f8f9); }
.gf-bb-terms .gf-bb-terms__nav > summary { padding: 16px 20px; min-height: 52px; font-size: 18px; font-weight: 700; list-style: none; }
.gf-bb-terms .gf-bb-terms__nav ul { list-style: none; margin: 0; padding: 0 12px 12px; }
.gf-bb-terms .gf-bb-terms__nav li { margin: 0; }
.gf-bb-terms .gf-bb-terms__nav a { display: flex; align-items: center; min-height: 44px; padding: 10px 8px; line-height: 1.4; color: inherit; border-radius: 4px; }
.gf-bb-terms .gf-bb-terms__nav a:hover { background: #fff; }
.gf-bb-terms .gf-bb-terms__nav a[aria-current="page"] { color: var(--bb-color-text-link, #028543); font-weight: 700; background: #fff; }
@media (min-width: 850px) {
  .gf-bb-terms .gf-bb-terms__nav > summary { pointer-events: none; cursor: default; }
  .gf-bb-terms .gf-bb-terms__nav:not([open]) > nav { display: block; }
}
@media (max-width: 849px) {
  .gf-bb-terms .gf-bb-terms__layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .gf-bb-terms .gf-bb-terms__nav > summary { display: flex; align-items: center; justify-content: space-between; cursor: pointer; }
  .gf-bb-terms .gf-bb-terms__nav > summary::after { content: "+"; font-size: 24px; font-weight: 400; }
  .gf-bb-terms .gf-bb-terms__nav[open] > summary::after { content: "−"; }
  .gf-bb-terms h1 { margin-bottom: 24px; }
}
@media (max-width: 549px) {
  .gf-bb-terms .accordion-title { font-size: 15px; padding: 16px; gap: 8px; }
  .gf-bb-terms .accordion-inner { padding: 24px 16px 8px; }
  .gf-bb-terms h2 { font-size: 22px; }
}
.woocommerce-terms-and-conditions .gf-bb-terms .gf-bb-terms__layout { display: block; }
.woocommerce-terms-and-conditions .gf-bb-terms .gf-bb-terms__aside { display: none; }
.woocommerce-terms-and-conditions .gf-bb-terms .accordion-inner { display: block !important; height: auto !important; }
.woocommerce-terms-and-conditions .gf-bb-terms .accordion-title { display: flex; padding: 12px 0; min-height: 0; background: transparent; pointer-events: none; }
.woocommerce-terms-and-conditions .gf-bb-terms .accordion-title > .toggle { display: none; }
.woocommerce-terms-and-conditions .gf-bb-terms h1 { font-size: 24px; }
@media (prefers-reduced-motion: reduce) {
  .gf-bb-terms *, .gf-bb-terms *::before, .gf-bb-terms *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
  .gf-bb-terms { color: #000; background: #fff; }
  .gf-bb-terms .gf-bb-terms__layout { display: block; }
  .gf-bb-terms .gf-bb-terms__aside { display: none; }
  .gf-bb-terms .accordion-item { overflow: visible; border: 0; margin: 0 0 24px; }
  .gf-bb-terms .accordion-title { display: flex; background: transparent; padding: 0 0 12px; min-height: 0; break-after: avoid; }
  .gf-bb-terms .accordion-title > .toggle { display: none; }
  .gf-bb-terms .accordion-inner { display: block !important; height: auto !important; padding: 0; }
  .gf-bb-terms h2, .gf-bb-terms h3, .gf-bb-terms h4 { break-after: avoid; }
  .gf-bb-terms a { color: inherit; }
}

/* ---------- FAQ (.gf-bb-faq) ---------- */
.gf-bb-faq { color:var(--bb-color-text-primary); font-family:var(--bb-font-family); background:var(--bb-color-bg-page); }
.gf-bb-faq .section-content { padding:48px 0 64px; }
.gf-bb-faq .row { max-width:1200px; }
.gf-bb-faq .col { padding-bottom:0; }
.gf-bb-faq .gf-bb-faq__intro { margin-bottom:32px; }
.gf-bb-faq .gf-bb-faq__eyebrow { margin:0 0 12px; color:var(--bb-color-text-support); font-size:14px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.gf-bb-faq h1 { margin:0 0 16px; font:700 51px/1.08 var(--bb-font-family); color:var(--bb-color-text-primary); }
.gf-bb-faq .gf-bb-faq__lead { margin:0; max-width:64ch; color:var(--bb-color-text-secondary); font-size:18px; line-height:28px; }
.gf-bb-faq .gf-bb-faq__nav { padding:24px; border:1px solid var(--bb-color-border-default); border-radius:var(--bb-radius-xl); background:var(--bb-color-bg-canvas); }
.gf-bb-faq .gf-bb-faq__nav-title { margin:0 0 12px; font-size:16px; font-weight:700; }
.gf-bb-faq .gf-bb-faq__nav ul { margin:0; padding:0; list-style:none; }
.gf-bb-faq .gf-bb-faq__nav li { margin:0; }
.gf-bb-faq .gf-bb-faq__nav a { display:flex; align-items:center; min-height:44px; padding:10px 0; color:var(--bb-color-text-link); font-size:16px; line-height:24px; font-weight:700; text-decoration:none; }
.gf-bb-faq .gf-bb-faq__nav a:hover { text-decoration:underline; text-underline-offset:3px; }
.gf-bb-faq .gf-bb-faq__group { margin:0 0 40px; scroll-margin-top:140px; }
.gf-bb-faq .gf-bb-faq__group h2 { margin:0 0 20px; font-size:24px; line-height:30px; font-weight:700; color:var(--bb-color-text-primary); }
.gf-bb-faq details { margin:0 0 12px; border:1px solid var(--bb-color-border-default); border-radius:var(--bb-radius-lg); background:var(--bb-color-bg-canvas); overflow:hidden; }
.gf-bb-faq summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:56px; padding:18px 20px; cursor:pointer; list-style:none; color:var(--bb-color-text-primary); }
.gf-bb-faq summary::-webkit-details-marker { display:none; }
.gf-bb-faq summary::after { content:""; flex:0 0 8px; width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); margin-right:4px; margin-top:-4px; }
.gf-bb-faq details[open] summary { background:var(--bb-color-bg-support-subtle); }
.gf-bb-faq details[open] summary::after { transform:rotate(225deg); margin-top:4px; }
.gf-bb-faq summary:hover { background:var(--bb-color-bg-subtle); }
.gf-bb-faq summary h3 { margin:0; font-size:16px; line-height:24px; font-weight:700; color:inherit; }
.gf-bb-faq .gf-bb-faq__answer { padding:4px 20px 20px; font-size:16px; line-height:26px; }
.gf-bb-faq .gf-bb-faq__answer p { margin:12px 0 0; max-width:76ch; }
.gf-bb-faq .gf-bb-faq__support { padding:28px; border:1px solid var(--bb-color-border-default); border-radius:var(--bb-radius-xl); background:var(--bb-color-bg-support-subtle); }
.gf-bb-faq .gf-bb-faq__support h2 { margin:0 0 12px; font-size:28px; line-height:34px; font-weight:700; }
.gf-bb-faq .gf-bb-faq__support p { margin:0 0 20px; font-size:16px; line-height:26px; }
.gf-bb-faq .gf-bb-faq__actions { display:flex; flex-wrap:wrap; gap:12px; }
.gf-bb-faq .gf-bb-faq__action { display:inline-flex; justify-content:center; align-items:center; min-height:44px; padding:11px 20px; border:1px solid var(--bb-color-action-primary); border-radius:var(--bb-radius-lg); background:var(--bb-color-action-primary); color:var(--bb-color-text-inverse); font-size:16px; line-height:24px; font-weight:700; text-decoration:none; }
.gf-bb-faq .gf-bb-faq__action:hover { background:var(--bb-color-action-primary-hover); border-color:var(--bb-color-action-primary-hover); color:var(--bb-color-text-inverse); }
.gf-bb-faq .gf-bb-faq__action--secondary { background:var(--bb-color-bg-canvas); color:var(--bb-color-text-link); }
.gf-bb-faq .gf-bb-faq__action--secondary:hover { background:var(--bb-color-bg-support-muted); color:var(--bb-color-text-link); }
.gf-bb-faq a:focus-visible,.gf-bb-faq summary:focus-visible { outline:3px solid var(--bb-color-focus-ring); outline-offset:3px; }
.gf-bb-faq summary:focus-visible { outline-offset:-4px; }
@media (max-width:849px) {
  .gf-bb-faq .section-content { padding:32px 0 48px; }
  .gf-bb-faq h1 { font-size:40px; line-height:46px; }
  .gf-bb-faq .gf-bb-faq__intro { margin-bottom:24px; }
  .gf-bb-faq .gf-bb-faq__nav { margin-bottom:32px; padding:20px; }
  .gf-bb-faq .gf-bb-faq__nav ul { display:flex; flex-wrap:wrap; gap:8px 20px; }
  .gf-bb-faq .gf-bb-faq__nav a { padding:8px 0; }
  .gf-bb-faq .gf-bb-faq__group { scroll-margin-top:96px; }
}
@media (max-width:549px) {
  .gf-bb-faq .section-content { padding:28px 0 40px; }
  .gf-bb-faq h1 { font-size:32px; line-height:38px; }
  .gf-bb-faq .gf-bb-faq__lead { font-size:16px; line-height:26px; }
  .gf-bb-faq .gf-bb-faq__nav { padding:16px; margin-bottom:28px; }
  .gf-bb-faq .gf-bb-faq__nav ul { display:block; }
  .gf-bb-faq .gf-bb-faq__nav a { min-height:44px; }
  .gf-bb-faq .gf-bb-faq__group { margin-bottom:32px; }
  .gf-bb-faq .gf-bb-faq__group h2 { font-size:22px; line-height:28px; }
  .gf-bb-faq .gf-bb-faq__support h2 { font-size:24px; line-height:30px; }
  .gf-bb-faq summary { padding:16px; gap:16px; }
  .gf-bb-faq summary h3 { font-size:16px; line-height:24px; }
  .gf-bb-faq .gf-bb-faq__answer { padding:4px 16px 16px; }
  .gf-bb-faq .gf-bb-faq__support { padding:20px; }
}
