
.hidden {
    display: none;
}
/*
.features li:before {

    content: "\e013";
    font-family: 'Glyphicons Halflings';
    float: left;
    margin-left: -20px;
    color: green;
}
 */

.feature-included, .feature-included:before {
    color:#888 !important;
}

.features-intro {
    color: #515050;
    padding-left:20px;
}

.heading-1 {
    text-align:center;
    font-size:16pt;
    color: #606060;
}
.heading-2 {
    text-align:center;
    font-size:14pt;
    color:green;
}
.period-switch-container {
    margin: 30px auto;
    width:200px;
}


/* ===== MOBILE ========== */
@media (max-width: 767.99px) {
    .plan_container {
        display: flex;
        flex-direction: column;
        row-gap: 24px;
        margin-top: 20px;
    }
    .features-intro {
        margin-bottom: 12px;
    }
    .plan-block {
        padding-bottom:12px;
        margin-bottom: 18px;
    }
}
/* ===== DESKTOP ========== */
@media (min-width: 768px) {
    .plan_container {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        column-gap: 24px;
        margin-top: 40px;
    }
    .features-intro {
        margin-bottom: 20px;
        min-height: 66px;
    }
    .plan-block {
        padding-bottom:20px;
        min-height:560px;
        margin-bottom: 20px;
    }
}

.plan-block {
    border-radius:3px;
    /*border:1px solid #eaf0f7;*/
    box-shadow: 0 4px 6px rgba(0,0,0,.175);
    margin-bottom: 20px;
}
.plan-title {
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
    padding:20px;
    font-weight:bold;
    text-align:center;
    font-size: 17px;
    text-transform: uppercase;
    /*
    background-color:#eee;
    background-color: #eaf0f7;*/
    background-color: #F2DAD3;
    /*color: #33476C;*/
    color: #7F0052;
}
.plan-price {
    text-align:center;
    padding:50px 20px 20px 20px;
    font-size:36px;
    line-height: 32px;
    font-weight:normal;
    min-height: 141px;
}
.plan-price-period-item {
    font-size:15px;
    color:#999;
    font-weight:normal;
    /*vertical-align: 16px;*/
}
.plan-currency {
    font-size:16px;
    padding-left:6px;
}
.plan-price-period {
    text-align:center;
    font-size:15px;
    color:#999;
    padding-top:20px;
}
.plan-button-container {
    text-align:center;
    margin-bottom:20px;
    min-height: 42px;
}
.plan-button-container a {
    min-width: 110px;
}
.plan-dropdown {
    border: 2px solid #dadada;
    border-radius: 4px;
    font-size: 16px;
    color: #383838;
    padding: 10px 30px 10px 10px;
    outline: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20448%22%20enable-background%3D%22new%200%200%20256%20448%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E.arrow%7Bfill%3A%23383838%3B%7D%3C%2Fstyle%3E%3Cpath%20class%3D%22arrow%22%20d%3D%22M255.9%20168c0-4.2-1.6-7.9-4.8-11.2-3.2-3.2-6.9-4.8-11.2-4.8H16c-4.2%200-7.9%201.6-11.2%204.8S0%20163.8%200%20168c0%204.4%201.6%208.2%204.8%2011.4l112%20112c3.1%203.1%206.8%204.6%2011.2%204.6%204.4%200%208.2-1.5%2011.4-4.6l112-112c3-3.2%204.5-7%204.5-11.4z%22%2F%3E%3C%2Fsvg%3E%0A);
    background-color: #fff;
    background-position: right 10px center;
    background-repeat: no-repeat;
    background-size: auto 50%;
}
.plan-dropdown::-ms-expand {
    display: none;
}
.recorded-tests-title {
    padding:0px 20px 0px 20px;
    font-weight:bold;
}
.selenium-tests-title {
    padding:10px 20px 0px 20px;
    font-weight:bold;
}
.features-container {
    padding:10px 20px 0px 0px;
}
.features-container .features {
    color: #383838;
}
.features-container .features li {
    font-size: 16px;
    display: grid;
    grid-template-columns: 28px 1fr;
    padding-top:10px;
    padding-bottom:10px;
}
.features-container .features li svg {
    width: 20px;
    height: 20px;
    margin-right:8px;
}


.btn-sel {
    background-color: #ddd;
}

.heading-2 {
    text-align:center;
    font-size:14pt;
    color:green;
    padding-top:20px;
}

.period-switch-container2 {
    margin: 0px;
    width:300px;
}
.plan2-button-container .btn {
    width: 160px;
}
#price-community {
    font-size: 30px;
}
/* Features table */

.features_section {
    padding-top: 80px;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.features_section h2 {
    text-align: center;
    margin-bottom: 24px;
}
.features_container {
    border: 2px solid #dee2e6;
    border-radius: 8px;
}
.features_container > div {
    border-bottom: 2px solid #dee2e6;
    margin: 0 !important;
}
.features_container > div:last-child {
    border-bottom: none;
}

.feature_row {
    display: grid;
    grid-template-columns: 42px 2fr 1fr;
}
@media ( max-width :1023.98px) {
    .feature_row {
        /* minmax(0, 1fr): a long unbroken name ("Chinese,Japanese,Hindi,Arabic,") must wrap, not
           push the checkmark column off a 320px screen. */
        grid-template-columns: 42px minmax(0, 1fr) 42px;
        min-height: 56px;
    }
    .feature_name {
        overflow-wrap: anywhere;
    }

    .feature_name {
        padding-left: 12px;
        padding: 6px 12px;
    }
    .feature_checkmark {
        padding: 3px;
    }
    .feature_icon {
        padding-left: 12px;
    }
}
@media ( min-width :1024px) {
    .feature_row {
        grid-template-columns: 42px 2fr 1fr;
    }
    .feature_checkmark {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .feature_row div {
        padding: 16px 24px;
    }
    .feature_name {
        padding-left: 32px;
    }
    .feature_icon {
        padding-left: 32px;
    }
}
.feature_row div {
    display: flex;
    align-items: center;
}
.feature_name img {
    margin-right: 20px;
}
.feature_checkmark svg, .feature_icon svg {
    width: 24px;
    height: 24px;
}


/* ==========================================================================
   Module pricing pages (templates/pricing/*.ftl, body.pricing-page)
   Loaded after site.css and info.css. info.css styles every <p> (margin, font
   size) and, on phones, truncates links inside a <p> with nowrap: the hero and
   the link rows are therefore <div>s, never <p>s.
   ========================================================================== */

/* ===== hero: eyebrow, module H1, subtitle (inside the rose .header_block band) ===== */
.pricing-hero {
    padding-top: 72px;
    text-align: center;
}
.pricing-hero__eyebrow {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #7f0052;
}
.pricing-hero__title {
    max-width: 960px;
    margin: 12px auto 16px;
    font-family: Rubik, Open-Sans, sans-serif;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.15;
    color: #7f0052;
}
.pricing-hero__subtitle {
    max-width: 760px;
    margin: 0 auto 48px;
    font-size: 20px;
    line-height: 1.5;
    color: #383838;
}

/* ===== module tiles: overlap the band's bottom edge ===== */
/* z-index 1 keeps them above the page content but below the open menus
   (#nav is 20, .dropdown-content 15). */
.pricing-tiles {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    max-width: 1040px;
    margin: 0 auto -88px;
}
.pricing-tile,
.pricing-tile:visited,
.pricing-tile:active,
.pricing-tile:focus {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 24px 20px;
    border: 3px solid transparent;
    border-radius: 16px;
    background-color: #fff;
    box-shadow: 0 0.3em 1.2em rgba(160, 160, 160, 0.35);
    text-align: center;
    text-decoration: none;
    color: #300224;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.pricing-tile:hover {
    transform: translateY(-4px);
    box-shadow: 0 0.6em 1.6em rgba(160, 160, 160, 0.45);
}
.pricing-tile:focus-visible {
    outline: 3px solid rgba(255, 113, 113, 0.6);
    outline-offset: 4px;
}
/* The homepage's icon treatment (.w5-icon in welcome_v5.css): a white line icon on the coral
   gradient square. The same on every tile, current or not — selection is the border below. */
.pricing-tile__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: linear-gradient(135deg, #ff9f8f, #ff7171);
    color: #fff;
}
.pricing-tile__icon svg {
    width: 32px;
    height: 32px;
}
.pricing-tile__name {
    font-size: 19px;
    font-weight: 500;
    line-height: 1.3;
}
.pricing-tile__tagline {
    font-size: 15px;
    line-height: 1.4;
    color: #515050;
}
.pricing-tile__short {
    display: none;
}
/* The current page's tile: a 3px coral border and a coral-tinted shadow, nothing filled. Every tile
   carries the 3px border (transparent when not current), so the contents line up. The brand purple is
   for headings only (see DESIGN.md). */
.pricing-tile[aria-current="page"],
.pricing-tile[aria-current="page"]:visited,
.pricing-tile[aria-current="page"]:active,
.pricing-tile[aria-current="page"]:focus {
    border-color: #ff7171;
    background-color: #fff;
    box-shadow: 0 0.4em 1.4em rgba(255, 113, 113, 0.25);
}

/* Room for the part of the tiles that hangs below the band. Only the page's own content
   section: the footer's .content_section must keep its padding. */
body.pricing-page > section.content_section {
    padding-top: 150px;
}

/* ===== "Need more? Talk to us." and the hub link ===== */
.pricing-talk {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px 16px;
    margin-top: 8px;
    font-size: 18px;
    color: #383838;
    text-align: center;
}
.pricing-hub-link {
    margin-top: 48px;
    font-size: 18px;
    text-align: center;
}
.pricing-talk__link,
.pricing-talk__link:visited,
.pricing-talk__link:active,
.pricing-talk__link:focus,
.pricing-hub-link a,
.pricing-hub-link a:visited,
.pricing-hub-link a:active,
.pricing-hub-link a:focus {
    font-weight: 500;
    color: #7f0052;
    text-decoration: none;
}
.pricing-talk__link:hover,
.pricing-hub-link a:hover {
    text-decoration: underline;
}
.pricing-talk__link:focus-visible,
.pricing-hub-link a:focus-visible {
    outline: 3px solid rgba(255, 113, 113, 0.6);
    outline-offset: 4px;
}
/* Inline, so a label that wraps keeps its arrow at the end of the last line. */
.pricing-talk__link svg,
.pricing-hub-link svg {
    display: inline-block;
    margin-left: 6px;
    vertical-align: -4px;
    color: #e0485a;
}

/* ===== AI credit packs (formerly inline styles, same values) ===== */
.ai_credits_inner {
    text-align: center;
}
.ai_credits_subtitle {
    margin-bottom: 32px;
}
.ai_credits_packs {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
}
.ai_credits_pack {
    flex: 1;
    min-width: 220px;
    max-width: 300px;
    border: 1px solid #e3e3e3;
    border-radius: 10px;
    padding: 28px;
}
.ai_credits_price {
    font-size: 34px;
    font-weight: 700;
}
.ai_credits_desc {
    margin: 12px 0 20px;
    color: #666;
}

/* ===== FAQ: native <details> accordions (same look as the homepage .w5-faq) ===== */
.pricing-faq {
    max-width: 880px;
    margin: 0 auto;
    padding-top: 80px;
}
.container .pricing-faq__title {
    margin: 0 0 24px;
    font-size: 42px;
}
.pricing-faq__item {
    border-bottom: 1px solid #eadbd6;
}
.pricing-faq__item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 22px 0;
    list-style: none;
    font-size: 19px;
    font-weight: 500;
    color: #300224;
    cursor: pointer;
}
.pricing-faq__item summary::-webkit-details-marker {
    display: none;
}
.pricing-faq__item summary::after {
    content: "+";
    flex-shrink: 0;
    font-size: 28px;
    line-height: 1;
    color: #e0485a;
    transition: transform 0.2s ease;
}
.pricing-faq__item[open] summary::after {
    transform: rotate(45deg);
}
.pricing-faq__item summary:focus-visible {
    outline: 3px solid rgba(255, 113, 113, 0.6);
    outline-offset: 4px;
}
.pricing-faq__answer {
    margin: 0 0 22px;
    font-size: 17px;
    line-height: 1.65;
    color: #515050;
}
.pricing-faq__answer p {
    margin: 0 0 12px;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
}
.pricing-faq__answer p:last-child {
    margin-bottom: 0;
}

/* ===== phones and small tablets ===== */
@media (max-width: 767.99px) {
    .pricing-hero {
        padding-top: 24px;
    }
    .pricing-hero__title {
        font-size: 32px;
        line-height: 1.2;
    }
    .pricing-hero__subtitle {
        margin-bottom: 32px;
        font-size: 17px;
    }
    .container .pricing-faq__title {
        font-size: 32px;
    }
    .pricing-hub-link,
    .pricing-talk {
        font-size: 16px;
    }
    .pricing-faq {
        padding-top: 56px;
    }
    .pricing-faq__item summary {
        font-size: 17px;
    }
    .pricing-faq__answer {
        font-size: 16px;
    }
}

/* Compact tiles: one row of three, icon and short name only. */
@media (max-width: 639.98px) {
    .pricing-tiles {
        gap: 8px;
        margin-bottom: -44px;
    }
    .pricing-tile,
    .pricing-tile:visited,
    .pricing-tile:active,
    .pricing-tile:focus {
        gap: 4px;
        padding: 12px 4px;
        border-radius: 12px;
    }
    .pricing-tile__icon {
        width: 44px;
        height: 44px;
        border-radius: 12px;
    }
    .pricing-tile__icon svg {
        width: 26px;
        height: 26px;
    }
    .pricing-tile__name,
    .pricing-tile__tagline {
        display: none;
    }
    .pricing-tile__short {
        display: block;
        max-width: 100%;
        overflow-wrap: anywhere;
        font-size: 15px;
        font-weight: 500;
    }
    body.pricing-page > section.content_section {
        padding-top: 76px;
    }
}

/* Long CTA labels ("Commencez votre essai de 14 jours") must wrap instead of overflowing the card. */
@media (max-width: 479.98px) {
    .plan-button-container .btn {
        white-space: normal;
        max-width: 100%;
        padding: 8px 16px;
    }
    .plan-dropdown {
        max-width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pricing-tile,
    .pricing-faq__item summary::after {
        transition: none;
    }
    .pricing-tile:hover {
        transform: none;
    }
}
