/* DroneOptical normalized component system.
 * Presentation belongs to the theme; the migration plugin only stores data.
 */

.dos-components{overflow:hidden;background:var(--dos-bg)}
.dos-components .dos-section{position:relative;width:100%;clear:both}
.dos-components .dos-section__inner{position:relative;z-index:1;width:min(calc(100% - 64px),var(--dos-shell));margin-inline:auto;display:flex;flex-wrap:wrap;align-items:stretch}
.dos-components .dos-wrap{position:relative;min-width:0;display:flex;flex:0 0 var(--dos-width,100%);width:var(--dos-width,100%);max-width:var(--dos-width,100%);order:var(--dos-order-desktop,initial)}
.dos-components .dos-wrap__inner{position:relative;width:100%;display:flex;flex-wrap:wrap;align-content:flex-start}
.dos-components .dos-item{position:relative;min-width:0;padding-inline:12px;margin-bottom:20px;flex:0 0 var(--dos-width,100%);width:var(--dos-width,100%);max-width:var(--dos-width,100%);order:var(--dos-order-desktop,initial)}
.dos-components .mcb-column-inner{position:relative;width:100%}
.dos-components .column_attr{width:100%}
.dos-components .mcb-background-overlay,.dos-components .mcb-wrap-background-overlay{position:absolute;inset:0;pointer-events:none}
.dos-components .hide-desktop{display:none!important}
.dos-components .aligncenter{text-align:center;margin-inline:auto}
.dos-components .alignright{text-align:right;margin-left:auto}
.dos-components .alignleft{text-align:left;margin-right:auto}
.dos-components .title{color:var(--dos-ink)}
.dos-components a{transition:color .18s,background .18s}

/* Imported image item. */
.dos-components .image_frame,.dos-components .image_wrapper{width:100%}
.dos-components .image_wrapper{position:relative;overflow:hidden}
.dos-components .image_frame img{max-width:100%;height:auto;margin-inline:auto}
.dos-components .wp-caption-text{margin:.6rem 0 0;color:var(--dos-muted);font-size:.86rem;line-height:1.5}

/* Buttons retain Be Class selector aliases while using lightweight markup. */
.dos-components .column_button{text-align:center}
.dos-components .dos-button{font-weight:500}
.dos-components .dos-button .button_label{display:block}

/* Video. Source is the imported provider/id, never a captured consent placeholder. */
.dos-components .content_video{position:relative;width:100%;overflow:hidden;background:#000}
.dos-components .content_video.iframe{aspect-ratio:16/9}
.dos-components .content_video iframe{display:block;width:100%;height:100%;aspect-ratio:16/9;border:0}
.dos-components .dos-video__html5{display:block;width:100%;height:auto}

/* New BeTheme Divider item. Variables from imported page / Be Class CSS are reused. */
.dos-components .mfn-divider{display:flex;width:100%;padding-top:var(--mfn-divider-gap-top,0);padding-bottom:var(--mfn-divider-gap-bottom,0)}
.dos-components .mfn-divider-center{justify-content:center}
.dos-components .mfn-divider-start{justify-content:flex-start}
.dos-components .mfn-divider-end{justify-content:flex-end}
.dos-components .mfn-divider-inner{display:block;width:100%;min-height:1px;border-color:var(--mfn-divider-border-color,var(--dos-line));border-width:var(--mfn-divider-border-width,1px);border-style:solid}
.dos-components .mfn-divider-border-dotted .mfn-divider-inner{border-style:dotted}
.dos-components .mfn-divider-border-dashed .mfn-divider-inner{border-style:dashed}
.dos-components .mfn-divider-border-double .mfn-divider-inner{border-style:double}
.dos-components .mfn-divider-border-solid .mfn-divider-inner{border-style:solid}
.dos-components .divider-addon{display:inline-block;background:var(--dos-bg);padding-inline:10px}

/* Icon box / Feature list use an internal SVG set, so Betheme icon fonts are unnecessary. */
.dos-components .mfn-icon-box{height:100%;text-align:center}
.dos-components .mfn-icon-box .icon-wrapper{display:grid;place-items:center;margin:0 auto 18px;color:var(--dos-blue)}
.dos-components .mfn-icon-box .desc-wrapper .title{font-size:1.3rem;font-weight:500}
.dos-components .dos-icon-svg{display:block;width:42px;height:42px}
.dos-components .feature_list ul{display:grid;grid-template-columns:repeat(var(--dos-feature-columns,4),minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:0}
.dos-components .feature_list li{min-width:0;padding:18px;border:1px solid var(--dos-line);background:#fff}
.dos-components .feature_list li>a{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;text-decoration:none}
.dos-components .feature_list .icon{display:grid;place-items:center;color:var(--dos-blue)}
.dos-components .feature_list .title{font-weight:500}

/* Accessible accordion. All answers remain server-rendered in HTML. */
.dos-components .accordion{width:100%;margin:20px 0 40px}
.dos-components .accordion>.title{margin-bottom:24px}
.dos-components .accordion .question{position:relative;border-top:1px solid var(--dos-line)}
.dos-components .accordion .question:last-child{border-bottom:1px solid var(--dos-line)}
.dos-components .accordion .question>.title{position:relative;display:block;width:100%;margin:0;padding:18px 46px 18px 0;border:0;background:transparent;color:var(--dos-ink);font:inherit;font-size:1.05rem;font-weight:500;line-height:1.5;text-align:left;cursor:pointer}
.dos-components .accordion .question>.title::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--dos-orange);color:#fff;font-size:20px;font-weight:400;line-height:1}
.dos-components .accordion .question[aria-expanded="true"]>.title::after{content:"-"}
.dos-components .accordion .answer{padding:0 0 20px}
.dos-components .accordion.is-enhanced .question:not([aria-expanded="true"])>.answer{display:none}

/* Toggle uses native details/summary and remains usable without JS. */
.dos-components .dos-toggle{width:100%;border-top:1px solid var(--dos-line)}
.dos-components .dos-toggle__item{border-bottom:1px solid var(--dos-line)}
.dos-components .dos-toggle__item summary{position:relative;list-style:none;padding:18px 44px 18px 0;color:var(--dos-ink);font-weight:500;cursor:pointer}
.dos-components .dos-toggle__item summary::-webkit-details-marker{display:none}
.dos-components .dos-toggle__item summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:24px;color:var(--dos-orange)}
.dos-components .dos-toggle__item[open] summary::after{content:"-"}
.dos-components .dos-toggle__content{padding:0 0 20px}

/* Gallery. */
.dos-components .dos-gallery{display:grid;grid-template-columns:repeat(var(--dos-gallery-columns,3),minmax(0,1fr));gap:18px}
.dos-components .dos-gallery .gallery-item{width:auto!important;margin:0!important;overflow:hidden}
.dos-components .dos-gallery .gallery-item img{display:block;width:100%;height:auto}

/* Before / after comparison. The transparent range input is the control. */
.dos-components .dos-before-after{position:relative;width:100%;overflow:hidden;isolation:isolate;--dos-ba-position:50%}
.dos-components .dos-before-after__after,.dos-components .dos-before-after__before{position:relative;width:100%}
.dos-components .dos-before-after__after img,.dos-components .dos-before-after__before img{display:block;width:100%;height:auto}
.dos-components .dos-before-after__before{position:absolute;inset:0;width:100%;overflow:hidden;z-index:2;clip-path:inset(0 calc(100% - var(--dos-ba-position)) 0 0)}
.dos-components .dos-before-after__before img{width:100%;height:100%;object-fit:cover;object-position:left center}
.dos-components .dos-before-after__handle{position:absolute;z-index:3;top:0;bottom:0;left:var(--dos-ba-position);width:2px;transform:translateX(-1px);background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.25)}
.dos-components .dos-before-after__handle::after{content:"< >";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#fff;color:#222;font-size:11px;font-weight:700;letter-spacing:2px;box-shadow:0 2px 12px rgba(0,0,0,.22)}
.dos-components .dos-before-after__range{position:absolute;z-index:4;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}

/* Embedded editorial HTML migrated from BeTheme. */
.dos-components .readmore-container{position:relative;overflow:hidden;transition:max-height .45s ease}
.dos-components .readmore-container.expanded{max-height:10000px!important;height:auto!important}
.dos-components .readmore-container.expanded::after{display:none!important}
.dos-components .readmore-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:10px;padding:8px 14px;border:0;border-radius:8px;background:var(--dos-blue);color:#fff;font:inherit;font-size:14px;cursor:pointer}
.dos-components .readmore-btn:hover{background:#0077aa}
.dos-components .table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.dos-components .table-responsive table{min-width:800px;border-collapse:collapse}
.dos-components .instagram-media{margin-inline:auto!important;max-width:540px!important}

/* Inline shortcodes translated by the theme. */
.dos-spacer{display:block;height:var(--dos-spacer-height,0);min-height:var(--dos-spacer-height,0)}
.dos-inline-divider{display:block;margin:0 auto var(--dos-spacer-height,0);border:0}
hr.dos-inline-divider{height:1px;background:rgba(255,255,255,.35)}
.dos-inline-divider--narrow{width:30%}
.dos-inline-divider--wide{width:100%}
.dos-inline-divider--dots{display:flex;justify-content:center;gap:6px}
.dos-inline-divider--dots i{display:block;width:5px;height:5px;border-radius:50%;background:currentColor}
.dos-inline-divider--zigzag{height:6px;background:linear-gradient(135deg,transparent 45%,currentColor 46% 54%,transparent 55%) 0 0/12px 12px}

/* Footer keeps original widget assignments but strips the BeTheme shortcode dependency. */
.site-footer h1,.site-footer h2,.site-footer h3,.site-footer h4,.site-footer h5,.site-footer h6{color:#fff}
.site-footer .widget,.site-footer .footer-widget{margin:0}
.site-footer .wp-block-group,.site-footer .wp-block-social-links{margin:0;padding:0}
.site-footer .dos-spacer{height:var(--dos-spacer-height,0)}

@media (max-width:1240px){
  .dos-components .dos-wrap,.dos-components .dos-item{flex-basis:var(--dos-width-laptop,var(--dos-width,100%));width:var(--dos-width-laptop,var(--dos-width,100%));max-width:var(--dos-width-laptop,var(--dos-width,100%));order:var(--dos-order-laptop,var(--dos-order-desktop,initial))}
  .dos-components .hide-laptop{display:none!important}
}

@media (max-width:959px){
  .dos-components .dos-wrap,.dos-components .dos-item{flex-basis:var(--dos-width-tablet,var(--dos-width-laptop,var(--dos-width,100%)));width:var(--dos-width-tablet,var(--dos-width-laptop,var(--dos-width,100%)));max-width:var(--dos-width-tablet,var(--dos-width-laptop,var(--dos-width,100%)));order:var(--dos-order-tablet,var(--dos-order-laptop,var(--dos-order-desktop,initial)))}
  .dos-components .hide-tablet{display:none!important}
  .dos-components .feature_list ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:767px){
  .dos-components .dos-section__inner{width:calc(100% - 40px)}
  .dos-components .dos-wrap,.dos-components .dos-item{flex-basis:var(--dos-width-mobile,100%);width:var(--dos-width-mobile,100%);max-width:var(--dos-width-mobile,100%);order:var(--dos-order-mobile,var(--dos-order-tablet,var(--dos-order-laptop,var(--dos-order-desktop,initial))))}
  .dos-components .dos-item{padding-inline:0}
  .dos-components .hide-mobile{display:none!important}
  .dos-components .feature_list ul,.dos-components .dos-gallery{grid-template-columns:1fr}
}

/* Native Section shape dividers imported from BeTheme source data. */
.dos-components .mfn-shape-divider{position:absolute;left:0;width:100%;overflow:hidden;line-height:0;pointer-events:none;z-index:0}
.dos-components .mfn-shape-divider[data-name="top"]{top:0}
.dos-components .mfn-shape-divider[data-name="top"][data-invert="1"]{transform:rotate(180deg)}
.dos-components .mfn-shape-divider[data-name="bottom"]{bottom:0;transform:rotate(180deg)}
.dos-components .mfn-shape-divider[data-name="bottom"][data-invert="1"]{transform:none}
.dos-components .mfn-shape-divider[data-bring-front="1"]{z-index:2}
.dos-components .dos-shape-divider::before{content:"";display:block;position:relative;width:var(--dos-shape-width,100%);height:var(--dos-shape-height-desktop,150px);margin-inline:auto;background-color:var(--mfn-shape-divider,#000);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:100% 100%;mask-size:100% 100%}
.dos-components .dos-shape-divider--mountains-1::before{-webkit-mask-image:url("../svg/shape-dividers/mountains_1.svg");mask-image:url("../svg/shape-dividers/mountains_1.svg")}
.dos-components .mfn-shape-divider[data-flip="1"]::before{transform:rotateY(180deg)}
@media (max-width:1240px){.dos-components .dos-shape-divider::before{height:var(--dos-shape-height-laptop,var(--dos-shape-height-desktop,150px))}}
@media (max-width:959px){.dos-components .dos-shape-divider::before{height:var(--dos-shape-height-tablet,var(--dos-shape-height-laptop,var(--dos-shape-height-desktop,150px)))}}
@media (max-width:767px){.dos-components .dos-shape-divider::before{height:var(--dos-shape-height-mobile,var(--dos-shape-height-tablet,var(--dos-shape-height-laptop,var(--dos-shape-height-desktop,150px))))}}
