/* PDRYar FAQ – dedicated CMS page layout.
   This stylesheet is loaded only on /page/faq. */
.faq-page-shell{width:min(1120px,calc(100% - 2rem);padding-top:clamp(.6rem,2vw,1.5rem);padding-bottom:clamp(2.75rem,6vw,5.5rem)}
.faq-standalone{width:100%}
.faq-standalone .faq-page{max-width:100%;margin:0;padding:0}
.faq-standalone .faq-page *{box-sizing:border-box}
.faq-standalone .faq-page a{color:inherit}

/* ==========================================================================\n   PDRYar – FAQ page\n   Accessible, dependency-free accordion layout (details/summary).\n   ========================================================================== */
.faq-page{max-width:1000px;margin:0 auto;padding:0;color:#10232c}
.faq-hero{position:relative;overflow:hidden;padding:clamp(1.45rem,4vw,3rem);border:1px solid #dbece8;border-radius:30px;background:linear-gradient(135deg,#ffffff 0%,#f2fbf8 100%);box-shadow:0 18px 44px rgba(20,72,68,.07)}
.faq-hero::before,.faq-hero::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.faq-hero::before{width:260px;height:260px;top:-150px;left:-90px;background:rgba(32,157,137,.11)}
.faq-hero::after{width:210px;height:210px;bottom:-155px;right:7%;background:rgba(249,115,22,.10)}
.faq-hero>*{position:relative;z-index:1}
.faq-eyebrow{display:inline-flex;align-items:center;gap:.48rem;padding:.42rem .76rem;border:1px solid #cbe8e1;border-radius:999px;background:#fff;color:#087b70;font-size:.8rem;font-weight:800}
.faq-eyebrow::before{content:"؟";display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#dff5ef;color:#087b70;font-weight:900}
.faq-hero h1{max-width:21ch;margin:.85rem 0 .6rem;color:#102d34;font-size:clamp(1.9rem,4vw,3.35rem);line-height:1.35;letter-spacing:-.035em}
.faq-hero p{max-width:67ch;margin:0;color:#5d7378;font-size:clamp(.95rem,1.5vw,1.07rem);line-height:2.05}
.faq-shortcuts{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:1.35rem}
.faq-shortcuts a{display:inline-flex;align-items:center;justify-content:center;padding:.56rem .82rem;border:1px solid #dceae7;border-radius:999px;background:rgba(255,255,255,.86);color:#315d60;font-size:.82rem;font-weight:800;transition:.2s ease}
.faq-shortcuts a:hover{border-color:#79c4b7;background:#eaf8f4;color:#087b70;transform:translateY(-1px)}
.faq-notice{display:flex;align-items:flex-start;gap:.7rem;margin-top:1rem;padding:.85rem 1rem;border:1px solid #f1deb6;border-radius:17px;background:#fffaf0;color:#72562a;font-size:.86rem;line-height:1.9}
.faq-notice b{flex:0 0 auto;display:grid;place-items:center;width:25px;height:25px;border-radius:9px;background:#ffedc9;color:#b45309}
.faq-section{scroll-margin-top:96px;margin-top:1.45rem;padding:clamp(1rem,2.5vw,1.45rem);border:1px solid #e1ece9;border-radius:24px;background:#fff;box-shadow:0 10px 30px rgba(20,72,68,.045)}
.faq-section-heading{display:flex;align-items:flex-start;gap:.8rem;margin-bottom:.92rem}
.faq-section-number{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:13px;background:#e3f6f1;color:#087b70;font-size:.88rem;font-weight:900}
.faq-section h2{margin:.05rem 0 .12rem;color:#183a40;font-size:clamp(1.08rem,2vw,1.38rem);line-height:1.55}
.faq-section-heading p{margin:0;color:#769094;font-size:.83rem;line-height:1.8}
.faq-list{display:grid;gap:.62rem}
.faq-item{overflow:hidden;border:1px solid #e3eeeb;border-radius:17px;background:#fcfefd;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.faq-item[open]{border-color:#bfe0d8;background:#fff;box-shadow:0 9px 22px rgba(12,91,80,.06)}
.faq-item summary{display:flex;align-items:center;gap:.8rem;list-style:none;cursor:pointer;padding:.94rem 1rem;color:#193e45;font-size:.94rem;font-weight:850;line-height:1.8;user-select:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::before{content:"+";display:grid;place-items:center;flex:0 0 auto;width:27px;height:27px;border-radius:9px;background:#e4f7f2;color:#087b70;font-size:1.22rem;font-weight:500;line-height:1;transition:transform .2s ease,background .2s ease}
.faq-item[open] summary::before{content:"−";background:#087b70;color:#fff}
.faq-answer{padding:0 1rem 1rem 3.35rem;color:#586f75;font-size:.9rem;line-height:2.05}
.faq-answer p{margin:.12rem 0 .55rem}
.faq-answer p:last-child{margin-bottom:0}
.faq-answer ul{margin:.5rem 0 0;padding:0 1.1rem 0 0}
.faq-answer li{margin:.25rem 0}
.faq-answer strong{color:#28545a}
.faq-answer a{color:#087b70;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.faq-cta{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.45rem;padding:clamp(1rem,2.8vw,1.5rem);border-radius:24px;background:linear-gradient(135deg,#0b655d,#0f8778);color:#fff;box-shadow:0 16px 36px rgba(10,101,93,.18)}
.faq-cta h2{margin:0 0 .23rem;font-size:clamp(1.06rem,2vw,1.36rem);line-height:1.6}
.faq-cta p{margin:0;color:#d7f7f0;font-size:.86rem;line-height:1.9}
.faq-cta-actions{display:flex;flex-wrap:wrap;gap:.62rem;align-items:center;flex:0 0 auto}
.faq-cta a{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:.65rem 1rem;border-radius:14px;background:#fff;color:#0b655d;font-size:.86rem;font-weight:900}
.faq-cta a.faq-cta-secondary{border:1px solid rgba(255,255,255,.55);background:transparent;color:#fff}
@media (max-width:680px){
  .faq-page{padding-top:.2rem}
  .faq-hero{padding:1.2rem;border-radius:22px}
  .faq-hero h1{font-size:1.85rem;max-width:17ch}
  .faq-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}
  .faq-shortcuts a{padding:.52rem .45rem;font-size:.74rem;text-align:center}
  .faq-notice{font-size:.8rem}
  .faq-section{margin-top:1rem;padding:.85rem;border-radius:20px}
  .faq-section-heading{gap:.6rem;margin-bottom:.75rem}
  .faq-section-number{width:33px;height:33px;border-radius:11px;font-size:.78rem}
  .faq-section h2{font-size:1rem}
  .faq-section-heading p{font-size:.77rem}
  .faq-item{border-radius:14px}
  .faq-item summary{gap:.6rem;padding:.78rem .75rem;font-size:.84rem;line-height:1.85}
  .faq-item summary::before{width:24px;height:24px;border-radius:8px;font-size:1.08rem}
  .faq-answer{padding:0 .75rem .82rem 1rem;font-size:.82rem;line-height:2}
  .faq-cta{align-items:flex-start;flex-direction:column;border-radius:20px;padding:1rem}
  .faq-cta-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .faq-cta a{width:100%;padding-inline:.45rem;font-size:.79rem}
}


/* Avoid generic CMS prose styles from affecting FAQ contents when the page is
   edited in the admin panel. */
.faq-standalone .prose,
.faq-standalone .panel{max-width:none}
@media (max-width:680px){
  .faq-page-shell{width:min(100% - 1rem,1120px);padding-top:.45rem;padding-bottom:2.25rem}
}

/* BEGIN PDRYAR FAQ ACCORDION POLISH */
/*
 * This file intentionally scopes every rule under .faq-page.
 * It is safe to load globally and does not change other pages.
 */
.faq-page {
  --faq-ink: #092c35;
  --faq-muted: #64748b;
  --faq-accent: #087f76;
  --faq-accent-soft: #e7f7f4;
  --faq-line: #dcebe9;
  --faq-surface: #ffffff;
  --faq-shadow: 0 14px 35px rgba(12, 61, 63, .08);
  box-sizing: border-box;
  width: min(1160px, calc(100% - 32px));
  margin: 0 auto;
  padding: 42px 0 80px;
  color: var(--faq-ink);
  text-align: right;
}

.faq-page *,
.faq-page *::before,
.faq-page *::after {
  box-sizing: border-box;
}

.faq-page .faq-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(28px, 5vw, 56px);
  margin: 0 0 28px;
  border: 1px solid #cce9e4;
  border-radius: 30px;
  background:
    radial-gradient(circle at 8% 112%, rgba(252, 185, 81, .18) 0 13%, transparent 13.5%),
    radial-gradient(circle at 86% -20%, rgba(52, 180, 170, .20) 0 28%, transparent 28.5%),
    linear-gradient(128deg, #fbfefd 0%, #edf9f7 48%, #dff3ef 100%);
  box-shadow: var(--faq-shadow);
}

.faq-page .faq-hero > * {
  position: relative;
  z-index: 1;
}

.faq-page .faq-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 13px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.84);
  color: var(--faq-accent);
  font-size: .9rem;
  font-weight: 800;
  box-shadow: 0 5px 15px rgba(12, 92, 87, .07);
}

.faq-page .faq-eyebrow::before {
  width: 8px;
  height: 8px;
  content: "";
  border-radius: 50%;
  background: #20b486;
  box-shadow: 0 0 0 4px rgba(32,180,134,.13);
}

.faq-page .faq-hero h1 {
  margin: 0;
  color: var(--faq-ink);
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1.25;
  letter-spacing: -.03em;
}

.faq-page .faq-hero > p {
  max-width: 780px;
  margin: 15px 0 0;
  color: #425b64;
  font-size: clamp(1rem, 1.5vw, 1.12rem);
  line-height: 2;
}

.faq-page .faq-shortcuts {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 23px;
}

.faq-page .faq-shortcuts a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 7px 13px;
  border: 1px solid #bee1db;
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  color: #12695f;
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
  transition: transform .18s ease, background-color .18s ease, border-color .18s ease;
}

.faq-page .faq-shortcuts a:hover,
.faq-page .faq-shortcuts a:focus-visible {
  border-color: var(--faq-accent);
  background: var(--faq-accent);
  color: #fff;
  transform: translateY(-2px);
  outline: none;
}

.faq-page .faq-notice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 24px;
  padding: 13px 15px;
  border: 1px solid rgba(13, 132, 121, .18);
  border-radius: 15px;
  background: rgba(255,255,255,.7);
  color: #3d5960;
  font-size: .93rem;
  line-height: 1.9;
}

.faq-page .faq-notice b {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  margin-top: 3px;
  border-radius: 50%;
  background: var(--faq-accent);
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: .82rem;
}

.faq-page .faq-section {
  margin: 24px 0 0;
  padding: clamp(20px, 3vw, 31px);
  border: 1px solid var(--faq-line);
  border-radius: 25px;
  background: var(--faq-surface);
  box-shadow: 0 10px 30px rgba(9, 54, 56, .045);
}

.faq-page .faq-section-heading {
  display: flex;
  align-items: center;
  gap: 13px;
  padding-bottom: 19px;
  border-bottom: 1px solid var(--faq-line);
}

.faq-page .faq-section-number {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 43px;
  height: 43px;
  border-radius: 14px;
  background: linear-gradient(145deg, #0e968b, #08766e);
  color: #fff;
  font-size: 1.1rem;
  font-weight: 900;
  box-shadow: 0 8px 17px rgba(8, 127, 118, .2);
}

.faq-page .faq-section-heading h2 {
  margin: 0;
  color: var(--faq-ink);
  font-size: clamp(1.18rem, 2.2vw, 1.5rem);
  line-height: 1.35;
}

.faq-page .faq-section-heading p {
  margin: 5px 0 0;
  color: var(--faq-muted);
  font-size: .92rem;
}

.faq-page .faq-list {
  display: grid;
  gap: 11px;
  margin-top: 20px;
}

/* Native <details> accordion, without JavaScript */
.faq-page .faq-item {
  overflow: hidden;
  border: 1px solid #dceae8;
  border-radius: 17px;
  background: #fff;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.faq-page .faq-item:hover {
  border-color: #a8d9d2;
  box-shadow: 0 8px 18px rgba(7, 97, 91, .065);
  transform: translateY(-1px);
}

.faq-page .faq-item[open] {
  border-color: #9acfc7;
  box-shadow: 0 10px 24px rgba(7, 97, 91, .075);
}

.faq-page .faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 62px;
  padding: 15px 18px;
  color: #12363e;
  cursor: pointer;
  list-style: none;
  font-size: 1rem;
  font-weight: 850;
  line-height: 1.8;
  user-select: none;
}

.faq-page .faq-item summary::-webkit-details-marker {
  display: none;
}

.faq-page .faq-item summary::after {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  content: "+";
  border-radius: 10px;
  background: var(--faq-accent-soft);
  color: var(--faq-accent);
  font-family: Arial, sans-serif;
  font-size: 1.55rem;
  font-weight: 400;
  line-height: 1;
  transition: transform .2s ease, background-color .2s ease, color .2s ease;
}

.faq-page .faq-item[open] summary {
  color: #08786f;
}

.faq-page .faq-item[open] summary::after {
  background: var(--faq-accent);
  color: #fff;
  transform: rotate(45deg);
}

.faq-page .faq-item summary:focus-visible {
  outline: 3px solid rgba(8, 127, 118, .22);
  outline-offset: -3px;
}

.faq-page .faq-answer {
  padding: 1px 20px 20px;
  border-top: 1px solid #e4efed;
  color: #3b535b;
  font-size: .98rem;
  line-height: 2.05;
  animation: faq-answer-in .18s ease both;
}

.faq-page .faq-answer p {
  margin: 14px 0 0;
}

.faq-page .faq-answer p:first-child {
  margin-top: 15px;
}

.faq-page .faq-answer ul,
.faq-page .faq-answer ol {
  margin: 13px 0 0;
  padding-right: 21px;
}

.faq-page .faq-answer li + li {
  margin-top: 6px;
}

.faq-page .faq-answer a {
  color: #087b72;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: rgba(8,123,114,.3);
  text-underline-offset: 3px;
}

.faq-page .faq-answer strong {
  color: #123e42;
}

.faq-page .faq-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin-top: 27px;
  padding: clamp(24px, 4vw, 37px);
  border: 1px solid #cfe8e4;
  border-radius: 25px;
  background: linear-gradient(120deg, #0b8178 0%, #0c746c 55%, #14655f 100%);
  color: #fff;
  box-shadow: 0 16px 34px rgba(7, 98, 92, .16);
}

.faq-page .faq-cta h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.25rem, 2.4vw, 1.75rem);
}

.faq-page .faq-cta p {
  max-width: 690px;
  margin: 8px 0 0;
  color: rgba(255,255,255,.86);
  line-height: 1.9;
}

.faq-page .faq-cta-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: 10px;
}

.faq-page .faq-cta-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid #fff;
  border-radius: 13px;
  background: #fff;
  color: #08776f;
  font-weight: 900;
  text-decoration: none;
  transition: transform .18s ease, background-color .18s ease, color .18s ease;
}

.faq-page .faq-cta-actions a:hover,
.faq-page .faq-cta-actions a:focus-visible {
  transform: translateY(-2px);
  outline: none;
}

.faq-page .faq-cta-actions .faq-cta-secondary {
  background: transparent;
  color: #fff;
}

.faq-page .faq-cta-actions .faq-cta-secondary:hover,
.faq-page .faq-cta-actions .faq-cta-secondary:focus-visible {
  background: rgba(255,255,255,.14);
}

@keyframes faq-answer-in {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 720px) {
  .faq-page {
    width: min(100% - 22px, 620px);
    padding: 21px 0 55px;
  }

  .faq-page .faq-hero {
    padding: 24px 18px;
    border-radius: 22px;
  }

  .faq-page .faq-hero h1 {
    font-size: 1.82rem;
  }

  .faq-page .faq-hero > p {
    font-size: .98rem;
    line-height: 1.95;
  }

  .faq-page .faq-shortcuts {
    gap: 7px;
  }

  .faq-page .faq-shortcuts a {
    min-height: 35px;
    padding: 6px 10px;
    font-size: .82rem;
  }

  .faq-page .faq-section {
    padding: 18px 14px;
    border-radius: 20px;
  }

  .faq-page .faq-section-heading {
    gap: 10px;
    padding-bottom: 15px;
  }

  .faq-page .faq-section-number {
    width: 37px;
    height: 37px;
    border-radius: 12px;
  }

  .faq-page .faq-section-heading h2 {
    font-size: 1.14rem;
  }

  .faq-page .faq-section-heading p {
    font-size: .83rem;
    line-height: 1.7;
  }

  .faq-page .faq-item {
    border-radius: 14px;
  }

  .faq-page .faq-item summary {
    min-height: 57px;
    padding: 12px 13px;
    gap: 10px;
    font-size: .94rem;
  }

  .faq-page .faq-item summary::after {
    width: 27px;
    height: 27px;
    border-radius: 9px;
    font-size: 1.35rem;
  }

  .faq-page .faq-answer {
    padding: 1px 14px 16px;
    font-size: .93rem;
    line-height: 2;
  }

  .faq-page .faq-cta {
    display: block;
    padding: 23px 18px;
    border-radius: 21px;
  }

  .faq-page .faq-cta-actions {
    margin-top: 18px;
  }

  .faq-page .faq-cta-actions a {
    flex: 1 1 100%;
    width: 100%;
  }
}
/* END PDRYAR FAQ ACCORDION POLISH */

