/*
Theme Name: Lightport Studio
Description: Zurückhaltende Weiterentwicklung des bestehenden Lightport-Auftritts. Inhalte bleiben in WordPress und WPBakery bearbeitbar.
Template: dt-the7
Version: 1.0.1
Text Domain: lightport-studio
Requires PHP: 8.1
*/

.lp-studio {
  --lp-content-width:1320px;
  --lp-paper:#faf9f6;
  --lp-white:#fff;
  --lp-ink:#292725;
  --lp-muted:#625c56;
  --lp-orange:#e7782b;
  --lp-link:#292725;
  --lp-button:#e57629;
  --lp-line:#ded9d3;
  --lp-soft:#f1ede7;
  --lp-weave:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='42' viewBox='0 0 24 42'%3E%3Cpath d='M12 0 24 7V21L12 28 0 21V7ZM0 21-12 28V42L0 49 12 42V28M24 21 36 28V42L24 49 12 42' fill='none' stroke='%23b7ada3' stroke-opacity='.3' stroke-width='.55'/%3E%3C/svg%3E");
  color:var(--lp-ink); background:var(--lp-paper);
  font-size:17px; line-height:1.7;
  -webkit-font-smoothing:antialiased;
  caret-color:var(--lp-link);
}
.lp-studio ::selection { background:#ffd6b8; color:#292725; }
.lp-studio #page,.lp-studio #main,.lp-studio .main-gradient { background:var(--lp-paper); }
.lp-studio .wf-wrap { width:100%!important; max-width:var(--lp-content-width); box-sizing:border-box; }
.lp-studio #main { padding-top:40px; padding-bottom:56px; }
.lp-studio .masthead,.lp-studio .mobile-header-bar,.lp-studio .masthead.sticky-on { background:var(--lp-white)!important; box-shadow:none; }
body.lp-studio.phantom-sticky .sticky-on.masthead:not(.masthead-mobile),body.lp-studio .masthead-mobile.sticky-on .mobile-header-bar { background:var(--lp-white)!important; }
.lp-studio .masthead { border-bottom:1px solid var(--lp-line); }
.lp-studio .branding img { max-height:94px; width:auto; }
.lp-studio .masthead.sticky-on .branding img { max-height:50px; }
.lp-studio .header-bar { height:128px!important; min-height:128px!important; }
.lp-studio .masthead:not(.masthead-mobile) + .header-space { height:129px!important; min-height:129px!important; }
.lp-studio .masthead.sticky-on .header-bar { height:76px!important; min-height:76px!important; }
.lp-studio .main-nav > li > a .menu-text { color:var(--lp-ink); font-size:16px; letter-spacing:.01em; font-weight:600; text-transform:none; }
.lp-studio .main-nav > li > a { margin-left:16px; margin-right:16px; }
.lp-studio .main-nav > li:first-child > a { margin-left:0; }
.lp-studio .main-nav > li:last-child > a { margin-right:0; }
.lp-studio .main-nav > li.act > a .menu-text,.lp-studio .main-nav > li > a:hover .menu-text { color:var(--lp-link); }
.lp-studio .main-nav > li > a .underline { background:var(--lp-orange)!important; }
.lp-studio .main-nav .sub-nav { background:var(--lp-white)!important; border:1px solid var(--lp-line); border-radius:4px; box-shadow:0 12px 30px rgba(41,39,37,.1); padding:8px 12px; }
.lp-studio .main-nav .sub-nav > li + li { border-top:1px solid var(--lp-line); }
.lp-studio .main-nav .sub-nav > li > a { padding:13px 10px; }
.lp-studio .main-nav .sub-nav .menu-text,.lp-studio .dt-mobile-header .menu-text { color:var(--lp-ink)!important; }
.lp-studio .main-nav .sub-nav > li > a:hover,.lp-studio .main-nav .sub-nav > li > a:focus-visible { background:#fff1e6!important; }
.lp-studio .main-nav li:has(> a:focus-visible) > .sub-nav,.lp-studio .main-nav li:has(.sub-nav a:focus-visible) > .sub-nav { visibility:visible!important; opacity:1!important; pointer-events:auto; }
.lp-studio .main-nav > li.has-children > a::after { content:''; display:inline-block; width:6px; height:6px; margin:-4px 0 0 9px; border-right:1.5px solid var(--lp-muted); border-bottom:1.5px solid var(--lp-muted); transform:rotate(45deg); }
.lp-studio .main-nav > .lang-item > a { min-width:44px; min-height:44px; margin-left:0; margin-right:0; box-sizing:border-box; justify-content:center; }
.lp-studio :is(.main-nav,.mobile-main-nav) > .lang-item { position:relative; }
.lp-studio :is(.main-nav,.mobile-main-nav) > .lang-item-de { order:1; }
.lp-studio :is(.main-nav,.mobile-main-nav) > .lang-item-en { order:2; margin-left:12px; }
.lp-studio .main-nav > .lang-item-de { margin-left:16px; }
.lp-studio :is(.main-nav,.mobile-main-nav) > .lang-item::before { display:none!important; }
.lp-studio :is(.main-nav,.mobile-main-nav) > .lang-item-en::after { content:'|'; display:block; position:absolute; left:-6px; right:auto; top:50%; width:auto; height:auto; border:0; line-height:1; transform:translate(-50%,-50%); color:var(--lp-muted); font-size:16px; pointer-events:none; }
.lp-studio :is(.main-nav,.mobile-main-nav) > .current-lang .menu-text { text-decoration:underline; text-underline-offset:6px; text-decoration-color:var(--lp-orange); }
.lp-studio h1,.lp-studio h2,.lp-studio h3,.lp-studio h4,.lp-studio .uvc-main-heading h1,.lp-studio .uvc-main-heading h2 { color:var(--lp-ink); font-weight:600; text-wrap:balance; }
.lp-studio h1 { font-size:clamp(38px,4.6vw,66px); line-height:1.12; letter-spacing:-.035em; margin:0 0 26px; }
.lp-studio h2 { font-size:clamp(28px,3vw,42px); line-height:1.2; letter-spacing:-.025em; margin:0 0 22px; }
.lp-studio h3 { font-size:clamp(21px,2vw,25px); line-height:1.35; letter-spacing:-.015em; margin:0 0 12px; }
.lp-studio p { margin:0 0 20px; }
.lp-studio #content a:not(.dt-btn):not(.post-thumbnail-rollover) { color:var(--lp-link); text-underline-offset:4px; }
.lp-studio #content p a,.lp-studio #content li a { text-decoration:underline; text-decoration-thickness:1px; }
.lp-studio a:focus-visible,.lp-studio button:focus-visible,.lp-studio input:focus-visible,.lp-studio select:focus-visible,.lp-studio textarea:focus-visible { outline:3px solid var(--lp-link); outline-offset:5px; }
.lp-studio .dt-btn,.lp-studio .orange-button { background:var(--lp-button)!important; color:#fff!important; text-shadow:none; }
.lp-studio .dt-btn span,.lp-studio .orange-button span { background:transparent!important; color:inherit!important; }
.lp-studio .dt-btn { padding:16px 25px; border-radius:3px; font-size:19px; font-weight:700; line-height:1.3; box-shadow:none; white-space:normal; }
.lp-studio .dt-btn:hover,.lp-studio .dt-btn:focus-visible { background:#d9681a!important; }
.lp-studio .dt-btn:hover span { background:transparent!important; }
.lp-studio .lp-section { padding-top:64px; padding-bottom:64px; margin-bottom:0!important; }
.lp-studio .lp-section + .lp-section { border-top:1px solid var(--lp-line); }
.lp-studio .lp-section .wpb_content_element { margin-bottom:24px; }
.lp-studio .lp-section p { max-width:65ch; }
.lp-studio .lp-hero { padding-top:66px; padding-bottom:74px; }
.lp-studio .lp-hero h1 { max-width:13ch; }
.lp-studio.lp-intro-compact .lp-hero h1 { margin-bottom:13px; }
.lp-studio .lp-lead { max-width:52ch; font-size:clamp(18px,1.7vw,21px); line-height:1.65; color:var(--lp-muted); }
.lp-studio .lp-hero .vc_single_image-wrapper { background:var(--lp-white); border-radius:6px; overflow:hidden; }
.lp-studio .lp-hero img { max-height:440px; object-fit:contain; }
.lp-studio .lp-hero .vc_column-inner { padding-right:30px; }
.lp-studio .lp-note { color:var(--lp-muted); font-size:16px; line-height:1.65; }
.lp-studio .lp-text-link { display:inline-block; margin-top:15px; }
.lp-studio .lp-services .wpb_column { padding-right:32px; }
.lp-studio .lp-services h3 { margin-top:24px; }
.lp-studio .lp-soft { background-color:var(--lp-soft); background-image:var(--lp-weave); border-radius:5px; padding-left:32px; padding-right:32px; }
.lp-studio .lp-project img { width:100%; height:auto; border:1px solid var(--lp-line); border-radius:4px; }
/* The partner mark already includes its own visual boundary. */
.lp-studio:is(.page-id-1426,.page-id-2203) .lp-project .vc_single_image-wrapper,
.lp-studio:is(.page-id-1426,.page-id-2203) .lp-project img { border:0; border-radius:0; box-shadow:none; background:transparent; }
.lp-studio .lp-project .vc_col-sm-6 + .vc_col-sm-6 > .vc_column-inner { padding-left:48px; }
.lp-studio .lp-browser-preview { padding:18px; background-image:var(--lp-weave); background-color:var(--lp-soft); border-radius:5px; }
.lp-studio .lp-browser-preview .vc_figure { display:block; overflow:hidden; border:1px solid var(--lp-line); border-radius:5px; background:#fff; box-shadow:0 8px 22px rgba(41,39,37,.07); }
.lp-studio .lp-browser-chrome { display:flex; align-items:center; gap:16px; padding:7px 12px; background:var(--lp-paper); color:var(--lp-muted); border-bottom:1px solid var(--lp-line); font-size:11px; line-height:16px; }
.lp-studio .lp-browser-chrome svg { flex:none; color:#aaa29a; }
.lp-studio .lp-browser-preview .vc_single_image-wrapper { display:block; overflow:hidden; width:100%; border:0; border-radius:0; }
.lp-studio .lp-browser-preview img { display:block; width:100%; height:auto; border:0; border-radius:0; }
.lp-studio .lp-browser-preview a:focus-visible { outline:2px solid var(--lp-orange); outline-offset:-3px; }
@media(min-width:768px) {
  .lp-studio .lp-browser-preview .vc_single_image-wrapper { aspect-ratio:2/1; }
}
.lp-studio .lp-logos {
  padding-top:30px; padding-bottom:32px;
  background-color:#fcfbf9;
  /* Fine woven honeycomb: a quiet texture behind the existing partner grid. */
  background-image:var(--lp-weave);
}
.lp-studio .lp-logos img { max-height:88px; width:auto; max-width:100%; object-fit:contain; }
.lp-studio .lp-logos a { display:inline-block; border-radius:4px; }
.lp-studio .lp-logos a:hover { outline:1px solid var(--lp-line); outline-offset:4px; }
.lp-studio .lp-logos .wpb_single_image { margin-bottom:0; }
.lp-studio .lp-shopify img { width:210px; max-width:100%; height:auto; }
@media(min-width:1025px) {
  .lp-studio .lp-logos img { width:144px; max-height:112px; }
  .lp-studio .lp-shopify > .vc_col-sm-4 { width:25%; }
  .lp-studio .lp-shopify > .vc_col-sm-8 { width:75%; }
  .lp-studio .lp-shopify .wpb_single_image { text-align:center; margin-bottom:0; }
  .lp-studio .lp-shopify img { width:220px; }
}
.lp-studio .lp-feed-mark { max-width:300px; }
.lp-studio .lp-feed-mark img { width:300px; height:84px; object-fit:cover; object-position:center 22%; border:0; }
.lp-studio .lp-team .vc_single_image-wrapper { border-radius:4px!important; overflow:hidden; }
.lp-studio .lp-team .vc_col-sm-3 .vc_figure,.lp-studio .lp-team .vc_col-sm-3 .vc_single_image-wrapper { width:100%; max-width:280px; }
.lp-studio .lp-team img { width:100%; max-width:280px; aspect-ratio:1/1; object-fit:cover; border-radius:4px!important; }
.lp-studio .lp-team h3 { margin-top:24px; }
.lp-studio .lp-team .vc_col-sm-3 h2 { font-size:25px; line-height:1.35; margin-top:24px; margin-bottom:12px; }
.lp-studio .lp-team p { font-size:16px; max-width:31ch; }
.lp-studio .lp-contact { padding:44px; background-color:var(--lp-ink); background-image:linear-gradient(90deg,rgba(41,39,37,.95),rgba(41,39,37,.55)),var(--lp-weave); color:var(--lp-paper); border-radius:5px; }
.lp-studio .lp-contact h2 { color:var(--lp-paper); }
.lp-studio #content .lp-contact p a:not(.dt-btn) { color:#fff; text-decoration-color:#e7782b; text-decoration-thickness:2px; }
.lp-studio #content .lp-contact p a:not(.dt-btn):hover { color:#ffd6b8; }
.lp-studio .lp-contact .lp-note { color:#d3ccc5; margin-top:18px; }
.lp-studio .lp-contact a:focus-visible { outline-color:#ffc49a; }
.lp-studio .page-title { background:var(--lp-soft)!important; }
.lp-studio .page-title .wf-wrap { min-height:150px; padding-top:35px; padding-bottom:35px; }
.lp-studio .page-title h1 { color:var(--lp-ink)!important; font-size:clamp(28px,3vw,42px); line-height:1.25; max-width:32ch; }
.lp-studio .page-title .breadcrumbs { background:transparent!important; border:0!important; color:var(--lp-muted)!important; font-size:14px; padding:8px 0!important; box-shadow:none; }
.lp-studio .page-title .breadcrumbs a,.lp-studio .page-title .breadcrumbs span { color:var(--lp-muted)!important; }
.lp-studio .page-title .breadcrumbs li::before { color:var(--lp-muted)!important; }
.lp-studio.single-post .page-title .breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:4px 0; text-align:left; }
.lp-studio.single-post .page-title .breadcrumbs li { display:inline-flex; align-items:baseline; float:none; margin:0; padding:0; line-height:1.5; }
.lp-studio.single-post .page-title .breadcrumbs li a { font:inherit; line-height:inherit; }
.lp-studio.single-post .page-title .breadcrumbs li::before { position:static; margin:0 8px; }
.lp-studio.single-post .page-title .breadcrumbs li:first-child::before { display:none; }
.lp-studio .page-title .breadcrumbs a:hover { color:var(--lp-ink)!important; text-decoration:underline; }
.lp-studio.lp-compact-title .page-title .page-title-breadcrumbs { display:none; }
.lp-studio.lp-compact-title .page-title .wf-wrap { min-height:0; padding-top:28px; padding-bottom:28px; }
.lp-studio.lp-compact-title .page-title .page-title-head { margin-bottom:0; }
.lp-studio .post-navigation { margin:32px 0; padding:0; border:0; }
.lp-studio.single-post #content .entry-meta .author { display:none; }
.lp-studio.single-post #content .post-meta { display:none; }
.lp-studio .post-thumbnail .fancy-categories { display:none!important; }
.lp-studio .post-navigation .nav-links { display:flex; flex-direction:row; flex-wrap:nowrap; gap:12px; align-items:stretch; justify-content:space-between; border:0; padding:0; margin:0; }
.lp-studio .post-navigation .nav-links > .disabled { display:none; }
.lp-studio .post-navigation .nav-links > a { display:flex; flex:0 1 auto; flex-direction:row; flex-wrap:nowrap; align-items:center; gap:8px; width:auto!important; min-width:180px; max-width:calc(50% - 6px); min-height:52px; box-sizing:border-box; position:relative; padding:12px 16px!important; border:1px solid var(--lp-line); border-radius:4px; background:var(--lp-white); text-align:left; margin-bottom:0; }
.lp-studio .post-navigation .nav-links > .nav-previous { margin-right:auto; }
.lp-studio .post-navigation .nav-links > .nav-next { justify-content:flex-end; margin-left:auto; text-align:right; }
.lp-studio .post-navigation .nav-links > a:hover { border-color:#e17025; background:#fff6ef; }
.lp-studio .post-navigation .meta-nav { order:1; display:block; flex:1 1 auto; min-width:0; width:auto!important; margin:0!important; color:var(--lp-ink)!important; font-size:16px; font-weight:500; line-height:1.4; text-transform:none; }
/* Keep destination titles available to screen readers without crowding the bar. */
.lp-studio .post-navigation .post-title { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.lp-studio .post-navigation svg { position:static; order:0; flex:0 0 14px; width:14px; height:14px; margin:0!important; transform:none!important; fill:#e17025; }
.lp-studio .post-navigation .nav-next svg { order:2; }
.lp-studio.single-post #content .wp-block-separator { width:144px; max-width:40%; height:0; border:0; border-top:1px solid var(--lp-line); margin:32px 0 24px; background:transparent; opacity:1; }
.lp-studio .single-related-posts { margin-top:48px; padding:32px; border:1px solid var(--lp-line); border-radius:4px; background-color:#fcfbf9; background-image:var(--lp-weave); }
.lp-studio .single-related-posts > h3 { margin-bottom:24px; }
.lp-studio .single-related-posts .items-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:0; }
.lp-studio .single-related-posts .related-item { width:auto!important; padding:0!important; margin:0!important; }
.lp-studio .single-related-posts article { display:flex; align-items:flex-start; gap:16px; padding:18px; height:100%; box-sizing:border-box; background:var(--lp-white); border:1px solid var(--lp-line); border-radius:3px; }
.lp-studio .single-related-posts .mini-post-img { width:90px; flex:0 0 90px; margin:0; }
.lp-studio .single-related-posts .mini-post-img a { display:block; width:90px; height:66px; margin:0; }
.lp-studio .single-related-posts .mini-post-img img { width:90px; height:66px; object-fit:cover; }
.lp-studio .single-related-posts .post-content { min-width:0; margin:0; }
.lp-studio .single-related-posts .post-content > a { font-size:16px; font-weight:600; line-height:1.45; overflow-wrap:anywhere; }
.lp-studio .single-related-posts time { display:block; margin-top:8px; font-size:14px; }
.lp-studio .blog-shortcode .entry-meta { font-size:14px; }
.lp-studio .lp-feed-flow { padding:28px 24px; border:1px solid var(--lp-line); border-radius:5px; background-color:#fcfbf9; background-image:var(--lp-weave); }
.lp-studio .lp-feed-flow h3 { margin:0 0 24px; font-size:24px; }
.lp-studio .lp-feed-path { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; list-style:none; margin:0 0 24px; padding:0; }
.lp-studio .lp-feed-path li { position:relative; margin:0; padding:0; text-align:center; }
.lp-studio .lp-feed-path li + li::before { content:""; position:absolute; width:6px; height:6px; border-top:1px solid #e17025; border-right:1px solid #e17025; transform:rotate(45deg); left:-17px; top:10px; }
.lp-studio .lp-feed-path strong { display:block; font-size:17px; font-weight:600; color:var(--lp-ink); }
.lp-studio .lp-feed-path span { display:block; margin-top:6px; font-size:13px; line-height:1.4; color:var(--lp-muted); }
.lp-studio .lp-feed-api { padding:12px; margin:0 0 8px; border:1px solid #e17025; border-radius:3px; background:#fff6ef; color:var(--lp-ink); font-size:15px; font-weight:600; text-align:center; }
.lp-studio .lp-feed-xml { margin:0 0 18px; font-size:14px; text-align:center; }
.lp-studio .lp-feed-flow .lp-note { margin:0; font-size:13px; text-align:center; }
@media(max-width:400px) { .lp-studio .lp-feed-flow { padding:22px 14px; } .lp-studio .lp-feed-path { gap:18px; grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr) minmax(0,.95fr); } .lp-studio .lp-feed-path strong { font-size:14px; } .lp-studio .lp-feed-path li + li::before { left:-13px; } }
.lp-studio .project-list-content,.lp-studio .blog-content,.lp-studio .post-entry-content { background:transparent!important; }
.lp-studio .portfolio-shortcode article,.lp-studio .blog-shortcode article { box-shadow:none; }
.lp-studio .portfolio-shortcode .entry-title { font-size:22px; }
.lp-studio .portfolio-shortcode .iso-container { margin:-22px; }
.lp-studio .portfolio-shortcode .iso-container > .wf-cell { padding:22px; }
.lp-studio .portfolio-shortcode article { border:1px solid var(--lp-line); border-radius:4px; background:var(--lp-white); overflow:hidden; }
.lp-studio .portfolio-shortcode .post-thumbnail-wrap { padding:10px 10px 0; box-sizing:border-box; }
.lp-studio .portfolio-shortcode .post-thumbnail-rollover { display:block; position:relative; width:100%; aspect-ratio:1/1; padding-bottom:0!important; height:auto!important; overflow:hidden; }
.lp-studio .portfolio-shortcode .post-thumbnail-rollover img { position:absolute; inset:0; width:100%!important; height:100%!important; object-fit:cover; }
.lp-studio .portfolio-shortcode .post-entry-content { padding:24px!important; }
.lp-studio .portfolio-shortcode .post-details { display:inline-flex; align-items:center; gap:8px; font-size:16px!important; line-height:1.5; padding-top:12px; padding-bottom:12px; }
.lp-studio .portfolio-shortcode .lp-external-arrow { flex:0 0 16px; width:16px; height:16px; fill:none; }
.lp-studio .blog-shortcode .dt-css-grid { grid-template-columns:repeat(4,minmax(0,1fr))!important; grid-auto-rows:1fr; }
.lp-studio .blog-shortcode .dt-css-grid > .wf-cell { min-width:0; }
/* The7 still applies entry animations despite the editor's loading-effect-none. */
.lp-studio .blog-shortcode.loading-effect-none .dt-css-grid > .wf-cell,
.lp-studio .blog-shortcode.loading-effect-none article { animation:none!important; opacity:1!important; }
.lp-studio .blog-shortcode .entry-title { font-size:22px; line-height:1.3; overflow-wrap:anywhere; hyphens:auto; }
.lp-studio .blog-shortcode article { height:100%; display:flex; flex-direction:column; border:1px solid var(--lp-line); border-radius:4px; background:var(--lp-white); overflow:hidden; box-sizing:border-box; }
.lp-studio .blog-shortcode .post-thumbnail-wrap { flex:none; width:100%; }
.lp-studio .blog-shortcode .post-thumbnail-rollover { display:block; position:relative; width:100%; aspect-ratio:3/2; padding-bottom:0!important; height:auto!important; overflow:hidden; }
.lp-studio .blog-shortcode .post-thumbnail-rollover img { position:absolute; inset:0; width:100%!important; height:100%!important; object-fit:cover; }
.lp-studio .blog-shortcode .post-entry-content { display:flex; flex-direction:column; flex:1; padding:22px!important; }
.lp-studio .blog-shortcode .post-details { display:inline-flex; align-items:center; gap:8px; line-height:1.4; margin-top:auto; padding-top:16px; align-self:flex-start; }
.lp-studio .blog-shortcode .post-details > i { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; margin:0!important; line-height:1; }
.lp-studio .blog-shortcode .post-details > i::before { display:block; line-height:1; }
.lp-studio .lp-home-news .lp-all-posts { margin:40px 0 0; }
.lp-studio #content .lp-all-posts a:not(.dt-btn) { display:inline-block; color:#e17025; font-size:19px; font-weight:700; line-height:1.5; padding:8px 0; text-decoration-thickness:1px; }
.lp-studio #content .lp-all-posts a:not(.dt-btn):hover { color:#b95712; }
.lp-studio .paginator { padding-top:32px; padding-bottom:48px; }
.lp-studio .paginator a,.lp-studio .paginator .button-load-more { color:var(--lp-ink)!important; }
.lp-studio #bottom-bar { border-top:1px solid var(--lp-line); background:var(--lp-paper)!important; color:var(--lp-muted); padding:24px 0; font-size:16px; line-height:1.65; }
.lp-studio #bottom-bar a { color:var(--lp-ink); font-size:inherit; }
.lp-studio #bottom-bar .bottom-text-block,.lp-studio #bottom-bar p { font-size:inherit; line-height:inherit; }
.lp-studio #footer { background:var(--lp-soft)!important; color:var(--lp-muted); border-top:1px solid var(--lp-line); font-size:16px; line-height:1.65; }
.lp-studio #footer .widget,.lp-studio #footer p { color:var(--lp-muted); }
.lp-studio #footer a,.lp-studio #footer .widget-title { color:var(--lp-ink)!important; }
.lp-studio #footer.empty-footer { border-top:0; }
/* One site-wide return control, aligned with the shared content frame. */
.lp-studio .scroll-top {
  right:max(24px,calc((100% - var(--lp-content-width))/2 - 56px))!important;
  bottom:calc(40px + env(safe-area-inset-bottom,0px))!important;
  left:auto!important; width:40px; height:40px; padding:0; box-sizing:border-box;
  display:inline-flex; align-items:center; justify-content:center;
  border:0; border-radius:2px;
  background:rgba(0,0,0,.2)!important; box-shadow:none;
}
.lp-studio .scroll-top:not(.on) { visibility:hidden; pointer-events:none; }
.lp-studio .scroll-top svg { fill:#fff!important; }
.lp-studio .scroll-top svg path { fill:inherit; }
.lp-studio .scroll-top:hover,.lp-studio .scroll-top:focus-visible { background:var(--lp-orange)!important; }
.lp-studio .scroll-top:focus-visible { outline:2px solid var(--lp-orange); outline-offset:4px; }
.lp-studio.single-post #main .wf-container-main { display:block; }
.lp-studio.single-post #content { width:100%; max-width:900px; margin-inline:auto; float:none; }
.lp-studio.lp-compact-title .page-title h1 { margin:0; }
/* The consent panel has its own height; Gutenberg must not reserve another video above it. */
.lp-studio .wp-block-embed__wrapper:has(> .lp-media-consent)::before { display:none!important; padding:0!important; }
.lp-studio.page-id-1464 #content .has-background { background:var(--lp-soft)!important; color:var(--lp-ink)!important; }
.lp-studio.page-id-1464 #content .has-background a { color:var(--lp-ink)!important; text-decoration:underline; text-decoration-color:var(--lp-orange); text-decoration-thickness:2px; text-underline-offset:4px; }
.lp-studio.page-id-1464 #content .has-background a:hover { text-decoration-color:var(--lp-ink); }
.lp-studio .lp-section:has(+ .lp-services) { padding-bottom:12px; }
.lp-studio .lp-section:has(+ .lp-services) + .lp-services { padding-top:0; border-top:0; }
.lp-studio .lp-services + .lp-services { padding-top:0; border-top:0; }
/* A calm, readable mobile menu; the existing theme still owns opening/closing. */
.lp-studio .dt-mobile-header { background:var(--lp-white)!important; }
.lp-studio .mobile-main-nav { display:flex; flex-direction:row!important; flex-wrap:wrap; align-content:flex-start; }
.lp-studio .mobile-main-nav > li { width:100%; }
.lp-studio .mobile-main-nav .menu-text { font-family:Roboto,Helvetica,Arial,sans-serif; font-size:18px!important; line-height:1.4!important; font-weight:500!important; letter-spacing:0; text-transform:none; }
.lp-studio .mobile-main-nav .sub-nav .menu-text { font-size:16px!important; font-weight:400!important; }
.lp-studio .mobile-main-nav .sub-nav { margin-left:0; padding:8px 0 12px 14px; border-left:0; }
.lp-studio .mobile-main-nav li > a { padding-left:12px; padding-right:12px; box-sizing:border-box; border-radius:3px; }
.lp-studio .mobile-main-nav .sub-nav a { padding-top:10px; padding-bottom:10px; min-height:44px; box-sizing:border-box; }
.lp-studio .mobile-main-nav li > a:hover,.lp-studio .mobile-main-nav li > a:focus-visible { background:#fff1e6!important; }
.lp-studio .mobile-main-nav > .lang-item { width:56px!important; flex:0 0 56px!important; border:0!important; margin:12px 0 0; }
.lp-studio .mobile-main-nav > .lang-item-en { margin-left:12px; }
.lp-studio .mobile-main-nav > .lang-item > a { width:56px!important; flex:none!important; min-height:48px; box-sizing:border-box; display:flex; justify-content:center; padding:10px 8px; border:0; border-radius:0; }
.lp-studio .mobile-main-nav .has-children > a { width:calc(100% - 48px)!important; flex:0 0 calc(100% - 48px)!important; }
.lp-studio .mobile-main-nav .next-level-button { position:absolute!important; padding:0!important; box-sizing:border-box; width:44px!important; height:44px!important; top:5px; right:0; margin:0!important; display:flex; align-items:center; justify-content:center; color:var(--lp-ink)!important; background:transparent!important; border-radius:3px; transform:none!important; }
.lp-studio .mobile-main-nav .next-level-button svg { width:14px; height:14px; fill:var(--lp-ink)!important; }
.lp-studio .mobile-main-nav .open-sub > .next-level-button svg { transform:rotate(45deg); }
.lp-studio .next-level-button:focus-visible { outline:2px solid var(--lp-ink); outline-offset:3px; }
.lp-studio .dt-close-mobile-menu-icon { width:44px!important; height:44px!important; padding:0!important; box-sizing:border-box; top:12px!important; right:12px!important; background:var(--lp-white)!important; border:1px solid var(--lp-line)!important; border-radius:50%!important; box-shadow:none!important; }
.lp-studio .dt-close-mobile-menu-icon:focus { outline:none!important; }
.lp-studio .dt-close-mobile-menu-icon:focus-visible { border-color:var(--lp-muted)!important; }
.lp-studio .dt-close-mobile-menu-icon::before,.lp-studio .dt-close-mobile-menu-icon::after { background:transparent!important; }
.lp-studio .dt-close-mobile-menu-icon .close-line-wrap { width:16px; height:16px; }
.lp-studio .dt-close-mobile-menu-icon .close-line { background:var(--lp-muted)!important; height:1px!important; width:16px!important; }
.lp-studio .dt-close-mobile-menu-icon .close-line::before,.lp-studio .dt-close-mobile-menu-icon .close-line::after { display:none!important; }
.lp-studio.admin-bar .dt-close-mobile-menu-icon { top:58px!important; }
.lp-studio .lp-reading { max-width:75ch; }
.lp-studio .lp-reading h2 { margin-top:42px; font-size:28px; }
.lp-studio .lp-reading h3 { margin-top:30px; }
.lp-studio .vc_toggle { border-bottom:1px solid var(--lp-line); padding-bottom:18px; }
.lp-studio .vc_toggle_title h3,.lp-studio .vc_toggle_title h4 { font-size:19px; line-height:1.4; }
/* Remove decorative diagonal separators; existing WPBakery rows remain editable. */
.lp-studio .ult-spacer,.lp-studio .ult-main-seperator-inner { display:none; }
@media(max-width:1024px) {
  .lp-studio .blog-shortcode .dt-css-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media(max-width:767px) {
  .lp-studio .single-related-posts { padding:20px 14px; }
  .lp-studio .single-related-posts .items-grid { grid-template-columns:minmax(0,1fr); }
  .lp-studio .single-related-posts article { padding:14px; gap:12px; }
  .lp-studio .post-navigation .nav-links { gap:16px; }
  .lp-studio .post-navigation .nav-links > a { width:calc(50% - 8px)!important; max-width:calc(50% - 8px); min-width:0; min-height:64px; padding:10px!important; }
  .lp-studio.single-post .page-title .breadcrumbs .current { display:none; }
  .lp-studio .blog-shortcode .dt-css-grid { grid-template-columns:minmax(0,1fr)!important; grid-auto-rows:auto; }
  .lp-studio .blog-shortcode .post-details { font-size:17px!important; min-height:44px; box-sizing:border-box; }
  .lp-studio .mobile-header-bar { min-height:80px!important; }
  .lp-studio .mobile-branding img { max-height:58px!important; width:auto!important; }
  .lp-studio #main { padding-top:20px; padding-bottom:32px; }
  .lp-studio .lp-section { padding-top:38px; padding-bottom:38px; }
  .lp-studio .lp-hero { padding-top:24px; padding-bottom:40px; }
  .lp-studio .lp-hero h1 { max-width:14ch; }
  .lp-studio .lp-hero .vc_column-inner,.lp-studio .lp-project .vc_col-sm-6 + .vc_col-sm-6 > .vc_column-inner { padding-left:15px; padding-right:15px; }
  .lp-studio .lp-hero img { max-height:290px; }
  .lp-studio .lp-hero .wpb_single_image { margin-top:20px; margin-bottom:0; }
  .lp-studio .lp-project .wpb_single_image { margin-bottom:28px; }
  .lp-studio .lp-soft { padding-left:16px; padding-right:16px; }
  .lp-studio .lp-contact { padding:28px 22px; }
  .lp-studio .lp-contact .lp-contact-separator { display:none; }
  .lp-studio .lp-contact .lp-note > a { display:flex; align-items:center; min-height:44px; margin-top:6px; width:fit-content; max-width:100%; }
  .lp-studio #bottom-bar .wf-float-right { margin-top:18px; }
  .lp-studio #bottom-bar .wf-container-bottom { display:flex; flex-direction:column; align-items:center; text-align:center; }
  .lp-studio #bottom-bar .wf-float-left,.lp-studio #bottom-bar .wf-float-right { float:none; width:100%; text-align:center; }
  .lp-studio #bottom-bar .lp-copyright,.lp-studio #bottom-bar .lp-agency { display:block; text-wrap:balance; }
  .lp-studio #bottom-bar .lp-footer-separator { display:none; }
  .lp-studio #bottom-bar .lp-agency { margin-top:4px; }
  .lp-studio .scroll-top { right:calc(24px + env(safe-area-inset-right,0px))!important; bottom:calc(24px + env(safe-area-inset-bottom,0px))!important; left:auto!important; width:44px; height:44px; box-sizing:border-box; }
  .lp-studio .lp-services .wpb_column { padding-right:0; }
  .lp-studio .lp-team .wpb_column { margin-bottom:30px; }
  .lp-studio .lp-team p { max-width:55ch; }
  .lp-studio .lp-logos { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; padding-top:24px; padding-bottom:24px; }
  .lp-studio .lp-logos .wpb_column { width:33.333%; float:none; }
  .lp-studio .lp-logos .vc_column-inner { padding-left:6px; padding-right:6px; }
  .lp-studio .lp-logos img { max-height:76px; max-width:100%; }
  .lp-studio .lp-logos .wpb_single_image { margin-bottom:12px; text-align:center; }
  .lp-studio .page-title .wf-wrap { min-height:0; }
}
@media(prefers-reduced-motion:reduce) {
  .lp-studio *, .lp-studio *::before, .lp-studio *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
/* A crowded WordPress toolbar must not wrap its avatar over the mobile menu. */
@media(max-width:600px) {
  .lp-studio.admin-bar #wpadminbar #wp-admin-bar-top-secondary { position:absolute; top:0; right:0; }
}
