.shoppy-feature {
    --sl-primary: #6c5ce7;
    --sl-primary-dark: #5947dc;
    --sl-primary-soft: #f0eeff;
    --sl-primary-soft-2: #eef1ff;
    --sl-navy: #11182b;
    --sl-muted: #626b7a;
    --sl-border: #e4e6ef;
    --sl-orange: #ff7a00;
}

.shoppy-feature,
.shoppy-feature * {
    box-sizing: border-box;
}

.shoppy-feature {
    padding: 88px 24px;
    background: #fff;
    font-family: inherit;
}

.shoppy-feature__inner {
    width: min(1180px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr);
    gap: 76px;
    align-items: center;
}

.shoppy-feature__copy {
    max-width: 540px;
}

.shoppy-feature__eyebrow {
    display: inline-flex;
    align-items: center;
    padding: 8px 13px;
    margin-bottom: 18px;
    border-radius: 999px;
    background: var(--sl-primary-soft);
    color: var(--sl-primary);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
}

.shoppy-feature__title {
    margin: 0 0 20px;
    color: var(--sl-navy);
    font-size: clamp(38px, 4.4vw, 62px);
    line-height: 1.04;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.shoppy-feature__description {
    margin: 0 0 24px;
    color: var(--sl-muted);
    font-size: 17px;
    line-height: 1.68;
}

.shoppy-feature__list {
    margin: 0 0 30px;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 12px;
}

.shoppy-feature__list li {
    position: relative;
    padding-left: 28px;
    color: var(--sl-navy);
    font-size: 15px;
    font-weight: 650;
    line-height: 1.45;
}

.shoppy-feature__list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--sl-primary-soft);
    color: var(--sl-primary);
    font-size: 12px;
    font-weight: 900;
}

.shoppy-feature__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 14px 24px;
    border-radius: 12px;
    background: var(--sl-primary);
    color: #fff !important;
    text-decoration: none !important;
    font-size: 15px;
    font-weight: 800;
    box-shadow: 0 12px 28px rgba(108, 92, 231, .22);
    transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.shoppy-feature__button:hover,
.shoppy-feature__button:focus-visible {
    background: var(--sl-primary-dark);
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(108, 92, 231, .28);
}

.shoppy-feature__visual {
    position: relative;
    min-height: 590px;
    display: grid;
    place-items: center;
    isolation: isolate;
}

.shoppy-feature__halo {
    position: absolute;
    inset: 8% 4% 7%;
    border-radius: 44px;
    background:
        radial-gradient(circle at 78% 20%, rgba(255, 122, 0, .16), transparent 34%),
        linear-gradient(145deg, var(--sl-primary-soft) 0%, var(--sl-primary-soft-2) 100%);
    z-index: -2;
}

.shoppy-feature__visual img {
    display: block;
    width: min(460px, 78%);
    max-height: 545px;
    object-fit: contain;
    border-radius: 22px;
    filter: drop-shadow(0 28px 38px rgba(17, 24, 43, .18));
}

.shoppy-feature__placeholder {
    width: min(460px, 78%);
    min-height: 500px;
    padding: 36px;
    border: 2px dashed #c9c3f6;
    border-radius: 22px;
    background: rgba(255,255,255,.78);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--sl-primary-dark);
    text-align: center;
    box-shadow: 0 28px 38px rgba(17, 24, 43, .10);
}

.shoppy-feature__placeholder span {
    font-size: 20px;
    font-weight: 800;
}

.shoppy-feature__placeholder small {
    color: var(--sl-muted);
    font-size: 13px;
}

.shoppy-feature__floating-card {
    position: absolute;
    width: 210px;
    padding: 15px 17px;
    border: 1px solid rgba(228, 230, 239, .92);
    border-radius: 15px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 16px 34px rgba(17, 24, 43, .14);
    backdrop-filter: blur(12px);
}

.shoppy-feature__floating-card strong,
.shoppy-feature__floating-card span {
    display: block;
}

.shoppy-feature__floating-card strong {
    color: var(--sl-navy);
    font-size: 14px;
    margin-bottom: 4px;
}

.shoppy-feature__floating-card span {
    color: var(--sl-muted);
    font-size: 12px;
    line-height: 1.4;
}

.shoppy-feature__floating-card--top {
    top: 15%;
    right: -1%;
}

.shoppy-feature__floating-card--bottom {
    left: 0;
    bottom: 13%;
}

@media (max-width: 1024px) {
    .shoppy-feature {
        padding: 72px 28px;
    }

    .shoppy-feature__inner {
        grid-template-columns: 1fr 1fr;
        gap: 44px;
    }

    .shoppy-feature__visual {
        min-height: 520px;
    }

    .shoppy-feature__floating-card {
        width: 185px;
    }
}

@media (max-width: 767px) {
    .shoppy-feature {
        padding: 58px 18px;
    }

    .shoppy-feature__inner {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .shoppy-feature__copy {
        max-width: none;
        text-align: center;
    }

    .shoppy-feature__eyebrow {
        margin-bottom: 15px;
    }

    .shoppy-feature__title {
        margin-bottom: 16px;
        font-size: clamp(34px, 10vw, 46px);
        line-height: 1.06;
    }

    .shoppy-feature__description {
        font-size: 16px;
        line-height: 1.62;
    }

    .shoppy-feature__list {
        width: min(360px, 100%);
        margin: 0 auto 28px;
        text-align: left;
    }

    .shoppy-feature__button {
        width: min(100%, 320px);
    }

    .shoppy-feature__visual {
        min-height: 450px;
    }

    .shoppy-feature__halo {
        inset: 5% 0 4%;
        border-radius: 28px;
    }

    .shoppy-feature__visual img,
    .shoppy-feature__placeholder {
        width: min(330px, 78%);
        max-height: 415px;
        min-height: 390px;
    }

    .shoppy-feature__floating-card {
        width: 165px;
        padding: 12px 13px;
    }

    .shoppy-feature__floating-card--top {
        top: 11%;
        right: 0;
    }

    .shoppy-feature__floating-card--bottom {
        left: 0;
        bottom: 9%;
    }
}

@media (max-width: 420px) {
    .shoppy-feature__floating-card {
        width: 145px;
    }

    .shoppy-feature__floating-card strong {
        font-size: 12px;
    }

    .shoppy-feature__floating-card span {
        font-size: 10.5px;
    }
}

/* Segunda sección: orden visual inverso en escritorio. */
.shoppy-feature--reverse {
    background: #f8f9fd;
}

.shoppy-feature--reverse .shoppy-feature__visual {
    grid-column: 1;
    grid-row: 1;
}

.shoppy-feature--reverse .shoppy-feature__copy {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
}

.shoppy-feature--reverse .shoppy-feature__halo {
    background:
        radial-gradient(circle at 20% 78%, rgba(255, 122, 0, .13), transparent 34%),
        linear-gradient(145deg, #eef1ff 0%, #f0eeff 100%);
}

@media (max-width: 767px) {
    .shoppy-feature--reverse .shoppy-feature__copy,
    .shoppy-feature--reverse .shoppy-feature__visual {
        grid-column: 1;
    }

    .shoppy-feature--reverse .shoppy-feature__copy {
        grid-row: 1;
    }

    .shoppy-feature--reverse .shoppy-feature__visual {
        grid-row: 2;
    }
}

/* Tercera sección: panel principal. */
.shoppy-feature--shoppy-panel {
    background: #fff;
}

.shoppy-feature--shoppy-panel .shoppy-feature__halo {
    background:
        radial-gradient(circle at 82% 18%, rgba(255, 122, 0, .12), transparent 32%),
        linear-gradient(145deg, #f0eeff 0%, #f7f8fc 100%);
}

.shoppy-feature--shoppy-panel .shoppy-feature__visual img {
    width: min(560px, 90%);
    max-height: 520px;
}

/* Tiendas demo */
.shoppy-demos {
    --sd-primary: #6c5ce7;
    --sd-primary-dark: #5947dc;
    --sd-primary-soft: #f0eeff;
    --sd-navy: #11182b;
    --sd-muted: #626b7a;
    --sd-border: #e4e6ef;
    padding: 96px 24px;
    background: #f7f8fc;
    font-family: inherit;
}
.shoppy-demos, .shoppy-demos * { box-sizing: border-box; }
.shoppy-demos__inner { width: min(1180px, 100%); margin: 0 auto; }
.shoppy-demos__heading { max-width: 760px; margin: 0 auto 52px; text-align: center; }
.shoppy-demos__eyebrow { display:inline-flex; padding:8px 13px; margin-bottom:16px; border-radius:999px; background:var(--sd-primary-soft); color:var(--sd-primary); font-size:12px; font-weight:800; letter-spacing:.12em; }
.shoppy-demos__heading h2 { margin:0 0 16px; color:var(--sd-navy); font-size:clamp(38px,4vw,56px); line-height:1.06; letter-spacing:-.04em; font-weight:800; }
.shoppy-demos__heading p { margin:0; color:var(--sd-muted); font-size:17px; line-height:1.65; }
.shoppy-demos__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.shoppy-demo-card { overflow:hidden; border:1px solid var(--sd-border); border-radius:22px; background:#fff; box-shadow:0 18px 45px rgba(17,24,43,.08); transition:transform .22s ease, box-shadow .22s ease; }
.shoppy-demo-card:hover { transform:translateY(-5px); box-shadow:0 24px 55px rgba(17,24,43,.12); }
.shoppy-demo-card__visual { position:relative; height:370px; overflow:hidden; background:linear-gradient(145deg,#f0eeff,#eef1ff); }
.shoppy-demo-card__visual img { width:100%; height:100%; object-fit:cover; object-position:top center; display:block; }
.shoppy-demo-card__placeholder { height:100%; padding:28px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; color:var(--sd-primary-dark); text-align:center; border-bottom:1px dashed #c9c3f6; }
.shoppy-demo-card__placeholder span { font-size:18px; font-weight:800; }
.shoppy-demo-card__placeholder small { color:var(--sd-muted); font-size:12px; }
.shoppy-demo-card__badge { position:absolute; left:18px; top:18px; padding:7px 10px; border-radius:999px; background:rgba(255,255,255,.94); color:var(--sd-primary-dark); box-shadow:0 8px 22px rgba(17,24,43,.12); font-size:11px; font-weight:850; letter-spacing:.1em; }
.shoppy-demo-card__body { padding:24px 24px 26px; }
.shoppy-demo-card__body h3 { margin:0 0 10px; color:var(--sd-navy); font-size:21px; line-height:1.25; font-weight:800; }
.shoppy-demo-card__body p { margin:0 0 18px; color:var(--sd-muted); font-size:14.5px; line-height:1.55; }
.shoppy-demo-card__body a { color:var(--sd-primary-dark) !important; text-decoration:none !important; font-size:14px; font-weight:800; }
.shoppy-demo-card__body a span { display:inline-block; transition:transform .2s ease; }
.shoppy-demo-card__body a:hover span { transform:translateX(4px); }
.shoppy-demos__cta { margin-top:34px; padding:22px 24px; border:1px solid #ddd9ff; border-radius:18px; background:linear-gradient(135deg,#f0eeff,#fff); display:flex; align-items:center; justify-content:center; gap:22px; text-align:center; }
.shoppy-demos__cta strong { color:var(--sd-navy); font-size:17px; }
.shoppy-demos__cta a { display:inline-flex; min-height:46px; align-items:center; justify-content:center; padding:12px 20px; border-radius:11px; background:var(--sd-primary); color:#fff !important; text-decoration:none !important; font-size:14px; font-weight:800; box-shadow:0 10px 24px rgba(108,92,231,.2); }
.shoppy-demos__cta a:hover { background:var(--sd-primary-dark); }
@media (max-width: 900px) {
    .shoppy-demos { padding:76px 26px; }
    .shoppy-demos__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .shoppy-demo-card:last-child { grid-column:1 / -1; width:calc(50% - 11px); justify-self:center; }
}
@media (max-width: 767px) {
    .shoppy-demos { padding:64px 18px; overflow:hidden; }
    .shoppy-demos__heading { margin-bottom:34px; }
    .shoppy-demos__heading h2 { font-size:clamp(32px,9vw,42px); }
    .shoppy-demos__heading p { font-size:15.5px; }
    .shoppy-demos__grid { display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; padding:4px 3px 18px; margin:0 -3px; scrollbar-width:none; }
    .shoppy-demos__grid::-webkit-scrollbar { display:none; }
    .shoppy-demo-card, .shoppy-demo-card:last-child { flex:0 0 82%; width:auto; scroll-snap-align:center; }
    .shoppy-demo-card__visual { height:330px; }
    .shoppy-demos__cta { margin-top:24px; flex-direction:column; gap:14px; }
    .shoppy-demos__cta a { width:min(100%,300px); }
}

/* Rubros visuales */
.shoppy-rubros {
    --sr-primary: #6c5ce7;
    --sr-primary-soft: #f0eeff;
    --sr-navy: #11182b;
    --sr-muted: #626b7a;
    --sr-border: #e4e6ef;
    padding: 88px 24px;
    background: #fff;
    font-family: inherit;
}
.shoppy-rubros, .shoppy-rubros * { box-sizing: border-box; }
.shoppy-rubros__inner { width: min(1320px, 100%); margin: 0 auto; }
.shoppy-rubros__heading { max-width: 850px; margin: 0 auto 32px; text-align: center; }
.shoppy-rubros__eyebrow { display:inline-flex; padding:8px 13px; margin-bottom:16px; border-radius:999px; background:var(--sr-primary-soft); color:var(--sr-primary); font-size:12px; font-weight:800; letter-spacing:.12em; }
.shoppy-rubros__heading h2 { margin:0 0 16px; color:var(--sr-navy); font-size:clamp(38px,4.2vw,58px); line-height:1.06; letter-spacing:-.04em; font-weight:800; }
.shoppy-rubros__heading p { margin:0; color:var(--sr-muted); font-size:17px; line-height:1.65; }
.shoppy-rubros__subheading { margin:0 0 26px; color:var(--sr-navy); text-align:center; font-size:25px; line-height:1.25; font-weight:800; }
.shoppy-rubros__grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:14px; }
.shoppy-rubro-card { overflow:hidden; min-width:0; border:1px solid var(--sr-border); border-radius:18px; background:#fff; box-shadow:0 14px 32px rgba(17,24,43,.08); transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.shoppy-rubro-card:hover { transform:translateY(-5px); border-color:#d6d1ff; box-shadow:0 20px 42px rgba(17,24,43,.12); }
.shoppy-rubro-card__visual { aspect-ratio:4/3; margin:10px 10px 0; overflow:hidden; border-radius:13px; background:linear-gradient(145deg,#f7f8fc,#f0eeff); }
.shoppy-rubro-card__visual img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .28s ease; }
.shoppy-rubro-card:hover .shoppy-rubro-card__visual img { transform:scale(1.035); }
.shoppy-rubro-card h4 { margin:0; padding:16px 8px 18px; color:var(--sr-navy); text-align:center; font-size:16px; line-height:1.2; font-weight:800; }
@media (max-width: 1100px) {
    .shoppy-rubros__grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .shoppy-rubro-card:last-child { grid-column:2 / 4; }
}
@media (max-width: 767px) {
    .shoppy-rubros { padding:64px 16px; }
    .shoppy-rubros__heading { margin-bottom:28px; }
    .shoppy-rubros__heading h2 { font-size:clamp(32px,9vw,42px); }
    .shoppy-rubros__heading p { font-size:15.5px; }
    .shoppy-rubros__subheading { margin-bottom:20px; font-size:22px; }
    .shoppy-rubros__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .shoppy-rubro-card:last-child { grid-column:1 / -1; width:calc(50% - 6px); justify-self:center; }
    .shoppy-rubro-card { border-radius:16px; }
    .shoppy-rubro-card__visual { margin:8px 8px 0; border-radius:11px; }
    .shoppy-rubro-card h4 { padding:13px 6px 15px; font-size:15px; }
}

/* Planes y precios */
.shoppy-plans {
    --sp-primary:#6c5ce7;
    --sp-primary-dark:#5947dc;
    --sp-primary-soft:#f0eeff;
    --sp-navy:#11182b;
    --sp-muted:#626b7a;
    --sp-border:#e4e6ef;
    padding:96px 24px;
    background:#f7f8fc;
    font-family:inherit;
}
.shoppy-plans, .shoppy-plans * { box-sizing:border-box; }
.shoppy-plans__inner { width:min(1180px,100%); margin:0 auto; }
.shoppy-plans__heading { max-width:820px; margin:0 auto 48px; text-align:center; }
.shoppy-plans__eyebrow { display:inline-flex; margin-bottom:16px; padding:8px 13px; border-radius:999px; background:var(--sp-primary-soft); color:var(--sp-primary); font-size:12px; font-weight:850; letter-spacing:.12em; }
.shoppy-plans__heading h2 { margin:0 0 16px; color:var(--sp-navy); font-size:clamp(38px,4.2vw,58px); line-height:1.06; letter-spacing:-.04em; font-weight:800; }
.shoppy-plans__heading p { margin:0; color:var(--sp-muted); font-size:17px; line-height:1.65; }
.shoppy-plans__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; align-items:stretch; }
.shoppy-plan-card { position:relative; display:flex; flex-direction:column; min-width:0; padding:34px 30px 32px; border:1px solid var(--sp-border); border-radius:24px; background:#fff; box-shadow:0 16px 42px rgba(17,24,43,.07); transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.shoppy-plan-card:hover { transform:translateY(-5px); box-shadow:0 24px 56px rgba(17,24,43,.11); }
.shoppy-plan-card.is-featured { border:2px solid var(--sp-primary); background:linear-gradient(180deg,#fff 0%,#fbfaff 100%); box-shadow:0 24px 58px rgba(108,92,231,.18); transform:translateY(-10px); }
.shoppy-plan-card.is-featured:hover { transform:translateY(-15px); }
.shoppy-plan-card__badge { position:absolute; top:0; left:50%; transform:translate(-50%,-50%); padding:8px 14px; border-radius:999px; background:var(--sp-primary); color:#fff; font-size:11px; font-weight:850; letter-spacing:.1em; white-space:nowrap; box-shadow:0 10px 22px rgba(108,92,231,.24); }
.shoppy-plan-card__header { min-height:112px; }
.shoppy-plan-card__header h3 { margin:0 0 10px; color:var(--sp-navy); font-size:25px; line-height:1.2; font-weight:800; }
.shoppy-plan-card__header p { margin:0; color:var(--sp-muted); font-size:14.5px; line-height:1.55; }
.shoppy-plan-card__price { display:flex; align-items:flex-end; gap:7px; margin:24px 0 22px; color:var(--sp-navy); }
.shoppy-plan-card__price strong { font-size:36px; line-height:1; letter-spacing:-.035em; font-weight:850; }
.shoppy-plan-card__price span { padding-bottom:4px; color:var(--sp-muted); font-size:14px; }
.shoppy-plan-card__button { display:flex; min-height:52px; align-items:center; justify-content:center; margin-bottom:27px; padding:13px 20px; border:1px solid #d8dbea; border-radius:13px; background:#fff; color:var(--sp-navy) !important; text-decoration:none !important; font-size:15px; font-weight:800; transition:background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.shoppy-plan-card__button:hover { border-color:#c8c2ff; background:var(--sp-primary-soft); transform:translateY(-1px); }
.shoppy-plan-card.is-featured .shoppy-plan-card__button { border-color:var(--sp-primary); background:var(--sp-primary); color:#fff !important; box-shadow:0 12px 26px rgba(108,92,231,.22); }
.shoppy-plan-card.is-featured .shoppy-plan-card__button:hover { border-color:var(--sp-primary-dark); background:var(--sp-primary-dark); }
.shoppy-plan-card ul { display:grid; gap:13px; margin:0; padding:0; list-style:none; }
.shoppy-plan-card li { position:relative; padding-left:29px; color:var(--sp-navy); font-size:14.5px; line-height:1.45; }
.shoppy-plan-card li::before { content:'✓'; position:absolute; left:0; top:-1px; display:grid; width:20px; height:20px; place-items:center; border-radius:50%; background:var(--sp-primary-soft); color:var(--sp-primary); font-size:12px; font-weight:900; }
.shoppy-plans__note { margin:30px 0 0; color:var(--sp-muted); text-align:center; font-size:14px; line-height:1.55; }
@media (max-width:900px) {
    .shoppy-plans { padding:78px 24px; }
    .shoppy-plans__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .shoppy-plan-card.is-featured { transform:none; }
    .shoppy-plan-card.is-featured:hover { transform:translateY(-5px); }
    .shoppy-plan-card:last-child { grid-column:1 / -1; width:calc(50% - 11px); justify-self:center; }
}
@media (max-width:767px) {
    .shoppy-plans { padding:66px 16px; }
    .shoppy-plans__heading { margin-bottom:38px; }
    .shoppy-plans__heading h2 { font-size:clamp(32px,9vw,42px); }
    .shoppy-plans__heading p { font-size:15.5px; }
    .shoppy-plans__grid { display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; padding:18px 3px 22px; margin:0 -3px; scrollbar-width:none; }
    .shoppy-plans__grid::-webkit-scrollbar { display:none; }
    .shoppy-plan-card, .shoppy-plan-card:last-child { flex:0 0 86%; width:auto; grid-column:auto; scroll-snap-align:center; padding:30px 24px 28px; }
    .shoppy-plan-card__header { min-height:auto; }
    .shoppy-plan-card__price strong { font-size:34px; }
    .shoppy-plans__note { margin-top:18px; font-size:13px; }
}

/* Preguntas frecuentes */
.shoppy-faq {
    --sf-primary:#6c5ce7;
    --sf-primary-dark:#5947dc;
    --sf-primary-soft:#f0eeff;
    --sf-navy:#11182b;
    --sf-muted:#626b7a;
    --sf-border:#e4e6ef;
    padding:96px 24px;
    background:#fff;
    font-family:inherit;
}
.shoppy-faq, .shoppy-faq * { box-sizing:border-box; }
.shoppy-faq__inner { width:min(1180px,100%); margin:0 auto; }
.shoppy-faq__heading { max-width:800px; margin:0 auto 48px; text-align:center; }
.shoppy-faq__eyebrow { display:inline-flex; margin-bottom:16px; padding:8px 13px; border-radius:999px; background:var(--sf-primary-soft); color:var(--sf-primary); font-size:12px; font-weight:850; letter-spacing:.12em; }
.shoppy-faq__heading h2 { margin:0 0 16px; color:var(--sf-navy); font-size:clamp(38px,4.2vw,58px); line-height:1.06; letter-spacing:-.04em; font-weight:800; }
.shoppy-faq__heading p { margin:0; color:var(--sf-muted); font-size:17px; line-height:1.65; }
.shoppy-faq__layout { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.65fr); gap:30px; align-items:start; }
.shoppy-faq__aside { position:sticky; top:28px; display:flex; flex-direction:column; gap:14px; padding:34px; border:1px solid #ddd9ff; border-radius:24px; background:linear-gradient(145deg,#f0eeff 0%,#f8f9fd 100%); box-shadow:0 18px 45px rgba(17,24,43,.07); }
.shoppy-faq__aside-icon { display:grid; width:58px; height:58px; place-items:center; border-radius:17px; background:var(--sf-primary); color:#fff; font-size:30px; font-weight:850; box-shadow:0 12px 26px rgba(108,92,231,.22); }
.shoppy-faq__aside strong { color:var(--sf-navy); font-size:24px; line-height:1.2; font-weight:800; }
.shoppy-faq__aside span { color:var(--sf-muted); font-size:15px; line-height:1.65; }
.shoppy-faq__list { display:grid; gap:12px; }
.shoppy-faq__item { overflow:hidden; border:1px solid var(--sf-border); border-radius:17px; background:#fff; box-shadow:0 10px 28px rgba(17,24,43,.045); transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.shoppy-faq__item[open] { border-color:#d5d0ff; box-shadow:0 16px 36px rgba(108,92,231,.10); }
.shoppy-faq__item summary { display:flex; min-height:72px; align-items:center; justify-content:space-between; gap:20px; padding:20px 22px; color:var(--sf-navy); cursor:pointer; list-style:none; font-size:17px; line-height:1.35; font-weight:800; }
.shoppy-faq__item summary::-webkit-details-marker { display:none; }
.shoppy-faq__toggle { position:relative; flex:0 0 34px; width:34px; height:34px; border-radius:50%; background:var(--sf-primary-soft); transition:background .2s ease, transform .2s ease; }
.shoppy-faq__toggle::before, .shoppy-faq__toggle::after { content:''; position:absolute; left:50%; top:50%; width:13px; height:2px; border-radius:2px; background:var(--sf-primary); transform:translate(-50%,-50%); }
.shoppy-faq__toggle::after { transform:translate(-50%,-50%) rotate(90deg); transition:transform .2s ease, opacity .2s ease; }
.shoppy-faq__item[open] .shoppy-faq__toggle { background:var(--sf-primary); transform:rotate(180deg); }
.shoppy-faq__item[open] .shoppy-faq__toggle::before { background:#fff; }
.shoppy-faq__item[open] .shoppy-faq__toggle::after { opacity:0; }
.shoppy-faq__answer { padding:0 22px 22px; }
.shoppy-faq__answer p { margin:0; padding-top:18px; border-top:1px solid #eceef4; color:var(--sf-muted); font-size:15.5px; line-height:1.7; }
.shoppy-faq__cta { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:34px; padding:25px 28px; border:1px solid #ddd9ff; border-radius:20px; background:linear-gradient(135deg,#f0eeff 0%,#fff 72%); }
.shoppy-faq__cta div { display:flex; flex-direction:column; gap:5px; }
.shoppy-faq__cta strong { color:var(--sf-navy); font-size:19px; font-weight:800; }
.shoppy-faq__cta span { color:var(--sf-muted); font-size:14.5px; }
.shoppy-faq__cta a { display:inline-flex; min-height:50px; align-items:center; justify-content:center; padding:13px 22px; border-radius:12px; background:var(--sf-primary); color:#fff !important; text-decoration:none !important; font-size:15px; font-weight:800; box-shadow:0 12px 27px rgba(108,92,231,.22); transition:background .2s ease, transform .2s ease; }
.shoppy-faq__cta a:hover { background:var(--sf-primary-dark); transform:translateY(-1px); }
@media (max-width:900px) {
    .shoppy-faq { padding:78px 24px; }
    .shoppy-faq__layout { grid-template-columns:1fr; }
    .shoppy-faq__aside { position:relative; top:auto; display:grid; grid-template-columns:auto 1fr; align-items:center; }
    .shoppy-faq__aside span { grid-column:1 / -1; }
}
@media (max-width:767px) {
    .shoppy-faq { padding:66px 16px; }
    .shoppy-faq__heading { margin-bottom:34px; }
    .shoppy-faq__heading h2 { font-size:clamp(32px,9vw,42px); }
    .shoppy-faq__heading p { font-size:15.5px; }
    .shoppy-faq__aside { padding:24px; border-radius:19px; }
    .shoppy-faq__aside-icon { width:50px; height:50px; font-size:26px; }
    .shoppy-faq__aside strong { font-size:20px; }
    .shoppy-faq__item summary { min-height:66px; padding:18px; font-size:15.5px; }
    .shoppy-faq__toggle { flex-basis:31px; width:31px; height:31px; }
    .shoppy-faq__answer { padding:0 18px 19px; }
    .shoppy-faq__answer p { font-size:14.5px; }
    .shoppy-faq__cta { flex-direction:column; align-items:stretch; padding:23px 20px; text-align:center; }
    .shoppy-faq__cta a { width:100%; }
}
