/* Shared extensions for BLASK's portfolio, service and booking pages. */
.inner-main{padding-bottom:24px}.page-intro{padding-top:54px;padding-bottom:46px}.breadcrumb{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:#b4b4b4;font-size:12px;margin-bottom:20px;text-decoration:underline;text-underline-offset:5px}.breadcrumb:hover{color:var(--focus)}
.page-intro h1{max-width:22ch;font-size:clamp(38px,4.2vw,60px);line-height:1.1}.page-intro>p:not(.section-label){margin-top:22px;max-width:65ch;color:#bdbdbd;font-size:16px;line-height:1.7}.page-intro>.pricing-note,.pricing-note{font-size:12px!important;color:#a9a9a9!important;line-height:1.65}.page-intro>.pricing-note{max-width:80ch!important;margin-top:18px!important}.page-intro>.section-label{margin:0 0 15px}.section-more{margin-top:25px;font-size:13px}
.portfolio-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:32px}.portfolio-filters button{border:1px solid #484848;border-radius:8px;min-height:44px;padding:10px 18px;color:#c7c7c7;font-size:13px}.portfolio-filters button[aria-pressed=true]{background:#182b3e;border-color:var(--accent);color:#f5f5f5}.portfolio-filters span{margin-left:10px;color:#91c5ff}.portfolio-filters button:hover{border-color:#8a8a8a}
.portfolio-list{display:grid;gap:52px}.project-preview{display:grid;grid-template-columns:1.35fr 1fr;gap:44px;align-items:center;padding-bottom:52px;border-bottom:1px solid var(--border)}.project-preview-media{min-width:0}.project-preview .comparison{aspect-ratio:1.45}.project-preview-copy h2{font-size:clamp(26px,2.5vw,36px);line-height:1.15}.project-preview-copy h2 a:hover{color:#80beff}.project-preview-copy>p:not(.section-label){margin-top:18px;font-size:14px;line-height:1.7;color:#bdbdbd}.project-preview-copy .text-link{margin-top:24px}.project-facts{display:flex;gap:36px;margin:24px 0 0}.project-facts dt{font-size:11px;color:#adadad}.project-facts dd{margin:6px 0 0;font-size:19px;font-weight:500}
.case-media .comparison{aspect-ratio:2;max-height:670px}.case-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:80px;align-items:start;margin-top:56px}.case-story{display:grid;gap:42px}.case-story h2{font-size:30px;margin-bottom:18px}.case-story p,.process-list{font-size:15px;line-height:1.8;color:#c3c3c3}.process-list{padding-left:22px;margin:0}.process-list li{padding:4px 0 4px 8px}.process-list li::marker{color:#80beff}.case-estimate{padding:32px;border:1px solid #484848;border-radius:16px;background:#1c1c1c;position:sticky;top:120px}.estimate-price{font-size:44px;font-weight:600;letter-spacing:-.03em;line-height:1.2;margin-bottom:18px}.case-estimate>p:not(.estimate-price):not(.section-label){color:#bdbdbd;font-size:14px;line-height:1.65;margin-top:18px}.case-estimate .button{margin-top:26px;width:100%;font-size:13px}.case-estimate .text-link{margin-top:18px;font-size:13px}.related-project{margin-top:64px}.related-project h2{font-size:30px;margin-bottom:24px}.related-link{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;border-block:1px solid var(--border);font-size:22px}.related-link:hover{color:#80beff}
.service-details{display:grid;gap:30px}.service-detail{display:grid;grid-template-columns:1fr 1.2fr;overflow:hidden;border:1px solid #414141;border-radius:16px;background:#1b1b1b}.service-detail>img{width:100%;height:100%;max-height:420px;object-fit:cover}.service-detail>div{padding:38px}.service-detail-icon{display:block;font-size:30px;color:#80beff;margin-bottom:22px}.service-detail h2{font-size:32px}.service-detail>div>p{font-size:15px;line-height:1.75;color:#bdbdbd;margin-top:20px}.service-detail-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px}.service-detail-bottom>p{font-size:12px;color:#bdbdbd}.service-detail-bottom strong{display:block;color:#f5f5f5;font-size:25px;margin-top:5px}.service-detail-bottom .text-link{font-size:13px}
.packages-section{margin-top:64px}.packages-section .section-heading h2{font-size:36px}.package-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.package{border:1px solid #434343;padding:28px;border-radius:16px;background:#1b1b1b;display:flex;flex-direction:column}.package h3{font-size:25px}.package>p:not(.package-price){font-size:14px;line-height:1.7;color:#bdbdbd;margin-top:18px}.package ul{padding-left:18px;color:#bdbdbd;font-size:13px;line-height:1.7;margin:20px 0 24px}.package ul li::marker{color:#80beff}.package-price{font-size:28px;margin-top:auto;font-weight:600}.package-price small{display:block;font-size:11px;font-weight:400;color:#adadad;margin-top:8px}.package .button{margin-top:25px;font-size:13px}
.booking-faq{margin-top:56px;max-width:1040px}.booking-faq h2{font-size:30px;margin-bottom:28px}.booking-faq details{border-top:1px solid var(--border);padding:6px 0}.booking-faq details:last-child{border-bottom:1px solid var(--border)}.booking-faq summary{cursor:pointer;min-height:52px;padding:14px 8px 14px 0;font-size:15px;font-weight:500}.booking-faq summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.booking-faq details p{color:#bdbdbd;font-size:14px;line-height:1.75;padding:0 12px 18px 0}.selection-notice{padding:16px 20px;border:1px solid #335778;border-radius:8px;background:#182b3e;font-size:13px!important;color:#d3e8ff!important;display:flex;align-items:baseline;gap:12px}.booking-page>.booking{margin-top:0}
@media(max-width:1000px){.page-intro{padding-top:36px}.project-preview{gap:28px;grid-template-columns:1.1fr 1fr}.project-facts{gap:22px}.project-facts dd{font-size:17px}.case-layout{gap:36px}.service-detail>div{padding:28px}.service-detail h2{font-size:28px}.service-detail-bottom{align-items:start;flex-direction:column;gap:16px}.package{padding:22px}.package h3{font-size:22px}.package .button{padding-inline:16px;gap:14px}}
@media(max-width:700px){.inner-main{padding-bottom:0}.page-intro{padding-top:24px;padding-bottom:32px}.breadcrumb{margin-bottom:14px}.page-intro h1{font-size:36px;line-height:1.12}.page-intro>p:not(.section-label){font-size:14px;margin-top:20px}.portfolio-filters{gap:8px;margin-bottom:24px}.portfolio-filters button{padding-inline:14px;font-size:12px}.project-preview{grid-template-columns:1fr;gap:22px;padding-bottom:32px}.project-preview .comparison{aspect-ratio:1.35}.project-preview-copy h2{font-size:28px}.project-preview-copy .section-label{margin-bottom:12px}.project-preview-copy>p:not(.section-label){font-size:14px;margin-top:14px}.portfolio-list{gap:32px}.project-facts{gap:28px}.case-media .comparison{aspect-ratio:1.25}.case-layout{grid-template-columns:1fr;gap:30px;margin-top:32px}.case-story{gap:28px}.case-story h2{font-size:27px}.case-story p,.process-list{font-size:14px}.case-estimate{position:static;padding:24px}.estimate-price{font-size:38px}.related-project{margin-top:40px}.related-project h2{font-size:27px}.related-link{font-size:19px}.service-detail{grid-template-columns:1fr}.service-detail>img{height:190px}.service-detail>div{padding:24px}.service-detail h2{font-size:28px}.service-detail-icon{font-size:26px;margin-bottom:18px}.service-detail>div>p{font-size:14px}.service-detail-bottom{flex-direction:row;align-items:center;gap:14px}.service-detail-bottom .text-link{font-size:12px;gap:10px}.service-detail-bottom strong{font-size:23px}.package-list{grid-template-columns:1fr;gap:16px}.packages-section{margin-top:40px}.packages-section .section-heading h2{font-size:30px}.package{padding:26px}.package h3{font-size:25px}.booking-faq{margin-top:40px}.booking-faq h2{font-size:28px}.selection-notice{padding:14px;display:block}.selection-notice>i{margin-right:8px}.section-more{font-size:12px;gap:12px}}

/* One continuous FAQ surface, with a separate editorial introduction. */
.booking-faq{display:grid;grid-template-columns:.8fr 1.6fr;gap:64px;align-items:start;max-width:1440px;margin-top:72px}
.faq-intro-icon{display:block;color:#80beff;font-size:24px;margin-bottom:22px;line-height:1}
.booking-faq .faq-intro h2{font-size:34px;line-height:1.12;max-width:12ch;margin:0 0 18px}
.faq-intro>p{color:#adadad;font-size:14px;line-height:1.75;max-width:30ch}
.faq-intro .text-link{margin-top:22px;font-size:12px;gap:16px}
.faq-list{border:1px solid #404040;border-radius:16px;overflow:hidden;background:linear-gradient(120deg,#202020,#181818)}
.booking-faq .faq-item{padding:0;border:0;transition:background-color .25s ease}
.booking-faq .faq-item:last-child{border-bottom:0}
.booking-faq .faq-item+.faq-item{border-top:1px solid #383838}
.booking-faq .faq-item[open]{background:rgba(8,124,245,.045)}
.booking-faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;padding:24px;font-size:16px;line-height:1.5;font-weight:550;min-height:84px}
.booking-faq summary::-webkit-details-marker{display:none}
.booking-faq summary::marker{content:''}
.booking-faq summary:hover{color:#9accff}
.booking-faq summary:focus-visible{outline:2px solid #71b8ff;outline-offset:-5px;border-radius:10px}
.faq-toggle{width:32px;height:32px;display:grid;place-items:center;flex-shrink:0;color:#aeb9c5;border:1px solid #50555a;border-radius:50%;font-size:11px;transition:color .2s,border-color .2s,background-color .2s}
.faq-toggle i{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.faq-item[open] .faq-toggle{color:#a7d4ff;border-color:#3d78ae;background:#1c344b}
.faq-item[open] .faq-toggle i{transform:rotate(90deg)}
.faq-answer{overflow:hidden}
.booking-faq .faq-answer-inner{padding:0 72px 26px 24px}
.booking-faq .faq-answer p{font-size:14px;color:#bfc7ce;line-height:1.8;padding:0;margin:0;max-width:60ch}
@media(max-width:1000px){.booking-faq{grid-template-columns:.8fr 1.5fr;gap:32px}.booking-faq .faq-intro h2{font-size:30px}.booking-faq summary{font-size:15px;padding:22px;gap:18px}.booking-faq .faq-answer-inner{padding:0 56px 24px 22px}}
@media(max-width:700px){.booking-faq{grid-template-columns:1fr;gap:24px;margin-top:44px}.faq-intro-icon{margin-bottom:16px;font-size:22px}.booking-faq .faq-intro h2{font-size:29px;max-width:none;margin-bottom:14px}.faq-intro>p{font-size:13px;max-width:38ch}.faq-intro .text-link{margin-top:14px}.faq-list{border-radius:13px}.booking-faq summary{padding:20px 18px;gap:16px;min-height:76px;font-size:14px}.faq-toggle{width:30px;height:30px}.booking-faq .faq-answer-inner{padding:0 18px 22px}.booking-faq .faq-answer p{font-size:13px;line-height:1.8}}
@media(prefers-reduced-motion:reduce){.faq-toggle,.faq-toggle i,.booking-faq .faq-item{transition:none}}

/* Native full-card links lead to the matching service description. */
a.service-card{display:block;cursor:pointer}
a.service-card .service-link:after{display:none}
a.service-card:hover .service-link{background:var(--accent);color:#fff}
.service-detail{scroll-margin-top:calc(112px + var(--safe-top,0px))}
@media(max-width:700px){.service-detail{scroll-margin-top:calc(96px + var(--safe-top,0px))}}

/* Underline the FAQ action label, never its Font Awesome glyph. */
.faq-intro .text-link{text-decoration:none;align-items:center}
.faq-intro .text-link>span{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:9px}
.faq-intro .text-link>.fa-light{display:inline-flex;align-items:center;justify-content:center;line-height:1;width:16px;height:16px;flex:0 0 16px}
/* Align the information glyph with the first heading line. */
.faq-intro{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:14px;align-items:start}
.faq-intro-icon{grid-column:1;grid-row:1;display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin:7px 0 0;font-size:22px;line-height:1}
.faq-intro-icon>.fa-light{display:block;line-height:1}
.faq-intro>h2{grid-column:2;grid-row:1}
.faq-intro>p,.faq-intro>.text-link{grid-column:2}
.faq-intro>.text-link{justify-self:start}
@media(max-width:700px){.faq-intro{grid-template-columns:22px minmax(0,1fr);column-gap:12px}.faq-intro-icon{width:22px;height:22px;font-size:20px;margin-top:5px}}

/* Preserve the complete wheel/seat framing in supplied 4:3 pairs. */
.project-preview .comparison[data-natural-frame],.case-media .comparison[data-natural-frame]{aspect-ratio:var(--media-ratio);max-height:none}
.case-media:has([data-natural-frame]){max-width:1136px}

/* The header owns the generic booking CTA on desktop; mobile keeps the hero action. */
@media(min-width:1001px){.hero-actions>a[href="#rezerwacja"]{display:none}}

/* Contextual actions complement the persistent booking action. */
.page-cta{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-top:52px}
.page-cta h2{font-size:34px}.page-cta p{color:#adadad;font-size:14px;margin-top:15px}
.hero-actions .hero-service-cta{display:none}
@media(min-width:1001px){.hero-actions .hero-service-cta{display:inline-flex}}
@media(max-width:700px){.page-cta{align-items:flex-start;flex-direction:column;padding-top:36px;gap:24px}.page-cta h2{font-size:30px}}

/* Live illustrative estimate shares the planner's calm neutral working surface. */
.booking-estimate{margin-top:28px;padding:22px 24px;border:1px solid #3f5366;border-radius:12px;background:linear-gradient(120deg,#1c2833,#202020 74%)}
.estimate-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px}
.estimate-heading h3{font-size:16px;font-weight:550;line-height:1.4;letter-spacing:-.015em}
.estimate-heading>span{font-size:10px;line-height:1.5;color:#a9b8c5}
.estimate-values{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;margin:0}
.estimate-values dt{font-size:12px;color:#b5c0cb;line-height:1.5}
.estimate-values dd{margin:7px 0 0;color:#f5f5f5;font-size:clamp(21px,2vw,27px);font-weight:600;line-height:1.3;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.estimate-values>div:last-child dd{font-size:21px;font-weight:500}
.estimate-empty{font-size:14px;line-height:1.7;color:#c4cdd5}
.estimate-context{font-size:11px;line-height:1.7;color:#b6d7f5;margin-top:14px}
.estimate-context:empty{display:none}
.estimate-disclaimer{font-size:11px;color:#b2bac1;line-height:1.7;margin-top:16px;padding-top:14px;border-top:1px solid #ffffff14}
@media(max-width:700px){.booking-estimate{padding:20px 18px;margin-top:24px}.estimate-heading{align-items:flex-start;flex-direction:column;gap:5px;margin-bottom:18px}.estimate-heading h3{font-size:15px}.estimate-values{grid-template-columns:1fr;gap:16px}.estimate-values dd{font-size:25px}.estimate-values>div:last-child dd{font-size:20px}.estimate-empty{font-size:13px}}
