/*
Theme Name: Adventure Ready
Theme URI: https://sporttec.co.uk
Author: Adventure Ready
Author URI: https://sporttec.co.uk
Description: Premium dark motorsport motorhome conversion theme. Barlow Condensed headings, Adventure Orange accent, full-width Elementor support.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: adventure-ready
Tags: dark, one-page, elementor, full-width-template, custom-menu, custom-logo, featured-images
*/

/* ============================================================
   GOOGLE FONTS
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700;800&family=Barlow:wght@300;400;500;600;700&display=swap');

/* ============================================================
   CSS CUSTOM PROPERTIES
   ============================================================ */
:root {
  --ar-bg:           #181A20;
  --ar-bg-card:      #1c1f27;
  --ar-bg-secondary: #22262f;
  --ar-orange:       #EC883B;
  --ar-orange-dark:  #c96e22;
  --ar-white:        #f2f2f2;
  --ar-muted:        #8a8f9e;
  --ar-border:       rgba(255,255,255,0.07);
  --ar-font-display: 'Barlow Condensed', sans-serif;
  --ar-font-body:    'Barlow', sans-serif;
  --ar-transition:   0.3s ease;
}

/* ============================================================
   RESET & BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  background-color: var(--ar-bg);
  color: var(--ar-white);
  font-family: var(--ar-font-body);
  font-weight: 400;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4,h5,h6 {
  font-family: var(--ar-font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  line-height: 1.05;
  color: var(--ar-white);
}
a { color: var(--ar-orange); text-decoration: none; transition: color var(--ar-transition); }
a:hover { color: var(--ar-white); }
img { max-width: 100%; height: auto; display: block; }
ul,ol { list-style: none; }
.screen-reader-text { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap; }

/* ============================================================
   LAYOUT
   ============================================================ */
.ar-container { max-width:1280px; margin:0 auto; padding:0 2rem; }
@media(min-width:1024px){ .ar-container{ padding:0 3rem; } }
.ar-section { padding:6rem 0; }
@media(min-width:768px){ .ar-section{ padding:8rem 0; } }

.ar-clip     { clip-path:polygon(0 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%); }
.ar-clip-btn { clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%); }

.ar-label { display:flex; align-items:center; gap:1rem; margin-bottom:1rem; }
.ar-label::before { content:''; display:block; width:2rem; height:1px; background:var(--ar-orange); flex-shrink:0; }
.ar-label span { font-family:var(--ar-font-display); font-size:0.8rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--ar-orange); }

/* Buttons */
.ar-btn-primary {
  display:inline-block; background:var(--ar-orange); color:var(--ar-bg);
  font-family:var(--ar-font-display); font-weight:700; font-size:0.9rem;
  letter-spacing:0.15em; text-transform:uppercase; padding:1rem 2.5rem;
  border:none; cursor:pointer;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);
  transition:background var(--ar-transition),color var(--ar-transition);
}
.ar-btn-primary:hover { background:var(--ar-white); color:var(--ar-bg); }

.ar-btn-outline {
  display:inline-block; background:transparent; color:var(--ar-orange);
  font-family:var(--ar-font-display); font-weight:700; font-size:0.9rem;
  letter-spacing:0.15em; text-transform:uppercase; padding:1rem 2.5rem;
  border:2px solid var(--ar-orange); cursor:pointer;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);
  transition:background var(--ar-transition),color var(--ar-transition);
}
.ar-btn-outline:hover { background:var(--ar-orange); color:var(--ar-bg); }

/* ============================================================
   HEADER / NAV
   ============================================================ */
#site-header {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:1.5rem 0;
  transition:background var(--ar-transition),padding var(--ar-transition),border-color var(--ar-transition);
  border-bottom:1px solid transparent;
}
#site-header.scrolled {
  background:rgba(24,26,32,0.97); backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px); padding:1rem 0; border-color:var(--ar-border);
}
.header-inner { display:flex; align-items:center; justify-content:space-between; }
.site-logo img { height:2.25rem; object-fit:contain; }
.site-logo:hover { opacity:0.8; }

#primary-nav { display:none; }
@media(min-width:768px){ #primary-nav{ display:flex; align-items:center; gap:2rem; } }
#primary-nav a {
  font-family:var(--ar-font-display); font-size:0.8rem; letter-spacing:0.15em;
  text-transform:uppercase; color:var(--ar-muted); transition:color var(--ar-transition);
}
#primary-nav a:hover { color:var(--ar-orange); }
.nav-cta {
  background:var(--ar-orange) !important; color:var(--ar-bg) !important;
  padding:0.6rem 1.5rem;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%);
  transition:background var(--ar-transition),color var(--ar-transition) !important;
}
.nav-cta:hover { background:var(--ar-white) !important; color:var(--ar-bg) !important; }

.menu-toggle { display:flex; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:4px; }
@media(min-width:768px){ .menu-toggle{ display:none; } }
.menu-toggle span { display:block; width:26px; height:2px; background:var(--ar-white); transition:transform var(--ar-transition),opacity var(--ar-transition); }
.menu-toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.menu-toggle.open span:nth-child(2){ opacity:0; }
.menu-toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

#mobile-menu { display:none; position:absolute; top:100%; left:0; right:0; background:rgba(24,26,32,0.98); backdrop-filter:blur(16px); border-bottom:1px solid var(--ar-border); padding:1.5rem 2rem; }
#mobile-menu.open { display:block; }
#mobile-menu a { display:block; font-family:var(--ar-font-display); font-size:1.1rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--ar-white); padding:0.75rem 0; border-bottom:1px solid var(--ar-border); transition:color var(--ar-transition); }
#mobile-menu a:hover { color:var(--ar-orange); }
#mobile-menu .nav-cta { margin-top:1rem; display:block; text-align:center; padding:1rem; }

/* ============================================================
   HERO
   ============================================================ */
.ar-hero { position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden; }
.ar-hero-bg { position:absolute; inset:0; z-index:0; }
.ar-hero-bg img { width:100%; height:100%; object-fit:cover; }
.ar-hero-bg::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to bottom,rgba(24,26,32,0.55) 0%,rgba(24,26,32,0.2) 50%,rgba(24,26,32,1) 100%);
}
.ar-hero-overlay { position:absolute; inset:0; background:rgba(0,0,0,0.35); z-index:1; }
.ar-hero-content { position:relative; z-index:2; padding-top:5rem; width:100%; }
.ar-hero-eyebrow { display:flex; align-items:center; gap:1rem; margin-bottom:1.5rem; }
.ar-hero-eyebrow::before { content:''; display:block; width:3rem; height:1px; background:var(--ar-orange); }
.ar-hero-eyebrow span { font-family:var(--ar-font-display); font-size:0.85rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--ar-orange); }
.ar-hero h1 { font-size:clamp(3.5rem,10vw,9rem); font-weight:800; line-height:0.88; margin-bottom:2rem; color:#fff; text-shadow:0 0 60px rgba(236,136,59,0.25); }
.ar-hero h1 span { color:rgba(255,255,255,0.45); }
.ar-hero-desc { font-size:1.1rem; color:rgba(255,255,255,0.65); max-width:640px; margin-bottom:3rem; font-weight:300; line-height:1.7; }
.ar-hero-ctas { display:flex; flex-wrap:wrap; gap:1.5rem; }
.ar-hero-ghost {
  display:inline-block; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.18);
  color:#fff; font-family:var(--ar-font-display); font-weight:700; font-size:0.9rem;
  letter-spacing:0.15em; text-transform:uppercase; padding:1rem 2.5rem;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);
  transition:background var(--ar-transition);
}
.ar-hero-ghost:hover { background:rgba(255,255,255,0.12); color:#fff; }
.ar-scroll-hint { position:absolute; bottom:2.5rem; left:50%; transform:translateX(-50%); z-index:2; display:flex; flex-direction:column; align-items:center; gap:0.5rem; cursor:pointer; opacity:0.5; transition:opacity var(--ar-transition); }
.ar-scroll-hint:hover { opacity:1; }
.ar-scroll-hint span { font-family:var(--ar-font-display); font-size:0.7rem; letter-spacing:0.25em; text-transform:uppercase; }
.ar-scroll-hint svg { animation:bounce 1.5s ease-in-out infinite; }
@keyframes bounce { 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(6px); } }

/* ============================================================
   ABOUT
   ============================================================ */
.ar-about { background:var(--ar-bg); border-bottom:1px solid var(--ar-border); }
.ar-about-grid { display:grid; grid-template-columns:1fr; gap:4rem; align-items:center; }
@media(min-width:1024px){ .ar-about-grid{ grid-template-columns:1fr 1fr; } }
.ar-about-text h2 { font-size:clamp(2.2rem,5vw,3.5rem); margin-bottom:2rem; }
.ar-about-text p { color:var(--ar-muted); font-size:1.05rem; line-height:1.8; margin-bottom:1.5rem; }
.ar-about-quote { color:var(--ar-white) !important; font-weight:500; border-left:2px solid var(--ar-orange); padding:0.75rem 0 0.75rem 1.5rem; margin-top:2rem !important; }
.ar-about-stats { display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin-top:3rem; }
.ar-stat-num { font-family:var(--ar-font-display); font-size:2.75rem; font-weight:800; color:var(--ar-orange); display:block; margin-bottom:0.25rem; }
.ar-stat-label { font-family:var(--ar-font-display); font-size:0.75rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--ar-muted); }
.ar-about-image { position:relative; }
.ar-about-image-wrap { clip-path:polygon(0 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%); overflow:hidden; border:1px solid var(--ar-border); background:var(--ar-bg-card); }
.ar-about-image-wrap img { width:100%; aspect-ratio:1/1; object-fit:cover; filter:grayscale(20%); transition:transform 0.7s ease,filter 0.7s ease; }
.ar-about-image-wrap:hover img { transform:scale(1.04); filter:grayscale(0%); }
.ar-about-corner-tl,.ar-about-corner-br { position:absolute; width:5rem; height:5rem; display:none; }
@media(min-width:768px){ .ar-about-corner-tl,.ar-about-corner-br{ display:block; } }
.ar-about-corner-tl { top:-1.25rem; right:-1.25rem; border-top:2px solid var(--ar-orange); border-right:2px solid var(--ar-orange); }
.ar-about-corner-br { bottom:-1.25rem; left:-1.25rem; border-bottom:2px solid var(--ar-orange); border-left:2px solid var(--ar-orange); }

/* ============================================================
   VANS
   ============================================================ */
.ar-vans { background:var(--ar-bg-secondary); position:relative; }
.ar-vans::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(to right,transparent,rgba(236,136,59,0.4),transparent); }
.ar-section-header { text-align:center; margin-bottom:5rem; }
.ar-section-header .ar-label { justify-content:center; }
.ar-section-header .ar-label::before { display:none; }
.ar-section-header .ar-label::after { content:''; display:block; width:2rem; height:1px; background:var(--ar-orange); }
.ar-section-header h2 { font-size:clamp(2rem,5vw,3.5rem); }
.ar-vans-grid { display:grid; grid-template-columns:1fr; gap:2rem; }
@media(min-width:768px){ .ar-vans-grid{ grid-template-columns:1fr 1fr; } }
.ar-van-card { cursor:pointer; }
.ar-van-card-image { position:relative; overflow:hidden; clip-path:polygon(0 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%); background:var(--ar-bg-card); border:1px solid var(--ar-border); margin-bottom:1.5rem; }
.ar-van-card-image img { width:100%; aspect-ratio:16/10; object-fit:cover; transition:transform 0.7s ease; }
.ar-van-card:hover .ar-van-card-image img { transform:scale(1.05); }
.ar-van-card-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(24,26,32,0.9) 0%,transparent 60%); z-index:1; }
.ar-van-card-info { position:absolute; bottom:0; left:0; right:0; padding:1.5rem; z-index:2; display:flex; justify-content:space-between; align-items:flex-end; transform:translateY(0.5rem); transition:transform 0.4s ease; }
.ar-van-card:hover .ar-van-card-info { transform:translateY(0); }
.ar-van-card-info h3 { font-size:1.6rem; color:#fff; margin-bottom:0.25rem; }
.ar-van-card-info p { font-size:0.85rem; color:rgba(255,255,255,0.65); }
.ar-van-plus { width:2.5rem; height:2.5rem; border:1px solid var(--ar-orange); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--ar-font-display); font-size:1.4rem; color:var(--ar-orange); flex-shrink:0; transition:background var(--ar-transition),color var(--ar-transition); }
.ar-van-card:hover .ar-van-plus { background:var(--ar-orange); color:var(--ar-bg); }
.ar-van-specs { display:grid; grid-template-columns:1fr 1fr 1fr; gap:0.75rem; }
.ar-van-spec { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:0.75rem; border:1px solid var(--ar-border); background:rgba(255,255,255,0.03); gap:0.4rem; }
.ar-van-spec svg { color:var(--ar-orange); width:1.1rem; height:1.1rem; }
.ar-van-spec span { font-family:var(--ar-font-display); font-size:0.7rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--ar-muted); }
.ar-vans-footer { text-align:center; margin-top:5rem; }
.ar-vans-footer p { color:var(--ar-muted); max-width:36rem; margin:0 auto 2rem; }

/* ============================================================
   GALLERY
   ============================================================ */
.ar-gallery { background:var(--ar-bg); border-bottom:1px solid var(--ar-border); }
.ar-gallery-header { display:flex; flex-direction:column; gap:1.5rem; margin-bottom:3rem; }
@media(min-width:768px){ .ar-gallery-header{ flex-direction:row; justify-content:space-between; align-items:flex-end; } }
.ar-gallery-header h2 { font-size:clamp(2rem,4vw,3rem); }
.ar-gallery-header p { color:var(--ar-muted); max-width:28rem; }
.ar-gallery-grid { columns:1; column-gap:1.5rem; }
@media(min-width:640px){ .ar-gallery-grid{ columns:2; } }
@media(min-width:1024px){ .ar-gallery-grid{ columns:3; } }
.ar-gallery-item { break-inside:avoid; margin-bottom:1.5rem; position:relative; overflow:hidden; clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%); background:var(--ar-bg-card); cursor:pointer; }
.ar-gallery-item img { width:100%; object-fit:cover; filter:grayscale(15%); transition:transform 0.7s ease,filter 0.5s ease; }
.ar-gallery-item:hover img { transform:scale(1.05); filter:grayscale(0%); }
.ar-gallery-caption { position:absolute; bottom:0; left:0; right:0; padding:1rem 1.25rem; background:linear-gradient(to top,rgba(0,0,0,0.8),transparent); font-family:var(--ar-font-display); font-size:1rem; text-transform:uppercase; letter-spacing:0.1em; color:#fff; opacity:0; transform:translateY(0.5rem); transition:opacity 0.3s ease,transform 0.3s ease; }
.ar-gallery-item:hover .ar-gallery-caption { opacity:1; transform:translateY(0); }
.ar-ticker { background:rgba(236,136,59,0.06); border-top:1px solid rgba(236,136,59,0.15); border-bottom:1px solid rgba(236,136,59,0.15); padding:1rem 0; overflow:hidden; white-space:nowrap; margin-top:5rem; }
.ar-ticker-track { display:inline-block; animation:ticker 20s linear infinite; font-family:var(--ar-font-display); font-size:1.5rem; letter-spacing:0.2em; text-transform:uppercase; color:rgba(236,136,59,0.35); }
@keyframes ticker { from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ============================================================
   CONFIGURE
   ============================================================ */
.ar-configure { background:var(--ar-bg-secondary); }
.ar-config-wrap { max-width:56rem; margin:0 auto; background:var(--ar-bg-card); border:1px solid rgba(255,255,255,0.08); padding:2.5rem 2rem; clip-path:polygon(0 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%); }
@media(min-width:768px){ .ar-config-wrap{ padding:3.5rem; } }
.ar-config-step { margin-bottom:3rem; }
.ar-step-label { font-family:var(--ar-font-display); font-size:1.1rem; text-transform:uppercase; letter-spacing:0.15em; margin-bottom:1.5rem; display:flex; align-items:center; gap:0.75rem; }
.ar-step-num { display:inline-flex; align-items:center; justify-content:center; width:2rem; height:2rem; border:1px solid rgba(236,136,59,0.35); color:var(--ar-orange); font-size:0.8rem; flex-shrink:0; }
.ar-option-grid { display:grid; grid-template-columns:1fr; gap:1rem; }
@media(min-width:480px){ .ar-option-grid{ grid-template-columns:repeat(3,1fr); } }
.ar-option-grid-2 { display:grid; grid-template-columns:1fr; gap:1rem; }
@media(min-width:480px){ .ar-option-grid-2{ grid-template-columns:1fr 1fr; } }
.ar-option { text-align:left; padding:1.25rem; border:1px solid var(--ar-border); background:rgba(24,26,32,0.6); cursor:pointer; transition:border-color var(--ar-transition),background var(--ar-transition); }
.ar-option:hover { border-color:rgba(255,255,255,0.2); }
.ar-option.selected { border-color:var(--ar-orange); background:rgba(236,136,59,0.06); }
.ar-option-name { font-family:var(--ar-font-display); font-size:1rem; text-transform:uppercase; letter-spacing:0.08em; color:#fff; margin-bottom:0.3rem; }
.ar-option.selected .ar-option-name { color:var(--ar-orange); }
.ar-option-desc { font-size:0.8rem; color:var(--ar-muted); }
.ar-extra { display:flex; align-items:flex-start; gap:1rem; text-align:left; padding:1rem; border:1px solid var(--ar-border); background:rgba(24,26,32,0.6); cursor:pointer; transition:border-color var(--ar-transition),background var(--ar-transition); }
.ar-extra:hover { border-color:rgba(255,255,255,0.2); }
.ar-extra.selected { border-color:var(--ar-orange); background:rgba(236,136,59,0.04); }
.ar-extra-check { width:1.25rem; height:1.25rem; border:1px solid var(--ar-muted); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:0.15rem; transition:border-color var(--ar-transition),background var(--ar-transition); }
.ar-extra.selected .ar-extra-check { border-color:var(--ar-orange); background:var(--ar-orange); }
.ar-extra-check svg { display:none; }
.ar-extra.selected .ar-extra-check svg { display:block; }
.ar-config-footer { border-top:1px solid var(--ar-border); padding-top:2.5rem; margin-top:3rem; text-align:center; }

/* ============================================================
   SHOP
   ============================================================ */
.ar-shop { background:var(--ar-bg); border-bottom:1px solid var(--ar-border); }
.ar-shop-header { display:flex; flex-direction:column; gap:1.5rem; margin-bottom:4rem; }
@media(min-width:768px){ .ar-shop-header{ flex-direction:row; justify-content:space-between; align-items:flex-end; } }
.ar-shop-header h2 { font-size:clamp(2rem,4vw,3rem); }
.ar-shop-all { font-family:var(--ar-font-display); font-size:0.8rem; letter-spacing:0.15em; text-transform:uppercase; color:#fff; border-bottom:1px solid var(--ar-orange); padding-bottom:2px; transition:color var(--ar-transition); white-space:nowrap; }
.ar-shop-all:hover { color:var(--ar-orange); }
.ar-shop-grid { display:grid; grid-template-columns:1fr; gap:2rem; }
@media(min-width:640px){ .ar-shop-grid{ grid-template-columns:1fr 1fr; } }
@media(min-width:1024px){ .ar-shop-grid{ grid-template-columns:repeat(3,1fr); } }
.ar-product { background:var(--ar-bg-card); border:1px solid var(--ar-border); overflow:hidden; display:flex; flex-direction:column; clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%); transition:border-color var(--ar-transition); }
.ar-product:hover { border-color:rgba(255,255,255,0.15); }
.ar-product-img { aspect-ratio:1/1; background:var(--ar-bg-secondary); overflow:hidden; display:flex; align-items:center; justify-content:center; padding:1.5rem; }
.ar-product-img img { width:100%; height:100%; object-fit:cover; mix-blend-mode:lighten; transition:transform 0.5s ease; }
.ar-product:hover .ar-product-img img { transform:scale(1.08); }
.ar-product-body { padding:1.5rem; flex:1; display:flex; flex-direction:column; }
.ar-product-top { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; margin-bottom:0.5rem; }
.ar-product-name { font-family:var(--ar-font-display); font-size:1.15rem; text-transform:uppercase; color:#fff; line-height:1.2; }
.ar-product-price { font-size:1rem; font-weight:500; color:var(--ar-orange); white-space:nowrap; }
.ar-product-desc { font-size:0.85rem; color:var(--ar-muted); flex:1; margin-bottom:1.5rem; }
.ar-product-btn { width:100%; border:1px solid rgba(255,255,255,0.15); background:none; color:#fff; font-family:var(--ar-font-display); font-size:0.8rem; letter-spacing:0.15em; text-transform:uppercase; padding:0.85rem; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:0.5rem; transition:background var(--ar-transition),border-color var(--ar-transition),color var(--ar-transition); }
.ar-product-btn:hover { background:#fff; border-color:#fff; color:var(--ar-bg); }

/* ============================================================
   FAQ
   ============================================================ */
.ar-faq { background:rgba(34,38,47,0.4); border-bottom:1px solid var(--ar-border); }
.ar-faq-grid { display:grid; grid-template-columns:1fr; gap:3rem; }
@media(min-width:1024px){ .ar-faq-grid{ grid-template-columns:4fr 8fr; gap:6rem; } }
.ar-faq-sidebar h2 { font-size:clamp(2rem,4vw,3rem); margin-bottom:1.5rem; }
.ar-faq-sidebar p { color:var(--ar-muted); line-height:1.7; }
@media(min-width:1024px){ .ar-faq-sidebar-inner{ position:sticky; top:8rem; } }
.ar-accordion-item { border-bottom:1px solid var(--ar-border); }
.ar-accordion-q { width:100%; background:none; border:none; text-align:left; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.5rem 0; font-family:var(--ar-font-display); font-size:clamp(1.1rem,2.5vw,1.5rem); text-transform:uppercase; letter-spacing:0.05em; color:var(--ar-white); transition:color var(--ar-transition); }
.ar-accordion-q:hover,.ar-accordion-q.open { color:var(--ar-orange); }
.ar-accordion-icon { width:1.5rem; height:1.5rem; flex-shrink:0; color:var(--ar-orange); transition:transform var(--ar-transition); }
.ar-accordion-q.open .ar-accordion-icon { transform:rotate(45deg); }
.ar-accordion-a { display:none; padding:0 0 1.5rem; color:var(--ar-muted); font-size:1rem; line-height:1.75; }
.ar-accordion-a.open { display:block; }

/* ============================================================
   CONTACT
   ============================================================ */
.ar-contact { background:var(--ar-bg); position:relative; overflow:hidden; }
.ar-contact::before { content:''; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,0.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.015) 1px,transparent 1px); background-size:40px 40px; pointer-events:none; }
.ar-contact-grid { display:grid; grid-template-columns:1fr; gap:4rem; position:relative; z-index:1; }
@media(min-width:1024px){ .ar-contact-grid{ grid-template-columns:1fr 1fr; gap:6rem; } }
.ar-contact-info h2 { font-size:clamp(2.2rem,5vw,3.5rem); margin-bottom:2rem; }
.ar-contact-info > p { color:var(--ar-muted); font-size:1.05rem; max-width:26rem; margin-bottom:3rem; }
.ar-contact-details { display:flex; flex-direction:column; gap:2rem; margin-bottom:3rem; }
.ar-contact-item { display:flex; align-items:flex-start; gap:1rem; }
.ar-contact-icon { width:3rem; height:3rem; border:1px solid var(--ar-border); background:var(--ar-bg-card); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:border-color var(--ar-transition),color var(--ar-transition); color:var(--ar-muted); }
.ar-contact-item:hover .ar-contact-icon { border-color:var(--ar-orange); color:var(--ar-orange); }
.ar-contact-item-label { font-family:var(--ar-font-display); font-size:0.75rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--ar-muted); margin-bottom:0.25rem; }
.ar-contact-item-value { font-size:1.1rem; color:var(--ar-white); transition:color var(--ar-transition); }
.ar-contact-item-value:hover { color:var(--ar-orange); }
.ar-socials { display:flex; gap:1rem; }
.ar-social-link { width:2.5rem; height:2.5rem; border:1px solid rgba(255,255,255,0.15); display:flex; align-items:center; justify-content:center; color:var(--ar-muted); transition:background var(--ar-transition),border-color var(--ar-transition),color var(--ar-transition); }
.ar-social-link:hover { background:var(--ar-orange); border-color:var(--ar-orange); color:var(--ar-bg); }
.ar-contact-form-wrap { background:var(--ar-bg-card); border:1px solid var(--ar-border); padding:2.5rem 2rem; clip-path:polygon(0 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%); position:relative; overflow:hidden; }
@media(min-width:768px){ .ar-contact-form-wrap{ padding:2.5rem 3rem; } }
.ar-contact-form-wrap::before { content:''; position:absolute; top:-3rem; right:-3rem; width:10rem; height:10rem; background:rgba(236,136,59,0.08); border-radius:50%; filter:blur(40px); pointer-events:none; }
.ar-contact-form-wrap h3 { font-size:1.5rem; margin-bottom:2rem; }
.ar-form { display:flex; flex-direction:column; gap:1.5rem; }
.ar-form-row { display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media(min-width:480px){ .ar-form-row{ grid-template-columns:1fr 1fr; } }
.ar-field { display:flex; flex-direction:column; gap:0.5rem; }
.ar-field label { font-family:var(--ar-font-display); font-size:0.75rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--ar-muted); }
.ar-field input,.ar-field textarea,.ar-field select { background:rgba(24,26,32,0.6); border:1px solid var(--ar-border); color:#fff; font-family:var(--ar-font-body); font-size:1rem; padding:0.85rem 1rem; transition:border-color var(--ar-transition); outline:none; width:100%; }
.ar-field input:focus,.ar-field textarea:focus,.ar-field select:focus { border-color:var(--ar-orange); }
.ar-field textarea { resize:none; }
.ar-form-submit { width:100%; background:#fff; color:var(--ar-bg); font-family:var(--ar-font-display); font-size:1rem; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; padding:1.1rem; border:none; cursor:pointer; clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%); transition:background var(--ar-transition),color var(--ar-transition); margin-top:0.5rem; }
.ar-form-submit:hover { background:var(--ar-orange); color:#fff; }
.ar-form-submit:disabled { opacity:0.65; cursor:not-allowed; }
.ar-form-notice { padding:0.75rem 1rem; font-size:0.875rem; display:none; }
.ar-form-notice.success { background:rgba(34,197,94,0.1); border:1px solid rgba(34,197,94,0.3); color:#86efac; display:block; }
.ar-form-notice.error { background:rgba(239,68,68,0.1); border:1px solid rgba(239,68,68,0.3); color:#fca5a5; display:block; }

/* ============================================================
   FOOTER
   ============================================================ */
#site-footer { background:var(--ar-bg); border-top:1px solid var(--ar-border); padding:3rem 0; }
.footer-inner { display:flex; flex-direction:column; align-items:center; gap:1.5rem; }
@media(min-width:768px){ .footer-inner{ flex-direction:row; justify-content:space-between; } }
.footer-logo img { height:2rem; filter:grayscale(1); opacity:0.45; transition:filter var(--ar-transition),opacity var(--ar-transition); }
.footer-logo:hover img { filter:none; opacity:1; }
.footer-links { display:flex; gap:1.5rem; }
.footer-links a { font-family:var(--ar-font-display); font-size:0.75rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--ar-muted); transition:color var(--ar-transition); }
.footer-links a:hover { color:var(--ar-orange); }
.footer-bottom { margin-top:2rem; padding-top:2rem; border-top:1px solid var(--ar-border); display:flex; flex-direction:column; align-items:center; gap:0.5rem; text-align:center; }
@media(min-width:768px){ .footer-bottom{ flex-direction:row; justify-content:space-between; text-align:left; } }
.footer-bottom p { font-size:0.75rem; color:rgba(138,143,158,0.45); }

/* ============================================================
   WHATSAPP FLOAT
   ============================================================ */
.ar-whatsapp { position:fixed; bottom:2rem; right:2rem; z-index:999; width:3.5rem; height:3.5rem; background:#25D366; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 20px rgba(37,211,102,0.4); transition:transform var(--ar-transition),box-shadow var(--ar-transition); }
.ar-whatsapp:hover { transform:scale(1.08); box-shadow:0 6px 30px rgba(37,211,102,0.55); }
.ar-whatsapp svg { width:1.75rem; height:1.75rem; fill:#fff; }

/* ============================================================
   PAGE TEMPLATES
   ============================================================ */
.ar-page-hero { padding:10rem 0 5rem; text-align:center; background:var(--ar-bg-secondary); border-bottom:1px solid var(--ar-border); }
.ar-page-hero h1 { font-size:clamp(2.5rem,6vw,5rem); margin-bottom:1rem; }
.ar-page-hero p { color:var(--ar-muted); font-size:1.1rem; max-width:36rem; margin:0 auto; }
.ar-page-content { padding:5rem 0; max-width:52rem; margin:0 auto; }
.ar-page-content h2,.ar-page-content h3 { margin-bottom:1rem; margin-top:2rem; }
.ar-page-content p { color:var(--ar-muted); margin-bottom:1.25rem; line-height:1.8; }
.ar-page-content a { color:var(--ar-orange); }
.ar-page-content ul { list-style:disc; padding-left:1.5rem; color:var(--ar-muted); margin-bottom:1.25rem; }

/* 404 */
.ar-404 { min-height:80vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:4rem 2rem; }
.ar-404-num { font-family:var(--ar-font-display); font-size:clamp(6rem,20vw,14rem); font-weight:800; color:rgba(236,136,59,0.15); line-height:1; margin-bottom:1.5rem; }
.ar-404 h1 { font-size:clamp(1.5rem,4vw,2.5rem); margin-bottom:1rem; }
.ar-404 p { color:var(--ar-muted); max-width:28rem; margin-bottom:2.5rem; }

/* Scroll reveal */
.ar-reveal { opacity:0; transform:translateY(24px); transition:opacity 0.7s ease,transform 0.7s ease; }
.ar-reveal.visible { opacity:1; transform:translateY(0); }

/* ============================================================
   ELEMENTOR OVERRIDES
   ============================================================ */
.elementor-section,.elementor-container { background-color:transparent !important; }
body.elementor-page .site-content { padding-top:0; }
.elementor h1,.elementor h2,.elementor h3,.elementor h4,.elementor h5,.elementor h6 { font-family:var(--ar-font-display) !important; text-transform:uppercase; letter-spacing:0.05em; }
.elementor-widget-text-editor { font-family:var(--ar-font-body) !important; color:var(--ar-muted) !important; }
.elementor-button { font-family:var(--ar-font-display) !important; text-transform:uppercase !important; letter-spacing:0.15em !important; border-radius:0 !important; clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%) !important; }
.elementor-field-group input,.elementor-field-group textarea,.elementor-field-group select { background:rgba(24,26,32,0.8) !important; border:1px solid var(--ar-border) !important; color:#fff !important; border-radius:0 !important; }
.elementor-field-group input:focus,.elementor-field-group textarea:focus { border-color:var(--ar-orange) !important; outline:none !important; }
.elementor-button[type="submit"] { background:var(--ar-orange) !important; color:var(--ar-bg) !important; }
.elementor-button[type="submit"]:hover { background:#fff !important; color:var(--ar-bg) !important; }
.elementor-accordion .elementor-accordion-title { font-family:var(--ar-font-display) !important; text-transform:uppercase !important; color:var(--ar-white) !important; }
.elementor-accordion .elementor-active .elementor-accordion-title { color:var(--ar-orange) !important; }
.elementor-accordion .elementor-accordion-item { border-color:var(--ar-border) !important; }
.elementor-accordion .elementor-accordion-content { color:var(--ar-muted) !important; }
.elementor-gallery-item__overlay { background-color:rgba(236,136,59,0.75) !important; }
