/* Native guide hub, category pages and articles, scoped in both environments. */
.ac-guides-hub,
.ac-guides-category-page,
.ac-guide-page {
  --ac-guide-blue:#005388;
  --ac-guide-ink:#183c47;
  --ac-guide-muted:#52656a;
  --ac-guide-line:#d5e1e7;
  box-sizing:border-box;
  width:100%;
  max-width:var(--ac-shell,1360px);
  margin-inline:auto;
  padding-inline:var(--ac-gutter,32px);
  min-width:0;
  color:var(--ac-guide-ink);
}
.ac-guides-hub :is(h1,h2,h3,p,li),
.ac-guides-category-page :is(h1,h2,h3,p,li),
.ac-guide-page :is(h1,h2,h3,p,li) { overflow-wrap:anywhere; }
.ac-guides-hub #categorias,
.ac-guides-category-page .ac-guides-panel,
.ac-guide-page .ac-guide-body,
.ac-guide-hero {
  box-sizing:border-box;
  width:100%;
  max-width:var(--ac-shell,1360px);
  margin-inline:auto;
  padding-inline:0;
  min-width:0;
}
.ac-guide-hero {
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  align-items:center;
  gap:clamp(28px,5vw,72px);
  padding-block:clamp(40px,5.8vw,76px);
}
.ac-guide-hero-copy { min-width:0; }
.ac-guide-hero-copy:only-child { grid-column:1/-1; max-width:980px; }
.ac-guide-hero :is(h1,.wp-block-heading) {
  font-size:clamp(36px,4.8vw,65px);
  line-height:1.08;
  letter-spacing:-.045em;
  margin:0 0 24px;
  max-width:20ch;
}
.ac-guide-hero p { max-width:58ch; }
.ac-guide-hero-media,
.ac-guide-hero-media figure { min-width:0; margin:0; }
.ac-guide-hero-media img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:8px;
}
.ac-guides-hub #categorias { padding-block:12px 48px; scroll-margin-top:16px; }
.ac-guides-hub #categorias > .wp-block-heading { margin:0 0 32px; }
.ac-guides-hub #categorias > .ac-guides-category-grid { margin-block:0; }
.ac-guides-category-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
  align-items:stretch;
}
.ac-guides-category-grid > * { margin-block:0; min-width:0; }
.ac-guides-category {
  display:flex;
  flex-direction:column;
  position:relative;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--ac-guide-line);
  border-radius:8px;
  transition:border-color .18s,box-shadow .18s,transform .18s;
}
.ac-guides-category:has(h3 a)::after {
  content:"";
  position:absolute;
  right:25px;
  bottom:28px;
  width:10px;
  height:10px;
  border-right:2px solid var(--ac-guide-blue);
  border-bottom:2px solid var(--ac-guide-blue);
  transform:rotate(-45deg);
  pointer-events:none;
}
.ac-guides-category figure { margin:0; }
.ac-guides-category img {
  display:block;
  width:100%;
  height:200px;
  max-width:100%;
  object-fit:cover;
  object-position:50% 50%;
}
.ac-guides-category--ortesis img { object-position:50% 0%; }
.ac-guides-category--ayudas-tecnicas img { object-fit:contain; background:#f3f7fa; }
.ac-guides-category--infantil img { object-position:50% 0%; }
.ac-guides-category h3 {
  margin:22px 24px 11px;
  font-size:clamp(21px,2.1vw,27px);
  line-height:1.25;
  letter-spacing:-.025em;
}
.ac-guides-category h3 a { color:inherit; text-decoration:none; }
.ac-guides-category h3 a::after { content:""; position:absolute; inset:0; }
.ac-guides-category p {
  margin:0 24px 24px;
  padding-right:28px;
  color:var(--ac-guide-muted);
  font-size:15px;
  line-height:1.5;
}
.ac-guide-category-copy { display:flex; flex-direction:column; flex:1; padding:20px 24px 24px; }
.ac-guides-category .ac-guide-category-copy h3 { margin:0 0 12px; }
.ac-guides-category .ac-guide-category-copy p { margin:0 0 18px; padding-right:28px; }
.ac-guides-category .ac-guide-category-copy .ac-guide-count { margin-top:auto; margin-bottom:0; }
.ac-guides-category:has(h3 a):is(:hover,:focus-within) {
  border-color:var(--ac-guide-blue);
  box-shadow:0 5px 18px rgb(0 57 90 / 8%);
}
.ac-guides-category:focus-within { outline:3px solid #8a6412; outline-offset:4px; }
.ac-guides-category h3 a:focus-visible { outline:0; }
.ac-guides-panel {
  padding-block:0 52px;
  scroll-margin-top:16px;
}
.ac-guides-panel > h2,
.ac-guides-panel > .wp-block-heading { margin:0 0 32px; font-size:clamp(28px,3.4vw,43px); }
.ac-guides-panel > p { max-width:70ch; }
.ac-guide-card-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));
  gap:26px;
  align-items:stretch;
}
.ac-guide-card-grid > * { margin-block:0; min-width:0; }
.ac-guide-card {
  position:relative;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--ac-guide-line);
  border-radius:8px;
}
.ac-guide-card:only-child { max-width:660px; }
.ac-guide-card figure { margin:0; }
.ac-guide-card img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.ac-guides-category-page .ac-guide-card-photo img { object-position:50% 15%; }
.ac-guide-card--dafo img { object-fit:contain; background:#f3f6f8; }
.ac-guide--linfedema-lipedema .ac-guide-hero-media img { aspect-ratio:1/1; object-fit:contain; object-position:50% 50%; }
.ac-guide-card h3 { margin:23px 24px 13px; font-size:clamp(23px,2.4vw,30px); line-height:1.2; }
.ac-guide-card h3 a { color:inherit; text-decoration:none; }
.ac-guide-card h3 a::after { content:""; position:absolute; inset:0; }
.ac-guide-card p { margin:0 24px 24px; font-size:16px; line-height:1.65; color:var(--ac-guide-muted); }
.ac-guide-card:is(:hover,:focus-within) { border-color:var(--ac-guide-blue); }
.ac-guide-card:focus-within { outline:3px solid #8a6412; outline-offset:4px; }
.ac-guide-card h3 a:focus-visible { outline:0; }
.ac-guide-body { padding-block:12px 60px; font-size:18px; line-height:1.7; }
.ac-guide-body > p,
.ac-guide-body > ul { max-width:76ch; }
.ac-guide-section > :is(p,ul) { max-width:76ch; }
.ac-guide-page .ac-guide-section > p { margin-block:0 1em; }
.ac-guide-page .ac-guide-section > ul { margin-block:0 1.25em; }
.ac-guide-body h2 { margin:40px 0 22px; font-size:clamp(28px,3.2vw,42px); line-height:1.15; }
.ac-guide-body h3 { margin:0 0 14px; font-size:clamp(22px,2.2vw,28px); line-height:1.25; }
.ac-guide-body p { margin-top:0; }
.ac-guide-grid,
.ac-guide-step-grid,
.ac-guide-product-grid {
  display:grid;
  gap:24px;
  align-items:stretch;
  margin-block:27px 34px;
}
.ac-guide-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ac-guide-step-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ac-guide-product-grid { grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr)); }
.ac-guide-grid > *,
.ac-guide-step-grid > *,
.ac-guide-product-grid > * { margin-block:0; min-width:0; }
.ac-guide-grid > :is(article,.wp-block-group),
.ac-guide-step-grid > :is(article,.wp-block-group) {
  border:1px solid var(--ac-guide-line);
  border-radius:7px;
  background:#f3f7fa;
  padding:clamp(21px,2.7vw,31px);
}
.ac-guide-grid > :is(article,.wp-block-group) > :last-child,
.ac-guide-step-grid > :is(article,.wp-block-group) > :last-child { margin-bottom:0; }
.ac-guide-step-grid p { font-size:16px; line-height:1.65; }
.ac-guide-note {
  margin-block:28px;
  padding:24px 27px;
  border-left:4px solid var(--ac-guide-blue);
  border-radius:0 6px 6px 0;
  background:#edf4f9;
  font-size:16px;
  line-height:1.65;
}
.ac-guide-page .ac-guide-note :is(h2,h3) { margin:0 0 12px; font-size:23px; line-height:1.25; }
.ac-guide-note > :last-child { margin-bottom:0; }
.ac-guide-product-grid > :is(article,.wp-block-group) {
  overflow:hidden;
  border:1px solid var(--ac-guide-line);
  border-radius:7px;
  background:#fff;
}
.ac-guide-product-grid > :only-child { width:100%; max-width:560px; justify-self:start; }
.ac-guide-product-grid figure { margin:0; }
.ac-guide-product-grid img { display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:contain; background:#f3f6f8; }
.ac-guide-product-grid h3 { padding-inline:20px; margin:21px 0 12px; font-size:23px; }
.ac-guide-product-grid p { margin:0 20px 22px; font-size:16px; line-height:1.6; }
.ac-guide-card-copy { box-sizing:border-box; min-width:0; padding:22px 24px 24px; }
.ac-guide-card .ac-guide-card-copy,
.ac-guide-product-grid .ac-guide-card-copy { margin-block:0; }
.ac-guide-card-copy > * { margin-block:0; }
.ac-guide-card-copy h3 { margin:0 0 12px; padding:0; }
.ac-guide-card-copy p { margin:0 0 16px; padding:0; font-size:16px; line-height:1.65; }
.ac-guide-card-copy > :last-child { margin-bottom:0; }
.ac-guide-sources {
  margin-top:38px;
  padding-top:20px;
  border-top:1px solid var(--ac-guide-line);
  color:#4b616b;
  font-size:.875rem;
  line-height:1.65;
}
.ac-guide-page .ac-guide-sources :is(h2,h3) { margin:0 0 10px; font-size:1rem; line-height:1.4; letter-spacing:0; }
.ac-guide-sources p { max-width:100ch; font-size:inherit; line-height:inherit; }
.ac-guide-back { display:inline-flex; align-items:center; gap:.4em; min-height:44px; color:var(--ac-guide-blue); font-size:16px; font-weight:600; }
.ac-guide-page :is([id],.ac-guide-back) { scroll-margin-top:16px; }
@media(min-width:961px) {
  .ac-guides-category:has(h3 a):hover { transform:translateY(-2px); }
}
@media(max-width:960px) {
  .ac-guide-hero { grid-template-columns:1fr; gap:28px; }
  .ac-guide-hero h1 { max-width:25ch; }
  .ac-guide-hero-media { max-width:760px; }
  .ac-guides-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
  .ac-guide-step-grid { grid-template-columns:1fr; }
}
@media(max-width:620px) {
  .ac-guide-hero { padding-block:34px 39px; }
  .ac-guide-hero h1 { font-size:clamp(34px,8.8vw,47px); line-height:1.1; }
  .ac-guides-category-grid,
  .ac-guide-card-grid,
  .ac-guide-grid,
  .ac-guide-product-grid { grid-template-columns:1fr; }
  .ac-guides-category img { height:190px; }
  .ac-guides-category h3 { font-size:24px; }
  .ac-guides-panel { padding-block:0 38px; }
  .ac-guide-body { font-size:17px; padding-bottom:38px; }
  .ac-guide-body h2 { margin-top:33px; font-size:29px; }
  .ac-guide-note { padding:20px; }
  .ac-guide-product-grid img { max-height:310px; }
  .ac-guide-product-grid h3 { font-size:23px; }
}
@media(prefers-reduced-motion:reduce) {
  .ac-guides-category { transition:none; }
  .ac-guides-category:has(h3 a):hover { transform:none; }
}

/* Give adjacent native sections and route controls clear breathing room. */
.ac-guide-page .ac-guide-section { padding-bottom:30px; }
.ac-guide-page .ac-guide-grid > .ac-guide-note { margin-block:0; }
.ac-guide-route-links { display:flex; flex-wrap:wrap; gap:12px; margin:0 0 32px; }
.ac-guide-route-links > .wp-block-buttons { margin:0; }

.ac-guides-category-intro { padding-block:42px 38px; }
.ac-guides-category-intro h1 { margin:14px 0 22px; font-size:clamp(36px,4.8vw,65px); line-height:1.08; letter-spacing:-.045em; max-width:22ch; }
.ac-guides-category-intro p { max-width:68ch; }
.ac-guides-category-page .ac-guides-panel > h2 { margin-bottom:12px; }
.ac-guides-category-page .ac-guides-panel > .ac-guide-count { margin:0 0 26px; color:var(--ac-guide-muted); }
.ac-guide-page .ac-guide-section > h3 { margin:28px 0 16px; }
.ac-guide-inline-cta { font-weight:600; }
.ac-guide-page .ac-guide-sources { padding-bottom:52px; }


/* Wheelchair guides retain complete people, seating and chair geometry. */
.ac-guide--mobility .ac-guide-hero-media img { aspect-ratio:3/2; object-fit:contain; background:#f3f7fa; }
.ac-guides-category-page--sillas .ac-guide-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ac-guides-category-page--sillas .ac-guide-card-photo img { object-fit:contain; background:#f3f7fa; object-position:50% 50%; }
.ac-guide-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:960px) {
 .ac-guides-category-page--sillas .ac-guide-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ac-guide-grid--three { grid-template-columns:1fr; }
}
@media(max-width:620px) {
 .ac-guides-category-page--sillas .ac-guide-card-grid { grid-template-columns:1fr; }
}


/* Shared end-of-guide catalogue and product cards. */
.ac-guide-solutions { --ac-guide-blue:#005388; --ac-guide-ink:#183c47; --ac-guide-muted:#52656a; --ac-guide-line:#d5e1e7; padding-block:24px 38px; color:var(--ac-guide-ink); }
.ac-guide-solutions.ac-shell { padding-block:36px 48px; }
.ac-guide-range-card { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); position:relative; align-items:center; gap:30px; overflow:hidden; border:1px solid var(--ac-guide-line); border-radius:8px; background:#f3f7fa; }
.ac-guide-range-card figure { margin:0; min-width:0; }
.ac-guide-range-photo img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; background:#f3f7fa; }
.ac-guide-range-copy { padding:28px 30px 28px 0; min-width:0; }
.ac-guide-range-copy .ac-kicker { margin:0 0 12px; }
.ac-guide-solutions .ac-guide-range-copy h2 { margin:0 0 18px; font-size:clamp(27px,2.8vw,38px); line-height:1.15; letter-spacing:-.025em; }
.ac-guide-range-copy h2 a { color:inherit; text-decoration:none; }
.ac-guide-range-copy h2 a::after { content:""; position:absolute; inset:0; }
.ac-guide-range-copy > p:last-child { margin:0; color:var(--ac-guide-blue); font-size:16px; font-weight:600; }
.ac-guide-range-card:is(:hover,:focus-within) { border-color:var(--ac-guide-blue); }
.ac-guide-range-card:focus-within { outline:3px solid #8a6412; outline-offset:4px; }
.ac-guide-range-copy a:focus-visible { outline:0; }
.ac-guide-solutions > .wp-block-heading { margin:34px 0 16px; font-size:clamp(27px,2.8vw,38px); line-height:1.15; }
.ac-guide-solutions > p { font-size:17px; line-height:1.65; max-width:76ch; }
.ac-guide-solutions > .ac-guide-product-grid { grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr)); margin:25px 0 0; }
.ac-guide-solutions .ac-guide-product-grid img { max-height:320px; }
@media(max-width:760px) {
 .ac-guide-range-card { grid-template-columns:1fr; gap:0; }
 .ac-guide-range-copy { padding:24px; }
 .ac-guide-solutions > .ac-guide-product-grid { grid-template-columns:1fr; }
 .ac-guide-solutions .ac-guide-product-grid img { max-height:245px; }
}


/* Patient guides preserve the whole user, prosthesis and orthosis in each scene. */
:is(.ac-guide--protesis,.ac-guide--ortesis) .ac-guide-hero-media img { aspect-ratio:3/2; object-fit:contain; background:#f3f7fa; }
:is(.ac-guides-category-page--protesis,.ac-guides-category-page--ortesis) .ac-guide-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
:is(.ac-guides-category-page--protesis,.ac-guides-category-page--ortesis) .ac-guide-card-photo img { object-fit:contain; background:#f3f7fa; object-position:50% 50%; }
.ac-guide-grid--four { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ac-guide-flow { grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); }
.ac-guide-flow .ac-kicker { margin:0 0 12px; }
@media(max-width:960px) {
 :is(.ac-guides-category-page--protesis,.ac-guides-category-page--ortesis) .ac-guide-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:620px) {
 :is(.ac-guides-category-page--protesis,.ac-guides-category-page--ortesis) .ac-guide-card-grid,
 .ac-guide-grid--four,.ac-guide-flow { grid-template-columns:1fr; }
}

/* Home-care guides preserve people and the full assistive device. */
.ac-guide--ayudas-tecnicas .ac-guide-hero-media img { aspect-ratio:3/2; object-fit:contain; background:#f3f7fa; }
.ac-guides-category-page--ayudas .ac-guide-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ac-guides-category-page--ayudas .ac-guide-card-photo img { object-fit:contain; background:#f3f7fa; object-position:50% 50%; }
@media(max-width:960px) {
 .ac-guides-category-page--ayudas .ac-guide-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:620px) {
 .ac-guides-category-page--ayudas .ac-guide-card-grid { grid-template-columns:1fr; }
}

/* Compact contents for expanded patient guides. */
.ac-guide-page .ac-guide-toc { margin:0 0 34px; padding:18px 22px; border:1px solid var(--ac-guide-line); border-radius:7px; background:#f3f7fa; font-size:16px; line-height:1.6; }
.ac-guide-toc > summary { font-weight:600; cursor:pointer; }
.ac-guide-toc[open] > summary { margin-bottom:14px; }
.ac-guide-toc ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 30px; margin:0; padding-left:21px; }
.ac-guide-toc li { margin:0; }
.ac-guide-page .ac-guide-section { scroll-margin-top:140px; }
.ac-child-section > .ac-guide-expanded-copy { margin-top:28px; }
.ac-guide-expanded-copy p,.ac-guide-expanded-copy ul { max-width:76ch; }
@media(max-width:620px) { .ac-guide-toc ul { grid-template-columns:1fr; } .ac-guide-page .ac-guide-toc { padding:16px 18px; } }
