/*
Theme Name: Cloud Queen (Elementor)
Description: Cloud Queen digital marketing site for Elementor Pro. Child theme of Hello Elementor. After activating, go to Appearance → Cloud Queen Setup to create every page, the header, footer and menu in one click.
Template: hello-elementor
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Author: Cloud Queen
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cloud-queen-elementor
*/

/* Layout, colors and type are set inside Elementor. These styles add the
   effects Elementor has no control for: gradient text, gradient buttons,
   card hover lifts, drifting clouds and polish for Pro widgets. */

:root {
  --cq-ink: #1d1a3a;
  --cq-soft: #5b5878;
  --cq-purple: #6c4cf1;
  --cq-pink: #e65fa8;
  --cq-gold: #f5b83d;
  --cq-bg: #fbfaff;
  --cq-line: #e6e2f5;
  --cq-shadow: 0 10px 30px rgba(45, 30, 120, 0.08);
}

body {
  background: var(--cq-bg);
  color: var(--cq-ink);
  font-family: "Inter", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
html { scroll-behavior: smooth; }

/* Blog posts & plain pages (non-Elementor) */
body:not(.elementor-page) .site-main h1,
body:not(.elementor-page) .site-main h2,
body:not(.elementor-page) .site-main h3 { font-family: "Fraunces", Georgia, serif; }
body:not(.elementor-page) .site-main a { color: var(--cq-purple); }

/* Gradient text: <span class="cq-grad"> inside any heading */
.cq-grad {
  background: linear-gradient(90deg, var(--cq-purple), var(--cq-pink));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* Buttons */
.cq-btn .elementor-button,
.cq-form .elementor-button {
  background: linear-gradient(135deg, var(--cq-purple), var(--cq-pink)) !important;
  box-shadow: 0 8px 20px rgba(108, 76, 241, .3);
  transition: transform .2s, box-shadow .2s;
}
.cq-btn .elementor-button:hover,
.cq-form .elementor-button:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(108, 76, 241, .4); }
.cq-btn-ghost .elementor-button { box-shadow: inset 0 0 0 2px var(--cq-line); transition: box-shadow .2s, color .2s; }
.cq-btn-ghost .elementor-button:hover { box-shadow: inset 0 0 0 2px var(--cq-purple); color: var(--cq-purple) !important; }
.cq-btn-ghost-light .elementor-button { box-shadow: inset 0 0 0 2px rgba(255,255,255,.35); }

/* Cards (applied to columns). Elementor's column gutter is padding on
   .elementor-element-populated, so cards use margin for their gutter. */
.elementor-section .elementor-column.cq-card > .elementor-element-populated {
  background: #fff;
  border: 1px solid var(--cq-line);
  border-radius: 18px;
  padding: 30px;
  margin: 11px;
  transition: transform .25s, box-shadow .25s, border-color .25s;
}
.elementor-section .elementor-column.cq-card:hover > .elementor-element-populated {
  transform: translateY(-6px);
  box-shadow: var(--cq-shadow);
  border-color: #cfc6f7;
}
.elementor-section .elementor-column.cq-card-lg > .elementor-element-populated { padding: 36px; box-shadow: 0 20px 50px rgba(45, 30, 120, .12); }
.elementor-section .elementor-column.cq-card-lg:hover > .elementor-element-populated { transform: none; }
.cq-center { text-align: center; }
.cq-center .elementor-counter { margin-bottom: 18px; }

/* Small rounded label */
.cq-pill .elementor-heading-title {
  display: inline-block; background: #eee8ff; padding: 4px 12px; border-radius: 999px;
}
.cq-result .cq-pill { margin-bottom: 14px !important; }

/* Stats band overlaps the bottom of the hero */
.cq-stats-band > .elementor-container {
  background: #fff;
  border: 1px solid var(--cq-line);
  border-radius: 18px;
  box-shadow: var(--cq-shadow);
  padding: 26px 0;
  margin-top: -56px;
  position: relative;
  z-index: 3;
}
.cq-stats-band .elementor-counter { text-align: center; }

/* Drifting clouds in hero sections */
.cq-clouds { overflow: hidden; }
.cq-clouds > .elementor-container { position: relative; z-index: 2; }
.cq-clouds::before,
.cq-clouds::after {
  content: ""; position: absolute; z-index: 1; pointer-events: none;
  background: #fff; border-radius: 999px; opacity: .7;
  animation: cq-drift 70s linear infinite;
}
.cq-clouds::before {
  width: 200px; height: 56px; top: 24%;
  box-shadow: 46px -28px 0 4px #fff, 104px -12px 0 -2px #fff;
  animation-delay: -18s;
}
.cq-clouds::after {
  width: 260px; height: 70px; top: 68%; opacity: .55;
  box-shadow: 60px -34px 0 6px #fff, 140px -14px 0 0 #fff;
  animation-duration: 95s; animation-delay: -55s;
}
@keyframes cq-drift { from { transform: translateX(-360px); } to { transform: translateX(110vw); } }

/* Header */
.cq-header { transition: box-shadow .3s, background-color .3s; }
.cq-header.elementor-sticky--effects { box-shadow: 0 1px 0 var(--cq-line), 0 6px 20px rgba(45,30,120,.06); backdrop-filter: blur(12px); }
.cq-logo a { color: inherit; }

/* Pricing tables */
.elementor-section .elementor-column.cq-plan > .elementor-element-populated { padding: 0; overflow: hidden; }
.cq-plan .elementor-price-table { border-radius: 18px; }
.cq-plan .elementor-price-table__header { padding: 30px 24px 10px; }
.cq-plan .elementor-price-table__features-list { padding: 10px 28px; }
.cq-plan .elementor-price-table__footer { padding: 10px 28px 30px; }
.cq-plan .elementor-price-table__button { width: 100%; }
.elementor-section .elementor-column.cq-plan-featured > .elementor-element-populated { border: 2px solid var(--cq-purple); box-shadow: 0 20px 40px rgba(108,76,241,.15); }
@media (min-width: 1025px) {
  .elementor-section .elementor-column.cq-plan-featured > .elementor-element-populated { transform: scale(1.03); }
  .elementor-section .elementor-column.cq-plan-featured:hover > .elementor-element-populated { transform: scale(1.03) translateY(-6px); }
}

/* FAQ accordion */
.cq-accordion .elementor-accordion-item {
  border: 1px solid var(--cq-line) !important; border-radius: 14px; overflow: hidden; margin-bottom: 12px; background: #fff;
}
.cq-accordion .elementor-tab-title { padding: 18px 22px; }
.cq-accordion .elementor-tab-content { border-top: 0 !important; padding: 0 22px 18px; }

/* Blog post cards */
.cq-posts .elementor-post__card {
  border: 1px solid var(--cq-line); border-radius: 18px; box-shadow: none !important; overflow: hidden;
  transition: transform .25s, box-shadow .25s;
}
.cq-posts .elementor-post__card:hover { transform: translateY(-6px); box-shadow: var(--cq-shadow) !important; }
.cq-posts .elementor-post__thumbnail__link { background: linear-gradient(135deg, #b29cff, #f39ad0); }
.cq-posts .elementor-post__title a { font-family: "Fraunces", Georgia, serif; }
.cq-posts .elementor-pagination { margin-top: 40px; }
.cq-posts .elementor-pagination .page-numbers.current { color: var(--cq-purple); font-weight: 600; }

/* Form fields focus */
.cq-form .elementor-field:focus { border-color: var(--cq-purple) !important; outline: none; box-shadow: 0 0 0 3px rgba(108,76,241,.12); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .cq-clouds::before, .cq-clouds::after { animation: none; }
  .cq-card > .elementor-element-populated { transition: none; }
}

@media (max-width: 767px) {
  .elementor-section .elementor-column.cq-card > .elementor-element-populated { padding: 24px; margin: 8px 0; }
  .cq-stats-band > .elementor-container { margin-top: -40px; padding: 16px 0; }
}
