/* БулоШная v0.17: FAQ — самостоятельный блок для посетителей HoReCa.
   Используются нативные details/summary: нет зависимости от аналитики, n8n или JS. */
.faq-section{background:#F7F8F4;border-top:1px solid #E5E9E0;padding:95px 0 102px}
.faq-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);grid-template-areas:"intro items" "cta items";grid-template-rows:auto 1fr;column-gap:clamp(40px,5.5vw,90px);row-gap:14px;align-items:start}
.faq-aside{grid-area:intro;min-width:0}
.faq-aside h2{font-size:clamp(36px,3.8vw,53px);margin-bottom:22px;max-width:530px}
.faq-aside>p{color:#526258;font-size:17px;line-height:1.65;max-width:425px;margin:0 0 37px}
.faq-ask{grid-area:cta;display:flex;flex-direction:column;align-items:flex-start;gap:11px;border-top:1px solid #C8D2C7;padding-top:27px;max-width:410px}
.faq-ask strong{font-size:19px;font-weight:850;color:#203427;letter-spacing:-.025em}
.faq-ask span:not(.btn span){font-size:15px;line-height:1.55;color:#5A685C}
.faq-ask .btn{margin-top:9px;background:#24392C;border-color:#24392C;color:#fff;min-height:49px;border-radius:9px}
.faq-ask .btn:hover{background:#365441;border-color:#365441}
.faq-items{grid-area:items;min-width:0;border-top:1px solid #CED7CC}
.faq-item{border-bottom:1px solid #CED7CC;background:transparent}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 3px 23px 0;min-height:72px;cursor:pointer;list-style:none;color:#1C2B21;font-size:18px;line-height:1.35;font-weight:800;letter-spacing:-.025em}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::marker{content:''}
.faq-item summary:hover .faq-question{color:#356149}
.faq-item summary:focus-visible{outline:3px solid #F3BC20;outline-offset:4px;border-radius:4px}
.faq-toggle{width:34px;height:34px;border-radius:50%;background:#E9EFE6;display:grid;place-items:center;flex:none;position:relative;transition:background .18s,transform .2s}
.faq-toggle::before,.faq-toggle::after{content:'';display:block;position:absolute;background:#24452E;border-radius:2px}
.faq-toggle::before{width:12px;height:2px}
.faq-toggle::after{width:2px;height:12px;transition:transform .18s,opacity .18s}
.faq-item[open] .faq-toggle{background:#F8C938}
.faq-item[open] .faq-toggle::after{transform:rotate(90deg);opacity:0}
.faq-item[open] summary{padding-bottom:13px}
.faq-answer{padding:0 45px 27px 0;max-width:640px}
.faq-answer p{font-size:16px;line-height:1.65;color:#516054;margin:0}
@media(max-width:1100px){.faq-layout{gap:36px}.faq-item summary{font-size:17px}}
@media(max-width:900px){.faq-layout{display:flex;flex-direction:column;gap:26px}.faq-aside>p{margin-bottom:0}.faq-ask{max-width:none;width:100%;margin-top:0;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 20px}.faq-ask strong{flex-basis:100%}.faq-ask span:not(.btn span){flex:1 1 220px}.faq-ask .btn{margin:0;flex:none}.faq-items{width:100%;margin-top:0}}
@media(max-width:700px){.faq-section{padding:76px 0 78px}.faq-layout{gap:26px}.faq-aside h2{font-size:clamp(31px,9vw,41px);margin-bottom:16px}.faq-aside>p{font-size:15.5px;line-height:1.57}.faq-ask{margin-top:0;padding-top:20px;align-items:stretch;gap:9px}.faq-ask strong{font-size:17px}.faq-ask span:not(.btn span){font-size:14px;flex-basis:100%}.faq-ask .btn{margin-top:5px;width:100%}.faq-item summary{font-size:16px;min-height:70px;padding:18px 0;gap:14px}.faq-toggle{width:32px;height:32px}.faq-answer{padding-right:4px;padding-bottom:22px}.faq-answer p{font-size:15px;line-height:1.6}}
@media(max-width:355px){.faq-item summary{font-size:15.5px}}
@media(prefers-reduced-motion:reduce){.faq-toggle,.faq-toggle::after{transition:none}}
/* Anchor target clears the persistent site header. */
#faq{scroll-margin-top:130px}
@media(max-width:700px){#faq{scroll-margin-top:82px}}
