/* =========================================================================
   Arocco — Linear-style Elementor layer (ar-v6, clean production CSS)
   Replaces the previous tangled v3/v4/v5 rules. Self-contained, prefixed,
   built on a robust flex grid that IGNORES Elementor's stored column
   percentages — so card and pricing rows can never overflow or collapse.
========================================================================= */
:root{
  --ar-bg:#08090D; --ar-surface:#11131A; --ar-surface-2:#171A23;
  --ar-border:rgba(255,255,255,.10); --ar-text:#F7F8FA; --ar-muted:#9CA3AF;
  --ar-primary:#7C5CFF; --ar-secondary:#4EA1FF; --ar-glow:rgba(124,92,255,.35);
}
.ar-v6-section{ position:relative; padding:96px 20px; background:var(--ar-bg); overflow:hidden; }
.ar-v6-section > .elementor-container{ max-width:1180px; margin-inline:auto; width:100%; }
.ar-v6-section .elementor-column > .elementor-widget-wrap,
.ar-v6-section .elementor-column > .elementor-element-populated{ padding:0 12px; }
.ar-v6-kicker .elementor-heading-title,
.ar-v6-kicker.elementor-widget-text-editor{ letter-spacing:.14em; text-transform:uppercase; font-size:13px; color:var(--ar-muted); }
.ar-v6-title .elementor-heading-title{ font-weight:700; letter-spacing:-.02em; line-height:1.1; }
.ar-v6-title-small .elementor-heading-title{ font-weight:700; letter-spacing:-.01em; }
.ar-v6-lead{ color:var(--ar-muted); }
.ar-v6-center{ text-align:center; }
.ar-v6-col-full{ flex:1 1 100% !important; width:100% !important; max-width:760px; margin-inline:auto; }
.ar-v6-card-grid > .elementor-container,
.ar-v6-pricing-grid > .elementor-container{ display:flex; flex-wrap:wrap; gap:24px; justify-content:center; align-items:stretch; }
.ar-v6-card-grid > .elementor-container > .elementor-column,
.ar-v6-pricing-grid > .elementor-container > .elementor-column{ width:auto !important; flex:1 1 300px; max-width:380px; }
.ar-v6-card-grid > .elementor-container > .elementor-column.ar-v6-col-full,
.ar-v6-pricing-grid > .elementor-container > .elementor-column.ar-v6-col-full{ flex:1 1 100% !important; max-width:760px; }
.ar-v6-card-col > .elementor-widget-wrap,
.ar-v6-card-col > .elementor-element-populated{
  height:100%; border:1px solid var(--ar-border); border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  box-shadow:0 18px 54px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.05);
  padding:30px 26px !important; overflow:hidden; transition:transform .25s ease, border-color .25s ease; }
.ar-v6-card-col:hover > .elementor-widget-wrap,
.ar-v6-card-col:hover > .elementor-element-populated{ transform:translateY(-3px); border-color:rgba(124,92,255,.45); }
.ar-v6-card-col .elementor-widget-icon-box{ width:100%; }
.ar-v6-card-col .elementor-icon-box-wrapper{ text-align:start; }
.ar-v6-card-col .elementor-icon-box-icon{ margin-bottom:16px !important; }
.ar-v6-card-col .elementor-icon{ filter:drop-shadow(0 0 16px rgba(124,92,255,.40)); }
.ar-v6-card-col .elementor-icon-box-title{ font-size:20px; }
.ar-v6-card-col .elementor-icon-box-description{ color:var(--ar-muted); }
.ar-v6-price-col > .elementor-widget-wrap,
.ar-v6-price-col > .elementor-element-populated{
  height:100%; display:flex; flex-direction:column; gap:14px; min-height:380px;
  border:1px solid var(--ar-border); border-radius:20px; padding:32px 26px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02)); }
.ar-v6-price-featured > .elementor-widget-wrap,
.ar-v6-price-featured > .elementor-element-populated{
  border-color:var(--ar-primary); box-shadow:0 0 0 1px var(--ar-primary), 0 30px 80px -30px var(--ar-glow); }
.ar-v6-price-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; text-align:start; }
.ar-v6-price-list li{ position:relative; padding-inline-start:22px; color:var(--ar-muted); font-size:15px; }
.ar-v6-price-list li::before{ content:"\2713"; position:absolute; inset-inline-start:0; color:var(--ar-secondary); }
.ar-v6-price-action{ margin-top:auto; }
.ar-v6-product-row > .elementor-container{
  display:flex; flex-wrap:wrap; gap:40px; align-items:center; justify-content:center;
  border-top:1px solid rgba(255,255,255,.07); }
.ar-v6-product-row > .elementor-container > .elementor-column{ width:auto !important; flex:1 1 360px; }
.ar-v6-product-visual > .elementor-widget-wrap,
.ar-v6-product-visual > .elementor-element-populated{ display:flex; align-items:center; justify-content:center; }
.ar-v6-product-title .elementor-heading-title{ font-weight:700; letter-spacing:-.01em; }
.ar-v6-product-desc{ color:var(--ar-muted); }
.ar-v6-hero{ padding-top:140px; padding-bottom:84px; text-align:center; }
.ar-v6-hero > .elementor-container{ position:relative; z-index:2; max-width:1100px; }
.ar-v6-grid{ background-image:radial-gradient(circle at 1px 1px, rgba(255,255,255,.05) 1px, transparent 0); background-size:28px 28px; }
.ar-v6-glow::before{ content:""; position:absolute; left:50%; top:16%; width:70%; height:55%; transform:translateX(-50%);
  background:radial-gradient(closest-side, var(--ar-glow), rgba(78,161,255,.10) 55%, transparent 75%);
  filter:blur(60px); z-index:0; pointer-events:none; }
.ar-v6-hero-shot{ margin-top:46px !important; padding:10px; border-radius:28px; border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.025));
  box-shadow:0 42px 120px rgba(0,0,0,.56), 0 0 0 1px rgba(124,92,255,.08); line-height:0; }
.ar-v6-product-shot{ padding:8px; border-radius:18px; border:1px solid var(--ar-border);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02)); line-height:0; }
.ar-v6-hero-shot img, .ar-v6-product-shot img,
.ar-v6-section .elementor-widget-image img{ width:100% !important; height:auto !important; display:block; border-radius:16px; }
.ar-v6-actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:10px; }
.ar-v6-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; text-decoration:none;
  padding:14px 26px; border-radius:999px; font-weight:600; font-size:15px; border:1px solid transparent; transition:.2s; }
.ar-v6-btn-primary{ background:linear-gradient(135deg,var(--ar-primary),#5b6cff); color:#fff; }
.ar-v6-btn-primary:hover{ filter:brightness(1.08); transform:translateY(-1px); }
.ar-v6-btn-secondary{ background:rgba(255,255,255,.05); border-color:var(--ar-border); color:var(--ar-text); }
.ar-v6-btn-secondary:hover{ background:rgba(255,255,255,.09); }
.ar-v6-mini-list{ display:flex; gap:10px; flex-wrap:wrap; justify-content:center; }
.ar-v6-mini-list span{ border:1px solid var(--ar-border); border-radius:999px; padding:6px 14px; color:var(--ar-muted); font-size:13px; }
.ar-v6-cta > .elementor-container{ max-width:840px; }
.ar-v6-cta-box > .elementor-widget-wrap,
.ar-v6-cta-box > .elementor-element-populated{
  border:1px solid var(--ar-border); border-radius:24px; padding:56px 30px !important; text-align:center;
  background:radial-gradient(120% 120% at 50% 0%, rgba(124,92,255,.16), transparent 60%), #0c0f18; }
.ar-v6-faq-wrap{ max-width:820px; margin-inline:auto; }
.ar-v6-index .elementor-heading-title{ color:var(--ar-primary); font-weight:800; }
.ar-v6-faq .elementor-accordion .elementor-accordion-item{
  border:1px solid var(--ar-border); border-radius:14px; margin-bottom:12px; background:var(--ar-surface); overflow:hidden; }
.ar-v6-faq .elementor-tab-title{ color:var(--ar-text) !important; font-weight:600; padding:18px 20px; }
.ar-v6-faq .elementor-tab-content{ color:var(--ar-muted) !important; border:0 !important; }
@media (max-width:1024px){
  .ar-v6-section{ padding:72px 18px; }
  .ar-v6-section > .elementor-container{ max-width:760px !important; }
  .ar-v6-product-row > .elementor-container > .elementor-column{ flex:1 1 100%; }
}
@media (max-width:767px){
  .ar-v6-section{ padding:56px 16px; }
  .ar-v6-hero{ padding-top:96px; }
  .ar-v6-actions{ flex-direction:column; width:100%; }
  .ar-v6-btn{ width:100%; }
  .ar-v6-card-col, .ar-v6-price-col{ flex:1 1 100% !important; max-width:100%; }
  .ar-v6-hero-shot, .ar-v6-product-shot{ padding:6px; border-radius:16px; }
}
