/*
 * AudioClinique shared interior-page theme.
 * Load after each page's existing styles and audioclinique-nuova-home.css.
 * The approved home stylesheet remains the sole source of header/logo sizing.
 * Interior content keeps its original imagery, grids, links and controls.
 */
body.ac-preview-page {
  background: #fff;
  color: #173f3a;
}

.ac-interior {
  --ac-paper: #fafbf8;
  --ac-sage: #f5f8f3;
  --ac-forest: #173f3a;
  --ac-copy: #526b61;
  --ac-line: #dce6df;
  --ac-burgundy: #854552;
  --ac-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color: var(--ac-forest);
  background: #fff;
  font: 18.36px/1.6 var(--ac-font);
  -webkit-font-smoothing: antialiased;
}

.ac-interior :is(.acabout, .acsrv, .accontact, .acblog, .acsvc, .acprot, .acimp, .actin, .ac-fit, .ac-repair, .ac-service, .svc, .ac-neuranix) {
  --navy: var(--ac-forest);
  --green: var(--ac-forest);
  --g: var(--ac-forest);
  --n: var(--ac-forest);
  --blue: var(--ac-burgundy);
  --red: var(--ac-burgundy);
  --r: var(--ac-burgundy);
  --b: var(--ac-burgundy);
  --teal: #53766f;
  --ice: var(--ac-sage);
  --soft: var(--ac-sage);
  --light: var(--ac-sage);
  --s: var(--ac-sage);
  --i: var(--ac-sage);
  --line: var(--ac-line);
  --l: var(--ac-line);
  --muted: var(--ac-copy);
  --text: var(--ac-copy);
  --t: var(--ac-copy);
  --m: var(--ac-copy);
  color: var(--ac-forest);
  background: #fff;
  font-family: var(--ac-font);
  font-size: 18.36px;
  line-height: 1.6;
}

.ac-interior :is(.wrap, .w, .acn-wrap) {
  width: min(1324px, calc(100% - 56px));
  margin-inline: auto;
}

.ac-interior :is(.hero, .acn-hero, .ac-legacy-hero) {
  padding-block: clamp(44px, 5vw, 72px);
  background-color: var(--ac-paper);
  background-image:
    linear-gradient(90deg, #fafbf8 0%, rgba(250, 251, 248, .98) 32%, rgba(250, 251, 248, .9) 60%, rgba(250, 251, 248, .6) 100%),
    url("audioclinique-onde-futuro.webp");
  background-size: cover;
  background-position: center, 70% center;
  background-repeat: no-repeat;
  border-radius: 0;
  border-bottom: 1px solid #e8eee7;
}

.ac-interior :is(h1, h2, h3) {
  font-family: var(--ac-font);
  font-weight: 650 !important;
  text-transform: none;
  overflow-wrap: break-word;
}

.ac-interior h1 {
  font-size: clamp(41.04px, 4.968vw, 69.12px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.04em !important;
  margin-block: 14px 22px;
  max-width: 24ch;
  text-wrap: balance;
}

.ac-interior h2 {
  font-size: clamp(31.32px, 3.348vw, 47.52px) !important;
  line-height: 1.14 !important;
  letter-spacing: -.03em !important;
}

.ac-interior h3 {
  font-size: clamp(22.68px, 2.052vw, 27px) !important;
  line-height: 1.22 !important;
  letter-spacing: -.02em !important;
}

.ac-interior :is(.ey, .eyebrow) {
  color: #53766f;
  font-size: 12.96px !important;
  line-height: 1.5 !important;
  font-weight: 650;
  letter-spacing: .15em !important;
}

.ac-interior :is(.lead, .acn-lead) {
  color: #365b55;
  font-size: clamp(19.44px, 1.728vw, 22.68px) !important;
  line-height: 1.55 !important;
  max-width: 64ch;
}

.ac-interior :is(.copy, .partner-copy) { color: var(--ac-copy); }
.ac-interior :is(.grid, .split, .steps, .teamgrid, .techgrid, .categorygrid, .quick, .arrivalgrid, .acn-grid, .acn-highlight, .acn-how, .acn-usegrid) > * { min-width: 0; }
.ac-interior :is(p, li) { overflow-wrap: break-word; }
.ac-interior :is(img, video, canvas, iframe) { max-width: 100%; }
.ac-interior [id] { scroll-margin-top: 122px; }
.ac-interior a { text-underline-offset: 4px; }
.ac-interior :is(a, button, summary, input, select, textarea):focus-visible { outline: 3px solid #a32638; outline-offset: 4px; }

/* A consistent sage surface, targeted to presentation sections only. */
.ac-interior .acabout :is(.principles, .team),
.ac-interior .acsrv :is(.intro, .all),
.ac-interior .acblog .mission,
.ac-interior .accontact :is(.arrival, .formbox),
.ac-interior .acsvc .tech,
.ac-interior .acprot .custom,
.ac-interior .acimp :is(.path, .partners),
.ac-interior .actin .ice,
.ac-interior :is(.ac-fit, .ac-repair, .ac-service, .svc) .soft,
.ac-interior :is(.acn-card, .acn-step),
.ac-interior .ac-asl-guide {
  background: var(--ac-sage);
}

.ac-interior :is(.acabout, .acsrv, .accontact, .acblog, .acsvc, .acprot, .acimp, .actin, .ac-fit, .ac-repair, .ac-service, .svc) :is(.card, .person, .post, .step, .category, .techitem, .q, .box),
.ac-interior :is(.acn-chip, .acn-card, .acn-use, .acn-step, .acn-device) {
  border-color: var(--ac-line);
  border-radius: 18px;
  box-shadow: none;
}

.ac-interior :is(.acabout, .acsrv, .accontact, .acblog, .acsvc, .acprot, .acimp, .actin, .ac-fit, .ac-repair, .ac-service, .svc) :is(.card, .person, .post, .step, .category, .q, .box),
.ac-interior :is(.acn-chip, .acn-use, .acn-device) {
  background: #fff;
}

.ac-interior :is(.acsrv .card, .acblog .post, .accontact .formbox) h2,
.ac-interior :is(.acn-card, .acn-use) h2 {
  font-size: clamp(25.92px, 2.16vw, 30.24px) !important;
  line-height: 1.2 !important;
}

.ac-interior .acabout :is(.chip, .cst-highlight),
.ac-interior .acblog :is(.topic, .focus > div),
.ac-interior .accontact .info > div {
  border-color: var(--ac-line);
}

.ac-interior .acabout .cst-highlight { background: var(--ac-sage); }
.ac-interior .acn-kicker { color: #53766f; border-color: #cbdad1; background: #fff; }
.ac-interior .acn-source, .ac-interior .acn-device figcaption { color: var(--ac-copy); }
.ac-interior .acn-note { box-shadow: none; border-left-color: #53766f; }

/* The same quiet booking treatment used by the approved home. */
.ac-interior :is(.btn, .acn-btn) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  max-width: 100%;
  padding: 12px 22px;
  border: 1px solid #cbb1b7;
  border-radius: 9px;
  background: #fcfaf9;
  color: var(--ac-burgundy) !important;
  box-shadow: none;
  font-size: 16.2px !important;
  line-height: 1.45 !important;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  white-space: normal;
}

.ac-interior :is(.btn, .acn-btn):hover {
  background: #f5edef;
  color: #713746 !important;
  border-color: #a97984;
}

.ac-interior :is(.acabout, .acsrv, .accontact, .acblog, .acsvc, .acprot, .acimp, .actin, .ac-fit, .ac-repair, .ac-service, .svc) .cta,
.ac-interior .acsrv .contact,
.ac-interior :is(.acn-cta, .acn-speed) {
  background: var(--ac-forest);
  color: #fff;
  border-radius: 20px;
  box-shadow: none;
}

.ac-interior :is(.cta, .acn-cta, .acn-speed) h2,
.ac-interior .acsrv .contact h2 {
  color: #fff;
  font-size: clamp(29.16px, 3.024vw, 38.88px) !important;
  line-height: 1.16 !important;
}

.ac-interior :is(.cta, .acn-cta, .acn-speed) p,
.ac-interior .acsrv .contact p { color: #d5e2dc; }
.ac-interior .acn-speed .num { color: #c4dad0; }
.ac-interior :is(.cta, .acn-cta) .btn,
.ac-interior .acsrv .contact .btn { flex-shrink: 0; }

/* Older specialist pages keep the original professional portraits and copy. */
.ac-interior .ac-legacy-hero {
  padding-inline: max(28px, calc((100% - 1324px) / 2));
}

.ac-interior .ac-legacy-hero :is(h1, p) { max-width: 1040px; }
.ac-interior .ac-legacy-hero > .wrap { width: 100%; }
.ac-interior .ac-legacy-hero h1 { color: var(--ac-forest); }
.ac-interior .ac-legacy-hero :is(.entry-title, .titolo) { margin-top: 0; }
.ac-interior .ac-legacy-content {
  width: min(1324px, calc(100% - 56px));
  margin: 56px auto 64px;
  color: var(--ac-copy);
}

.ac-interior .ac-legacy-content :is(h2, h3, h4) { color: var(--ac-forest); }
.ac-interior .ac-legacy-content > :first-child { margin-top: 0; }
.ac-interior .ac-legacy-content :is(.wp-block-paragraph, .wp-block-list) { font-size: 18.36px; line-height: 1.65; }
.ac-interior .ac-legacy-content .wp-block-list { padding-left: 24px; }
.ac-interior .ac-legacy-content .wp-block-list li + li { margin-top: 10px; }
.ac-interior .ac-legacy-content .grid-1-3 {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr);
  gap: 28px 52px;
  align-items: start;
}

.ac-interior .ac-legacy-content .intro-specifiche { grid-column: 1; grid-row: 1 / span 2; }
.ac-interior .ac-legacy-content .content-specifiche { grid-column: 2; min-width: 0; }
.ac-interior .ac-legacy-content .grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.ac-interior .ac-legacy-content .grid-2 > * { min-width: 0; }
.ac-interior .ac-legacy-content :is(.intro-specifiche, .content-specifiche) > h2:first-child { margin-top: 0; }
.ac-interior .ac-legacy-content .content-specifiche h2 { font-size: clamp(25.92px, 2.268vw, 32.4px) !important; }
.ac-interior .ac-legacy-content .mt-l { margin-top: 28px; }
.ac-interior .ac-legacy-content .mt-xl { margin-top: 48px; }
.ac-interior .ac-professional {
  background: var(--ac-sage) !important;
  border: 1px solid var(--ac-line);
  border-radius: 18px !important;
  color: var(--ac-forest) !important;
}

.ac-interior .ac-professional > div { flex: 1 1 280px; min-width: 0; }
.ac-interior .ac-professional h2 { font-size: clamp(29.16px, 2.916vw, 38.88px) !important; }
.ac-interior .ac-professional a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ac-burgundy) !important; }
.ac-interior .ac-legacy-content .accordion-item { padding-block: 8px; border-block-end: 1px solid var(--ac-line); }
.ac-interior .ac-legacy-content .accordion-item > button,
.ac-interior .ac-legacy-content .accordion-item > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  min-height: 56px;
  padding: 14px 0;
  background: transparent;
  border: 0;
  color: var(--ac-forest);
  font: 650 19.44px/1.4 var(--ac-font);
  text-align: left;
  cursor: pointer;
}
.ac-interior .ac-legacy-content .accordion-item > summary { list-style: none; }
.ac-interior .ac-legacy-content .accordion-item > summary::-webkit-details-marker { display: none; }
.ac-interior .ac-legacy-content .accordion-item > summary::after { content: "+"; font-size: 27px; font-weight: 400; }
.ac-interior .ac-legacy-content .accordion-item[open] > summary::after { content: "−"; }

/* Editorial posts retain their own inline illustrations and block content. */
.ac-interior .ac-editorial {
  width: min(920px, calc(100% - 56px));
  margin: 56px auto 72px;
  color: var(--ac-copy);
  font-size: 19.44px;
  line-height: 1.75;
}

.ac-interior .ac-editorial :is(h1, h2, h3, h4) { color: var(--ac-forest); }
.ac-interior .ac-editorial :is(h2, h3, h4) { margin-top: 1.7em; }
.ac-interior .ac-editorial p { margin-block: 0 1.25em; }
.ac-interior .ac-editorial :is(figure, .wp-block-image) { margin: 32px 0; }
.ac-interior .ac-editorial :is(figure, .wp-block-image) img { display: block; height: auto; border-radius: 16px; }
.ac-interior .ac-editorial > img { display: block; height: auto; border-radius: 16px; margin-block: 28px; }
.ac-interior .ac-editorial figcaption { color: var(--ac-copy); font-size: 15.12px; line-height: 1.5; margin-top: 10px; }
.ac-interior .ac-editorial a:not(.btn) { color: var(--ac-burgundy); overflow-wrap: anywhere; }
.ac-interior .ac-editorial blockquote { margin: 30px 0; padding: 22px 26px; background: var(--ac-sage); border-left: 3px solid var(--ac-burgundy); }
.ac-interior .ac-editorial .wp-block-columns { display: flex; flex-wrap: wrap; gap: 28px; }
.ac-interior .ac-editorial .wp-block-column { flex: 1 1 240px; min-width: 0; }
.ac-interior .ac-editorial .wp-block-table { overflow-x: auto; }
.ac-interior .ac-editorial table { width: 100%; border-collapse: collapse; font-size: 17.28px; }
.ac-interior .ac-editorial :is(th, td) { padding: 12px; border: 1px solid var(--ac-line); text-align: left; }

@media (max-width: 1000px) {
  .ac-interior .acsvc .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ac-interior .ac-legacy-content .grid-1-3 { gap: 28px; }
}

@media (max-width: 820px) {
  .ac-interior :is(.hero, .acn-hero, .ac-legacy-hero) { padding-block: 44px; }
  .ac-interior .acabout .split { gap: 32px; }
  .ac-interior .ac-legacy-content :is(.grid-1-3, .grid-2) { grid-template-columns: 1fr; }
  .ac-interior .ac-legacy-content :is(.intro-specifiche, .content-specifiche) { grid-column: auto; grid-row: auto; }
  .ac-interior :is(.cta, .acn-cta) { padding: 28px; }
}

@media (max-width: 760px) {
  .ac-interior :is(.hero, .acn-hero, .ac-legacy-hero) {
    background-image:
      linear-gradient(180deg, rgba(250, 251, 248, .97) 0%, rgba(250, 251, 248, .9) 60%, rgba(250, 251, 248, .83) 100%),
      url("audioclinique-onde-futuro.webp");
    background-position: center, 70% center;
  }
  .ac-interior :is(.wrap, .w, .acn-wrap, .ac-legacy-content, .ac-editorial) { width: calc(100% - 40px); }
  .ac-interior .ac-legacy-hero { padding-inline: 20px; }
  .ac-interior :is(.ac-legacy-content, .ac-editorial) { margin-block: 36px 48px; }
  .ac-interior h1 { font-size: clamp(36.72px, 8.964vw, 51.84px) !important; }
  .ac-interior h2 { font-size: clamp(29.16px, 7.02vw, 36.72px) !important; }
  .ac-interior h3 { font-size: 23.76px !important; }
  .ac-interior :is(.ey, .eyebrow) { font-size: 11.88px !important; letter-spacing: .12em !important; }
  .ac-interior :is(.lead, .acn-lead) { font-size: 19.44px !important; }
  .ac-interior [id] { scroll-margin-top: 108px; }
  .ac-interior .acsvc .steps { grid-template-columns: 1fr; }
  .ac-interior .accontact .formbox { padding: 24px; }
  .ac-interior .accontact .mapbox { height: 340px; }
  .ac-interior .ac-professional { padding: 24px !important; gap: 22px !important; }
  .ac-interior .ac-professional h2 { font-size: 30.24px !important; }
  .ac-interior .ac-editorial { font-size: 18.36px; line-height: 1.65; }
}

@media (max-width: 400px) {
  .ac-interior :is(.wrap, .w, .acn-wrap, .ac-legacy-content, .ac-editorial) { width: calc(100% - 32px); }
  .ac-interior .ac-legacy-hero { padding-inline: 16px; }
  .ac-interior h1 { font-size: 36.72px !important; }
  .ac-interior :is(.cta, .acn-cta), .ac-interior .acsrv .contact { padding: 24px 20px; }
  .ac-interior :is(.btn, .acn-btn) { padding-inline: 16px; }
  .ac-interior .ac-professional { padding: 20px !important; }
  .ac-interior .accontact .formbox { padding: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .ac-interior :is(.btn, .card, .post) { transition: none; }
}

/* Shared layout rhythm for every interior template; page copy stays in HTML. */
.ac-interior :is(.acabout, .acsrv, .accontact, .acblog, .acsvc, .acprot, .acimp, .actin, .ac-fit, .ac-repair, .ac-service, .svc) > section:not(.hero):not(.cta):not(.contact),
.ac-interior .acn-section {
  padding-block: clamp(40px, 5vw, 68px);
}

.ac-interior :is(.grid, .teamgrid, .techgrid, .categorygrid, .arrivalgrid, .acn-highlight, .acn-how, .acn-usegrid) {
  gap: 24px;
}

.ac-interior :is(.card, .person, .post, .step, .category, .techitem, .q, .box, .acn-chip, .acn-card, .acn-use, .acn-step, .acn-device) {
  overflow-wrap: break-word;
}

.ac-interior :is(.card, .person, .post, .category, .acn-card, .acn-use) > :first-child { margin-top: 0; }
.ac-interior :is(.card, .person, .post, .category, .acn-card, .acn-use) > :last-child { margin-bottom: 0; }
.ac-interior :is(.acn-section[style*="background"], .accontact .arrival) { background: var(--ac-sage) !important; }

body.ac-preview-page .ac-breadcrumb {
  max-width: 1380px;
  padding-block: 18px;
}

@media (max-width: 760px) {
  .ac-interior :is(.grid, .teamgrid, .techgrid, .categorygrid, .arrivalgrid, .acn-highlight, .acn-how, .acn-usegrid) { gap: 18px; }
  .ac-interior :is(.hero, .acn-hero, .ac-legacy-hero) { padding-block: 36px 40px; }
  .ac-interior h1 { max-width: 100%; }
  body.ac-preview-page .ac-breadcrumb { padding-block: 14px; }
}
