/*
Theme Name: LinguistLink Landing Child Theme
Theme URI: https://lingiustlink.net/
Description: A child theme for GeneratePress to showcase LinguistLink.
Author: Your Name
Template: generatepress
Version: 1.0
*/

/* Import parent theme styles */
@import url("../generatepress/style.css");
 :root {
    /* LinguistLink brand – updated */
    --ll-font: "Rubik", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
    --ll-bg: #ffffff;
    --ll-surface: #F8FAFC; /* requested */
    --ll-text: #111827; /* slate-900 */
    --ll-muted: #6b7280; /* slate-500 */

    /* Primary palette (requested) */
    --ll-primary: #F1572D; /* orange */
    --ll-primary-600: #FF6A3D; /* hover (slightly lighter/saturated) */
    --ll-primary-700: #D94C25; /* darker for emphasis */

    /* Accent palette (requested) */
    --ll-accent: #3C8DBC; /* blue */
    --ll-accent-700: #2C6C9C; /* darker */ 

    /* Complementary & utilities */
    --ll-warm: #f59e0b; /* amber */
    --ll-ok: #16a34a; /* green */
    --ll-danger: #dc2626; /* red */
    --ll-ring: rgba(60, 141, 188, .35); /* focus ring based on accent */
  }

  /* GeneratePress typically constrains width; we handle our own layout */
  body.page-template-linguistlink-landing { background: var(--ll-bg); color: var(--ll-text); font-family: var(--ll-font); }

  #ll-landing { isolation: isolate; }
  .ll-container { max-width: 1570px; margin-inline: auto; padding: 24px; }
  .ll-grid { display: grid; gap: 28px; }

  .ll-btn { display:inline-flex; align-items:center; gap:10px; border-radius: 999px; padding: 14px 20px; font-weight: 600; text-decoration: none; border: 1px solid transparent; transition: .18s ease; }
  .ll-btn:focus-visible { outline: none; box-shadow: 0 0 0 4px var(--ll-ring); }
  .ll-btn-primary { background: var(--ll-primary); color: #fff; }
  .ll-btn-primary:hover { background: var(--ll-primary-600); transform: translateY(-1px); }
  .ll-btn-secondary { background: #fff; color: var(--ll-primary); border-color: var(--ll-primary); }
  .ll-btn-secondary:hover { background: var(--ll-surface); }
  .ll-btn-ghost { background: transparent; color: var(--ll-accent-700); }

  /* Sticky mini-header CTA */
  .ll-stickybar { position: sticky; top: 0; z-index: 50; backdrop-filter: saturate(180%) blur(8px); background: rgba(255,255,255,.75); border-bottom: 1px solid rgba(15,23,42,.06); display: none; }
  .ll-stickybar-inner { max-width: 1100px; margin: 0 auto; display:flex; align-items:center; justify-content:space-between; padding: 10px 16px; }
  .ll-logo { display:flex; align-items:center; gap:10px; font-weight: 800; letter-spacing:.2px; }
  .ll-logo-badge { width: 28px; height: 28px; border-radius: 7px; background: linear-gradient(135deg, var(--ll-primary), var(--ll-accent)); display:grid; place-items:center; color:#fff; font-size:14px; font-weight:700; }

  /* Hero */
  .ll-hero { padding: 64px 0 24px; background: radial-gradient(1200px 600px at 65% -10%, rgba(60, 141, 188, .12), transparent 60%), var(--ll-bg); }
  .ll-hero .ll-container { display:grid; gap: 28px; grid-template-columns: 1.35fr 1fr; align-items:center; }
  .ll-eyebrow { display:inline-flex; align-items:center; gap:10px; font-weight:700; font-size: 13px; color: var(--ll-primary); background: rgba(13,148,136,.08); padding: 6px 10px; border-radius: 999px; }
  .ll-hero h1 { font-size: clamp(34px, 4.5vw, 56px); line-height: 1.04; margin: 10px 0 16px; letter-spacing: -.5px; }
  .ll-hero p { font-size: clamp(16px, 1.5vw, 18px); color: var(--ll-muted); max-width: 60ch; }
  .ll-hero-cta { display:flex; gap: 12px; flex-wrap: wrap; margin-top: 14px; }
  .ll-hero-card { border: 1px solid rgba(2, 6, 23, .06); background:#fff; border-radius: 16px; padding: 18px; box-shadow: 0 8px 30px rgba(2,6,23,.05); }
  .ll-hero-points { display:grid; gap: 12px; margin-top: 10px; }
  .ll-hero-points li { display:flex; gap:10px; align-items:flex-start; }
  .ll-hero-points i { color: var(--ll-ok); margin-top: 3px; }

  .ll-media { aspect-ratio: 4/3; border-radius: 16px; background: linear-gradient(145deg, #e2e8f0, #f8fafc); position: relative; overflow:hidden; border: 1px solid rgba(2,6,23,.06); }
  .ll-media img { width:100%; height:100%; object-fit: cover; object-position: center; opacity: .95; }
.ll-media-logo { aspect-ratio: 4/3; border-radius: 16px; background: linear-gradient(145deg, #e2e8f0, #f8fafc); position: relative; overflow:hidden; border: 1px solid rgba(2,6,23,.06); }
  .ll-media-logo img { width:20% height:20%; object-fit: cover; object-position: center; opacity: .95; }

  /* Trust */
  .ll-trust { padding: 24px 0 8px; }
  .ll-trust .row { display:flex; flex-wrap:wrap; align-items:center; gap: 20px 36px; justify-content:center; opacity:.9; }
  .ll-trust span { color: var(--ll-muted); font-size: 14px; }
  .ll-logo-pill { padding: 8px 14px; border-radius: 999px; border:1px dashed rgba(2,6,23,.12); font-weight:600; font-size: 14px; }

  /* Features */
  .ll-section { padding: 56px 0; background: var(--ll-bg); }
  .ll-section.alt { background: var(--ll-surface); }
  .ll-section h2 { font-size: clamp(26px, 2.8vw, 36px); margin-bottom: 10px; }
  .ll-section p.lead { color: var(--ll-muted); margin-bottom: 26px; }
  .ll-features { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .ll-card { background:#fff; border:1px solid rgba(2,6,23,.06); border-radius: 14px; padding: 18px; box-shadow: 0 8px 25px rgba(2,6,23,.04); }
  .ll-card h3 { display:flex; align-items:center; gap: 10px; margin: 0 0 8px; font-size: 18px; }
  .ll-card p { color: var(--ll-muted); font-size: 15px; }
  .ll-icon { width: 36px; height: 36px; border-radius: 10px; display:grid; place-items:center; color:#fff; background: linear-gradient(135deg, var(--ll-primary), var(--ll-accent)); }

  /* How it works */
  .ll-steps { grid-template-columns: repeat(4, minmax(0,1fr)); counter-reset: step; }
  .ll-step { position:relative; padding: 16px; border-radius: 14px; background:#fff; border:1px solid rgba(2,6,23,.06); }
  .ll-step:before { counter-increment: step; content: counter(step); position:absolute; inset: -16px auto auto -16px; background: var(--ll-accent); color:#fff; width: 36px; height:36px; border-radius: 999px; display:grid; place-items:center; font-weight:700; box-shadow: 0 10px 18px rgba(29,78,216,.25); }

  /* Pricing teaser */
  .ll-pricing { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ll-price { border: 2px solid rgba(29,78,216,.15); }
  .ll-price.featured { border-color: var(--ll-accent); box-shadow: 0 15px 30px rgba(29,78,216,.18); }

  /* Testimonials */
  .ll-testimonials { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .ll-quote { background:#fff; border:1px solid rgba(2,6,23,.06); border-radius: 14px; padding: 18px; }
  .ll-quote footer { margin-top: 10px; font-weight: 600; }

  /* FAQ */
  details.ll-faq { border:1px solid rgba(2,6,23,.08); border-radius: 12px; padding: 14px 16px; background:#fff; }
  details.ll-faq + details.ll-faq { margin-top: 12px; }
  details.ll-faq summary { cursor: pointer; font-weight: 600; }

  /* CTA band */
  .ll-cta { text-align:center; background: radial-gradient(1200px 600px at 50% -10%, rgba(29,78,216,.10), transparent 60%), #fff; padding: 56px 0; border-top:1px solid rgba(2,6,23,.06); border-bottom:1px solid rgba(2,6,23,.06); }

  /* Footer mini */
  .ll-mini { color: var(--ll-muted); font-size: 13px; }

  /* Responsive */
  @media (max-width: 1024px) {
    .ll-hero .ll-container { grid-template-columns: 1fr; }
    .ll-features, .ll-steps, .ll-pricing, .ll-testimonials { grid-template-columns: 1fr 1fr; }
  }
  @media (max-width: 640px) {
    .ll-features, .ll-steps, .ll-pricing, .ll-testimonials { grid-template-columns: 1fr; }
  }
	
/* Hero logo above eyebrow */
.ll-hero .ll-container > div:first-child::before{
  content:"";
  display:block;
  width:260px;          /* adjust as needed */
  height:64px;          /* adjust as needed */
  margin-bottom:10px;
  background: url('<?php echo esc_url( get_stylesheet_directory_uri() ); ?>/assets/linguistlink-logo.png')
              no-repeat left center / contain;
}
/* Custom styles for landing page */
body {
  font-family: Rubik, sans-serif;
  background-color: #ffffff;
  color: #000000;
}


		/* ------------------------------
		   LinguistLink brand variables
		   These mirror your landing page palette
		------------------------------ */
		:root {
			--ll-font: "Rubik", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
			--ll-bg: #ffffff;
			--ll-surface: #F8FAFC; /* requested */
			--ll-text: #111827; /* slate-900 */
			--ll-muted: #6b7280; /* slate-500 */

			/* Primary palette (requested) */
			--ll-primary: #F1572D; /* orange */
			--ll-primary-600: #FF6A3D; /* hover */
			--ll-primary-700: #D94C25; /* active */

			/* Accent palette (requested) */
			--ll-accent: #3C8DBC; /* blue */
			--ll-accent-700: #2C6C9C; /* darker */

			/* Utilities */
			--ll-ring: rgba(60,141,188,.35);
		}

		/* Reset minimal header base */
		.ll-header { background:#fff; color:var(--ll-text); font-family:var(--ll-font); border-bottom:1px solid rgba(2,6,23,.06); position:relative; z-index:50; }
		.ll-header-inner { max-width:1200px; margin-inline:auto; padding:10px 16px; display:flex; align-items:center; gap:16px; }
		.ll-brand { display:flex; align-items:center; gap:10px; text-decoration:none; color:inherit; }
		.ll-logo-badge { width:34px; height:34px; border-radius:9px; display:grid; place-items:center; color:#fff; font-weight:800; letter-spacing:.2px; background:linear-gradient(135deg, var(--ll-primary), var(--ll-accent)); }
		.ll-brand-text strong { font-weight:800; line-height:1; }
		.ll-brand-text small { display:block; font-size:11px; color:var(--ll-muted); line-height:1.2; margin-top:1px; }

		/* CTA buttons (global, reused from landing) */
		.ll-btn { display:inline-flex; align-items:center; gap:10px; border-radius:999px; padding:10px 14px; font-weight:600; text-decoration:none; border:1px solid transparent; transition:.18s ease; }
		.ll-btn:focus-visible { outline:none; box-shadow:0 0 0 4px var(--ll-ring); }
		.ll-btn-primary { background:var(--ll-primary); color:#fff; }
		.ll-btn-primary:hover { background:var(--ll-primary-600); transform:translateY(-1px); }
		.ll-btn-secondary { background:#fff; color:var(--ll-primary); border-color:var(--ll-primary); }
		.ll-btn-secondary:hover { background:var(--ll-surface); }

		/* Layout clusters */
		.ll-nav { margin-left:auto; }
		.ll-cta { display:flex; align-items:center; gap:8px; margin-left:12px; }

		/* Burger (fallback if MMM is off) */
		.ll-burger { display:none; width:42px; height:42px; border-radius:10px; border:1px solid rgba(2,6,23,.12); background:#fff; margin-left:8px; position:relative; }
		.ll-burger:focus-visible { outline:none; box-shadow:0 0 0 4px var(--ll-ring); }
		.ll-burger .bar, .ll-burger .bar:before, .ll-burger .bar:after { content:""; position:absolute; left:10px; right:10px; height:2px; background:var(--ll-text); border-radius:2px; }
		.ll-burger .bar { top:20px; }
		.ll-burger .bar:before { top:-8px; }
		.ll-burger .bar:after { top:8px; }

		/* Default wp_nav_menu (when MMM disabled) */
		.ll-menu { list-style:none; margin:0; padding:0; display:flex; gap:16px; }
		.ll-menu > li > a { display:inline-block; padding:10px 8px; text-decoration:none; color:var(--ll-text); border-bottom:2px solid transparent; }
		.ll-menu > li > a:hover { color:var(--ll-accent); border-bottom-color:var(--ll-accent); }
		.ll-menu > li.current-menu-item > a { color:var(--ll-accent-700); border-bottom-color:var(--ll-accent-700); }



		/* Responsive */
		@media (max-width: 1024px) {
			.ll-cta { display:none; }
			.ll-burger { display:inline-block; }
		}
	
		/* Logo image styling */
		.ll-logo-img{height:34px;width:auto;display:block}
		
		/* Two-level dropdowns (desktop) */
.ll-menu, .ll-menu * { list-style: none; }
.ll-menu li { position: relative; }
.ll-menu .sub-menu {
  position: absolute;
  left: 0; top: 100%;
  min-width: 220px;
  background: #fff;
  border: 1px solid rgba(2,6,23,.08);
  border-radius: 12px;
  padding: 8px;
  box-shadow: 0 12px 28px rgba(2,6,23,.12);
  display: none; z-index: 60;
}
.ll-menu .sub-menu li a { display:block; padding:10px 12px; border-radius:8px; }
.ll-menu .sub-menu li a:hover { background: var(--ll-surface); color: var(--ll-accent); }

/* Show on hover or keyboard focus */
.ll-menu li:hover > .sub-menu,
.ll-menu li:focus-within > .sub-menu { display: block; }

/* Second level flyout */
.ll-menu .sub-menu .sub-menu {
  top: 0; left: 100%; margin-left: 8px;
}

/* Carets for parents */
.ll-menu > li.menu-item-has-children > a::after {
  content: "▾"; margin-left: 6px; font-size: 12px; color: var(--ll-muted);
}
.ll-menu .sub-menu > li.menu-item-has-children > a::after {
  content: "▸"; float: right; margin-left: 8px; color: var(--ll-muted);
}

/* Touch-friendly spacing */
.ll-menu > li > a { padding: 10px 10px; }

		@media (max-width:1024px){
  #llMobileMenu { padding: 10px 16px; border-top:1px solid rgba(2,6,23,.08); background:#fff; }
  #llMobileMenu .ll-menu { display:block; padding:0; }
  #llMobileMenu .ll-menu li { border-bottom:1px solid rgba(2,6,23,.06); }
  #llMobileMenu .ll-menu a { display:block; padding:12px 8px; }
  #llMobileMenu .sub-menu {
    position: static; display: none; box-shadow:none; border:0; padding: 0 0 8px 14px;
  }
  #llMobileMenu .has-open > .sub-menu { display:block; }
  .ll-sub-toggle {
    float:right; width:36px; height:36px; border:none; background:transparent; cursor:pointer;
  }
}