
/* ==========================================================================
   SURPRIA — P1 SEO Landing Pages
   ========================================================================== */

.seo-landing-page {
    background:
        radial-gradient(circle at 0 0, rgba(244,165,28,.06), transparent 24%),
        var(--bg);
}

.seo-breadcrumb {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 36px;
    color: var(--text-soft);
    font-size: .74rem;
    font-weight: 750;
}

.seo-breadcrumb a {
    color: inherit;
}

.seo-breadcrumb a:hover {
    color: var(--text);
}

.seo-hero {
    position: relative;
    overflow: hidden;
    padding: 64px 0 105px;
}

.pregnancy-seo-hero::before {
    content: "";
    position: absolute;
    width: 620px;
    height: 620px;
    left: -280px;
    top: -290px;
    border-radius: 50%;
    background: rgba(220,204,244,.30);
    filter: blur(8px);
}

.pregnancy-seo-hero::after {
    content: "";
    position: absolute;
    width: 560px;
    height: 560px;
    right: -210px;
    bottom: -270px;
    border-radius: 50%;
    background: rgba(242,196,211,.35);
    filter: blur(12px);
}

.seo-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(420px,.88fr);
    gap: clamp(50px,7vw,95px);
    align-items: center;
}

.seo-hero-copy h1 {
    max-width: 850px;
    margin: 21px 0;
    font-size: clamp(3.15rem,6.2vw,5.75rem);
    line-height: .96;
    letter-spacing: -.066em;
}

.seo-hero-copy h1 span {
    display: block;
    color: var(--accent);
}

.seo-hero-text {
    max-width: 680px;
    margin: 0;
    color: var(--text-soft);
    font-size: 1.12rem;
    line-height: 1.72;
}

.seo-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    margin-top: 30px;
}

.seo-trust-list {
    display: flex;
    flex-wrap: wrap;
    gap: 11px 18px;
    margin-top: 24px;
    color: var(--text-soft);
    font-size: .8rem;
    font-weight: 750;
}

/* Pregnancy hero visual */

.pregnancy-demo {
    position: relative;
    min-height: 580px;
    display: grid;
    place-items: center;
}

.pregnancy-demo-cloud {
    position: absolute;
    border-radius: 50%;
    filter: blur(2px);
}

.pregnancy-demo-cloud::before,
.pregnancy-demo-cloud::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background: inherit;
}

.cloud-one {
    width: 145px;
    height: 60px;
    left: 3%;
    top: 14%;
    background: rgba(255,255,255,.75);
}

.cloud-one::before {
    width: 65px;
    height: 65px;
    left: 26px;
    top: -25px;
}

.cloud-one::after {
    width: 82px;
    height: 82px;
    right: 4px;
    top: -39px;
}

.cloud-two {
    width: 120px;
    height: 50px;
    right: 0;
    bottom: 20%;
    background: rgba(255,255,255,.65);
}

.cloud-two::before {
    width: 55px;
    height: 55px;
    left: 18px;
    top: -22px;
}

.cloud-two::after {
    width: 70px;
    height: 70px;
    right: 0;
    top: -31px;
}

.pregnancy-demo-phone {
    position: relative;
    z-index: 3;
    width: min(390px,88%);
    min-height: 500px;
    padding: 27px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 34px;
    background:
        radial-gradient(circle at 50% 25%, rgba(255,255,255,.88), transparent 34%),
        linear-gradient(150deg,#eee6fb,#fcecf2 56%,#e4eefb);
    box-shadow: 0 36px 90px rgba(83,65,100,.18);
    transform: rotate(1.4deg);
}

.pregnancy-demo-phone::after {
    content: "";
    position: absolute;
    inset: 10px;
    border: 1px solid rgba(255,255,255,.56);
    border-radius: 27px;
    pointer-events: none;
}

.pregnancy-demo-top {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    gap: 15px;
    font-size: .72rem;
    font-weight: 950;
}

.pregnancy-demo-for {
    position: relative;
    z-index: 1;
    display: block;
    width: max-content;
    max-width: 100%;
    margin: 34px auto 0;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.64);
    color: #756a87;
    font-size: .68rem;
    font-weight: 850;
}

.pregnancy-demo-art {
    position: relative;
    z-index: 1;
    min-height: 210px;
    display: grid;
    place-items: center;
}

.pregnancy-demo-baby {
    font-size: 7.2rem;
    filter: drop-shadow(0 18px 20px rgba(92,75,112,.10));
}

.pregnancy-demo-moon {
    position: absolute;
    left: 20%;
    top: 34px;
    color: #c7a758;
    font-size: 2.4rem;
}

.pregnancy-demo-stars {
    position: absolute;
    right: 14%;
    top: 42px;
    color: #c6a758;
    letter-spacing: .25em;
}

.pregnancy-demo-phone p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: #746f7d;
    text-align: center;
    font-size: .82rem;
}

.pregnancy-demo-reveal {
    position: relative;
    z-index: 1;
    margin-top: 17px;
    padding: 17px;
    border-radius: 17px;
    background: rgba(255,255,255,.70);
    color: #5d5368;
    text-align: center;
    font-family: Georgia,"Times New Roman",serif;
    font-size: 1.2rem;
    box-shadow: 0 10px 25px rgba(85,66,105,.07);
}

.pregnancy-reaction-card {
    position: absolute;
    z-index: 5;
    right: 0;
    bottom: 66px;
    min-width: 245px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 19px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 18px 45px rgba(70,56,79,.15);
    transform: rotate(-3deg);
}

.pregnancy-reaction-avatar {
    width: 43px;
    height: 43px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #f7edf4;
    font-size: 1.35rem;
}

.pregnancy-reaction-card strong,
.pregnancy-reaction-card span {
    display: block;
}

.pregnancy-reaction-card strong {
    font-size: .78rem;
}

.pregnancy-reaction-card div span {
    margin-top: 3px;
    color: var(--text-soft);
    font-size: .66rem;
}

.pregnancy-reaction-card i {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #dc6666;
    box-shadow: 0 0 0 6px rgba(220,102,102,.10);
}

/* Generic SEO sections */

.seo-section {
    padding: 105px 0;
}

.seo-section-soft {
    background: var(--surface-soft);
}

.seo-section-heading {
    max-width: 790px;
    margin-bottom: 48px;
}

.seo-section-heading.centered {
    margin-inline: auto;
    text-align: center;
}

.seo-section-heading h2,
.seo-privacy-layout h2,
.seo-final-cta-card h2 {
    margin: 19px 0 13px;
    font-size: clamp(2.45rem,5vw,4.15rem);
    line-height: 1;
    letter-spacing: -.058em;
}

.seo-section-heading p,
.seo-privacy-layout p,
.seo-final-cta-card p {
    color: var(--text-soft);
    font-size: 1rem;
    line-height: 1.7;
}

.seo-benefits-grid,
.seo-steps {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 18px;
}

.seo-benefit-card,
.seo-steps article {
    position: relative;
    padding: 28px;
    border: 1px solid var(--border);
    border-radius: 25px;
    background: #fff;
    box-shadow: var(--shadow-sm);
}

.seo-benefit-card {
    min-height: 270px;
}

.seo-benefit-card.is-featured {
    background:
        linear-gradient(145deg,#fff,#fff1f4);
    transform: translateY(-10px);
}

.seo-card-icon {
    width: 60px;
    height: 60px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: var(--surface-soft);
    font-size: 1.7rem;
}

.seo-benefit-card h3,
.seo-steps h3,
.pregnancy-idea-card h3,
.pregnancy-theme-copy h3 {
    margin: 20px 0 9px;
    font-size: 1.25rem;
    letter-spacing: -.025em;
}

.seo-benefit-card p,
.seo-steps p,
.pregnancy-idea-card p,
.pregnancy-theme-copy p {
    margin: 0;
    color: var(--text-soft);
    line-height: 1.6;
}

.seo-steps article {
    min-height: 285px;
}

.seo-step-number {
    position: absolute;
    top: 25px;
    right: 25px;
    color: #b8afa3;
    font-size: .7rem;
    font-weight: 950;
}

/* Ideas */

.pregnancy-ideas-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px;
}

.pregnancy-idea-card {
    min-height: 240px;
    padding: 30px;
    border-radius: 26px;
    border: 1px solid rgba(21,21,21,.05);
}

.pregnancy-idea-card > span {
    display: block;
    font-size: 2.5rem;
}

.pregnancy-idea-card.grandparents {
    background: #fff1f3;
}

.pregnancy-idea-card.distance {
    background: #edf7ff;
}

.pregnancy-idea-card.family {
    background: #f3efff;
}

.pregnancy-idea-card.scan {
    background: #eef8f2;
}

/* Theme cards */

.pregnancy-themes-section {
    background:
        radial-gradient(circle at 50% 0, rgba(220,204,244,.18), transparent 34%),
        #fff;
}

.pregnancy-theme-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 20px;
}

.pregnancy-theme-card {
    overflow: hidden;
    border: 1px solid rgba(21,21,21,.07);
    border-radius: 27px;
    background: #fff;
    box-shadow: 0 15px 42px rgba(30,24,16,.06);
}

.pregnancy-theme-card.is-premium {
    box-shadow: 0 20px 55px rgba(103,78,122,.13);
}

.pregnancy-theme-image,
.pregnancy-theme-placeholder {
    position: relative;
    height: 280px;
    overflow: hidden;
    background: var(--surface-soft);
}

.pregnancy-theme-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .45s cubic-bezier(.2,.7,.2,1);
}

.pregnancy-theme-card:hover .pregnancy-theme-image img {
    transform: scale(1.045);
}

.pregnancy-premium-pill {
    position: absolute;
    top: 14px;
    right: 14px;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(31,22,33,.72);
    color: #f6dfae;
    backdrop-filter: blur(10px);
    font-size: .66rem;
    font-weight: 900;
}

.pregnancy-theme-placeholder.wild {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    background:
        radial-gradient(circle at 30% 30%,rgba(255,255,255,.72),transparent 25%),
        linear-gradient(145deg,#eadabf,#d6e3c4);
    font-size: 4rem;
}

.pregnancy-theme-copy {
    padding: 22px;
}

.pregnancy-theme-copy > span {
    color: #9a6b18;
    font-size: .66rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .07em;
}

/* Privacy */

.seo-privacy-section {
    background: #171717;
    color: #fff;
}

.seo-privacy-layout {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(360px,.8fr);
    gap: 70px;
    align-items: center;
}

.seo-privacy-layout p {
    color: rgba(255,255,255,.66);
}

.seo-privacy-list {
    display: grid;
    gap: 11px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.seo-privacy-list li {
    padding: 17px 18px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 16px;
    background: rgba(255,255,255,.05);
    color: rgba(255,255,255,.82);
    font-size: .86rem;
    font-weight: 750;
}

/* FAQ */

.seo-faq-layout {
    display: grid;
    grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr);
    gap: 70px;
    align-items: start;
}

.seo-faq-list {
    display: grid;
    gap: 11px;
}

.seo-faq-list details {
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: #fff;
}

.seo-faq-list summary {
    position: relative;
    padding: 20px 54px 20px 21px;
    cursor: pointer;
    list-style: none;
    font-size: .92rem;
    font-weight: 900;
}

.seo-faq-list summary::-webkit-details-marker {
    display: none;
}

.seo-faq-list summary::after {
    content: "+";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.3rem;
}

.seo-faq-list details[open] summary::after {
    transform: translateY(-50%) rotate(45deg);
}

.seo-faq-list p {
    margin: 0;
    padding: 0 21px 21px;
    color: var(--text-soft);
    font-size: .84rem;
    line-height: 1.65;
}

/* Final CTA */

.seo-final-cta {
    padding: 30px 0 105px;
}

.seo-final-cta-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
    padding: clamp(36px,6vw,64px);
    border-radius: var(--radius-lg);
    background:
        radial-gradient(circle at 90% 10%,rgba(244,165,28,.22),transparent 30%),
        #171717;
    color: #fff;
    box-shadow: var(--shadow-lg);
}

.seo-final-cta-card > div {
    max-width: 760px;
}

.seo-final-cta-card p {
    max-width: 650px;
    margin-bottom: 0;
    color: rgba(255,255,255,.64);
}

/* Home internal-link upgrade */

.idea-card-link {
    display: block;
    color: inherit;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease;
}

.idea-card-link:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-sm);
}

.idea-card-link .idea-card-more {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 18px;
    color: #98630a;
    font-size: .72rem;
    font-weight: 900;
}

/* Responsive */

@media (max-width: 980px) {
    .seo-hero-grid {
        grid-template-columns: 1fr;
    }

    .seo-hero-copy {
        max-width: 780px;
    }

    .pregnancy-demo {
        min-height: 520px;
    }

    .seo-benefits-grid,
    .seo-steps,
    .pregnancy-theme-grid {
        grid-template-columns: 1fr;
    }

    .seo-benefit-card.is-featured {
        transform: none;
    }

    .pregnancy-theme-card {
        display: grid;
        grid-template-columns: minmax(220px,.7fr) minmax(0,1fr);
    }

    .pregnancy-theme-image,
    .pregnancy-theme-placeholder {
        height: 100%;
        min-height: 240px;
    }

    .seo-privacy-layout,
    .seo-faq-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

@media (max-width: 700px) {
    .seo-hero {
        padding: 38px 0 78px;
    }

    .seo-breadcrumb {
        margin-bottom: 28px;
    }

    .seo-hero-copy h1 {
        font-size: clamp(2.75rem,13vw,4.1rem);
    }

    .seo-hero-text {
        font-size: 1rem;
    }

    .seo-hero-actions {
        display: grid;
    }

    .seo-hero-actions .btn {
        width: 100%;
    }

    .pregnancy-demo {
        min-height: 480px;
    }

    .pregnancy-demo-phone {
        width: min(350px,90%);
        min-height: 460px;
    }

    .pregnancy-reaction-card {
        right: 1%;
        bottom: 45px;
        min-width: 220px;
    }

    .seo-section {
        padding: 78px 0;
    }

    .pregnancy-ideas-grid {
        grid-template-columns: 1fr;
    }

    .pregnancy-theme-card {
        display: block;
    }

    .pregnancy-theme-image,
    .pregnancy-theme-placeholder {
        height: 245px;
        min-height: 0;
    }

    .seo-final-cta {
        padding-bottom: 75px;
    }

    .seo-final-cta-card {
        align-items: flex-start;
        flex-direction: column;
    }

    .seo-final-cta-card .btn {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .pregnancy-demo {
        min-height: 440px;
    }

    .pregnancy-demo-phone {
        min-height: 425px;
        padding: 22px;
    }

    .pregnancy-demo-art {
        min-height: 180px;
    }

    .pregnancy-demo-baby {
        font-size: 6rem;
    }

    .pregnancy-reaction-card {
        left: 50%;
        right: auto;
        bottom: 22px;
        width: min(275px,92%);
        transform: translateX(-50%) rotate(-2deg);
    }

    .seo-benefit-card,
    .seo-steps article,
    .pregnancy-idea-card {
        padding: 23px;
    }

    .seo-section-heading h2,
    .seo-privacy-layout h2,
    .seo-final-cta-card h2 {
        font-size: clamp(2.2rem,11vw,3.1rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .pregnancy-theme-image img,
    .idea-card-link {
        transition: none;
    }
}


/* ========================================================================== 
   P1 — Landing pages Mariage / Voyage / Anniversaire / Cadeau
   ========================================================================== */
.seo-usecase-hero{position:relative;overflow:hidden;padding:64px 0 105px}.seo-usecase-hero::before,.seo-usecase-hero::after{content:"";position:absolute;border-radius:50%;filter:blur(12px);pointer-events:none}.seo-usecase-hero::before{width:600px;height:600px;left:-280px;top:-300px}.seo-usecase-hero::after{width:560px;height:560px;right:-230px;bottom:-300px}.seo-usecase-hero.wedding::before{background:rgba(219,190,130,.18)}.seo-usecase-hero.wedding::after{background:rgba(230,210,191,.35)}.seo-usecase-hero.travel::before{background:rgba(110,178,207,.22)}.seo-usecase-hero.travel::after{background:rgba(220,196,145,.26)}.seo-usecase-hero.birthday::before{background:rgba(133,93,205,.17)}.seo-usecase-hero.birthday::after{background:rgba(226,151,200,.22)}.seo-usecase-hero.gift::before{background:rgba(184,216,241,.34)}.seo-usecase-hero.gift::after{background:rgba(242,196,211,.28)}
.seo-usecase-demo{position:relative;min-height:560px;display:grid;place-items:center}.seo-demo-orb{position:absolute;border-radius:50%;filter:blur(35px);opacity:.44}.seo-demo-orb.orb-one{width:250px;height:250px;left:2%;top:8%}.seo-demo-orb.orb-two{width:290px;height:290px;right:0;bottom:4%}.seo-usecase-demo.wedding .orb-one{background:#ead3a1}.seo-usecase-demo.wedding .orb-two{background:#dfcbbb}.seo-usecase-demo.travel .orb-one{background:#a9d8eb}.seo-usecase-demo.travel .orb-two{background:#e4cf9e}.seo-usecase-demo.birthday .orb-one{background:#bca5e7}.seo-usecase-demo.birthday .orb-two{background:#e5add1}.seo-usecase-demo.gift .orb-one{background:#afd6ec}.seo-usecase-demo.gift .orb-two{background:#ecc4d2}
.seo-demo-card{position:relative;z-index:3;width:min(390px,88%);min-height:480px;padding:28px;border:1px solid rgba(255,255,255,.72);border-radius:34px;background:rgba(255,255,255,.88);box-shadow:0 35px 90px rgba(55,45,37,.14);backdrop-filter:blur(20px);transform:rotate(1.5deg)}.seo-usecase-demo.wedding .seo-demo-card{background:linear-gradient(150deg,rgba(255,253,248,.95),rgba(247,238,222,.94))}.seo-usecase-demo.travel .seo-demo-card{background:linear-gradient(150deg,rgba(236,249,253,.95),rgba(251,244,226,.95))}.seo-usecase-demo.birthday .seo-demo-card{background:linear-gradient(150deg,rgba(31,27,67,.96),rgba(65,43,100,.94));color:white}.seo-usecase-demo.gift .seo-demo-card{background:linear-gradient(150deg,rgba(255,255,255,.96),rgba(247,241,234,.96))}
.seo-demo-top{display:flex;justify-content:space-between;gap:12px;font-size:.72rem;font-weight:950}.seo-demo-for{display:block;width:max-content;max-width:100%;margin:35px auto 0;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.7);color:#766c62;font-size:.68rem;font-weight:850}.seo-usecase-demo.birthday .seo-demo-for{background:rgba(255,255,255,.1);color:#e6dff3}.seo-demo-symbol{min-height:205px;display:grid;place-items:center;font-size:7rem;filter:drop-shadow(0 18px 24px rgba(60,45,35,.13))}.seo-demo-card>p{margin:0;color:#786f66;text-align:center;font-size:.82rem}.seo-usecase-demo.birthday .seo-demo-card>p{color:#cfc6dd}.seo-demo-reveal{margin-top:18px;padding:17px;border-radius:17px;background:rgba(255,255,255,.72);color:#4d4640;text-align:center;font-family:Georgia,"Times New Roman",serif;font-size:1.2rem;box-shadow:0 10px 25px rgba(55,45,40,.07)}.seo-usecase-demo.birthday .seo-demo-reveal{background:rgba(255,255,255,.09);color:#fff}.seo-demo-reaction{position:absolute;z-index:5;right:0;bottom:58px;min-width:240px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 16px;border:1px solid rgba(255,255,255,.8);border-radius:19px;background:rgba(255,255,255,.95);box-shadow:0 18px 45px rgba(60,50,45,.14);transform:rotate(-3deg)}.seo-demo-reaction>span{width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:#f5eef0;font-size:1.35rem}.seo-demo-reaction strong,.seo-demo-reaction small{display:block}.seo-demo-reaction strong{font-size:.78rem}.seo-demo-reaction small{margin-top:3px;color:var(--text-soft);font-size:.65rem}.seo-demo-reaction i{width:10px;height:10px;border-radius:50%;background:#d86767;box-shadow:0 0 0 6px rgba(216,103,103,.1)}
.seo-ideas-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.seo-ideas-grid article{min-height:235px;padding:30px;border:1px solid rgba(21,21,21,.05);border-radius:26px;background:#fff;box-shadow:0 12px 32px rgba(30,24,16,.04)}.seo-ideas-grid article:nth-child(1){background:#fff3ee}.seo-ideas-grid article:nth-child(2){background:#eef7ff}.seo-ideas-grid article:nth-child(3){background:#f4f0ff}.seo-ideas-grid article:nth-child(4){background:#eff8f1}.seo-ideas-grid article>span{display:block;font-size:2.4rem}.seo-ideas-grid h3{margin:20px 0 9px;font-size:1.25rem;letter-spacing:-.025em}.seo-ideas-grid p{margin:0;color:var(--text-soft);line-height:1.62}
.seo-theme-section{background:#fff}.seo-theme-section.wedding{background:radial-gradient(circle at 50% 0,rgba(218,185,123,.12),transparent 32%),#fff}.seo-theme-section.travel{background:radial-gradient(circle at 50% 0,rgba(93,159,192,.12),transparent 32%),#fff}.seo-theme-section.birthday{background:radial-gradient(circle at 50% 0,rgba(112,77,184,.1),transparent 32%),#fff}.seo-theme-section.gift{background:radial-gradient(circle at 50% 0,rgba(226,175,193,.12),transparent 32%),#fff}.seo-theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.seo-theme-card{overflow:hidden;border:1px solid rgba(21,21,21,.07);border-radius:27px;background:#fff;box-shadow:0 15px 42px rgba(30,24,16,.06)}.seo-theme-card.is-premium{box-shadow:0 20px 55px rgba(60,45,60,.12)}.seo-theme-image{position:relative;height:280px;overflow:hidden;background:var(--surface-soft)}.seo-theme-image img{position:relative;z-index:2;width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s cubic-bezier(.2,.7,.2,1)}.seo-theme-card:hover .seo-theme-image img{transform:scale(1.045)}.seo-theme-fallback-icon{position:absolute;z-index:1;inset:0;display:grid;place-items:center;font-size:4.8rem}.seo-theme-image.wedding{background:linear-gradient(145deg,#f5ead6,#e7d2ae)}.seo-theme-image.travel{background:linear-gradient(145deg,#d9eff7,#e9d6ae)}.seo-theme-image.birthday{background:linear-gradient(145deg,#2e295a,#7a52a6);color:white}.seo-theme-image.gift{background:linear-gradient(145deg,#e5f1f8,#f3dce4)}.seo-premium-pill{position:absolute;z-index:4;top:14px;right:14px;padding:7px 10px;border-radius:999px;background:rgba(25,20,20,.72);color:#f5d99b;backdrop-filter:blur(10px);font-size:.66rem;font-weight:900}.seo-theme-copy{padding:21px}.seo-theme-copy>span{color:#996819;font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.seo-theme-copy h3{margin:7px 0 0;font-size:1.15rem}
@media(max-width:980px){.seo-theme-grid{grid-template-columns:1fr}.seo-theme-card{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1fr)}.seo-theme-image{height:100%;min-height:230px}}@media(max-width:700px){.seo-usecase-hero{padding:38px 0 78px}.seo-usecase-demo{min-height:470px}.seo-demo-card{min-height:430px}.seo-demo-symbol{min-height:180px;font-size:5.8rem}.seo-demo-reaction{right:1%;bottom:35px;min-width:215px}.seo-ideas-grid{grid-template-columns:1fr}.seo-theme-card{display:block}.seo-theme-image{height:245px;min-height:0}}@media(max-width:480px){.seo-usecase-demo{min-height:430px}.seo-demo-card{min-height:400px;padding:22px}.seo-demo-reaction{left:50%;right:auto;bottom:15px;width:min(270px,92%);transform:translateX(-50%) rotate(-2deg)}}

/* P1.2 — Maillage interne */
.seo-related-section{padding-top:84px;background:linear-gradient(180deg,#fff 0%,#faf9f7 100%)}
.seo-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.seo-related-card{display:flex;gap:16px;min-height:190px;padding:24px;border:1px solid rgba(21,21,21,.07);border-radius:24px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 12px 34px rgba(30,24,16,.045);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.seo-related-card:hover{transform:translateY(-4px);border-color:rgba(21,21,21,.12);box-shadow:0 20px 44px rgba(30,24,16,.09)}
.seo-related-icon{flex:0 0 48px;width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#f5f2ee;font-size:1.55rem}
.seo-related-card h3{margin:2px 0 8px;font-size:1.05rem;letter-spacing:-.02em}
.seo-related-card p{margin:0 0 16px;color:var(--text-soft);font-size:.88rem;line-height:1.55}
.seo-related-card strong{font-size:.78rem}
.seo-related-card.pregnancy .seo-related-icon{background:#edf5fb}
.seo-related-card.wedding .seo-related-icon{background:#f7efe0}
.seo-related-card.travel .seo-related-icon{background:#e8f5f8}
.seo-related-card.birthday .seo-related-icon{background:#f2edfb}
.seo-related-card.gift .seo-related-icon{background:#faedf1}
.idea-card-link{text-decoration:none;color:inherit}
.idea-card-more{display:inline-block;margin-top:16px;font-size:.78rem;font-weight:850;color:var(--text)}
@media(max-width:980px){.seo-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.seo-related-grid{grid-template-columns:1fr}.seo-related-card{min-height:0}}


/* ==========================================================================
   P2.2 — Search-intent editorial blocks
   ========================================================================== */
.seo-intent-section {
    border-top: 1px solid rgba(35,31,27,.06);
}
.seo-intent-section .seo-section-heading {
    max-width: 820px;
}
.seo-intent-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 34px;
}
.seo-intent-card {
    position: relative;
    min-height: 210px;
    padding: 28px;
    overflow: hidden;
    border: 1px solid rgba(35,31,27,.08);
    border-radius: 24px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 16px 44px rgba(35,31,27,.045);
}
.seo-intent-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 30px;
    margin-bottom: 24px;
    border-radius: 999px;
    background: rgba(244,165,28,.10);
    color: var(--accent);
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .08em;
}
.seo-intent-card h3 {
    margin: 0 0 10px;
    font-size: 1.12rem;
}
.seo-intent-card p {
    margin: 0;
    color: var(--text-soft);
    line-height: 1.7;
}
.seo-intent-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 18px;
    padding: 22px 24px;
    border-radius: 22px;
    background: #fff8ea;
}
.seo-intent-cta p {
    max-width: 720px;
    margin: 0;
    font-weight: 750;
    line-height: 1.55;
}
@media (max-width: 760px) {
    .seo-intent-grid { grid-template-columns: 1fr; }
    .seo-intent-card { min-height: 0; }
    .seo-intent-cta { align-items: stretch; flex-direction: column; }
    .seo-intent-cta .btn { width: 100%; justify-content: center; }
}


/* ==========================================================================
   P2.5 — Contextual guides from landing pages
   ========================================================================== */
.landing-guides-section {
    background: #fffaf2;
    border-top: 1px solid rgba(35,31,27,.055);
}

.landing-guides-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 16px;
}

.landing-guides-grid:has(.landing-guide-card:only-child) {
    grid-template-columns: minmax(0,680px);
}

.landing-guide-card {
    position: relative;
    display: flex;
    gap: 17px;
    min-height: 165px;
    padding: 23px;
    border: 1px solid rgba(35,31,27,.075);
    border-radius: 23px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    box-shadow: 0 13px 34px rgba(35,31,27,.04);
    transition: transform .18s ease, box-shadow .18s ease;
}

.landing-guide-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 46px rgba(35,31,27,.075);
}

.landing-guide-icon {
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: #fff3d9;
    color: #9f6812;
    font-weight: 950;
}

.landing-guide-card small {
    display: block;
    color: #a2711f;
    font-size: .62rem;
    font-weight: 950;
    letter-spacing: .08em;
}

.landing-guide-card h3 {
    margin: 8px 0 15px;
    font-size: 1.06rem;
    line-height: 1.35;
}

.landing-guide-card strong {
    font-size: .73rem;
}

.landing-guides-all {
    margin-top: 18px;
}

.landing-guides-all a {
    color: var(--text);
    font-size: .78rem;
    font-weight: 900;
}

@media (max-width: 720px) {
    .landing-guides-grid,
    .landing-guides-grid:has(.landing-guide-card:only-child) {
        grid-template-columns: 1fr;
    }
}

/* Accessible contrast shared by public occasion landing pages. */
.seo-landing-page .seo-step-number { color:#655c51; }
.seo-landing-page .landing-guide-card small { color:#795000; }
.seo-landing-page .seo-privacy-section .eyebrow { color:#ffd985; }
