/*
Theme Name: Plumeo Agency
Theme URI: https://example.com/plumeo
Author: Plumeo
Author URI: https://example.com
Description: Custom one-page agency theme (converted from static export). Every section image/video is editable individually from Appearance > Customize without touching any code.
Version: 1.0
Requires at least: 5.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: plumeo
*/

/* Plumeo — custom styles (works with Tailwind Play CDN loaded in <head>) */
:root{
  --ink:#0F172A; --sky:#0EA5E9; --sky-dark:#0284C7; --emerald:#10B981;
  --bg:#FFFFFF; --muted:#F1F5F9; --border:#E5E7EB; --soft:#EFF6FF;
}
*{ border-color: var(--border); }
html{ scroll-behavior:smooth; }
html{ overflow-x:hidden; max-width:100%; }
body{ max-width:100%; }
body{
  background:var(--bg); color:var(--ink);
  font-family:'Inter',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{ font-family:'Plus Jakarta Sans',system-ui,sans-serif; letter-spacing:-.02em; }
.font-display{ font-family:'Plus Jakarta Sans',system-ui,sans-serif; }

.container-x{ width:100%; max-width:1240px; margin-inline:auto; padding-inline:1.25rem; }

.shadow-card{ box-shadow: 0 1px 2px rgba(15,23,42,.04), 0 8px 24px -8px rgba(15,23,42,.08); }
.shadow-pop{ box-shadow: 0 12px 40px -12px rgba(14,165,233,.35); }

/* Marquees & scrollers */
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.animate-marquee{ animation: marquee 40s linear infinite; }
@keyframes scroll-y-up { from{transform:translateY(0)} to{transform:translateY(-50%)} }
.animate-scroll-y{ animation: scroll-y-up 30s linear infinite; }
@keyframes scroll-y-down { from{transform:translateY(-50%)} to{transform:translateY(0)} }
.animate-scroll-y-reverse{ animation: scroll-y-down 35s linear infinite; }
.hover\:paused:hover{ animation-play-state: paused !important; }

@keyframes fade-up { from{opacity:0; transform:translateY(16px)} to{opacity:1; transform:translateY(0)} }
.animate-fade-up{ animation: fade-up .6s ease-out both; }

/* Mask gradient utility for the hero scroller */
.mask-fade-y{
  -webkit-mask-image: linear-gradient(to bottom, transparent, black 12%, black 88%, transparent);
          mask-image: linear-gradient(to bottom, transparent, black 12%, black 88%, transparent);
}

/* Tabs visibility helper */
.is-hidden{ display:none !important; }

/* Header scrolled state */
.site-header.scrolled{
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 4px 20px -4px rgba(15,23,42,.08);
}

/* FAQ */
.faq-item .faq-body{ display:none; }
.faq-item.open .faq-body{ display:block; animation: fade-up .4s ease-out both; }
.faq-item.open .faq-chev{ transform: rotate(180deg); }

/* Lucide icon defaults */
[data-lucide]{ width:1em; height:1em; stroke-width:2; }

/* ========================================================
   Elementor Compatibility Styles
   ======================================================== */

/* Remove default Elementor padding on canvas pages */
.elementor-canvas-wrap .elementor-section-wrap,
.elementor-canvas-wrap .e-container {
  padding: 0;
}

/* Full width sections in Elementor */
.elementor-section.elementor-section-full_width .elementor-container {
  max-width: 100%;
}

/* Plumeo container inside Elementor columns */
.elementor-widget-container .container-x {
  width: min(100%, 1280px);
  margin-inline: auto;
  padding-inline: clamp(1rem, 4vw, 2.5rem);
}

/* Make Elementor editor respect Tailwind classes */
.elementor-editor-active body {
  background: #fff;
}

/* Preserve animation classes in Elementor */
.elementor-widget-container .animate-fade-up {
  animation: fadeUp 0.6s ease both;
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Elementor heading/text widget font overrides */
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor {
  font-family: 'Inter', system-ui, sans-serif;
}

/* Plumeo button style usable as Elementor button class */
.plumeo-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 24px;
  border-radius: 12px;
  background: #0EA5E9;
  color: #fff;
  font-weight: 600;
  font-size: 15px;
  transition: background 0.2s;
  text-decoration: none;
}
.plumeo-btn-primary:hover { background: #0284C7; color: #fff; }

.plumeo-btn-dark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 24px;
  border-radius: 12px;
  background: #0F172A;
  color: #fff;
  font-weight: 600;
  font-size: 15px;
  transition: background 0.2s;
  text-decoration: none;
}
.plumeo-btn-dark:hover { background: #1e293b; color: #fff; }

/* ================================================
   ELEMENTOR FULL OVERRIDE — Plumeo Sections Fix
   ================================================ */

/* Remove ALL Elementor default spacing from our HTML sections */
.elementor-widget-html {
    padding: 0 !important;
    margin: 0 !important;
}
.elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
}
.elementor-column-wrap,
.elementor-column-gap-default > .elementor-column > .elementor-column-wrap {
    padding: 0 !important;
}
.elementor-row {
    width: 100% !important;
}
.elementor-section .elementor-container {
    max-width: 100% !important;
    padding: 0 !important;
}
.elementor-section {
    padding: 0 !important;
    margin: 0 !important;
}
.elementor-column {
    padding: 0 !important;
}
/* Elementor 3.x flex containers */
.e-container,
.e-con,
.e-con-inner {
    padding: 0 !important;
    max-width: 100% !important;
}

/* Lightbox cursors */
.work-grid img { cursor: zoom-in; }
.team-card .video-wrap { cursor: zoom-in; }
#media-modal { animation: fade-up .25s ease-out both; }

/* Our Work cards: show full images without side cropping */
#work .media-card img,
#work .media-card video {
  object-fit: contain !important;
}

/* Image-only lightbox: hide details and use full width for the image */
#media-modal-inner.image-only {
  grid-template-columns: 1fr;
}
#media-modal-inner.image-only #media-modal-details {
  display: none !important;
}
#media-modal-inner.image-only img {
  max-height: 88vh;
}

