/* Interaction geometry only. Page and slide composition use native core block controls. */
[data-carousel-viewport] > .wp-block-group {overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;}
[data-carousel-viewport] > .wp-block-group > .wp-block-group {scroll-snap-align:start;}
/* Opt-in testimonial viewport and generated controls. Slide layout/typography are native blocks. */
:is(.is-style-orzech-testimonials,.is-style-orzech-service-reasons) [data-carousel-viewport] > .wp-block-group {height:var(--orzech-carousel-height,auto);scrollbar-width:none;overflow-y:hidden;}
:is(.is-style-orzech-testimonials,.is-style-orzech-service-reasons) [data-carousel-viewport] > .wp-block-group::-webkit-scrollbar {display:none;}
[data-orzech-carousel] [data-carousel-controls] {display:flex;align-items:center;justify-content:center;gap:0;margin-top:22px;}
[data-orzech-carousel] [data-carousel-controls][hidden] {display:none;}
[data-orzech-carousel] [data-carousel-controls] button {display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:0;background:transparent;color:inherit;cursor:pointer;}
[data-orzech-carousel] [data-carousel-controls] button:hover {color:var(--wp--preset--color--primary);}
[data-orzech-carousel] [data-carousel-controls] button:focus-visible {outline:2px solid currentColor;outline-offset:2px;}
[data-orzech-carousel] [data-carousel-counter] {width:53px;text-align:center;font-family:var(--wp--preset--font-family--inter);font-size:16px;font-weight:300;line-height:20px;white-space:pre;}
@media(max-width:999px){[data-orzech-carousel] [data-carousel-controls]{justify-content:flex-start;}}
[data-orzech-comparison] [data-comparison-images] {position:relative;}
[data-orzech-comparison] img {width:100%;height:auto;display:block;}
[data-orzech-comparison] [data-comparison-after] {position:absolute;inset:0;clip-path:inset(0 0 0 50%);}
[data-orzech-comparison] input,[data-orzech-finance] input[type=range] {width:100%;}
[data-orzech-finance] select,[data-orzech-finance] button {max-width:100%;font:inherit;}
[data-orzech-finance] button {cursor:pointer;}
@media(prefers-reduced-motion:reduce){[data-carousel-viewport] > .wp-block-group {scroll-behavior:auto;}}

/* Native dialog containment and fixed quick-quote trigger: modal behavior geometry. */
[data-quote-controls] > [data-quote-open] {position:fixed;right:0;bottom:0;left:0;width:100%;z-index:20;border:0;border-radius:0;padding:14px 20px;background:var(--wp--preset--color--primary);color:#fff;font-family:var(--wp--preset--font-family--inter);font-size:14px;font-weight:700;line-height:20px;text-transform:uppercase;box-shadow:none;cursor:pointer;}
/* Native Groups own heading/body appearance. Dialog and generated controls need containment and positioning. */
[data-quote-controls] dialog {position:fixed;inset:0 0 0 auto;margin:0;width:320px;max-width:calc(100vw - 16px);height:100dvh;max-height:100dvh;padding:0;border:0;border-radius:0;background:#fff;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;box-shadow:-8px 0 32px rgba(0,0,0,.2);}
[data-quote-controls] dialog::backdrop {background:rgba(0,29,43,.85);}
[data-quote-close-control] {position:sticky;top:0;height:0;z-index:102;}
[data-quote-close] {position:absolute;top:6px;right:4px;display:flex;align-items:center;justify-content:center;width:40px;height:44px;padding:0;border:0;border-radius:0;background:transparent;color:#1C1C1C;box-shadow:none;cursor:pointer;}
[data-quote-close]:focus-visible,[data-quote-open]:focus-visible {outline:2px solid currentColor;outline-offset:-4px;}
html:has([data-quote-controls] dialog:modal) {overflow:hidden;}

/* Desktop docking breakpoint is independent of the global native visibility ranges. Native Group attributes own sidebar width and page layout. */
[data-orzech-dock-host][data-dock-collapsed] {display:none;}
/* Template Part has no wrapper layout control; its extra box otherwise confines native Group sticky to its own height. */
.wp-block-template-part:has(> .wp-block-group > .wp-block-orzech-quote-dialog[data-dock-enabled="1"]) {display:contents;}
[data-quote-controls][data-quote-docked] dialog {position:static;margin:0;padding:0;border:0;max-width:100%;width:100%;height:auto;max-height:var(--orzech-quote-available-height,100dvh);box-sizing:border-box;box-shadow:none;}
[data-quote-controls] [hidden] {display:none;}

/* Imported provider presentation markers retain number-field calculations. */
.gform_wrapper .gfield.hide-field {display:none;}

/* Provider gaps: native block settings retain input size, label size and colors. */
:is([data-quote-controls],.wp-block-orzech-quote-dialog) .gform_wrapper.gform-theme--framework {--gf-form-gap-y:24px;--gf-form-gap-x:24px;--gf-label-space-primary:3px;--gf-label-choice-field-space-primary:3px;--gf-label-space-x-secondary:6px;--gf-label-space-y-secondary:0px;--gf-label-space-y-lg-secondary:0px;--gf-ctrl-size-lg:50px;--gf-ctrl-choice-size-lg:20px;--gf-ctrl-label-font-family-primary:var(--wp--preset--font-family--inter);--gf-ctrl-label-font-family-secondary:var(--wp--preset--font-family--inter);--gf-ctrl-label-font-size-secondary:14px;--gf-ctrl-label-line-height-secondary:20px;--gf-ctrl-btn-font-family:var(--wp--preset--font-family--inter);--gf-ctrl-btn-font-size:20px;--gf-ctrl-btn-font-weight:400;--gf-ctrl-btn-line-height:20px;--gf-ctrl-btn-size:54px;}
:is([data-quote-controls],.wp-block-orzech-quote-dialog) .gform_wrapper.gform-theme--framework .gform_footer {margin-top:8px;}
:is([data-quote-controls],.wp-block-orzech-quote-dialog) .gform_wrapper.gform-theme--framework .gform_footer button.gform_button.button {inline-size:100%;min-block-size:54px;font-size:20px;}
:is([data-quote-controls],.wp-block-orzech-quote-dialog) .gform_wrapper.gform-theme--framework .gsection {display:none;}
:is([data-quote-controls],.wp-block-orzech-quote-dialog) .gform_required_legend {display:none;}
:is([data-quote-controls],.wp-block-orzech-quote-dialog) .gform_wrapper.gform-theme--framework .gfield--type-consent legend {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
:is([data-quote-controls],.wp-block-orzech-quote-dialog) .gform_wrapper.gform-theme--framework .gfield--type-consent {--gf-ctrl-label-line-height-secondary:19.6px;--gf-label-space-x-secondary:12px;}
/* Choice rows and textarea height are provider field internals, not editable core block layout. */
:is([data-quote-controls],.wp-block-orzech-quote-dialog) .gform_wrapper.gform-theme--framework .gfield_checkbox {display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;margin-top:5px;}
:is([data-quote-controls],.wp-block-orzech-quote-dialog) .gform_wrapper.gform-theme--framework textarea {height:120px;min-height:120px;}

/* Provider controls do not expose submit radius/shadow or modal field gaps in their block settings. */
:is([data-quote-controls],.wp-block-orzech-quote-dialog) .gform_wrapper.gform-theme--framework {--gf-ctrl-font-family:var(--wp--preset--font-family--inter);--gf-ctrl-placeholder-font-family:var(--wp--preset--font-family--inter);}
:is([data-quote-controls],.wp-block-orzech-quote-dialog) .gform_wrapper.gform-theme--framework .gform_footer button.gform_button.button {border-radius:14px;box-shadow:0 3px 8px rgba(0,0,0,.18);}
[data-quote-controls]:not([data-quote-docked]) .gform_wrapper.gform-theme--framework {--gf-form-gap-y:16px;--gf-ctrl-btn-font-size:18px;--gf-ctrl-btn-size:48px;}
[data-quote-controls]:not([data-quote-docked]) .gform_wrapper.gform-theme--framework textarea {height:50px;min-height:50px;}
[data-quote-controls]:not([data-quote-docked]) .gform_wrapper.gform-theme--framework .gform_footer button.gform_button.button {min-block-size:48px;font-size:18px;}

/* Image-height-relative overlap is unavailable in core spacing controls. Internal geometry leaves native outer margin/padding controls effective. */
[data-orzech-promo] [data-promo-offset] {position:relative;z-index:1;margin-top:var(--orzech-promo-offset,0px);}

/* Background video crop and pause affordance; native Cover owns its geometry and overlay. */
[data-orzech-background-video] {position:absolute;inset:0;overflow:hidden;visibility:hidden;}
[data-orzech-video-ready] > [data-orzech-background-video] {visibility:visible;}
[data-orzech-background-video] iframe {position:absolute;left:50%;top:50%;width:var(--orzech-video-width,100%);height:var(--orzech-video-height,100%);transform:translate(-50%,-50%);border:0;pointer-events:none;}
[data-orzech-video-ready]>.wp-block-cover__image-background {opacity:0;}
[data-background-video-toggle] {position:absolute;right:16px;bottom:16px;z-index:2;}


/* Gravity Forms exposes submit color, but no complete Figma typography,
   gradient, pill radius or shadow settings. Fields and configuration are intact. */
:is([data-quote-controls],.wp-block-orzech-quote-dialog) .gform_wrapper.gform-theme--framework .gform_footer :is(button,input).gform_button.button.gform_button {
 font-family:var(--wp--preset--font-family--button);font-size:16px;line-height:24px;font-weight:600;letter-spacing:-.04em;
 padding:16px 32px;min-block-size:56px;border:0;border-radius:1000px;
 color:#fff;background:var(--wp--preset--gradient--red);
 box-shadow:inset 0 4px 4px rgba(255,255,255,.25),0 4px 6px rgba(0,0,0,.12);
}
:is([data-quote-controls],.wp-block-orzech-quote-dialog) .gform_wrapper.gform-theme--framework .gform_footer :is(button,input).gform_button.button.gform_button:is(:hover,:focus-visible,:active):not(:disabled) {
 background-image:linear-gradient(rgba(255,255,255,.1),rgba(255,255,255,.1)),var(--wp--preset--gradient--red);
}
:is([data-quote-controls],.wp-block-orzech-quote-dialog) .gform_wrapper.gform-theme--framework .gform_footer :is(button,input).gform_button.button.gform_button:focus-visible {outline:2px solid #EB5D73;outline-offset:3px;}
:is([data-quote-controls],.wp-block-orzech-quote-dialog) .gform_wrapper.gform-theme--framework .gform_footer :is(button,input).gform_button.button.gform_button:disabled {opacity:.75;}

/* Generated model/review controls follow the source arrow/counter arrangement. */
[data-orzech-carousel]:not(.is-style-orzech-testimonials):not(.is-style-orzech-service-reasons) [data-carousel-controls] {color:var(--wp--preset--color--blue);justify-content:flex-start;}
[data-orzech-carousel] [data-carousel-controls] button:disabled {opacity:.35;cursor:default;}

/* Pagination dots are generated interaction controls; native blocks own the cards. */
[data-carousel-controls] [hidden] {display:none !important;}
[data-carousel-pagination="dots"] [data-carousel-controls] {justify-content:center !important;}
[data-carousel-dots] {display:flex;align-items:center;gap:8px;}
[data-carousel-controls] button[data-carousel-dot] {width:24px;height:24px;position:relative;}
[data-carousel-dot]::before {content:"";width:9px;height:9px;border-radius:50%;background:currentColor;}
[data-carousel-dot][aria-pressed="true"]::before {width:14px;height:14px;border:3px solid currentColor;background:transparent;box-sizing:border-box;}

/* Phase 13: generated calculator controls have no per-result/preset native style controls.
   Native Columns own the panel geometry, colors and spacing; only generated internals are styled. */
[data-orzech-finance] [data-finance-amount] {font-size:48px;line-height:1.2;font-weight:700;}
[data-orzech-finance] [data-finance-daily] {font-size:56px;line-height:1.18;font-weight:700;}
[data-orzech-finance] [data-finance-monthly] {font-size:36px;line-height:1.33;font-weight:700;}
[data-orzech-finance] [data-finance-range] {accent-color:var(--wp--preset--color--primary);}
[data-orzech-finance] [data-finance-preset] {display:inline-flex;vertical-align:top;align-items:center;justify-content:center;width:calc(25% - 6px);min-height:76px;padding:10px 6px;border:0;border-top:2px solid transparent;border-radius:0;background:transparent;color:inherit;font-size:12px;line-height:1.4;text-align:center;}
[data-orzech-finance] [data-finance-preset][aria-pressed=true] {border-top-color:var(--wp--preset--color--primary);}
[data-orzech-finance] [data-finance-term] {width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;background:var(--wp--preset--color--light);color:inherit;}
[data-orzech-finance] :is([data-finance-preset],[data-finance-range],[data-finance-term]):focus-visible {outline:2px solid var(--wp--preset--color--primary);outline-offset:3px;}

/* Phases 14/15: installed Gravity Forms block exposes submit colors but no
   complete typography, gradient or radius settings. Native blocks own the page layout. */
body:is(.page-id-834,.page-id-836,.page-id-632,.page-id-772,.page-id-765,.page-id-728,.page-id-838) .gform_wrapper.gform-theme--framework.gform-theme :is(.gform_footer,.gform_page_footer) :is(button,input).gform_button.button {
 font-family:var(--wp--preset--font-family--button);font-size:16px;line-height:24px;font-weight:600;
 padding:16px 32px;min-block-size:56px;border:0;border-radius:1000px;
 color:#fff;background:var(--wp--preset--gradient--red);
 box-shadow:inset 0 4px 4px rgba(255,255,255,.25),0 4px 6px rgba(0,0,0,.12);
}

/* Native navigation links have no adjacent featured-image setting. These
   opt-in Group styles only paint API-resolved images; native controls own
   all layout, spacing, height, color and typography. */
.is-style-orzech-adjacent-previous,
.is-style-orzech-adjacent-next { background-size: cover; background-position: center; cursor: pointer; }
.is-style-orzech-adjacent-previous a,
.is-style-orzech-adjacent-next a { text-decoration: none; }
.is-style-orzech-adjacent-previous a:focus-visible,
.is-style-orzech-adjacent-next a:focus-visible { outline: 3px solid currentColor; outline-offset: 6px; }

/* Search masonry is opt-in; native Grid retains column counts and gaps. */
.is-style-orzech-search-results { grid-auto-rows: 1px; grid-auto-flow: dense; align-items: start; }
/* Page numbers are generated spans/links with no native current-state shape control. */
.is-style-orzech-blog-pages .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; border-radius: 50%; text-decoration: none; }
.is-style-orzech-blog-pages .page-numbers.current { color: #fff; background: var(--wp--preset--color--blue); }

/* Generated finance inputs/results lack native controls for their internal decoration. */
.is-style-orzech-promotion-calculator .wp-block-orzech-finance-controls > p:first-of-type {margin-top:0;margin-bottom:32px;font-weight:700;}
.is-style-orzech-promotion-calculator [data-finance-amount] {font-size:48px;letter-spacing:-.05em;}
.is-style-orzech-promotion-calculator [data-finance-range] {appearance:none;display:block;block-size:8px;border:0;border-radius:8px;background:linear-gradient(to right,var(--wp--preset--color--primary) 0 var(--orzech-range-progress),#ededed var(--orzech-range-progress) 100%);margin:40px 0 32px;cursor:pointer;}
.is-style-orzech-promotion-calculator [data-finance-range]::-webkit-slider-thumb {appearance:none;width:32px;height:32px;border:1px solid #ededed;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0002;}
.is-style-orzech-promotion-calculator [data-finance-range]::-moz-range-thumb {width:32px;height:32px;border:1px solid #ededed;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0002;}
.is-style-orzech-promotion-calculator .orzech-finance-presets {display:flex;gap:8px;}
.is-style-orzech-promotion-calculator [data-finance-preset] {flex:1;width:auto;min-height:48px;display:flex;flex-direction:column;gap:2px;border:1px solid #d3d3d3;border-radius:4px;padding:8px 4px;font-size:11px;font-weight:500;}
.is-style-orzech-promotion-calculator [data-finance-preset][aria-pressed=true] {border-color:var(--wp--preset--color--primary);}
.is-style-orzech-promotion-calculator .orzech-finance-term {margin-top:40px;margin-bottom:32px;}
.is-style-orzech-promotion-calculator [data-finance-term] {display:block;margin-top:12px;padding:18px 20px;border:0;border-radius:4px;}
.is-style-orzech-promotion-calculator .wp-block-orzech-finance-summary {margin-bottom:32px;}
.is-style-orzech-promotion-calculator .wp-block-orzech-finance-summary p {margin:0;}
.is-style-orzech-promotion-calculator .wp-block-orzech-finance-summary p:nth-child(2) {padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid #ffffff40;}
.is-style-orzech-promotion-calculator [data-finance-daily] {font-size:80px;line-height:1.2;letter-spacing:-.04em;}
.is-style-orzech-promotion-calculator [data-finance-monthly] {font-size:48px;line-height:1.2;letter-spacing:-.04em;}
.is-style-orzech-promotion-calculator .wp-block-orzech-finance-summary p:nth-child(even) {font-size:24px;}
@media(max-width:689px){
 .is-style-orzech-promotion-calculator .orzech-finance-presets {flex-wrap:wrap;}
 .is-style-orzech-promotion-calculator [data-finance-preset] {flex:1 0 calc(50% - 8px);}
 .is-style-orzech-promotion-calculator [data-finance-amount] {font-size:40px;}
 .is-style-orzech-promotion-calculator [data-finance-daily] {font-size:56px;}
 .is-style-orzech-promotion-calculator [data-finance-monthly] {font-size:36px;}
}
/* Promotions review controls are generated; native Rows own card widths and spacing. */
.is-style-orzech-google-reviews [data-carousel-viewport]>.wp-block-group {scrollbar-width:none;overflow-y:hidden;align-items:stretch;}
.is-style-orzech-google-reviews [data-carousel-viewport]>.wp-block-group::-webkit-scrollbar {display:none;}
.is-style-orzech-google-reviews [data-carousel-counter] {display:none;}
[data-orzech-carousel].is-style-orzech-google-reviews [data-carousel-controls] {justify-content:flex-end;gap:14px;margin-top:40px;}
.is-style-orzech-google-reviews [data-carousel-controls] button {border-radius:12px;width:52px;height:52px;background:#f6f6f6;color:#111;}
.is-style-orzech-google-reviews [data-carousel-controls] button[data-carousel-next] {background:var(--wp--preset--gradient--red);color:white;box-shadow:inset 0 4px 4px #ffffff40;}
.is-style-orzech-google-reviews [data-carousel-controls] button[data-review-autoplay] {width:auto;height:auto;padding:8px 12px;font-size:12px;margin-right:auto;}
.is-style-orzech-google-reviews .orzech-review-body:not([data-expanded]) {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;}
.is-style-orzech-google-reviews [data-review-more] {font:inherit;font-size:12px;padding:0;border:0;background:none;color:#757575;cursor:pointer;text-align:left;}
.is-style-orzech-google-reviews [data-review-more]:focus-visible {outline:2px solid var(--wp--preset--color--primary);outline-offset:3px;}

/* Four/five review-card widths need one breakpoint beyond the two native responsive bands.
   Native Row flex-size uses this value; all tablet/mobile sizes remain native attributes. */
.is-style-orzech-google-reviews {--orzech-review-columns:4;}
@media(min-width:1700px){.is-style-orzech-google-reviews {--orzech-review-columns:5;}}
