/* ==========================================================================
   JD Skating Rink — Theme plugin styling
   Neon "amethyst" look for: the plugin-rendered site-wide HEADER & FOOTER,
   and the Elementor page sections (jdsk-* classes used by the Home template).
   Works together with the animated video background (WPCode snippet).
   ========================================================================== */

/* ==========================================================================
   SITE-WIDE HEADER  (rendered by the plugin — no page builder needed)
   ========================================================================== */
#jdsk-site-header.jdsk-hdr{
  position:sticky; top:0; z-index:9990;
  background:linear-gradient(180deg, rgba(7,7,11,.93), rgba(7,7,11,.5) 72%, rgba(7,7,11,0));
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(168,85,247,.18);
  font-family:'Sora','Inter',sans-serif;
}
.jdsk-hdr-inner{
  max-width:1200px; margin:0 auto; padding:10px 22px;
  display:flex; align-items:center; justify-content:space-between; gap:18px;
}
.jdsk-hdr-logo{ display:inline-flex; align-items:center; flex:0 0 auto; }
.jdsk-hdr-logo img{ max-width:150px; height:auto; display:block; filter:drop-shadow(0 4px 18px rgba(139,92,246,.5)); }

.jdsk-hdr-nav{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.jdsk-hdr-nav ul{ list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:4px; flex-wrap:wrap; }
.jdsk-hdr-nav li{ margin:0; }
.jdsk-hdr-nav a{
  color:#f5f3fb; text-decoration:none; font-weight:600; font-size:15px;
  padding:8px 12px; border-radius:8px; transition:color .2s, background .2s;
}
.jdsk-hdr-nav a:hover{ color:#22d3ee; }
.jdsk-hdr-nav .current-menu-item > a,
.jdsk-hdr-nav .current_page_item > a{ color:#22d3ee; }

.jdsk-hdr-book{
  background:linear-gradient(135deg,#7c3aed,#a855f7); color:#fff !important;
  border-radius:999px; padding:10px 22px !important; font-weight:600;
  box-shadow:0 0 40px -10px rgba(139,92,246,.7); transition:filter .2s, transform .2s;
}
.jdsk-hdr-book:hover{ filter:brightness(1.1); transform:translateY(-1px); color:#fff !important; }

.jdsk-hdr-toggle{
  display:none; background:rgba(168,85,247,.15); color:#f5f3fb;
  border:1px solid rgba(168,85,247,.35); border-radius:10px;
  font-size:20px; line-height:1; padding:8px 12px; cursor:pointer;
}
@media(max-width:860px){
  .jdsk-hdr-inner{ flex-wrap:wrap; }
  .jdsk-hdr-toggle{ display:inline-block; order:2; }
  .jdsk-hdr-logo{ order:1; }
  .jdsk-hdr-nav{ order:3; display:none; width:100%; flex-direction:column; align-items:stretch; gap:6px; padding-top:10px; }
  #jdsk-site-header.jdsk-hdr.is-open .jdsk-hdr-nav{ display:flex; }
  .jdsk-hdr-nav ul{ flex-direction:column; align-items:stretch; gap:2px; width:100%; }
  .jdsk-hdr-nav a{ display:block; }
  .jdsk-hdr-book{ text-align:center; }
}

/* ==========================================================================
   SITE-WIDE FOOTER  (rendered by the plugin)
   ========================================================================== */
.jdsk-ftr{
  background:linear-gradient(0deg, rgba(7,7,11,.96), rgba(7,7,11,.55));
  border-top:1px solid rgba(168,85,247,.2);
  font-family:'Inter',sans-serif; color:#a6a1bb; position:relative; z-index:5;
}
.jdsk-ftr-inner{
  max-width:1160px; margin:0 auto; padding:58px 22px 26px;
  display:grid; grid-template-columns:1.5fr 1fr 1.25fr 1fr; gap:30px;
}
.jdsk-ftr h4{ font-family:'Sora',sans-serif; font-size:13px; letter-spacing:.18em; text-transform:uppercase; color:#a855f7; margin:0 0 12px; }
.jdsk-ftr p{ margin:0 0 8px; font-size:14px; line-height:1.9; }
.jdsk-ftr a{ color:#c9c4da; text-decoration:none; transition:color .2s; }
.jdsk-ftr a:hover{ color:#22d3ee; }
.jdsk-ftr ul{ list-style:none; margin:0; padding:0; }
.jdsk-ftr ul li{ margin:0 0 8px; font-size:14px; }
.jdsk-ftr-brand img{ max-width:180px; height:auto; margin-bottom:12px; filter:drop-shadow(0 6px 24px rgba(139,92,246,.5)); }
.jdsk-ftr-brand p{ max-width:280px; }
.jdsk-ftr-book{
  display:inline-block; margin-top:14px; background:linear-gradient(135deg,#7c3aed,#a855f7);
  color:#fff !important; border-radius:999px; padding:11px 24px; font-weight:600;
  box-shadow:0 0 40px -12px rgba(139,92,246,.7); transition:filter .2s, transform .2s;
}
.jdsk-ftr-book:hover{ filter:brightness(1.1); transform:translateY(-1px); }
.jdsk-ftr-bar{ border-top:1px solid rgba(255,255,255,.08); text-align:center; padding:16px 22px; font-size:13px; color:#6f6a85; }
@media(max-width:860px){ .jdsk-ftr-inner{ grid-template-columns:1fr 1fr; } }
@media(max-width:520px){ .jdsk-ftr-inner{ grid-template-columns:1fr; text-align:center; } .jdsk-ftr-brand img{ margin-left:auto; margin-right:auto; } .jdsk-ftr-brand p{ margin-left:auto; margin-right:auto; } }

/* ==========================================================================
   ELEMENTOR PAGE SECTIONS  (jdsk-* classes used by the Home v2 template)
   ========================================================================== */
.jdsk-section{ padding:clamp(56px,8vw,110px) 16px; }
.jdsk-section.jdsk-pt0{ padding-top:0; }
.jdsk-section .elementor-heading-title{ color:#f5f3fb; font-family:'Sora','Inter',sans-serif; }
.jdsk-section .elementor-widget-text-editor{ color:#c9c4da; font-family:'Inter',sans-serif; }
.jdsk-col-center{ text-align:center; }
.jdsk-col-center .elementor-widget-container{ text-align:center; }

.jdsk-grad .elementor-heading-title{
  background:linear-gradient(90deg,#ffffff,#a855f7 55%,#22d3ee);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent; display:inline-block;
}
.jdsk-h1 .elementor-heading-title{ font-size:clamp(40px,7vw,84px); font-weight:800; line-height:1; letter-spacing:-.02em; }
.jdsk-h2 .elementor-heading-title{ font-size:clamp(30px,5vw,52px); font-weight:700; }

.jdsk-eyebrow .elementor-heading-title{
  display:inline-block; color:#ff5db1; font-size:12px; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase;
  border:1px solid rgba(168,85,247,.35); background:rgba(168,85,247,.10);
  padding:6px 16px; border-radius:999px; margin-bottom:14px;
}
.jdsk-lead .elementor-widget-container{ color:#c9c4da; font-size:clamp(15px,2vw,18px); max-width:640px; margin:0 auto; }
.jdsk-logo img{ max-width:min(340px,72vw); height:auto; margin:0 auto 10px; filter:drop-shadow(0 8px 30px rgba(139,92,246,.5)); }

.jdsk-hero{ min-height:92vh; display:flex; align-items:center; }
.jdsk-hero .elementor-container{ width:100%; }

.jdsk-btn{ display:inline-block !important; width:auto !important; vertical-align:middle; margin:6px; }
.jdsk-btn .elementor-button{
  border-radius:999px; padding:14px 30px; font-weight:600; font-family:'Sora',sans-serif;
  transition:transform .25s, box-shadow .25s, filter .25s;
}
.jdsk-btn-primary .elementor-button{
  background:linear-gradient(135deg,#7c3aed,#a855f7); color:#fff;
  box-shadow:0 0 40px -8px rgba(139,92,246,.6);
}
.jdsk-btn-primary .elementor-button:hover{ transform:translateY(-2px); filter:brightness(1.1); box-shadow:0 0 60px -6px rgba(139,92,246,.8); }
.jdsk-btn-ghost .elementor-button{ background:rgba(255,255,255,.05); color:#fff; border:1px solid rgba(255,255,255,.25); }
.jdsk-btn-ghost .elementor-button:hover{ border-color:rgba(34,211,238,.6); background:rgba(255,255,255,.1); transform:translateY(-2px); }

.jdsk-card{
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-radius:22px; padding:30px 26px !important;
  transition:transform .3s, border-color .3s, box-shadow .3s;
}
.jdsk-card:hover{ transform:translateY(-5px); border-color:rgba(168,85,247,.5); box-shadow:0 0 40px -10px rgba(139,92,246,.5); }
.jdsk-card-feat{ border-color:rgba(255,93,177,.5); box-shadow:0 0 46px -8px rgba(168,85,247,.6); }
.jdsk-stats .elementor-column, .jdsk-section .elementor-column{ padding:10px; }

.jdsk-stat-num .elementor-heading-title{ font-size:clamp(30px,4vw,42px); font-weight:800; }
.jdsk-stat-label .elementor-widget-container{ color:#a6a1bb; font-size:14px; }
.jdsk-card-title .elementor-heading-title{ font-size:24px; font-weight:700; color:#fff; }
.jdsk-card-sub .elementor-widget-container{ color:#22d3ee; font-size:14px; }
.jdsk-price .elementor-heading-title{ font-size:48px; font-weight:800; }
.jdsk-card-list .elementor-widget-container{ color:#c9c4da; font-size:14px; line-height:2; }
.jdsk-card-body .elementor-widget-container{ color:#a6a1bb; font-size:14px; line-height:1.6; }

.jdsk-gallery-img img{ border-radius:16px; aspect-ratio:1/1; object-fit:cover; width:100%;
  border:1px solid rgba(255,255,255,.12); transition:transform .3s, box-shadow .3s; }
.jdsk-gallery-img img:hover{ transform:scale(1.03); box-shadow:0 0 40px -10px rgba(34,211,238,.6); }

.jdsk-about, .jdsk-cta{ max-width:820px; margin:0 auto; }
.jdsk-contact-info .elementor-widget-container{ color:#a6a1bb; font-size:14px; }

@media(max-width:767px){
  .jdsk-hero{ min-height:88vh; }
  .jdsk-btn{ display:block !important; margin:8px auto; }
}
