/* The consultation catalogue follows the original AMAR artwork and brand palette. */
/* La variedad procede del dibujo original, no de un color por consulta. */
.consultation-tone-blue,.consultation-tone-rose,.consultation-tone-coral,.consultation-tone-gold,.consultation-tone-teal { --consultation-accent:var(--teal); --consultation-tint:var(--cream-3); }
.catalog-hero { padding:clamp(2.3rem,5vw,4rem) 0 clamp(2.5rem,5vw,4rem); }
.catalog-hero h1 { font-family:var(--font-display); font-style:italic; font-size:clamp(3.4rem,6.6vw,6rem); line-height:1.03; color:var(--teal); margin:0 0 1.7rem; }
.catalog-hero h1 em { color:inherit; font-style:inherit; }
.catalog-hero-bottom { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; }
.catalog-hero .lead { max-width:55ch; color:var(--teal); }
.catalog-hero-bottom .btn { flex:none; }
.catalog-section { padding:0 0 clamp(3.5rem,7vw,6rem); }
.consultation-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
.consultation-card { display:flex; flex-direction:column; min-width:0; background:var(--cream-3); border:1px solid var(--line); border-radius:20px; padding:1.7rem; transition:transform .25s var(--ease), border-color .25s, background .25s; }
.consultation-card:hover,.consultation-card:focus-visible { transform:translateY(-5px); border-color:var(--consultation-accent); background:#fffdf8; }
.consultation-card-top { display:flex; align-items:flex-start; justify-content:space-between; min-height:126px; margin-bottom:1rem; gap:.75rem; }
.consultation-index { font-size:.7rem; letter-spacing:.12em; padding-top:.45rem; color:var(--teal); }
.consultation-art { display:flex; align-items:center; justify-content:center; position:relative; gap:.15rem; }
.consultation-brand-icon { display:block; width:116px; height:116px; object-fit:contain; flex:none; }
.consultation-art:has(.consultation-brand-icon + .consultation-brand-icon) .consultation-brand-icon { width:88px; height:116px; }
.consultation-card h2 { font-family:var(--font-display); font-style:italic; color:var(--consultation-accent); font-size:clamp(2rem,2.5vw,2.45rem); line-height:1.1; text-wrap:balance; margin-bottom:.9rem; }
.consultation-card > p { font-size:.95rem; line-height:1.7; color:var(--teal); margin-bottom:1.65rem; }
.consultation-card-price { display:flex; align-items:center; justify-content:space-between; gap:.9rem; margin-top:auto; padding:.85rem 0; border-top:1px solid var(--line); min-height:68px; color:var(--teal); }
.consultation-card-price > span { font-size:.75rem; line-height:1.5; max-width:23ch; }
.consultation-card-price > strong { font-size:1.05rem; white-space:nowrap; font-weight:600; }
.consultation-card-link { display:flex; align-items:center; justify-content:space-between; font-size:.8rem; font-weight:600; padding-top:.85rem; color:var(--teal); }
.consultation-card-link > span { font-size:1.5rem; font-weight:400; transition:transform .2s; }
.consultation-card:hover .consultation-card-link > span { transform:translate(2px,-2px); }
.catalog-faq { background:var(--blue); padding:clamp(2rem,5vw,4rem) 0; }
.catalog-faq-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:3rem 5rem; align-items:start; width:calc(100% - clamp(2.4rem,8vw,5rem)); background:var(--cream-3); padding:clamp(1.6rem,4vw,3.5rem); border-radius:var(--radius-sm); }
.catalog-faq h2 { color:var(--teal); font-size:clamp(3rem,5vw,4.5rem); line-height:1.06; margin-top:0; font-style:italic; }
.catalog-faq h2 em { color:inherit; }
.catalog-faq-answer { padding-left:2.3rem; border-left:1px solid rgba(19,95,94,.22); }
.catalog-faq-answer h3 { font-size:clamp(1.9rem,2.5vw,2.5rem); line-height:1.15; margin-bottom:1.5rem; color:var(--teal); font-style:italic; }
.catalog-faq-answer p { color:var(--teal); font-size:1rem; line-height:1.8; }
.catalog-faq-answer p + p { margin-top:1rem; }
.catalog-faq-answer .link-arrow { display:inline-flex; margin-top:1.7rem; gap:.8rem; font-size:.82rem; }
.consultation-end { padding:clamp(3.5rem,6vw,5.5rem) 0; }
.consultation-end-inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.consultation-end h2 { font-size:clamp(2.5rem,4.5vw,4rem); color:var(--teal); margin:0 0 .7rem; font-style:italic; line-height:1.1; }
.consultation-end h2 em { color:inherit; }
.consultation-end p { color:var(--teal); }
.consultation-end .btn { flex:none; }
/* Detail pages keep the same reading structure as the service library. */
.consultation-detail-hero { background:var(--cream-2); }
.consultation-detail-hero h1 { color:var(--consultation-accent); font-style:italic; }
.consultation-detail-hero .lead { color:var(--teal); }
.consultation-detail-hero .consultation-art { min-height:240px; border-radius:48% 48% 43% 43%; padding:1.6rem .7rem; background:var(--consultation-tint); }
.consultation-detail-hero .consultation-brand-icon { width:150px; height:150px; }
.consultation-detail-hero .consultation-art:has(.consultation-brand-icon + .consultation-brand-icon) .consultation-brand-icon { width:112px; height:150px; }
.consultation-hero-facts { display:flex; align-items:center; gap:1.4rem; margin-top:1.5rem; padding-top:1.1rem; border-top:1px solid var(--line); width:fit-content; color:var(--teal); }
.consultation-hero-facts > span { font-size:.85rem; }
.consultation-hero-facts > strong { font-size:1.3rem; white-space:nowrap; }
.page-consultation-detail .service-reading h2 { color:var(--consultation-accent); font-style:italic; }
.page-consultation-detail .service-reading p,.page-consultation-detail .service-reading li { color:var(--teal); }
.page-consultation-detail .service-reading-section > ul,.consultation-visit ul { list-style:disc; background:var(--cream-3); border-color:var(--consultation-accent); padding:1.4rem 1.5rem 1.4rem 2.7rem; }
.page-consultation-detail .service-reading-section > ul + p { margin-top:1.6rem; }
.consultation-ages { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.6rem; padding:0; list-style:none; margin-top:1.4rem; }
.service-reading .consultation-ages li { border:1px solid var(--line); background:var(--cream-3); border-radius:8px; padding:.8rem .55rem; text-align:center; font-size:.88rem; line-height:1.5; margin:0; }
.consultation-visit { border-top:1px solid var(--line); padding-top:1.25rem; margin-top:1.7rem; }
.consultation-visit-heading { display:flex; align-items:baseline; justify-content:space-between; gap:.75rem 1.25rem; margin-bottom:1rem; }
.consultation-visit-heading h3 { font-family:var(--font-display); font-style:italic; font-size:1.7rem; color:var(--teal); line-height:1.2; }
.consultation-visit-heading > span { font-size:.78rem; color:var(--teal); text-align:right; }
.consultation-prices { margin-top:1.3rem; border-top:1px solid var(--line); }
.consultation-prices > div { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.3rem 0; border-bottom:1px solid var(--line); color:var(--teal); }
.consultation-prices dt { font-size:.95rem; font-weight:600; }
.consultation-prices dt span { display:block; margin-top:.35rem; font-size:.82rem; font-weight:400; line-height:1.6; }
.consultation-prices dd { font-size:1.3rem; font-weight:600; white-space:nowrap; }
.consultation-prices + p { margin-top:1.5rem; }
.consultation-note { margin-top:1.7rem; background:var(--consultation-tint); padding:1.4rem 1.6rem; border-radius:10px; }
.consultation-note h3 { font-family:var(--font-display); font-style:italic; font-size:1.7rem; color:var(--teal); margin-bottom:.65rem; }
.consultation-note a { text-decoration:underline; text-underline-offset:3px; }
@media(max-width:1020px) {
  .consultation-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .catalog-faq-grid { gap:2.5rem; }
  .consultation-detail-hero .consultation-brand-icon { width:130px; height:140px; }
  .consultation-detail-hero .consultation-art:has(.consultation-brand-icon + .consultation-brand-icon) .consultation-brand-icon { width:74px; height:130px; }
}
@media(max-width:650px) {
  .catalog-hero-bottom,.consultation-end-inner { flex-direction:column; align-items:flex-start; gap:1.4rem; }
  .catalog-hero h1 { font-size:clamp(3rem,11vw,4rem); }
  .catalog-faq-grid { grid-template-columns:1fr; gap:2rem; }
  .catalog-faq-answer { border-left:0; border-top:1px solid rgba(19,95,94,.22); padding:1.8rem 0 0; }
  .consultation-grid { grid-template-columns:1fr; gap:1rem; }
  .consultation-card { padding:1.5rem; }
  .consultation-card-top { min-height:100px; margin-bottom:.4rem; }
  .consultation-card .consultation-brand-icon { width:108px; height:100px; }
  .consultation-card .consultation-art:has(.consultation-brand-icon + .consultation-brand-icon) .consultation-brand-icon { width:88px; height:100px; }
  .consultation-card h2 { font-size:2.3rem; }
  .consultation-card > p { margin-bottom:1.2rem; }
  .consultation-detail-hero .service-hero-grid { position:relative; display:flex; flex-direction:column-reverse; align-items:stretch; gap:1rem; }
  .consultation-detail-hero .consultation-art { align-self:flex-end; padding:0; background:none; min-height:88px; justify-content:flex-end; margin-bottom:-.5rem; }
  .consultation-detail-hero .consultation-brand-icon,.consultation-detail-hero .consultation-art:has(.consultation-brand-icon + .consultation-brand-icon) .consultation-brand-icon { width:88px; height:88px; }
  .consultation-detail-hero h1 { margin-top:.75rem; }
  .consultation-hero-facts { flex-wrap:wrap; gap:.65rem 1rem; }
  .consultation-hero-facts > span { font-size:.78rem; }
  .consultation-ages { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .consultation-visit-heading { align-items:flex-start; }
  .consultation-visit-heading > span { min-width:70px; }
  .consultation-prices dd { font-size:1.15rem; }
  .consultation-note { padding:1.2rem; }
}
@media(prefers-reduced-motion:reduce) {
  .consultation-card,.consultation-card-link > span { transition:none; }
  .consultation-card:hover,.consultation-card:hover .consultation-card-link > span { transform:none; }
}
/* Original consultation drawings keep their colours; the logo remains light blue. */
.consultation-art .consultation-brand-icon { filter:none; transform:scale(1.2); }

.consultation-photo{overflow:hidden;border-radius:48% 48% 16px 16px;background:var(--cream-3);height:330px}.consultation-photo img{width:100%;height:100%;object-fit:cover;object-position:center 28%}.page-consultation-detail .consultation-photo img[src$="maria.jpg"]{object-position:center 22%}@media(max-width:650px){.consultation-detail-hero .service-hero-grid{flex-direction:column}.consultation-photo{height:280px;width:100%;max-width:420px;align-self:center}}

/* Una escena de consulta junto a la presentación del catálogo. */
.catalog-hero-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:center; }
.catalog-hero-layout h1 { font-size:clamp(3.4rem,5.4vw,5rem); }
.catalog-hero-layout .catalog-hero-bottom { flex-direction:column; align-items:flex-start; gap:1.6rem; }
.catalog-hero-layout .lead { max-width:40ch; margin:0; }
.catalog-hero-photo { aspect-ratio:3/4; max-height:560px; overflow:hidden; border-radius:var(--radius); }
.catalog-hero-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 58%; }
@media(max-width:900px) {
 .catalog-hero-layout { grid-template-columns:1fr; gap:2rem; }
 .catalog-hero-layout h1 { font-size:clamp(3rem,8vw,4.5rem); }
 .catalog-hero-photo { aspect-ratio:3/4; max-height:none; width:100%; max-width:480px; margin-inline:auto; }
 .catalog-hero-photo img { object-position:center 62%; }
}
@media(max-width:600px) {
 .catalog-hero-photo { aspect-ratio:3/4; }
 .catalog-hero-photo img { object-position:center 58%; }
}
