/*
Theme Name: Polygon PT Child
Description: Polygon PT homepage, location headings, global FAQ and service card customizations.
Template: CustumTheme
Version: 1.0.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: polygon-pt-child
License: GNU General Public License v2.0 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/* The parent loads its assets and then this active theme stylesheet. */
/* Preserve the original banner styling when the page name becomes H2. */
.inner-banner-content .polygon-location-banner-title {
    font-size: 48px;
    font-weight: 700;
    font-family: var(--vkl-family-font2);
    color: #fff;
    margin-bottom: 10px;
    letter-spacing: 1px;
}
@media (max-width: 991px) {
    .inner-banner-content .polygon-location-banner-title {
        font-size: 36px;
    }
}
@media (max-width: 576px) {
    .inner-banner-content .polygon-location-banner-title {
        font-size: 28px;
    }
}
/* Preserve linked titles' typography after removing their link. */
h4.vkl-service-item-title.text-anime-style-1 .polygon-service-card-label {
    line-height: 33px;
}
/* Plain editor content receives a readable width; the FAQ module keeps its own layout. */
.polygon-faq-editor-content > :not(.ppt-faq):not(style) {
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
}
.polygon-faq-editor-content > :first-child:not(.ppt-faq):not(style) { margin-top: 64px; }
.polygon-faq-editor-content > :last-child:not(.ppt-faq):not(style) { margin-bottom: 64px; }

/* Polygon PT FAQ: styles apply only inside this section. */
.ppt-faq {
  --ppt-ink: var(--vkl-text-text-black, #21252a);
  --ppt-orange: var(--vkl-text-text-1, #f36921);
  --ppt-pale: var(--vkl-bg-bg-2, #f2f6f4);
  --ppt-green: var(--vkl-bg-bg-1, #e4ebe7);
  background: var(--ppt-pale);
  color: var(--ppt-ink);
  padding: clamp(48px, 7vw, 100px) 0;
  font-family: var(--vkl-family-font2, "Figtree", sans-serif);
  font-size: 18px;
  line-height: 1.55;
}
.ppt-faq, .ppt-faq * { box-sizing: border-box; }
.ppt-faq .ppt-faq__container { max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.ppt-faq .ppt-faq__layout { display: flex; flex-wrap: wrap; align-items: flex-start; gap: clamp(32px, 6vw, 88px); }
.ppt-faq .ppt-faq__intro { flex: 1 1 340px; min-width: 0; }
.ppt-faq .ppt-faq__list { flex: 1.25 1 420px; min-width: 0; }
.ppt-faq .ppt-faq__label { display: inline-block; margin: 0 0 16px; padding: 4px 12px; border-radius: 8px; background: var(--ppt-green); color: var(--ppt-ink); font-size: 18px; }
.ppt-faq .ppt-faq__title { margin: 0 0 20px; font-family: var(--vkl-family-font1, "Cal Sans", sans-serif); font-size: clamp(30px, 3.5vw, 44px); font-weight: 400; line-height: 1.18; color: var(--ppt-ink); }
.ppt-faq p { margin: 0 0 16px; font-family: inherit; font-size: inherit; font-weight: 400; line-height: inherit; color: inherit; }
.ppt-faq .ppt-faq__intro p { max-width: 48ch; }
.ppt-faq .ppt-faq__cta { margin-top: 32px; }
.ppt-faq .ppt-faq__button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; max-width: 100%; padding: 14px 22px; border-radius: 8px; background: var(--ppt-orange); color: #fff; font-size: 20px; font-weight: 700; line-height: 1.3; text-align: center; text-decoration: none; transition: background-color 160ms ease; }
.ppt-faq .ppt-faq__button:hover { background: var(--ppt-ink); color: #fff; }
.ppt-faq .ppt-faq__item { margin: 0 0 20px; border: 1px solid #c5cec7; border-radius: 8px; background: var(--ppt-green); overflow: hidden; }
.ppt-faq .ppt-faq__item:last-child { margin-bottom: 0; }
.ppt-faq .ppt-faq__item[open] { background: var(--ppt-orange); border-color: var(--ppt-orange); }
.ppt-faq .ppt-faq__item summary { position: relative; display: block; list-style: none; cursor: pointer; padding: 22px 54px 22px 22px; color: var(--ppt-ink); }
.ppt-faq .ppt-faq__item summary::-webkit-details-marker { display: none; }
.ppt-faq .ppt-faq__item summary::marker { content: ""; }
.ppt-faq .ppt-faq__item summary::after { content: ""; position: absolute; right: 24px; top: 28px; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
.ppt-faq .ppt-faq__item[open] summary::after { top: 32px; transform: rotate(225deg); }
.ppt-faq .ppt-faq__item summary h3 { margin: 0; font-family: var(--vkl-family-font1, "Cal Sans", sans-serif); font-size: 20px; font-weight: 400; line-height: 1.4; color: inherit; overflow-wrap: break-word; }
.ppt-faq .ppt-faq__item summary:hover { background: rgba(33, 37, 42, 0.04); }
.ppt-faq .ppt-faq__answer { padding: 0 22px 22px; color: var(--ppt-ink); }
.ppt-faq .ppt-faq__answer p:last-child { margin-bottom: 0; }
.ppt-faq .ppt-faq__answer a { color: var(--ppt-ink); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.ppt-faq .ppt-faq__answer a:hover { text-decoration-thickness: 2px; }
.ppt-faq .ppt-faq__source { font-size: 14px; line-height: 1.5; }
.ppt-faq a:focus-visible { outline: 3px solid var(--ppt-ink); outline-offset: 4px; }
.ppt-faq .ppt-faq__item summary:focus-visible { outline: 3px solid var(--ppt-ink); outline-offset: -5px; border-radius: 8px; }
@media (max-width: 575px) {
  .ppt-faq .ppt-faq__container { padding: 0 20px; }
  .ppt-faq .ppt-faq__item summary { padding: 20px 48px 20px 18px; }
  .ppt-faq .ppt-faq__item summary::after { right: 20px; top: 26px; }
  .ppt-faq .ppt-faq__item[open] summary::after { top: 30px; }
  .ppt-faq .ppt-faq__answer { padding: 0 18px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .ppt-faq .ppt-faq__button { transition: none; }
}

