/* AVM landing page add-on styles (safe, page-scoped) */
.avm-wrap .avm-main { padding-bottom: 40px; }

.avm-hero {
    padding: 16px;
}

.avm-hero-inner {
    display: grid;
    grid-template-columns: 1.2fr 0.9fr;
    gap: 14px;
    align-items: stretch;
}

.avm-pill {
    display: inline-flex;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(0, 255, 213, 0.12);
    border: 1px solid rgba(0, 255, 213, 0.18);
    color: #bffcf1;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.2px;
}

.avm-h1 {
    margin: 10px 0 8px;
    font-size: 30px;
    line-height: 1.12;
}

.avm-sub {
    margin: 0;
    opacity: 0.9;
    line-height: 1.45;
}

.avm-mini-points {
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}
.avm-mini-points li {
    padding-left: 22px;
    position: relative;
    opacity: 0.95;
}
.avm-mini-points li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: #00ffd5;
    font-weight: 800;
}

.avm-hero-formbox {
    border-radius: 14px;
    padding: 12px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
}

.avm-form-title {
    font-weight: 800;
    margin-bottom: 10px;
}

.avm-form label {
    display: block;
    font-size: 13px;
    opacity: 0.9;
    margin: 10px 0 6px;
}

.avm-primary-btn {
    width: 100%;
    margin-top: 10px;
}

.avm-small {
    font-size: 12px;
    opacity: 0.75;
    margin-top: 10px;
    line-height: 1.35;
}

.avm-form-msg {
    margin-top: 10px;
    font-size: 13px;
    padding: 10px;
    border-radius: 10px;
    display: none;
}
.avm-form-msg.is-ok {
    display: block;
    background: rgba(0,255,213,0.10);
    border: 1px solid rgba(0,255,213,0.18);
}
.avm-form-msg.is-bad {
    display: block;
    background: rgba(255, 90, 90, 0.10);
    border: 1px solid rgba(255, 90, 90, 0.18);
}

.avm-reveal-btn {
    width: 100%;
    margin-top: 10px;
    background: transparent;
    border: 1px solid rgba(255,255,255,0.14);
    color: rgba(255,255,255,0.9);
    padding: 11px 12px;
    border-radius: 12px;
    cursor: pointer;
}
.avm-reveal-btn:hover { border-color: rgba(0,255,213,0.22); }

.avm-hero-cta-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 12px;
}

.avm-cta-wide { width: 100%; }

.avm-section { margin-top: 14px; }
.avm-center-muted { text-align: center; opacity: 0.75; margin-top: 6px; }

.avm-h2 {
    text-align: center;
    margin: 0;
    color: #00ffd5;
}

.avm-h3 {
    margin: 0 0 8px;
    font-size: 18px;
}

.avm-p { margin: 0; opacity: 0.92; line-height: 1.55; }

.avm-proof { padding: 14px; }
.avm-proof-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 10px;
}
.avm-proof-item {
    padding: 12px;
    border-radius: 14px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.08);
    text-align: center;
}
.avm-proof-big {
    font-weight: 900;
    font-size: 18px;
}
.avm-proof-text { opacity: 0.8; font-size: 12px; margin-top: 3px; }

.avm-video-stack { margin-top: 14px; display: grid; gap: 14px; }

.avm-split {
    display: grid;
    grid-template-columns: 1fr 1.05fr;
    gap: 14px;
    align-items: center;
}
.avm-split.is-flip .avm-split-copy { order: 2; }
.avm-split.is-flip .avm-split-media { order: 1; }

.avm-bullets {
    margin: 10px 0 0;
    padding-left: 18px;
    opacity: 0.92;
}
.avm-bullets li { margin: 6px 0; }

.avm-inline-cta {
    display: flex;
    gap: 10px;
    margin-top: 12px;
    flex-wrap: wrap;
}

.avm-player {
    width: 100%;
    border-radius: 14px;
    overflow: hidden;
    background: rgba(0,0,0,0.35);
    border: 1px solid rgba(255,255,255,0.10);
    min-height: 220px;
    display: grid;
    align-items: center;
    justify-items: center;
}
.avm-video-el {
    width: 100%;
    height: auto;
    display: block;
    background: #000;
}
.avm-player-fallback {
    padding: 18px;
    text-align: center;
    opacity: 0.8;
}
.avm-player-note {
    font-size: 12px;
    opacity: 0.7;
    margin-top: 8px;
    text-align: center;
}

.avm-collage-grid {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 12px;
}
.avm-collage-item img {
    width: 100%;
    display: block;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.10);
}

.avm-center-cta {
    margin-top: 14px;
    display: flex;
    justify-content: center;
}

.avm-instructor {
    margin-top: 14px;
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 14px;
    align-items: start;
}
.avm-instructor-img img {
    width: 100%;
    display: block;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.10);
    aspect-ratio: 1 / 1;
    object-fit: cover;
}
.avm-instructor-name { font-weight: 900; font-size: 20px; }
.avm-instructor-role { opacity: 0.8; margin: 2px 0 10px; }

.avm-prooflist {
    margin-top: 12px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.avm-proofchip {
    padding: 8px 10px;
    border-radius: 999px;
    background: rgba(0,255,213,0.10);
    border: 1px solid rgba(0,255,213,0.16);
    font-size: 12px;
    opacity: 0.95;
}

.avm-plan-grid { margin-top: 12px; }
.avm-price-card { position: relative; }
.avm-plan-tag {
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    border: 1px solid rgba(255,255,255,0.14);
    background: rgba(255,255,255,0.05);
}
.avm-plan-tag.is-best {
    border-color: rgba(0,255,213,0.20);
    background: rgba(0,255,213,0.10);
}
.avm-buy-btn { width: 100%; margin-top: 10px; }

/* Locked/Unlocked */
.avm-locked { display: none; }
.avm-unlocked { display: block; }

/* Mobile */
@media (max-width: 860px) {
    .avm-hero-inner { grid-template-columns: 1fr; }
    .avm-h1 { font-size: 26px; }
    .avm-proof-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .avm-split { grid-template-columns: 1fr; }
    .avm-split.is-flip .avm-split-copy,
    .avm-split.is-flip .avm-split-media { order: initial; }
    .avm-collage-grid { grid-template-columns: 1fr; }
    .avm-instructor { grid-template-columns: 1fr; }
    .avm-hero-cta-row { grid-template-columns: 1fr; }
}

/* Add to /assets/css/avm-landing.css */
.avm-hero-video{
    margin-top: 12px;
}

.avm-hero-video-inner{
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    border-radius: 14px;
    overflow: hidden;
    background: rgba(0,0,0,0.35);
    border: 1px solid rgba(255,255,255,0.10);
}

.avm-hero-video-inner iframe{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* HERO V2 (screenshot style) */
.avm-hero-v2 { padding: 34px 18px; }
.avm-hero-v2-inner { max-width: 1050px; margin: 0 auto; text-align: center; }
.avm-hero-topline { font-size: 13px; opacity: 0.85; margin-bottom: 10px; }
.avm-hero-title { font-size: clamp(34px, 4.2vw, 64px); line-height: 1.03; margin: 0 0 12px; }
.avm-hero-sub { max-width: 820px; margin: 0 auto 18px; opacity: 0.9; }
.avm-hero-video-card {
    max-width: 980px;
    margin: 16px auto 12px;
    border-radius: 14px;
    padding: 10px;
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 0 0 2px rgba(0,255,200,0.12);
}
.avm-hero-video-embed { border-radius: 12px; overflow: hidden; }
.avm-hero-mini { opacity: 0.85; margin: 10px 0 14px; }
.avm-hero-wide-btn { width: min(680px, 100%); padding: 14px 16px; border-radius: 12px; }

/* Wiggle + pulse button */
.avm-wiggle-btn {
    animation: avmPulse 1.4s ease-in-out infinite, avmWiggle 5s ease-in-out infinite;
    transform-origin: center;
}
@keyframes avmPulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.03); }
    100% { transform: scale(1); }
}
@keyframes avmWiggle {
    0%, 92%, 100% { transform: translateX(0) scale(1); }
    94% { transform: translateX(-4px) scale(1.02); }
    96% { transform: translateX(4px) scale(1.02); }
    98% { transform: translateX(-3px) scale(1.01); }
}

/* Preview clips stack + separator */
.avm-preview-stack { max-width: 1100px; margin: 0 auto; }
.avm-preview-item { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 16px; align-items: start; }
.avm-preview-embed { border-radius: 14px; overflow: hidden; border: 1px solid rgba(255,255,255,0.08); }
.avm-wide-sep {
    height: 1px;
    width: 100%;
    background: rgba(255,255,255,0.08);
    margin: 22px 0;
}
.avm-embed-placeholder {
    padding: 28px 18px;
    text-align: center;
    opacity: 0.75;
}

/* Mobile */
@media (max-width: 900px) {
    .avm-preview-item { grid-template-columns: 1fr; }
}

/* Testimonial collage */
.avm-collage {
    max-width: 1100px;
    margin: 18px auto 0;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 14px;
}
.avm-tile {
    grid-column: span 4;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(0,0,0,0.25);
    transform: translate(var(--x, 0), var(--y, 0)) rotate(var(--r, 0deg));
    transition: transform 180ms ease;
}
.avm-tile:hover { transform: translate(var(--x, 0), calc(var(--y, 0) - 4px)) rotate(var(--r, 0deg)) scale(1.01); }
.avm-tile-img img { width: 100%; height: 160px; object-fit: cover; display: block; }
.avm-tile-body { padding: 12px 12px 14px; text-align: left; }
.avm-tile-text { font-size: 14px; line-height: 1.45; opacity: 0.95; }
.avm-tile-name { margin-top: 10px; font-weight: 700; opacity: 0.9; }

/* Collage layout variation */
.avm-collage .avm-tile:nth-child(1) { grid-column: span 5; }
.avm-collage .avm-tile:nth-child(2) { grid-column: span 4; }
.avm-collage .avm-tile:nth-child(3) { grid-column: span 3; }
.avm-collage .avm-tile:nth-child(4) { grid-column: span 4; }
.avm-collage .avm-tile:nth-child(5) { grid-column: span 3; }
.avm-collage .avm-tile:nth-child(6) { grid-column: span 5; }

@media (max-width: 900px) {
    .avm-collage { grid-template-columns: repeat(6, 1fr); }
    .avm-tile { grid-column: span 6 !important; }
}

.avm-lightbox-btn{
    display:block;
    padding:0;
    border:0;
    background:transparent;
    width:100%;
    text-align:left;
    cursor:pointer;
}

.avm-lightbox{
    position:fixed;
    inset:0;
    z-index:9999;
    display:none;
}

.avm-lightbox.is-open{ display:block; }

.avm-lightbox-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.75);
}

.avm-lightbox-card{
    position:relative;
    max-width:min(980px, 92vw);
    max-height:88vh;
    margin:6vh auto 0;
    border-radius:14px;
    overflow:hidden;
    background:#0b0b0b;
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 18px 50px rgba(0,0,0,.55);
}

.avm-lightbox-card img{
    display:block;
    width:100%;
    height:auto;
    max-height:88vh;
    object-fit:contain;
    background:#000;
}

.avm-lightbox-close{
    position:absolute;
    top:10px;
    right:10px;
    width:38px;
    height:38px;
    border-radius:10px;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(0,0,0,.55);
    color:#fff;
    font-size:22px;
    line-height:1;
    cursor:pointer;
}

.avm-tile-img{ position:relative; }

.avm-zoom-icon{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:44px;
    height:44px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(0,0,0,.55);
    border:1px solid rgba(255,255,255,.18);
    color:#fff;
    opacity:0;
    transition:opacity .18s ease;
    pointer-events:none; /* click goes to the button */
}

.avm-lightbox-btn:hover .avm-zoom-icon,
.avm-lightbox-btn:focus .avm-zoom-icon{
    opacity:1;
}

/* Preview clips alternating layout */
.avm-preview-item{
    display:flex;
    gap:18px;
    align-items:flex-start;
}

.avm-preview-embed{ flex: 1.15; }
.avm-preview-copy{ flex: 0.85; }

.avm-preview-item.is-flip{
    flex-direction:row-reverse;
}

/* Mobile: stack always */
@media (max-width: 900px){
    .avm-preview-item,
    .avm-preview-item.is-flip{
        flex-direction:column;
    }
}

/* Fix preview video sizing on mobile */
.avm-preview-embed{
    width:100%;
    max-width:100%;
}

.avm-preview-embed iframe,
.avm-preview-embed video,
.avm-preview-embed .avm-embed-placeholder{
    width:100% !important;
    max-width:100% !important;
    display:block;
    margin:0 auto;
}

/* If you have any inner wrapper around the iframe */
.avm-preview-embed > *{
    width:100%;
    max-width:100%;
}

/* Mobile: make sure the embed stretches full width */
@media (max-width: 900px){
    .avm-preview-item{
        align-items:stretch;
    }
    .avm-preview-embed{
        padding-left:0;
        padding-right:0;
    }
}

/* FAQ */
.avm-faq-title{
    color:#00ffd5;
    text-align:center;
    margin-bottom:26px;
}

.faq-accordion{
    max-width:900px;
    margin:0 auto;
    display:flex;
    flex-direction:column;
    gap:12px;
}

.faq-item{
    border:1px solid rgba(255,255,255,0.10);
    border-radius:14px;
    overflow:hidden;
    background:rgba(0,0,0,0.25);
}

.faq-question{
    width:100%;
    text-align:left;
    background:transparent;
    border:0;
    color:#fff;
    padding:16px 16px;
    cursor:pointer;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.faq-question:after{
    content:"+";
    font-size:18px;
    opacity:0.8;
}

.faq-item.is-open .faq-question:after{
    content:"-";
}

.faq-answer{
    display:none;
    padding:0 16px 16px 16px;
    color:rgba(255,255,255,0.85);
    line-height:1.5;
}

.faq-item.is-open .faq-answer{
    display:block;
}

.faq-support-box{
    max-width:900px;
    margin:18px auto 0;
    padding:18px;
    border-radius:14px;
    border:1px solid rgba(0,255,213,0.22);
    background:rgba(0,255,213,0.06);
}

.faq-support-box h3{
    margin:0 0 8px;
    color:#fff;
}

.faq-support-box p{
    margin:0 0 14px;
    color:rgba(255,255,255,0.85);
}

.faq-link{
    color:#00ffd5;
    text-decoration:none;
}

.faq-link:hover{
    text-decoration:underline;
}

.faq-support-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:center;
}

.faq-note{
    margin-top:12px;
    font-size:13px;
    color:rgba(255,255,255,0.78);
}

/* Mobile */
@media (max-width: 700px){
    .faq-question{
        padding:14px;
    }
    .faq-answer{
        padding:0 14px 14px 14px;
    }
    .faq-support-box{
        padding:14px;
    }
    .faq-support-actions .btn{
        width:100%;
        justify-content:center;
    }
}

/* Fix FAQ answer not showing fully */
.faq-answer{
    display:block;              /* do not use display:none */
    max-height:0;
    overflow:hidden;
    padding:0 16px;             /* keep small padding while closed */
    color:rgba(255,255,255,0.85);
    line-height:1.6;
    transition:max-height 0.28s ease, padding 0.28s ease;
}

.faq-item.is-open .faq-answer{
    max-height:1200px;          /* big enough for long answers */
    padding:0 16px 16px 16px;
}

/* Optional, keeps spacing clean */
.faq-question{
    padding:16px;
}

/* Center support box buttons */
.faq-support-actions{
    display:flex;
    justify-content:center;
    gap:12px;
    flex-wrap:wrap;
}

.faq-support-box{
    text-align:center;
}

.faq-support-box p{
    text-align:center;
}
