/**
 * Dr. Panturu Luxury v1.3 – editorial service pages and accessible FAQ.
 * Loaded only on WordPress inner pages; no libraries, fonts or JS required.
 */
.drp-procedure-page .drp-inner-hero {
  padding-block: clamp(74px, 8vw, 122px);
  background: linear-gradient(112deg, #f8f5ef 0%, #f3eee7 52%, #e8ded2 100%);
}
.drp-procedure-page .drp-inner-hero__grid { gap: clamp(38px,6vw,92px); }
.drp-procedure-page .drp-inner-hero h1 {
  margin-bottom: .31em;
  font-size: clamp(3.55rem, 6.6vw, 6.6rem);
  line-height: .95;
  letter-spacing: -.042em;
  text-wrap: balance;
}
.drp-procedure-page .drp-inner-hero__lead { font-size: clamp(1rem,1.22vw,1.18rem); line-height: 1.75; }
.drp-procedure-page .drp-inner-hero__media { border-radius: 1px; box-shadow: 20px 22px 0 rgba(176,142,93,.11); }
.drp-procedure-page .drp-inner-hero__media img { object-position: center; }
.drp-procedure-page .drp-longform-grid { grid-template-columns: minmax(210px,250px) minmax(0,780px); gap: clamp(46px,6vw,94px); padding-top: clamp(62px,7vw,100px); padding-bottom: clamp(100px,10vw,156px); }
.drp-procedure-page .drp-longform-aside { top: 110px; }
.drp-procedure-page .drp-toc { background: #faf7f2; border: 1px solid #e7dcd0; padding: 26px 24px; }
.drp-procedure-page .drp-toc__title { font-size: .67rem; line-height: 1.5; letter-spacing: .19em; margin-bottom: 19px; }
.drp-procedure-page .drp-toc ol { gap: 0; }
.drp-procedure-page .drp-toc li { margin: 0; padding: 0; border-bottom: 1px solid #ebe3d8; }
.drp-procedure-page .drp-toc li:last-child { border-bottom: 0; }
.drp-procedure-page .drp-toc__level-3 { padding-left: 13px !important; }
.drp-procedure-page .drp-toc li a { padding: 11px 0; font-size: .79rem; line-height: 1.55; color: #4c4137; transition: color .2s; }
.drp-procedure-page .drp-toc li a:hover, .drp-procedure-page .drp-toc li a:focus-visible { color: #805820; }
.drp-procedure-page .drp-aside-card { margin-top: 20px; padding: 24px; background: #191713; color: #fff; }
.drp-procedure-page .drp-aside-card strong { font-size: 1.85rem; font-weight: 500; }
.drp-procedure-page .drp-aside-card p { color: #ded6ca; margin-top: 10px; }
.drp-procedure-page .drp-aside-card a { color: #e4bb7f; }

/* Distinct semantic scale. Legacy inline WPBakery heading sizes are discarded
   by the template before reaching the browser. */
.drp-medical-content { min-width: 0; font-size: clamp(1rem, 1.2vw, 1.08rem); line-height: 1.83; }
.drp-medical-content > :first-child { margin-top: 0 !important; }
.drp-medical-content p { margin: 0 0 1.55em; color: #403a34; line-height: 1.83; }
.drp-medical-content > p:first-of-type { color: #3b342d; }
.drp-medical-content :is(h2,h3,h4,h5,h6) { clear: both; max-width: 100%; scroll-margin-top: 116px; text-wrap: pretty; }
.drp-medical-content h2 {
  margin: clamp(64px,6vw,98px) 0 28px;
  padding-top: 27px;
  border-top: 1px solid #d7c9b7;
  font-family: var(--drp-serif);
  font-size: clamp(2.5rem,4.1vw,4.05rem);
  font-weight: 500;
  line-height: 1.03;
  letter-spacing: -.038em;
  color: #1b1713;
}
.drp-medical-content h3 {
  margin: 49px 0 20px;
  padding: 0;
  border: 0;
  font-family: var(--drp-serif);
  font-size: clamp(1.95rem,2.65vw,2.65rem);
  line-height: 1.13;
  font-weight: 500;
  letter-spacing: -.025em;
  color: #29211c;
}
.drp-medical-content h4 {
  margin: 35px 0 14px;
  padding: 0;
  border: 0;
  font-family: var(--drp-sans);
  font-size: clamp(1.1rem,1.5vw,1.24rem);
  font-weight: 700;
  line-height: 1.44;
  letter-spacing: -.01em;
  color: #2d241b;
}
.drp-medical-content h5 { margin: 30px 0 13px; font: 700 .94rem/1.5 var(--drp-sans); color: #604927; }
.drp-medical-content h6 { margin: 28px 0 12px; font: 700 .8rem/1.5 var(--drp-sans); letter-spacing: .12em; text-transform: uppercase; }
.drp-medical-content :is(h2,h3,h4,h5,h6) + :is(p,ul,ol) { margin-top: 0; }
.drp-medical-content :is(h2,h3,h4,h5,h6):first-child { margin-top: 0; }
.drp-medical-content a { color: #74501f; text-decoration-color: #bca27d; text-underline-offset: 4px; }
.drp-medical-content a:hover { color: #34210f; }
.drp-medical-content strong { color: #211b16; font-weight: 700; }
.drp-medical-content :is(ul,ol) {
  display: grid;
  gap: 0;
  margin: 24px 0 38px;
  padding: 12px clamp(17px,2.9vw,32px);
  list-style: none;
  border: 1px solid #e6ddd0;
  background: #f9f6f1;
}
.drp-medical-content li { position: relative; margin: 0 !important; padding: 15px 0 15px 36px; line-height: 1.65; color: #39332e; }
.drp-medical-content li + li { border-top: 1px solid #e7dfd3; }
.drp-medical-content ul { counter-reset: none; }
.drp-medical-content ul > li::before {
  content: '';
  position: absolute;
  left: 3px;
  top: 26px;
  width: 12px;
  height: 12px;
  border: 1.5px solid #9d7337;
  border-radius: 50%;
  background: radial-gradient(circle,#a77934 0 2px,transparent 2.5px);
}
.drp-medical-content ol { counter-reset: drp-step; }
.drp-medical-content ol > li { counter-increment: drp-step; padding-left: 46px; }
.drp-medical-content ol > li::before {
  content: counter(drp-step,decimal-leading-zero);
  position: absolute;
  top: 15px;
  left: 0;
  color: #916327;
  font: 600 1.55rem/1 var(--drp-serif);
}
.drp-medical-content :is(ul,ol) :is(ul,ol) { margin: 14px 0 8px; padding: 0 0 0 4px; background: none; border: 0; }
.drp-medical-content :is(ul,ol) :is(ul,ol) li { padding-block: 8px; }
.drp-medical-content :is(ul,ol) :is(ul,ol) li::before { top: 15px; }
.drp-medical-content :is(ul,ol) p { margin-bottom: .65em; }
.drp-medical-content blockquote { margin: 48px 0; padding: 14px 0 16px 30px; border-left: 3px solid #a77934; background: transparent; font: italic 400 clamp(1.5rem,2.5vw,2.1rem)/1.34 var(--drp-serif); }
.drp-medical-content blockquote p { font: inherit; color: #30291f; }
.drp-medical-content :is(img,figure,video) { max-width: 100%; height: auto; }
.drp-medical-content img { margin: 26px auto 30px; }
.drp-medical-content figure { margin: 42px 0; }
.drp-medical-content figure img { margin: 0; width: 100%; }
.drp-medical-content figcaption { padding-top: 12px; font-size: .8rem; line-height: 1.55; color: #6f655b; }
.drp-medical-content table { display: block; width: 100%; max-width: 100%; overflow-x: auto; margin: 32px 0 42px; border-collapse: collapse; scrollbar-color: #bca17d #efe9df; }
.drp-medical-content th { background: #f0e7dc; font-weight: 700; }
.drp-medical-content :is(td,th) { min-width: 110px; padding: 15px 17px; border: 1px solid #dfd4c7; text-align: left; vertical-align: top; font-size: .9rem; line-height: 1.6; }
.drp-medical-content hr { margin: 48px 0; border: 0; border-top: 1px solid #ddd0c1; }

/* Pure HTML <details> improves perceived responsiveness, keyboard access and
   crawler visibility without requiring Elementor Pro or an accordion plugin. */
.drp-faq-section { padding: clamp(83px,9vw,146px) 0; background: #f0eae2; border-top: 1px solid #e4dbd0; }
.drp-faq-layout { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); align-items: start; gap: clamp(46px,7vw,118px); }
.drp-faq-aside { position: sticky; top: 112px; }
.drp-faq-aside h2 { max-width: 480px; margin: 0 0 24px; font-size: clamp(3.1rem,5vw,5rem); line-height: .99; letter-spacing: -.036em; text-wrap: balance; }
.drp-faq-aside > p:not(.drp-eyebrow) { max-width: 410px; margin: 0 0 24px; font-size: .94rem; line-height: 1.73; color: #5e5349; }
.drp-faq-items { border-top: 1px solid #cbb9a4; }
.drp-faq-item { border-bottom: 1px solid #cbb9a4; }
.drp-faq-item summary { display: grid; grid-template-columns: 43px 1fr 22px; align-items: start; gap: 16px; padding: 28px 0; cursor: pointer; list-style: none; }
.drp-faq-item summary::-webkit-details-marker { display: none; }
.drp-faq-item summary::marker { content: ''; }
.drp-faq-count { padding-top: 5px; color: #9b7134; font: 500 1.1rem/1.2 var(--drp-serif); }
.drp-faq-question { max-width: 620px; font: 500 clamp(1.65rem,2.3vw,2.3rem)/1.12 var(--drp-serif); letter-spacing: -.016em; color: #251d16; }
.drp-faq-icon { position: relative; width: 22px; height: 22px; margin-top: 6px; border: 1px solid #bfa17a; border-radius: 50%; }
.drp-faq-icon::before,.drp-faq-icon::after { content: ''; position: absolute; top: 50%; left: 50%; background: #795728; transform: translate(-50%,-50%); }
.drp-faq-icon::before { width: 9px; height: 1px; }
.drp-faq-icon::after { width: 1px; height: 9px; transition: transform .2s ease; }
.drp-faq-item[open] .drp-faq-icon::after { transform: translate(-50%,-50%) rotate(90deg); }
.drp-faq-answer { padding: 0 48px 30px 59px; color: #4c4136; }
.drp-faq-answer p { margin: 0; max-width: 670px; font-size: .98rem; line-height: 1.85; }
.drp-faq-item[open] summary { padding-bottom: 20px; }
.drp-faq-item summary:hover .drp-faq-question { color: #7b5625; }
.drp-faq-item summary:focus-visible { outline: 2px solid #805820; outline-offset: 6px; }

/* Hub and other inner pages keep the same clear H2–H4 hierarchy. */
.drp-standard-page .drp-entry-content h2 { font-size: clamp(2.4rem,4vw,4rem); line-height: 1.06; }
.drp-standard-page .drp-entry-content h3 { font-size: clamp(1.75rem,2.8vw,2.65rem); line-height: 1.17; }
.drp-standard-page .drp-entry-content h4 { font: 700 1.2rem/1.4 var(--drp-sans); }

@media (max-width: 1020px) {
  .drp-procedure-page .drp-longform-grid { grid-template-columns: 215px minmax(0,1fr); gap: 40px; }
  .drp-faq-layout { grid-template-columns: .8fr 1.2fr; gap: 46px; }
}
@media (max-width: 810px) {
  .drp-procedure-page .drp-longform-grid { grid-template-columns: 1fr; }
  .drp-procedure-page .drp-longform-aside { position: static; }
  .drp-procedure-page .drp-inner-hero__grid { grid-template-columns: 1fr; }
  .drp-procedure-page .drp-inner-hero__media { max-height: 440px; }
  .drp-faq-layout { grid-template-columns: 1fr; gap: 34px; }
  .drp-faq-aside { position: static; }
  .drp-faq-aside h2 { max-width: 680px; }
}
@media (max-width: 520px) {
  .drp-procedure-page .drp-inner-hero h1 { font-size: clamp(3.15rem,14vw,4.5rem); }
  .drp-medical-content h2 { font-size: clamp(2.2rem,10vw,2.9rem); }
  .drp-medical-content h3 { font-size: clamp(1.7rem,7vw,2.12rem); }
  .drp-medical-content :is(ul,ol) { padding-inline: 15px; }
  .drp-faq-item summary { grid-template-columns: 28px 1fr 22px; gap: 10px; padding-block: 22px; }
  .drp-faq-question { font-size: 1.65rem; }
  .drp-faq-answer { padding: 0 0 25px 39px; }
}
@media (prefers-reduced-motion: reduce) {
  .drp-faq-icon::after { transition: none; }
}


/* v1.3 editorial procedure presentation */
.drp-procedure-page .drp-inner-hero {
  background:
    radial-gradient(circle at top right, rgba(223,188,135,.22), transparent 32%),
    linear-gradient(112deg, #f8f5ef 0%, #f3eee7 52%, #e7ded2 100%);
}
.drp-procedure-page .drp-inner-hero__kicker {
  margin: 0 0 12px;
  font: italic 500 clamp(1.2rem,1.9vw,1.55rem)/1.35 var(--drp-serif);
  color: #8d6a35;
}
.drp-procedure-page .drp-inner-hero__lead {
  max-width: 62ch;
}
.drp-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 26px;
}
.drp-button--ghost {
  background: transparent;
  border: 1px solid #b99966;
  color: #6d4a1f;
}
.drp-button--ghost:hover,
.drp-button--ghost:focus-visible {
  background: rgba(185,153,102,.08);
}
.drp-procedure-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
  margin: 32px 0 0;
  padding: 0;
  list-style: none;
}
.drp-procedure-meta li {
  padding: 18px 18px 16px;
  border: 1px solid #e0d3c4;
  background: rgba(255,255,255,.56);
}
.drp-procedure-meta span {
  display: block;
  margin-bottom: 6px;
  font-size: .67rem;
  line-height: 1.5;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #7e6b59;
}
.drp-procedure-meta strong {
  display: block;
  font-size: .98rem;
  line-height: 1.5;
  color: #241d16;
}
.drp-procedure-strip {
  padding: clamp(48px,6vw,90px) 0 clamp(30px,4vw,60px);
}
.drp-procedure-strip__head {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
  gap: clamp(26px,4vw,62px);
  align-items: end;
  margin-bottom: clamp(28px,4vw,44px);
}
.drp-procedure-strip__head h2 {
  margin: 0;
  font-size: clamp(2.6rem,4.2vw,4.15rem);
  line-height: 1.02;
  letter-spacing: -.04em;
}
.drp-procedure-strip__head p:last-child {
  margin: 0;
  max-width: 64ch;
  font-size: 1rem;
  line-height: 1.8;
  color: #4b4036;
}
/* v1.10.4 layout overrides the legacy panels via procedure-layout-v1104.css. */
.drp-procedure-strip__grid {
  display: grid;
  grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr);
  gap: clamp(24px,3.1vw,44px);
  align-items: stretch;
}
.drp-procedure-highlights {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  grid-template-rows: repeat(3,minmax(0,1fr));
  gap: 0;
  min-width: 0;
  min-height: 0;
}
.drp-highlight-card {
  min-height: 100%;
  padding: 25px 22px 22px;
  border: 1px solid #e7dbcf;
  background: #fbf8f4;
  box-shadow: 0 14px 34px rgba(59,42,17,.04);
}
.drp-highlight-card__label {
  margin: 0 0 8px;
  font-size: .69rem;
  line-height: 1.5;
  letter-spacing: .19em;
  text-transform: uppercase;
  color: #9a7236;
}
.drp-highlight-card h3 {
  margin: 0 0 12px;
  font-size: clamp(1.3rem,1.5vw,1.58rem);
  line-height: 1.15;
}
.drp-highlight-card p:last-child {
  margin: 0;
  font-size: .95rem;
  line-height: 1.72;
  color: #4c4036;
}
/* Image fills the combined height of all three cards, without influencing
   the row height. A single absolute overlay prevents caption misalignment. */
.drp-procedure-strip__visual {
  position: relative;
  align-self: stretch;
  min-width: 0;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  background: #1d1915;
  color: #f1ece6;
}
.drp-procedure-strip__visual::after {
  position: absolute;
  inset: 52% 0 0;
  content: '';
  pointer-events: none;
  background: linear-gradient(to bottom,transparent,rgba(0,0,0,.72));
}
.drp-procedure-strip__visual img {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 37%;
  transition: transform .7s cubic-bezier(.22,1,.36,1);
}
.drp-procedure-strip__visual figcaption {
  position: absolute;
  z-index: 1;
  inset: auto 0 0;
  padding: 24px 22px 18px;
  color: #f4e9d9;
  font-size: .78rem;
  line-height: 1.45;
}
.drp-legacy-kicker {
  margin: 0 0 18px;
  font: italic 500 clamp(1.15rem,1.9vw,1.42rem)/1.4 var(--drp-serif);
  color: #8c6730;
}
.drp-inline-figure {
  margin: 42px 0;
}
.drp-inline-figure img,
.drp-inline-visual__image {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 980px) {
  .drp-procedure-strip__grid { grid-template-columns: minmax(0,1fr); }
  .drp-procedure-highlights {
    grid-template-columns: minmax(0,1fr);
    grid-template-rows: none;
  }
  .drp-procedure-strip__visual {
    aspect-ratio: 16 / 11;
    min-height: 360px;
  }
}
@media (max-width: 900px) {
  .drp-procedure-meta,
  .drp-procedure-strip__head {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .drp-procedure-meta { gap: 10px; }
  .drp-procedure-page .drp-inner-hero__lead { max-width: none; }
}


/* v1.10.2 — full-length introduction flows below the section heading.
   The highlight cards and illustration now share one aligned grid row. */
.drp-procedure-page .drp-procedure-strip__head {
  display: block;
  max-width: 1120px;
  margin: 0 0 clamp(32px, 3.5vw, 52px);
  text-align: left;
}
.drp-procedure-page .drp-procedure-strip__head > .drp-eyebrow {
  margin: 0 0 15px;
}
.drp-procedure-page .drp-procedure-strip__head > h2 {
  max-width: 20ch;
  margin: 0;
  color: #181310;
  text-wrap: balance;
}
.drp-procedure-page .drp-procedure-strip__intro {
  max-width: 95ch;
  margin: clamp(24px, 3vw, 36px) 0 0;
  padding: 0 0 0 clamp(20px, 2.4vw, 30px);
  border-left: 2px solid #b28a54;
}
.drp-procedure-page .drp-procedure-strip__intro p {
  max-width: none;
  margin: 0 0 0.9em;
  color: #3b322a;
  font: 400 clamp(1rem, 1.14vw, 1.08rem)/1.85 var(--drp-sans);
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.drp-procedure-page .drp-procedure-strip__intro p:last-child { margin-bottom: 0; }
.drp-procedure-page .drp-procedure-strip__grid { align-items: stretch; }
.drp-procedure-page .drp-procedure-highlights { align-self: stretch; }
.drp-procedure-page .drp-procedure-strip__visual { align-self: stretch; }
@media (max-width: 560px) {
  .drp-procedure-strip__visual { aspect-ratio: 4 / 5; min-height: 340px; }
  .drp-procedure-strip__visual figcaption { padding-inline: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  .drp-procedure-strip__visual img { transition: none; }
}
@media (max-width: 810px) {
  .drp-procedure-page .drp-procedure-strip__head > h2 { max-width: 100%; }
  .drp-procedure-page .drp-procedure-strip__intro { max-width: none; }
}
