/*
Theme Name: LIDD
Theme URI: https://liddiving.com
Author: Long Island Detailing & Diving Services
Author URI: https://liddiving.com
Description: Block theme (Full Site Editing) for Long Island Detailing & Diving Services — detailing, bottom painting, shrink wrapping, diving & lettering across the tri-state waterfront. Built for WordPress 7.0 with native, fully-editable core blocks.
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 7.4
Version: 5.18.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lidd
Tags: full-site-editing, block-patterns, business, custom-colors, custom-menu, one-column, two-columns
*/

@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800;900&family=Public+Sans:wght@400;500;600;700&display=swap');

:root{
  /* Bound to the theme.json palette so Edit Site → Styles → Colors recolors the
     whole custom design from one place. Hex fallbacks keep it safe everywhere. */
  --bg: var(--wp--preset--color--base, #ffffff);
  --surface: var(--wp--preset--color--surface, #eef3f8);
  --ink: var(--wp--preset--color--ink, #0c1a2c);
  --muted: var(--wp--preset--color--muted, #5d6e80);
  --brand: var(--wp--preset--color--brand, #0d2c4f);
  --brand2: var(--wp--preset--color--brand-2, #163f6b);
  --accent: var(--wp--preset--color--accent, #ee5630);
  --accentInk:#ffffff;
  --line: var(--wp--preset--color--line, #e0e8f0);
  --r:5px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Public Sans',system-ui,-apple-system,sans-serif;
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

@keyframes liddFade{from{opacity:0}to{opacity:1}}
@keyframes liddUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes liddPop{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}

/* Strip default block spacing so our full-bleed sections behave like the mockups. */
.wp-site-blocks{padding:0 !important}
:where(.wp-site-blocks) > main{margin-block:0 !important}

/* ===================================================================
   TYPOGRAPHY UTILITIES (applied via block className)
   =================================================================== */
.lidd-eyebrow{
  font:700 13px/1.2 'Public Sans',sans-serif; letter-spacing:.14em;
  text-transform:uppercase; color:var(--accent); margin:0 0 12px;
}
.lidd-display{font:800 56px/1.04 'Archivo',sans-serif; letter-spacing:-.02em; margin:0 0 20px; max-width:680px;}
.lidd-h1{font:800 46px/1.04 'Archivo',sans-serif; letter-spacing:-.02em; margin:0 0 14px; max-width:760px;}
.lidd-h2{font:800 38px/1.06 'Archivo',sans-serif; letter-spacing:-.02em; margin:0 0 16px;}
.lidd-h3{font:700 22px/1.2 'Archivo',sans-serif; letter-spacing:-.01em; margin:0;}
.lidd-lede{font-size:18px; line-height:1.55; color:var(--muted); margin:0; max-width:560px;}
.lidd-body{font-size:16px; line-height:1.6; color:var(--muted); margin:0;}
.lidd-mono-note{font:600 12px/1.4 ui-monospace,monospace; letter-spacing:.1em; text-transform:uppercase; color:var(--muted);}
.lidd-cap{font:600 12px/1.2 'Public Sans',sans-serif; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin:0 0 7px;}

/* Centered measures re-center when text is centered */
.lidd-lede.has-text-align-center,.lidd-body.has-text-align-center,.lidd-h1.has-text-align-center,.lidd-display.has-text-align-center{margin-left:auto; margin-right:auto;}

/* On dark/brand backgrounds */
.lidd-on-brand{color:#fff;}
.lidd-on-brand .lidd-lede,.lidd-on-brand .lidd-body{color:rgba(255,255,255,.82);}

@media (max-width:600px){
  .lidd-display{font-size:40px;}
  .lidd-h1{font-size:34px;}
  .lidd-h2{font-size:30px;}
}

/* ===================================================================
   SECTION BACKGROUNDS / DECOR
   =================================================================== */
.lidd-hero{position:relative; overflow:hidden;}
.lidd-hero::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(900px 420px at 78% -10%, rgba(255,255,255,.10), transparent 60%);
}
.lidd-hero > *{position:relative;}

/* ===================================================================
   GRIDS (group blocks with these classes hold native child blocks)
   =================================================================== */
.lidd-grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:22px;}
.lidd-grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.lidd-grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
/* our grid helpers space items with CSS `gap`; cancel WordPress's flow-layout
   margin-block-start on grid items so the first item doesn't sit higher than the rest */
.lidd-grid-2 > *, .lidd-grid-3 > *, .lidd-grid-4 > *, .lidd-hero-grid > *{margin-block-start:0 !important;}
.lidd-hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:52px; align-items:center;}
.lidd-split{display:grid; grid-template-columns:1fr 1.1fr; gap:48px; align-items:center;}
.lidd-split-rev{display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:center;}

@media (max-width:900px){
  .lidd-grid-2,.lidd-grid-3,.lidd-grid-4,.lidd-hero-grid,.lidd-split,.lidd-split-rev{grid-template-columns:1fr !important;}
}

/* ===================================================================
   CARDS & COMPONENTS
   =================================================================== */
.lidd-card{border:1px solid var(--line); border-radius:var(--r); padding:24px; background:var(--bg);}
.lidd-card .lidd-h3{margin-bottom:7px;}
.lidd-card-num{
  width:38px; height:38px; border-radius:50%; background:var(--surface);
  border:1px solid var(--line); display:flex; align-items:center; justify-content:center;
  font:800 15px 'Archivo'; color:var(--accent); margin-bottom:14px;
}
/* Feature card on brand sections */
.lidd-feature{background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.13); border-radius:var(--r); padding:22px; color:#fff;}
.lidd-feature .lidd-card-num{background:transparent; border:0; width:auto; height:auto; font:800 22px 'Archivo'; color:var(--accent); margin-bottom:8px;}
.lidd-feature p{color:rgba(255,255,255,.74);}

/* Stat */
.lidd-stat-num{font:800 30px 'Archivo'; letter-spacing:-.02em; color:var(--brand); display:block;}
.lidd-stat-label{font-size:14px; color:var(--muted); font-weight:600; display:block;}

/* Pills / badges / checks */
.lidd-pill{display:inline-flex; align-items:center; gap:10px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.18); border-radius:999px; padding:7px 14px; font:600 12px 'Public Sans'; letter-spacing:.1em; text-transform:uppercase; color:#fff;}
.lidd-badge{background:var(--brand); color:#fff; border-radius:999px; padding:4px 11px; font:700 10.5px 'Public Sans'; letter-spacing:.06em; text-transform:uppercase;}
.lidd-check{display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:14.5px;}
.lidd-check::before{content:"✓"; color:var(--accent);}

/* Real photos — core/image blocks. Select the image in the editor and click
   "Replace" to upload your own; sizing comes from the lidd-img-- modifier class. */
.wp-block-image.lidd-img{display:block; margin:0; border-radius:var(--r); overflow:hidden;}
.wp-block-image.lidd-img img{display:block; width:100%; height:100%; object-fit:cover;}

/* ===================================================================
   BUTTONS (core button block + className)
   =================================================================== */
.wp-block-button.lidd-btn--primary .wp-block-button__link{
  background:var(--accent); color:var(--accentInk); border-radius:var(--r);
  padding:16px 28px; font:700 16px 'Public Sans'; box-shadow:0 8px 22px rgba(238,86,48,.28); border:0;
}
.wp-block-button.lidd-btn--navy .wp-block-button__link{
  background:var(--brand); color:#fff; border-radius:var(--r); padding:16px 28px; font:700 16px 'Public Sans'; border:0;
}
.wp-block-button.lidd-btn--ghost .wp-block-button__link{
  background:rgba(255,255,255,.10); color:#fff; border:1px solid rgba(255,255,255,.3);
  border-radius:var(--r); padding:16px 28px; font:700 16px 'Public Sans';
}
.wp-block-button.lidd-btn--sm .wp-block-button__link{padding:11px 19px; font-size:15px;}

/* ===================================================================
   HEADER — native Navigation block
   =================================================================== */
.lidd-header-bar{
  position:sticky; top:0; z-index:50; background:rgba(255,255,255,.88);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--line);
}
.lidd-logo{display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink);}
.lidd-logo-mark{display:flex; flex-direction:column; align-items:center; flex:none; line-height:1;}
.lidd-logo-mark b{font:900 26px 'Archivo'; letter-spacing:-.01em; color:var(--brand);}
.lidd-logo-mark svg{display:block; width:48px; height:7px; margin-top:3px;}
.lidd-logo-text{display:flex; flex-direction:column; line-height:1.05;}
.lidd-logo-text b{font:800 16px 'Archivo'; letter-spacing:-.01em;}
.lidd-logo-text small{font:600 11px 'Public Sans'; letter-spacing:.15em; text-transform:uppercase; color:var(--muted);}
/* uploaded Site Logo (when set) — keep it tidy inside the header bar */
.lidd-header-bar .wp-block-site-logo{margin:0;}
.lidd-header-bar .wp-block-site-logo img{display:block; width:auto; height:auto; max-height:46px;}

/* Navigation block look */
.lidd-nav .wp-block-navigation-item__content{font-weight:600; font-size:15px; color:var(--ink); padding:6px 0;}
.lidd-nav .wp-block-navigation-item{border-bottom:2px solid transparent;}
.lidd-nav .current-menu-item > .wp-block-navigation-item__content{border-bottom:2px solid var(--accent);}
.lidd-nav .wp-block-navigation__submenu-container{
  border:1px solid var(--line); border-radius:var(--r); box-shadow:0 18px 44px rgba(12,26,44,.18);
  padding:6px; min-width:240px;
}
.lidd-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content{padding:10px 12px; border-radius:calc(var(--r) - 1px);}
.lidd-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{background:var(--surface); color:var(--brand) !important;}

/* ---- Mobile overlay menu ---- */
/* hamburger (on the white bar) + close icon */
.lidd-nav .wp-block-navigation__responsive-container-open,
.lidd-nav .wp-block-navigation__responsive-container-close{color:var(--brand);}
.lidd-nav .wp-block-navigation__responsive-container-close svg{fill:currentColor;}
/* custom 3-line hamburger (replaces the core 2-line icon) */
.lidd-nav .wp-block-navigation__responsive-container-open{
  width:30px; height:22px; padding:0; border:0; background-color:transparent;
  background-image:linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor);
  background-size:28px 2.5px; background-repeat:no-repeat;
  background-position:left top, left center, left bottom;
}
.lidd-nav .wp-block-navigation__responsive-container-open svg{display:none;}

/* FIX: the sticky header's backdrop-filter makes it the containing block for
   position:fixed children, so the overlay can't cover the viewport. Drop the
   filter while the menu is open so the overlay goes truly full-screen. */
.lidd-header-bar:has(.wp-block-navigation__responsive-container.is-menu-open){
  backdrop-filter:none; -webkit-backdrop-filter:none;
}
/* the open full-screen overlay: brand navy, roomy, above the sticky header.
   !important because the navigation block otherwise defaults the overlay to white. */
.lidd-nav .wp-block-navigation__responsive-container.is-menu-open{
  background-color:var(--brand) !important; padding:22px 22px 40px; z-index:100000; overflow-y:auto;
}
.lidd-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close,
.lidd-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
.lidd-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{background:transparent !important;}
.lidd-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{color:#fff;}
.lidd-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
  gap:0; align-items:stretch !important; justify-content:flex-start !important; text-align:left; margin-top:24px;
}
/* Robust left-alignment regardless of the navigation block's inner class names:
   force a full-width, left-aligned vertical list (same trick DIY Shop already
   gets from display:block), and push the list below the logo/X row. */
.lidd-nav .wp-block-navigation__responsive-container.is-menu-open ul:not([class*="submenu"]){margin-top:24px;}
.lidd-nav .wp-block-navigation__responsive-container.is-menu-open ul{align-items:stretch !important; justify-content:flex-start !important;}
.lidd-nav .wp-block-navigation__responsive-container.is-menu-open li{display:block !important; width:100% !important; text-align:left !important; margin-left:0 !important; margin-right:0 !important;}
.lidd-nav .wp-block-navigation__responsive-container.is-menu-open a{justify-content:flex-start !important; text-align:left !important;}

/* top-level links */
.lidd-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
  border-bottom:1px solid rgba(255,255,255,.12); width:100%;
}
.lidd-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
  color:#fff; font-size:18px; font-weight:600; padding:14px 2px; text-align:left; justify-content:flex-start;
}
.lidd-nav .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content{color:var(--accent);}
.lidd-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle,
.lidd-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon{color:#fff; fill:#fff;}

/* reset the desktop dropdown-card styling for the inline (expanded) submenu.
   position:static is critical: the desktop dropdown is position:absolute, which
   in the overlay floats over the whole list and swallows every tap (→ /services/). */
.lidd-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{
  position:static !important; width:auto !important;
  border:0; box-shadow:none; min-width:0; padding:0; margin:0 0 6px 14px; background:transparent;
}
.lidd-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item{border-bottom:0;}
.lidd-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
  color:rgba(255,255,255,.82); font-size:16px; font-weight:500; padding:9px 0;
}
.lidd-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{background:transparent; color:#fff;}

/* the phone & DIY links are hidden on the bar — show them in the full menu */
.lidd-nav .wp-block-navigation__responsive-container.is-menu-open .lidd-nav-extra{display:block !important;}
/* ...but keep the phone number out of the mobile menu (Contact page covers it) */
.lidd-nav .wp-block-navigation__responsive-container.is-menu-open .lidd-nav-phone{display:none !important;}

@media (max-width:900px){.lidd-nav-extra{display:none !important;}}
/* declutter the header bar on phones: drop the long logo wordmark, keep "LIDD" */
@media (max-width:560px){.lidd-logo-text{display:none;}}
/* ...and instead show the full business name in a thin navy bar just below the
   header, so the brand still reads on small screens. Hidden on desktop. */
.lidd-mobile-name{display:none;}
@media (max-width:560px){
  .lidd-mobile-name{
    display:block; margin:0;
    background:var(--brand); color:#fff;
    font:600 12px/1.3 'Public Sans', system-ui, sans-serif;
    letter-spacing:.04em; text-align:center; padding:7px 14px;
  }
}
/* hamburger to the far right on phones: Get-a-Quote first, menu/hamburger last */
@media (max-width:600px){
  .lidd-header-bar .wp-block-buttons{order:1;}
  .lidd-header-bar .lidd-nav{order:2;}
}

/* ===================================================================
   PROMO BAR (template part)
   =================================================================== */
.lidd-promo{
  background:var(--accent); color:var(--accentInk); padding:11px 56px 11px 16px;
  position:relative; font-weight:600; font-size:14.5px; text-align:center;
}
.lidd-promo a{color:var(--accentInk); text-decoration:underline; text-underline-offset:3px; font-weight:700;}
.lidd-promo .lidd-promo-tag{background:rgba(255,255,255,.22); border-radius:999px; padding:3px 10px; font:700 11px 'Public Sans'; letter-spacing:.08em; text-transform:uppercase; margin-right:8px;}
.lidd-promo-x{
  position:absolute; right:14px; top:50%; transform:translateY(-50%);
  background:transparent; border:0; color:var(--accentInk); font-size:20px; line-height:1; cursor:pointer; opacity:.85;
}

/* ===================================================================
   FOOTER
   =================================================================== */
.lidd-footer{background:var(--bg); border-top:1px solid var(--line);}
.lidd-foot-head{font:700 12px 'Public Sans'; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin:0 0 14px;}
.lidd-foot-links{display:flex; flex-direction:column; gap:9px;}
.lidd-foot-links a{color:var(--ink); text-decoration:none; font-size:14.5px; font-weight:600;}
.lidd-foot-links a:hover{color:var(--accent);}

/* Card title / eyebrow / body (region, marina, product cards) */
.lidd-card-title{font:800 18px 'Archivo'; margin:0 0 3px;}
.lidd-card-eyebrow{font:600 12px 'Public Sans'; letter-spacing:.06em; text-transform:uppercase; color:var(--accent); margin:0 0 12px;}
.lidd-card-body{font-size:13.5px; line-height:1.6; color:var(--muted); margin:0;}

/* Hero floating stat */
.lidd-hero-photo-wrap{position:relative;}
.lidd-hero-stat{
  position:absolute; left:-26px; bottom:-58px; color:var(--ink);
  background:rgba(255,255,255,.6);
  -webkit-backdrop-filter:blur(9px) saturate(115%); backdrop-filter:blur(9px) saturate(115%);
  border:1px solid rgba(255,255,255,.6);
  border-radius:var(--r); padding:16px 20px; box-shadow:0 16px 40px rgba(0,0,0,.28); gap:14px;
}
@media (max-width:900px){.lidd-hero-stat{left:8px;}}

/* ---- Hero gallery (native core Gallery block — no plugin) ----
   The Gallery block's built-in "crop images to fit" (is-cropped) already
   gives equal-height, cover-fit tiles. This just rounds the corners and
   sets the gap so it sits cleanly in the hero. Manage images through the
   normal Gallery block UI — add, remove, reorder, set columns. */
.lidd-hero-gallery{ gap:12px; }
.lidd-hero-gallery .wp-block-image{ margin:0; border-radius:var(--r); overflow:hidden; }

/* Photo size modifiers (aspect ratios for the image slots) */
.lidd-img--hero{aspect-ratio:4/5;}
.lidd-img--wide{aspect-ratio:16/10;}
.lidd-img--sm{aspect-ratio:4/3;}
.lidd-img--logo{aspect-ratio:3/2;}
.lidd-img--gallery{aspect-ratio:4/3;}

/* Services overview cards (horizontal) */
.lidd-service-card{display:flex; align-items:stretch; padding:0; overflow:hidden;}
.lidd-service-photo{width:180px; flex:none; align-self:center; aspect-ratio:1; position:relative; overflow:hidden; border-right:1px solid var(--line); border-radius:0; background:var(--surface);}
.lidd-service-photo .wp-block-image{position:absolute; inset:0; margin:0; border-radius:0;}
/* Fixed square box (anticipates square crops). The image fills it via
   object-fit:cover, and the badge pins to this stable frame. Crop all four
   images square in WP and the cards come out identical. */
.lidd-service-photo .wp-block-image img{display:block; width:100%; height:100%; object-fit:cover;}
.lidd-service-photo .lidd-badge--pin{position:absolute !important; top:12px; left:12px; z-index:2; margin:0; white-space:nowrap; box-shadow:0 2px 8px rgba(12,26,44,.28);}
.lidd-service-body{padding:24px; display:flex; flex-direction:column; gap:10px; justify-content:center;}
.lidd-service-link{color:var(--accent); font-weight:700; font-size:15px; text-decoration:none;}
.lidd-service-card .lidd-h3{margin:0;}
@media (max-width:540px){
  .lidd-service-card{flex-direction:column;}
  .lidd-service-photo{width:auto; align-self:stretch; border-right:0; border-bottom:1px solid var(--line);}
}

/* Testimonial stars */
.lidd-stars{color:var(--accent); font-size:18px; letter-spacing:2px; margin:0 0 14px;}

/* ===================================================================
   GENERIC HELPERS
   =================================================================== */
.lidd-hidden{display:none !important;}

/* ===================================================================
   SERVICES GALLERY — functional widget (kept as a Custom HTML block)
   Markup is a Custom HTML block (filter chips + lightbox need JS); all
   presentation lives here so it inherits the design tokens and stays
   themeable, with no inline styles in the block.
   =================================================================== */

/* Section shell */
.lidd-work{background:var(--surface); border-bottom:1px solid var(--line);}
.lidd-work-inner{max-width:1200px; margin:0 auto; padding:80px 28px;}
.lidd-work-head{text-align:center; max-width:680px; margin:0 auto 30px;}

/* Filter chips */
.lidd-gallery-filters{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:34px;}
.lidd-fchip{
  padding:9px 16px; border-radius:999px; cursor:pointer; font:600 14px 'Public Sans';
  border:1.5px solid var(--line); background:var(--bg); color:var(--ink); transition:all .14s;
}
.lidd-fchip.is-active{background:var(--brand); color:#fff; border-color:var(--brand);}

/* Our Work — native core Gallery restyled into a filterable portfolio grid.
   Images, captions and order are edited natively in Edit Site; lidd.js reads each
   caption's "Category | Label" to build the chips and FLIP-animates on filter. */
.lidd-work-gallery.wp-block-gallery{
  display:grid !important; grid-template-columns:repeat(3,1fr); gap:18px; position:relative;
}
.lidd-work-gallery .wp-block-image{
  margin:0 !important; width:auto !important; aspect-ratio:4/3; position:relative;
  border-radius:var(--r); overflow:hidden; border:1px solid var(--line);
  transition:transform .42s cubic-bezier(.2,.7,.2,1), opacity .3s ease; will-change:transform;
}
.lidd-work-gallery .wp-block-image img{ width:100%; height:100%; object-fit:cover; }
.lidd-work-gallery .wp-block-image.is-filtered-out{ display:none; }
.lidd-work-gallery .wp-block-image.is-leaving{
  opacity:0; transform:scale(.86); pointer-events:none; transition:opacity .3s ease, transform .3s ease;
}
.lidd-work-gallery .wp-block-image.is-entering{ opacity:0; transform:scale(.92); }
/* repurpose the native caption overlay into a category badge + label */
.lidd-work-gallery .wp-block-image figcaption{
  position:absolute; left:0; right:0; bottom:0; margin:0; max-height:none !important;
  background:linear-gradient(transparent, rgba(12,26,44,.82)) !important;
  padding:30px 13px 13px !important; text-align:left !important; color:#fff !important;
  display:flex; flex-direction:column; gap:7px;
}
.lidd-work-gallery .wp-block-image:has(figcaption)::before{ display:none !important; }
.lidd-cat-badge{
  align-self:flex-start; background:var(--accent); color:#fff; border-radius:999px;
  padding:3px 10px; font:700 10px 'Public Sans'; letter-spacing:.06em; text-transform:uppercase;
}
.lidd-cat-label{ font:700 14px 'Public Sans'; line-height:1.3; }
@media (max-width:900px){ .lidd-work-gallery.wp-block-gallery{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .lidd-work-gallery.wp-block-gallery{grid-template-columns:1fr;} }

/* ===================================================================
   CONTACT FORM 7 — styled to match the design
   Wrap any CF7 form in a container with class .lidd-cf7
   =================================================================== */
.lidd-cf7 .wpcf7-form{margin:0;}
.lidd-cf7 .lidd-form-row{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.lidd-cf7 label{
  font:600 13px 'Public Sans'; color:var(--muted); display:block; margin-bottom:8px;
  letter-spacing:.04em; text-transform:uppercase;
}
.lidd-cf7 input[type=text],
.lidd-cf7 input[type=email],
.lidd-cf7 input[type=tel],
.lidd-cf7 input[type=number],
.lidd-cf7 select,
.lidd-cf7 textarea{
  width:100%; border:1.5px solid var(--line); border-radius:var(--r); padding:13px 15px;
  font:500 15px 'Public Sans'; color:var(--ink); background:var(--bg);
}
.lidd-cf7 textarea{resize:vertical;}
.lidd-cf7 input:focus,.lidd-cf7 select:focus,.lidd-cf7 textarea:focus{outline:none; border-color:var(--accent);}
.lidd-cf7 .lidd-fieldset{margin-bottom:18px;}
.lidd-cf7 .lidd-fieldset > .lidd-legend{font:700 16px 'Archivo'; color:var(--ink); margin:0 0 12px; text-transform:none; letter-spacing:0; display:block;}
/* checkbox / radio groups */
.lidd-cf7 .wpcf7-checkbox,.lidd-cf7 .wpcf7-radio{display:flex; flex-wrap:wrap; gap:10px;}
.lidd-cf7 .wpcf7-list-item{margin:0;}
.lidd-cf7 .wpcf7-list-item label{
  display:flex; align-items:center; gap:8px; cursor:pointer; text-transform:none; letter-spacing:0;
  font:600 14.5px 'Public Sans'; color:var(--ink); margin:0;
  border:1.5px solid var(--line); border-radius:999px; padding:10px 16px; transition:all .14s;
}
.lidd-cf7 .wpcf7-list-item input{accent-color:var(--accent);}
.lidd-cf7 .wpcf7-submit{
  border:0; border-radius:var(--r); padding:15px 30px; font:700 16px 'Public Sans';
  background:var(--accent); color:var(--accentInk); cursor:pointer; box-shadow:0 8px 22px rgba(238,86,48,.28);
}
.lidd-cf7 .wpcf7-submit:hover{filter:brightness(1.04);}
.lidd-cf7 .wpcf7-spinner{margin:14px auto 0; display:block;}
.lidd-cf7 .wpcf7-response-output{
  border-radius:var(--r); margin:18px 0 0; padding:13px 16px; font-size:14.5px;
}

/* Nassau / Suffolk sub-labels inside the Long Island coverage card */
.lidd-area-sub{font:700 11px 'Public Sans'; letter-spacing:.07em; text-transform:uppercase; color:var(--brand); margin:0;}
